Belle II Software development
|
Sensitive Detector implementation of the CSI detector. More...
#include <SensitiveDetector.h>
Public Member Functions | |
SensitiveDetector () | |
Constructor. | |
~SensitiveDetector () | |
Destructor. | |
int | saveSimHit (const G4int cellId, const G4int trackID, const G4int pid, const G4double tof, const G4double edep, G4ThreeVector mom, G4ThreeVector pos, G4ThreeVector PosCell, G4ThreeVector VecCell) |
Save ECLSimHits of the event into datastore. | |
Static Public Member Functions | |
static const std::map< std::string, RelationArray::EConsolidationAction > & | getMCParticleRelations () |
Return a list of all registered Relations with MCParticles. | |
static void | setActive (bool activeStatus) |
Enable/Disable all Sensitive Detectors. | |
static void | registerMCParticleRelation (const std::string &name, RelationArray::EConsolidationAction ignoreAction=RelationArray::c_negativeWeight) |
Register an relation involving MCParticles. | |
static void | registerMCParticleRelation (const RelationArray &relation, RelationArray::EConsolidationAction ignoreAction=RelationArray::c_negativeWeight) |
Overload to make it easer to register MCParticle relations. | |
Protected Member Functions | |
bool | step (G4Step *aStep, G4TouchableHistory *) override |
Step processing method. | |
Private Member Functions | |
virtual bool | ProcessHits (G4Step *aStep, G4TouchableHistory *aROhist) |
Check if recording hits is enabled and if so call step() and set the correct MCParticle flag. | |
Private Attributes | |
int | m_hitNum |
members of SensitiveDetector | |
int | m_EvnetNumber |
The current number of created hits in an event. | |
int | m_oldEvnetNumber |
The current number of created hits in an event. | |
int | m_trackID |
The current number of created hits in an event. | |
G4ThreeVector | m_startPos |
track id | |
G4ThreeVector | m_endPos |
Position of prestep. | |
G4ThreeVector | m_WightedPos |
Position of poststep. | |
G4ThreeVector | m_momentum |
Wighted step Position. | |
double | m_startTime |
momentum of track | |
double | m_endTime |
global time | |
double | m_WightedTime |
global time | |
double | m_startEnergy |
global time | |
double | m_energyDeposit |
particle energy at the entrance in volume | |
double | m_trackLength |
energy deposited in volume | |
int | CsiHitIndex [18][80] |
length of the track in the volume | |
int | iECLCell |
Hit index of StoreArray. | |
int | TimeIndex |
Hit Energy of StoreArray. | |
double | local_pos |
Hit Time of StoreArray. | |
double | T_ave |
position alongthe vector of crystal axis | |
int | firstcall |
flight time to diode sensor | |
int | m_phiID |
flag of first call | |
int | m_thetaID |
The current phi ID in an event. | |
int | m_cellID |
The current theta ID in an event. | |
Const::EDetector | m_subdetector |
Subdetector the class belongs to. | |
Static Private Attributes | |
static std::map< std::string, RelationArray::EConsolidationAction > | s_mcRelations |
Static set holding all relations which have to be updated at the end of the Event. | |
static bool | s_active |
Static bool which indicates wether recording of hits is enabled. | |
Sensitive Detector implementation of the CSI detector.
Definition at line 22 of file SensitiveDetector.h.
Constructor.
Definition at line 29 of file SensitiveDetector.cc.
~SensitiveDetector | ( | ) |
|
inlinestaticinherited |
Return a list of all registered Relations with MCParticles.
Definition at line 42 of file SensitiveDetectorBase.h.
|
inlineprivatevirtualinherited |
Check if recording hits is enabled and if so call step() and set the correct MCParticle flag.
Called by Geant4 for each step inside the sensitive volumes attached
Definition at line 94 of file SensitiveDetectorBase.h.
|
inlinestaticinherited |
Overload to make it easer to register MCParticle relations.
relation | RelationArray to register |
ignoreAction |
Definition at line 66 of file SensitiveDetectorBase.h.
|
staticinherited |
Register an relation involving MCParticles.
All Relations which point from an MCParticle to something have to be registered with addMCParticleRelation() because the index of the MCParticles might change at the end of the event. During simulation, the TrackID should be used as index of the MCParticle
name | Name of the relation to register |
ignoreAction |
Definition at line 22 of file SensitiveDetectorBase.cc.
int saveSimHit | ( | const G4int | cellId, |
const G4int | trackID, | ||
const G4int | pid, | ||
const G4double | tof, | ||
const G4double | edep, | ||
G4ThreeVector | mom, | ||
G4ThreeVector | pos, | ||
G4ThreeVector | PosCell, | ||
G4ThreeVector | VecCell | ||
) |
Save ECLSimHits of the event into datastore.
cellId | the channel identifier |
trackID | the track identifier |
pid | the pdg code of the particle |
tof | the time of flight of the particle |
edep | the energy deposited in the crystal by the particle |
mom | the momentum of the particle |
pos | TO BE COMPLETED |
PosCell | TO BE COMPLETED |
VecCell | TO BE COMPLETED |
Definition at line 153 of file SensitiveDetector.cc.
|
inlinestaticinherited |
Enable/Disable all Sensitive Detectors.
By default, all sensitive detectors won't create hits to make it possible to use the Geant4 Navigator for non-simulation purposes. Only during simulation the sensitive detectors will be enabled to record hits
activeStatus | bool to indicate wether hits should be recorded |
Definition at line 50 of file SensitiveDetectorBase.h.
|
overrideprotectedvirtual |
Step processing method.
aStep | the G4Step with the current step information |
Implements SensitiveDetectorBase.
Definition at line 85 of file SensitiveDetector.cc.
|
private |
length of the track in the volume
Definition at line 83 of file SensitiveDetector.h.
|
private |
flight time to diode sensor
Definition at line 90 of file SensitiveDetector.h.
|
private |
Hit index of StoreArray.
Definition at line 84 of file SensitiveDetector.h.
|
private |
Hit Time of StoreArray.
Definition at line 88 of file SensitiveDetector.h.
|
private |
The current theta ID in an event.
Used to fill the DataStore ECL array
Definition at line 93 of file SensitiveDetector.h.
|
private |
Position of prestep.
Definition at line 73 of file SensitiveDetector.h.
|
private |
global time
Definition at line 77 of file SensitiveDetector.h.
|
private |
particle energy at the entrance in volume
Definition at line 80 of file SensitiveDetector.h.
|
private |
The current number of created hits in an event.
Used to fill the DataStore ECLHit.
Definition at line 69 of file SensitiveDetector.h.
|
private |
members of SensitiveDetector
Definition at line 68 of file SensitiveDetector.h.
|
private |
Wighted step Position.
Definition at line 75 of file SensitiveDetector.h.
|
private |
The current number of created hits in an event.
Used to fill the DataStore ECL EB array.
Definition at line 70 of file SensitiveDetector.h.
|
private |
flag of first call
Definition at line 91 of file SensitiveDetector.h.
|
private |
global time
Definition at line 79 of file SensitiveDetector.h.
|
private |
track id
Definition at line 72 of file SensitiveDetector.h.
|
private |
momentum of track
Definition at line 76 of file SensitiveDetector.h.
|
privateinherited |
Subdetector the class belongs to.
Definition at line 91 of file SensitiveDetectorBase.h.
|
private |
The current phi ID in an event.
Used to fill the DataStore ECL array
Definition at line 92 of file SensitiveDetector.h.
|
private |
The current number of created hits in an event.
Used to fill the DataStore
Definition at line 71 of file SensitiveDetector.h.
|
private |
energy deposited in volume
Definition at line 81 of file SensitiveDetector.h.
|
private |
Position of poststep.
Definition at line 74 of file SensitiveDetector.h.
|
private |
global time
Definition at line 78 of file SensitiveDetector.h.
|
staticprivateinherited |
Static bool which indicates wether recording of hits is enabled.
Definition at line 89 of file SensitiveDetectorBase.h.
|
staticprivateinherited |
Static set holding all relations which have to be updated at the end of the Event.
Definition at line 87 of file SensitiveDetectorBase.h.
|
private |
position alongthe vector of crystal axis
Definition at line 89 of file SensitiveDetector.h.
|
private |
Hit Energy of StoreArray.
Definition at line 85 of file SensitiveDetector.h.