Belle II Software development
|
Sensitive Detector implementation of the BGO 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, ROOT::Math::XYZVector WightedPos) |
Save BgoSimHit 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 *step, 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. | |
ROOT::Math::XYZVector | 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 | iECLCell |
length of the track in the volume | |
int | TimeIndex |
Hit Energy of StoreArray. | |
ROOT::Math::XYZVector | PosCell |
Hit Time of StoreArray. | |
ROOT::Math::XYZVector | VecCell |
center of crystal position | |
double | local_pos |
vector of crystal axis | |
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 BGO detector.
Definition at line 24 of file SensitiveDetector.h.
Constructor.
Definition at line 26 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, | ||
ROOT::Math::XYZVector | WightedPos | ||
) |
Save BgoSimHit into datastore.
Definition at line 186 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.
step | the G4Step with the current step information |
Implements SensitiveDetectorBase.
Definition at line 70 of file SensitiveDetector.cc.
|
private |
flight time to diode sensor
Definition at line 75 of file SensitiveDetector.h.
|
private |
length of the track in the volume
Definition at line 69 of file SensitiveDetector.h.
|
private |
vector of crystal axis
Definition at line 73 of file SensitiveDetector.h.
|
private |
The current theta ID in an event.
Used to fill the DataStore ECL array
Definition at line 78 of file SensitiveDetector.h.
|
private |
Position of prestep.
Definition at line 58 of file SensitiveDetector.h.
|
private |
global time
Definition at line 62 of file SensitiveDetector.h.
|
private |
particle energy at the entrance in volume
Definition at line 65 of file SensitiveDetector.h.
|
private |
The current number of created hits in an event.
Used to fill the DataStore ECLHit.
Definition at line 54 of file SensitiveDetector.h.
|
private |
members of SensitiveDetector
Definition at line 53 of file SensitiveDetector.h.
|
private |
Wighted step Position.
Definition at line 60 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 55 of file SensitiveDetector.h.
|
private |
flag of first call
Definition at line 76 of file SensitiveDetector.h.
|
private |
global time
Definition at line 64 of file SensitiveDetector.h.
|
private |
track id
Definition at line 57 of file SensitiveDetector.h.
|
private |
momentum of track
Definition at line 61 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 77 of file SensitiveDetector.h.
|
private |
The current number of created hits in an event.
Used to fill the DataStore
Definition at line 56 of file SensitiveDetector.h.
|
private |
energy deposited in volume
Definition at line 66 of file SensitiveDetector.h.
|
private |
Position of poststep.
Definition at line 59 of file SensitiveDetector.h.
|
private |
global time
Definition at line 63 of file SensitiveDetector.h.
|
private |
Hit Time of StoreArray.
Definition at line 71 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 74 of file SensitiveDetector.h.
|
private |
Hit Energy of StoreArray.
Definition at line 70 of file SensitiveDetector.h.
|
private |
center of crystal position
Definition at line 72 of file SensitiveDetector.h.