ATLAS Offline Software
|
#include <SimulationEnergies.h>
Classes | |
struct | ClassifyResult_t |
This defines the results returned by the energy classification; these detailed results are mostly used for studies. More... | |
Public Types | |
enum | eEnergyCategory { kEm = 0, kNonEm, kInvisible0, kEscaped, kNumberOfEnergyCategories } |
Accessing detailed information: More... | |
Public Member Functions | |
SimulationEnergies () | |
virtual | ~SimulationEnergies () |
void | Energies (const G4Step *, std::vector< G4double > &) const |
The simple method to call from a calibration calculator: Examine the G4Step and return the energies required for a calibration hit. More... | |
ClassifyResult_t | Classify (const G4Step *, const G4bool processEscaped=true) const |
This method performs the actual function of this class: It classifies the components of the energy deposited by the current G4Step. More... | |
Private Member Functions | |
G4double | measurableEnergy (const G4ParticleDefinition *particleDef, G4int PDGEncoding, G4double totalEnergy, G4double kineticEnergy) const |
Some private methods for internal calculations: More... | |
G4double | measurableEnergyV2 (const G4ParticleDefinition *particleDef, G4int PDGEncoding, G4double totalEnergy, G4double kineticEnergy) const |
G4bool | ProcessEscapedEnergy (G4Step *fakeStep) const |
G4bool | ParticleIsNeutrino (G4ParticleDefinition *particle) const |
std::unique_ptr< G4Step > | CreateFakeStep (G4Track *a_track, G4double a_energy) const |
This class implements the calculations requires to categorize the energies deposited during the simulation. This "Monte Carlo truth" information is used in calibration studies and other applications.
12-Aug-2009 M. Leltchouk: this code update improves performance. Many thanks to Zachary Marshall for introducing and coding or suggesting most of these changes and to Gennady Pospelov for supporting this code (including careful testing) and the whole "machinary of calibration hits" which he greatly improved and extended.
07-Jan-2004 Mikhail Leltchouk with code additions and great support from William Glenn Seligman (WGS). Columbia University in the City of New York, Nevis Labs, 136 South Broadway, Irvington, NY 10533, USA
29-Jun-2004 WGS: Take advantage of the new features of Geant 4.6.2: this class no longer has to be a singleton, and it need no longer inherit from G4VSteppingVerbose.
Definition at line 46 of file SimulationEnergies.h.
Accessing detailed information:
It's useful to define some types here. The following enum uses a C++ trick: the first item in the list is set to zero. Therefore, "kNumberOfEnergyCategories" will be equal to the number of entries in the enum.
Enumerator | |
---|---|
kEm | |
kNonEm | |
kInvisible0 | |
kEscaped | |
kNumberOfEnergyCategories |
Definition at line 65 of file SimulationEnergies.h.
CaloG4::SimulationEnergies::SimulationEnergies | ( | ) |
|
virtual |
ClassifyResult_t CaloG4::SimulationEnergies::Classify | ( | const G4Step * | , |
const G4bool | processEscaped = true |
||
) | const |
This method performs the actual function of this class: It classifies the components of the energy deposited by the current G4Step.
Allow a flag to control whether the escaped energy is routed to some other volume that the one in which the G4Step occurs.
|
private |
void CaloG4::SimulationEnergies::Energies | ( | const G4Step * | , |
std::vector< G4double > & | |||
) | const |
The simple method to call from a calibration calculator: Examine the G4Step and return the energies required for a calibration hit.
|
private |
Some private methods for internal calculations:
|
private |
|
private |
|
private |