 |
Belle II Software
release-05-01-25
|
11 #ifndef ECLSENSITIVEDETECTOR_H_
12 #define ECLSENSITIVEDETECTOR_H_
14 #include <simulation/kernel/SensitiveDetectorBase.h>
15 #include <simulation/dataobjects/BeamBackHit.h>
16 #include <framework/datastore/StoreArray.h>
17 #include <framework/datastore/RelationArray.h>
18 #include <framework/database/DBObjPtr.h>
19 #include <ecl/dataobjects/ECLSimHit.h>
20 #include <ecl/dataobjects/ECLHit.h>
21 #include <ecl/dbobjects/ECLHadronComponentEmissionFunction.h>
23 #include "G4EmCalculator.hh"
44 void Initialize(G4HCofThisEvent* HCTE)
override;
47 bool step(G4Step* aStep, G4TouchableHistory* history)
override;
50 void EndOfEvent(G4HCofThisEvent* eventHC)
override;
56 int saveSimHit(G4int, G4int, G4int, G4double, G4double,
const G4ThreeVector&,
const G4ThreeVector&,
double);
86 void Initialize(G4HCofThisEvent* HCTE)
override;
89 bool step(G4Step* aStep, G4TouchableHistory* history)
override;
92 void EndOfEvent(G4HCofThisEvent* eventHC)
override;
119 bool step(G4Step* aStep, G4TouchableHistory* history)
override;
double m_WeightedTime
average track time weighted by energy deposition
double m_esum
total energy deposited in a volume by a track
Low-level class to create/modify relations between StoreArrays.
StoreArray< ECLHit > m_eclHits
ECLHit array.
RelationArray m_eclBeamBkgHitRel
MCParticle to BeamBackHit relation array.
void EndOfEvent(G4HCofThisEvent *eventHC) override
Do what you want to do at the end of each event.
bool step(G4Step *aStep, G4TouchableHistory *history) override
Process each step and calculate variables defined in ECLHit.
double m_hadronenergyDeposit
energy deposited resulting in hadronic scint component
double m_energyDeposit
energy deposited in volume
void EndOfEvent(G4HCofThisEvent *eventHC) override
Do what you want to do at the end of each event.
ECLGeometryPar * m_eclp
pointer to ECLGeometryPar
SensitiveDetector(G4String, G4double, G4double)
Constructor.
double e
energy deposition in a crystal
Class for ECL Sensitive Detector.
int m_trackID
current track id
bool step(G4Step *aStep, G4TouchableHistory *history) override
Process each step and calculate variables defined in ECLHit.
bool step(G4Step *aStep, G4TouchableHistory *history) override
Process each step and calculate variables defined in ECLHit.
Base class for all Sensitive Detectors to create hits during simulation.
G4ThreeVector m_momentum
initial momentum of track before energy deposition inside sensitive volume
ECLGeometryPar * m_eclp
pointer to ECLGeometryPar
RelationArray m_eclSimHitRel
MCParticle to ECLSimHit relation array.
double m_energyDeposit
total energy deposited in a volume by a track
StoreArray< ECLHit > m_eclHits
ECLHit array.
StoreArray< ECLSimHit > m_eclSimHits
ECLSimHit array.
double m_trackLength
length of the track in the volume
TGraph * m_HadronEmissionFunction
Graph for hadron scintillation component emission function.
Class for accessing objects in the database.
~SensitiveDiode()
Destructor.
double GetHadronIntensityFromDEDX(double)
Evaluates hadron scintillation component emission function.
double m_startEnergy
particle energy at the entrance in volume
StoreArray< BeamBackHit > m_eclBeamBkgHits
BeamBackHit array.
int saveSimHit(G4int, G4int, G4int, G4double, G4double, const G4ThreeVector &, const G4ThreeVector &, double)
Create ECLSimHit and ECLHit and relations from MCParticle and put them in datastore.
int m_trackID
current track id
Abstract base class for different kinds of events.
~SensitiveDetector()
Destructor.
TVector3 m_startPos
particle position at the entrance in volume
std::vector< hit_t > m_hits
array of hits
double m_tsum
average track time weighted by energy deposition
SensitiveDiode(const G4String &)
Constructor.
G4EmCalculator m_emCal
Used to get dE/dx for pulse shape simulations.
BkgSensitiveDiode(const G4String &)
Constructor.
void Initialize(G4HCofThisEvent *HCTE) override
Register ECL hits collection into G4HCofThisEvent.
G4ThreeVector m_WeightedPos
average track position weighted by energy deposition
TVector3 m_startMom
particle momentum at the entrance in volume
StoreArray< MCParticle > m_mcParticles
MCParticle array.
void Initialize(G4HCofThisEvent *HCTE) override
Register ECL hits collection into G4HCofThisEvent.
The Class for ECL Geometry Parameters.
VXD::SensitiveDetector< PXDSimHit, PXDTrueHit > SensitiveDetector
The PXD Sensitive Detector class.
Accessor to arrays stored in the data store.
double t
time of energy deposition in a crystal
double m_startTime
global time
Class for ECL Sensitive Detector for neutron background study.
StoreArray< MCParticle > m_mcParticles
MCParticle array.
std::vector< int > m_cells
array of hitted crystals
DBObjPtr< ECLHadronComponentEmissionFunction > m_ECLHadronComponentEmissionFunction
Hadron Component Emission Function.
RelationArray m_eclHitRel
MCParticle to ECLHit relation array.