Public Member Functions | Private Attributes | List of all members
gar::rosim::ISCalculationSeparate Class Reference

#include <ISCalculationSeparate.h>

Inheritance diagram for gar::rosim::ISCalculationSeparate:
gar::rosim::ISCalculation

Public Member Functions

 ISCalculationSeparate (CLHEP::HepRandomEngine &)
 
virtual ~ISCalculationSeparate ()
 
void Initialize ()
 
void Reset ()
 
void CalculateIonizationAndScintillation (const gar::sdp::EnergyDeposit *dep)
 
double EnergyDeposit () const
 
int NumberIonizationElectrons () const
 
int NumberScintillationPhotons () const
 
double StepSizeLimit () const
 
- Public Member Functions inherited from gar::rosim::ISCalculation
 ISCalculation ()
 
virtual ~ISCalculation ()
 

Private Attributes

double fStepSize
 maximum step to take More...
 
double fEfield
 value of electric field from GArProperties service More...
 
double fGeVToElectrons
 conversion factor from GArProperties service More...
 

Additional Inherited Members

- Protected Attributes inherited from gar::rosim::ISCalculation
double fEnergyDeposit
 total energy deposited in the step More...
 
int fNumIonElectrons
 number of ionization electrons for this step More...
 
int fNumScintPhotons
 number of scintillation photons for this step More...
 

Detailed Description

Definition at line 23 of file ISCalculationSeparate.h.

Constructor & Destructor Documentation

gar::rosim::ISCalculationSeparate::ISCalculationSeparate ( CLHEP::HepRandomEngine &  )

Definition at line 23 of file ISCalculationSeparate.cxx.

24  : ISCalculation()
25  {
26  }
gar::rosim::ISCalculationSeparate::~ISCalculationSeparate ( )
virtual

Definition at line 29 of file ISCalculationSeparate.cxx.

30  {
31  }

Member Function Documentation

void gar::rosim::ISCalculationSeparate::CalculateIonizationAndScintillation ( const gar::sdp::EnergyDeposit dep)
virtual

Implements gar::rosim::ISCalculation.

Definition at line 58 of file ISCalculationSeparate.cxx.

59  {
60  fEnergyDeposit = dep->Energy();
61 
63 
64  MF_LOG_DEBUG("ISCalculationSeparate")
65  << " Electrons produced for " << fEnergyDeposit * 1.e3
66  << " MeV deposited: " << fNumIonElectrons;
67 
68  // Now do the scintillation
69  // TODO: fix this for gaseous argon
71 
72  return;
73  }
double fGeVToElectrons
conversion factor from GArProperties service
float const & Energy() const
Definition: EnergyDeposit.h:42
int fNumScintPhotons
number of scintillation photons for this step
Definition: ISCalculation.h:35
double fEnergyDeposit
total energy deposited in the step
Definition: ISCalculation.h:33
int fNumIonElectrons
number of ionization electrons for this step
Definition: ISCalculation.h:34
T min(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Definition: statistics.h:55
#define MF_LOG_DEBUG(id)
double gar::rosim::ISCalculationSeparate::EnergyDeposit ( ) const
inlinevirtual

Implements gar::rosim::ISCalculation.

Definition at line 33 of file ISCalculationSeparate.h.

33 { return fEnergyDeposit; }
double fEnergyDeposit
total energy deposited in the step
Definition: ISCalculation.h:33
void gar::rosim::ISCalculationSeparate::Initialize ( )
virtual

Implements gar::rosim::ISCalculation.

Definition at line 34 of file ISCalculationSeparate.cxx.

35  {
36  const detinfo::DetectorProperties* detprop = gar::providerFrom<detinfo::DetectorPropertiesService>();
37 
38  //double density = detprop->Density(detprop->Temperature());
39  fEfield = detprop->Efield();
41 
42  return;
43  }
double fGeVToElectrons
conversion factor from GArProperties service
double fEfield
value of electric field from GArProperties service
constexpr double kGeVToElectrons
26.4 eV per ion pair, 1e9 eV/GeV
virtual double Efield(unsigned int planegap=0) const =0
Returns the nominal electric field in the specified volume.
int gar::rosim::ISCalculationSeparate::NumberIonizationElectrons ( ) const
inlinevirtual

Implements gar::rosim::ISCalculation.

Definition at line 34 of file ISCalculationSeparate.h.

34 { return fNumIonElectrons; }
int fNumIonElectrons
number of ionization electrons for this step
Definition: ISCalculation.h:34
int gar::rosim::ISCalculationSeparate::NumberScintillationPhotons ( ) const
inlinevirtual

Implements gar::rosim::ISCalculation.

Definition at line 35 of file ISCalculationSeparate.h.

35 { return fNumScintPhotons; }
int fNumScintPhotons
number of scintillation photons for this step
Definition: ISCalculation.h:35
void gar::rosim::ISCalculationSeparate::Reset ( )
virtual

Implements gar::rosim::ISCalculation.

Definition at line 47 of file ISCalculationSeparate.cxx.

48  {
49  fEnergyDeposit = 0.;
50  fNumScintPhotons = 0.;
51  fNumIonElectrons = 0.;
52 
53  return;
54  }
int fNumScintPhotons
number of scintillation photons for this step
Definition: ISCalculation.h:35
double fEnergyDeposit
total energy deposited in the step
Definition: ISCalculation.h:33
int fNumIonElectrons
number of ionization electrons for this step
Definition: ISCalculation.h:34
double gar::rosim::ISCalculationSeparate::StepSizeLimit ( ) const
inlinevirtual

Implements gar::rosim::ISCalculation.

Definition at line 36 of file ISCalculationSeparate.h.

36 { return fStepSize; }
double fStepSize
maximum step to take

Member Data Documentation

double gar::rosim::ISCalculationSeparate::fEfield
private

value of electric field from GArProperties service

Definition at line 41 of file ISCalculationSeparate.h.

double gar::rosim::ISCalculationSeparate::fGeVToElectrons
private

conversion factor from GArProperties service

Definition at line 42 of file ISCalculationSeparate.h.

double gar::rosim::ISCalculationSeparate::fStepSize
private

maximum step to take

Definition at line 40 of file ISCalculationSeparate.h.


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