Public Member Functions | Protected Attributes | List of all members
gar::rosim::ElectronDriftAlg Class Referenceabstract

#include <ElectronDriftAlg.h>

Inheritance diagram for gar::rosim::ElectronDriftAlg:
gar::rosim::ElectronDriftStandardAlg

Public Member Functions

 ElectronDriftAlg (CLHEP::HepRandomEngine &engine, fhicl::ParameterSet const &pset)
 
virtual ~ElectronDriftAlg ()
 
virtual void DriftElectronsToReadout (gar::sdp::EnergyDeposit const &dep, gar::rosim::ElectronDriftInfo &driftInfo)=0
 

Protected Attributes

double fDriftVelocity
 electron drift velocity More...
 
double fInverseVelocity
 stored for computational convenience More...
 
double fLifetimeCorrection
 electron lifetime correction in negative ms More...
 
double fLongitudinalDiffusion
 diffusion along the drift in microns/sqrt(cm) More...
 
double fLongDiffConst
 stored for computational convenience in sqrt(cm) More...
 
double fTransverseDiffusion
 diffusion transverse to the drift in microns/sqrt(cm) More...
 
double fTransDiffConst
 stored for computational convenience in sqrt(cm) More...
 
double fFanoFactor
 Fano factor. More...
 
CLHEP::HepRandomEngine & fEngine
 random number engine More...
 

Detailed Description

Definition at line 58 of file ElectronDriftAlg.h.

Constructor & Destructor Documentation

gar::rosim::ElectronDriftAlg::ElectronDriftAlg ( CLHEP::HepRandomEngine &  engine,
fhicl::ParameterSet const &  pset 
)

Definition at line 69 of file ElectronDriftAlg.cxx.

71  : fEngine(engine)
72  {
73  // get the corrections and constants from the necessary places
74  auto detProp = gar::providerFrom<detinfo::DetectorPropertiesService>();
75  auto garProp = gar::providerFrom<detinfo::GArPropertiesService>();
76 
77  fDriftVelocity = detProp->DriftVelocity(detProp->Efield(),
78  detProp->Temperature());
79  fLifetimeCorrection = -1000. * detProp->ElectronLifetime();
80  fLongitudinalDiffusion = garProp->LongitudinalDiffusion();
81  fTransverseDiffusion = garProp->TransverseDiffusion();
82  fFanoFactor = garProp->FanoFactor();
83 
85 
86  // fLongitudinalDiffusion and fTransverseDiffusion are in microns/sqrt(cm)
87 
88  fLongDiffConst = fLongitudinalDiffusion * 1E-4; // in sqrt(cm)
89  fTransDiffConst = fTransverseDiffusion * 1E-4; // in sqrt(cm)
90 
91  return;
92  }
double fInverseVelocity
stored for computational convenience
double fFanoFactor
Fano factor.
double fLongitudinalDiffusion
diffusion along the drift in microns/sqrt(cm)
double fLongDiffConst
stored for computational convenience in sqrt(cm)
CLHEP::HepRandomEngine & fEngine
random number engine
double fLifetimeCorrection
electron lifetime correction in negative ms
double fTransDiffConst
stored for computational convenience in sqrt(cm)
double fDriftVelocity
electron drift velocity
double fTransverseDiffusion
diffusion transverse to the drift in microns/sqrt(cm)
gar::rosim::ElectronDriftAlg::~ElectronDriftAlg ( )
virtual

Definition at line 95 of file ElectronDriftAlg.cxx.

96  {
97  }

Member Function Documentation

virtual void gar::rosim::ElectronDriftAlg::DriftElectronsToReadout ( gar::sdp::EnergyDeposit const &  dep,
gar::rosim::ElectronDriftInfo driftInfo 
)
pure virtual

Member Data Documentation

double gar::rosim::ElectronDriftAlg::fDriftVelocity
protected

electron drift velocity

Definition at line 73 of file ElectronDriftAlg.h.

CLHEP::HepRandomEngine& gar::rosim::ElectronDriftAlg::fEngine
protected

random number engine

Definition at line 81 of file ElectronDriftAlg.h.

double gar::rosim::ElectronDriftAlg::fFanoFactor
protected

Fano factor.

Definition at line 80 of file ElectronDriftAlg.h.

double gar::rosim::ElectronDriftAlg::fInverseVelocity
protected

stored for computational convenience

Definition at line 74 of file ElectronDriftAlg.h.

double gar::rosim::ElectronDriftAlg::fLifetimeCorrection
protected

electron lifetime correction in negative ms

Definition at line 75 of file ElectronDriftAlg.h.

double gar::rosim::ElectronDriftAlg::fLongDiffConst
protected

stored for computational convenience in sqrt(cm)

Definition at line 77 of file ElectronDriftAlg.h.

double gar::rosim::ElectronDriftAlg::fLongitudinalDiffusion
protected

diffusion along the drift in microns/sqrt(cm)

Definition at line 76 of file ElectronDriftAlg.h.

double gar::rosim::ElectronDriftAlg::fTransDiffConst
protected

stored for computational convenience in sqrt(cm)

Definition at line 79 of file ElectronDriftAlg.h.

double gar::rosim::ElectronDriftAlg::fTransverseDiffusion
protected

diffusion transverse to the drift in microns/sqrt(cm)

Definition at line 78 of file ElectronDriftAlg.h.


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