Belle II Software  release-08-01-10
simulation
Collaboration diagram for simulation:

Modules

 simulation data objects
 
 simulation modules
 

Classes

class  BkgNeutronWeight
 The class to get the weighting factor for a 1-MeV-equivalent neutron flux on silicon. More...
 
class  BkgSensitiveDetector
 The Class for BeamBackground Sensitive Detector. More...
 
class  ROISimulationParameters
 The payload containing all PXD ROI parameters. More...
 
class  DetectorConstruction
 Class responsible to connect to geometry to simulation. More...
 
class  RandomEngine
 Interface class to make Geant4 use the Belle2 RandomGenerator. More...
 
class  G4LongLivedNeutral
 A class to hold long-lived neutral particle description. More...
 
class  G4LongLivedNeutralDecay
 This class is a decay process. More...
 
class  G4LongLivedNeutralPhysics
 LongLivedNeutral physics Class – to be registered in the physics list. More...
 
class  G4LongLivedNeutralTransportation
 Concrete class that does the geometrical transport. More...
 

Functions

static BkgNeutronWeightgetInstance ()
 Return a reference to the singleton BkgNeutronWeight instance.
 
double getWeight (double ke)
 Get weighting factor to convert a neutron to its 1-MeV equivalent.
 
 BkgNeutronWeight (void)
 Constructor is private for this singleton.
 
void addPoint (double, double)
 Function to add one (x,y) data point to the spline table.
 
void doSpline ()
 Function to calculate the cubic spline derivatives.
 
 BkgSensitiveDetector (const char *subDet, int iden=0)
 Constructor. More...
 
bool step (G4Step *aStep, G4TouchableHistory *) override
 Process each step and calculate variables defined in PXDSimHit. More...
 
virtual G4VParticleChange * AtRestDoIt (const G4Track &aTrack, const G4Step &aStep) override
 G4VProess::AtRestDoIt() implemention for decay at rest. More...
 
G4double GetRemainderLifeTime () const
 Get Remainder of life time at rest decay. More...
 

Variables

static BkgNeutronWeightm_Instance = 0
 static pointer to the singleton instance of this class
 

Detailed Description

Function Documentation

◆ AtRestDoIt()

G4VParticleChange * AtRestDoIt ( const G4Track &  aTrack,
const G4Step &  aStep 
)
inlineoverridevirtual

G4VProess::AtRestDoIt() implemention for decay at rest.

G4VProcess::AtRestDoIt() implementation, Proposes particle change by DecayIt method at rest.

Parameters
aTrack
aStep
aTrackPropagating particle track reference
aStepCurrent step reference

Definition at line 190 of file G4LongLivedNeutralDecay.h.

194  {
195  return DecayIt(aTrack, aStep);
196  }
virtual G4VParticleChange * DecayIt(const G4Track &aTrack, const G4Step &aStep)
G4Decay::DecayIt() implemention.

◆ BkgSensitiveDetector()

BkgSensitiveDetector ( const char *  subDet,
int  iden = 0 
)
explicit

Constructor.

Parameters
subDetname of the subdetector (i.e. "IR","PXD","SVD",...)
idenidentifier of subdetector component (optional, 0 by default)

Definition at line 31 of file BkgSensitiveDetector.cc.

31  :
32  Simulation::SensitiveDetectorBase("BKG", Const::invalidDetector), m_trackID(0), m_startPos(0., 0., 0.), m_startMom(0., 0., 0.),
34  {
35  // registration of store arrays and relations
36 
37  StoreArray<MCParticle> mcParticles;
38  StoreArray<BeamBackHit> beamBackHits;
39 
40  beamBackHits.registerInDataStore();
41  mcParticles.registerRelationTo(beamBackHits);
42 
43  // additional registration of MCParticle relation
44 
45  RelationArray relation(mcParticles, beamBackHits);
47 
48  m_eclrepscale = 0;
49  std::string subDet = subDett;
50  if (subDet == "IR") m_subDet = 0;
51  else if (subDet == "PXD") m_subDet = 1;
52  else if (subDet == "SVD") m_subDet = 2;
53  else if (subDet == "CDC") m_subDet = 3;
54  else if (subDet == "ARICH") m_subDet = 4;
55  else if (subDet == "TOP") m_subDet = 5;
56  else if (subDet == "ECL") m_subDet = 6;
57  else if (subDet == "EKLM") m_subDet = 7;
58  else if (subDet == "BKLM") m_subDet = 8;
59  else m_subDet = 99;
60 
61  if (m_subDet == 6) {
62  const int nc[] = {3, 4, 6, 9, 2, 9, 6, 4}; // the number of crystals in a sector per ring
63  const int indx[] = {96, 288, 864, 1151, 7776, 8064, 8544, 8736}; // regions with the same number of crystals in a ring
64  std::vector<int> indxv(indx, indx + sizeof(indx) / sizeof(int));
65  m_eclrepscale = nc[upper_bound(indxv.begin(), indxv.end(), iden) - indxv.begin()];
66  }
67 
68  m_identifier = iden;
69 
70  }
double m_energyDeposit
Energy deposited in volume.
ROOT::Math::XYZVector m_startPos
Particle position at the entrance in volume.
double m_startEnergy
Particle energy at the entrance in volume.
double m_trackLength
Length of the track in the volume.
int m_eclrepscale
Replica (=sector) scale in ECL.
int m_subDet
Subdetector id number.
ROOT::Math::XYZVector m_startMom
Particle momentum at the entrance in volume.
int m_identifier
Identifier of subdetector component.
static void registerMCParticleRelation(const std::string &name, RelationArray::EConsolidationAction ignoreAction=RelationArray::c_negativeWeight)
Register an relation involving MCParticles.

◆ GetRemainderLifeTime()

G4double GetRemainderLifeTime ( ) const
inline

Get Remainder of life time at rest decay.

Returns remaining lifetime.

Definition at line 200 of file G4LongLivedNeutralDecay.h.

◆ step()

G4bool step ( G4Step *  aStep,
G4TouchableHistory *   
)
overridevirtual

Process each step and calculate variables defined in PXDSimHit.

Parameters
aStepCurrent Geant4 step in the sensitive medium.
Returns
true if a hit was stored, o.w. false.

Implements SensitiveDetectorBase.

Definition at line 73 of file BkgSensitiveDetector.cc.