LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
detinfo::DetectorProperties Class Referenceabstract

#include "DetectorProperties.h"

Inheritance diagram for detinfo::DetectorProperties:
detinfo::DetectorPropertiesStandard

Public Member Functions

 DetectorProperties ()=default
 
 DetectorProperties (const DetectorProperties &)=delete
 
 DetectorProperties (DetectorProperties &&)=delete
 
DetectorPropertiesoperator= (const DetectorProperties &)=delete
 
DetectorPropertiesoperator= (DetectorProperties &&)=delete
 
virtual ~DetectorProperties ()=default
 
virtual double Efield (unsigned int planegap=0) const =0
 Returns the nominal electric field in the specified volume. More...
 
virtual double DriftVelocity (double efield=0., double temperature=0.) const =0
 
virtual double BirksCorrection (double dQdX) const =0
 dQ/dX in electrons/cm, returns dE/dX in MeV/cm. More...
 
virtual double BirksCorrection (double dQdX, double EField) const =0
 
virtual double ModBoxCorrection (double dQdX) const =0
 
virtual double ModBoxCorrection (double dQdX, double EField) const =0
 
virtual double ElectronLifetime () const =0
 Returns the attenuation constant for ionization electrons. More...
 
virtual double Density (double temperature) const =0
 Returns argon density at a given temperature. More...
 
virtual double Temperature () const =0
 
virtual double Eloss (double mom, double mass, double tcut) const =0
 Restricted mean energy loss ( $ dE/dx $) More...
 
virtual double ElossVar (double mom, double mass) const =0
 Energy loss fluctuation ( $ \sigma_{E}^2 / x $) More...
 
virtual double Density () const
 Returns argon density at the temperature from Temperature() More...
 
virtual double ElectronsToADC () const =0
 
virtual unsigned int NumberTimeSamples () const =0
 
virtual unsigned int ReadOutWindowSize () const =0
 
virtual double TimeOffsetU () const =0
 
virtual double TimeOffsetV () const =0
 
virtual double TimeOffsetZ () const =0
 
virtual double TimeOffsetY () const
 
virtual bool SimpleBoundary () const =0
 
virtual DetectorPropertiesData DataFor (DetectorClocksData const &clockData) const =0
 

Detailed Description

Definition at line 18 of file DetectorProperties.h.

Constructor & Destructor Documentation

detinfo::DetectorProperties::DetectorProperties ( )
default
detinfo::DetectorProperties::DetectorProperties ( const DetectorProperties )
delete
detinfo::DetectorProperties::DetectorProperties ( DetectorProperties &&  )
delete
virtual detinfo::DetectorProperties::~DetectorProperties ( )
virtualdefault

Member Function Documentation

virtual double detinfo::DetectorProperties::BirksCorrection ( double  dQdX) const
pure virtual

dQ/dX in electrons/cm, returns dE/dX in MeV/cm.

Implemented in detinfo::DetectorPropertiesStandard.

Referenced by detinfo::DetectorPropertiesData::BirksCorrection().

virtual double detinfo::DetectorProperties::BirksCorrection ( double  dQdX,
double  EField 
) const
pure virtual
virtual DetectorPropertiesData detinfo::DetectorProperties::DataFor ( DetectorClocksData const &  clockData) const
pure virtual

Implemented in detinfo::DetectorPropertiesStandard.

Referenced by TimeOffsetY().

virtual double detinfo::DetectorProperties::Density ( double  temperature) const
pure virtual

Returns argon density at a given temperature.

Parameters
temperaturethe temperature in kelvin
Returns
argon density in g/cm^3

Implemented in detinfo::DetectorPropertiesStandard.

Referenced by detinfo::DetectorPropertiesData::Density().

virtual double detinfo::DetectorProperties::Density ( ) const
inlinevirtual
virtual double detinfo::DetectorProperties::DriftVelocity ( double  efield = 0.,
double  temperature = 0. 
) const
pure virtual
virtual double detinfo::DetectorProperties::Efield ( unsigned int  planegap = 0) const
pure virtual

Returns the nominal electric field in the specified volume.

Parameters
planegapvolume specification (default: 0, the big drift volume)
Returns
electric field in the volume, in kV/cm

The electric field is "nominal", i.e., a completely uniform field is assumed.

The planegap argument identifies which volume to return the field value for. The relation between planegap and readout plane is not perfectly formalized yet. In general, a good rule is that planegap N describes the volume on the cathode side of wire plane N. This rule is formally valid also for ArgoNeuT/LArIAT, where three wire planes are present. But only two of them are instrumented and read, that are called "readout plane 0" and "readout plane 1", but effectively correspond to planegap 1 and 2.

Note that all TPCs are assumed to have the same electric field values.

Implemented in detinfo::DetectorPropertiesStandard.

Referenced by detinfo::DetectorPropertiesData::Efield().

virtual double detinfo::DetectorProperties::ElectronLifetime ( ) const
pure virtual

Returns the attenuation constant for ionization electrons.

Returns
the attenuation constant [µs]

The returned constant τ can be used to know the attenuation the ionization charge undergoes after drifting for a certain time t: $ A(t) = e^{-t/\tau} $ (t is measured in microseconds).

This is a uniform, constant value for the detector.

Implemented in detinfo::DetectorPropertiesStandard.

Referenced by detinfo::DetectorPropertiesData::ElectronLifetime().

virtual double detinfo::DetectorProperties::ElectronsToADC ( ) const
pure virtual
virtual double detinfo::DetectorProperties::Eloss ( double  mom,
double  mass,
double  tcut 
) const
pure virtual

Restricted mean energy loss ( $ dE/dx $)

Parameters
mommomentum of incident particle [GeV/c]
massmass of incident particle [GeV/c^2]
tcutmaximum kinetic energy of delta rays [MeV]; 0 for unlimited
Returns
the restricted mean energy loss (dE/dx) in units of MeV/cm

Returned value is always positive. For unrestricted mean energy loss, set tcut = 0 (special case), or tcut large.

Implemented in detinfo::DetectorPropertiesStandard.

Referenced by detinfo::DetectorPropertiesData::Eloss().

virtual double detinfo::DetectorProperties::ElossVar ( double  mom,
double  mass 
) const
pure virtual

Energy loss fluctuation ( $ \sigma_{E}^2 / x $)

Parameters
mommomentum of incident particle in [GeV/c]
massmass of incident particle [GeV/c^2]
Returns
energy loss fluctuation in MeV^2/cm

Implemented in detinfo::DetectorPropertiesStandard.

Referenced by detinfo::DetectorPropertiesData::ElossVar().

virtual double detinfo::DetectorProperties::ModBoxCorrection ( double  dQdX) const
pure virtual
virtual double detinfo::DetectorProperties::ModBoxCorrection ( double  dQdX,
double  EField 
) const
pure virtual
virtual unsigned int detinfo::DetectorProperties::NumberTimeSamples ( ) const
pure virtual
DetectorProperties& detinfo::DetectorProperties::operator= ( const DetectorProperties )
delete
DetectorProperties& detinfo::DetectorProperties::operator= ( DetectorProperties &&  )
delete
virtual unsigned int detinfo::DetectorProperties::ReadOutWindowSize ( ) const
pure virtual
virtual bool detinfo::DetectorProperties::SimpleBoundary ( ) const
pure virtual
virtual double detinfo::DetectorProperties::Temperature ( ) const
pure virtual
virtual double detinfo::DetectorProperties::TimeOffsetU ( ) const
pure virtual
virtual double detinfo::DetectorProperties::TimeOffsetV ( ) const
pure virtual
virtual double detinfo::DetectorProperties::TimeOffsetY ( ) const
inlinevirtual

Reimplemented in detinfo::DetectorPropertiesStandard.

Definition at line 106 of file DetectorProperties.h.

References DataFor(), and SimpleBoundary().

107  {
108  throw std::runtime_error("DetectorProperties::TimeOffsetY() not implemented");
109  }
virtual double detinfo::DetectorProperties::TimeOffsetZ ( ) const
pure virtual

The documentation for this class was generated from the following file: