Belle II Software  release-05-01-25
SensitivePMT.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Petric, Marko Staric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <simulation/kernel/SensitiveDetectorBase.h>
14 #include <top/geometry/TOPGeometryPar.h>
15 
16 #include <framework/datastore/StoreArray.h>
17 #include <framework/datastore/RelationArray.h>
18 #include <mdst/dataobjects/MCParticle.h>
19 #include <top/dataobjects/TOPSimHit.h>
20 #include <top/dataobjects/TOPSimPhoton.h>
21 
22 
23 namespace Belle2 {
28  namespace TOP {
32  class SensitivePMT : public Simulation::SensitiveDetectorBase {
33 
34  public:
35 
39  SensitivePMT();
40 
46  bool step(G4Step* aStep, G4TouchableHistory*) override;
47 
52  void setPMTReplicaDepth(int depth) {m_pmtReplicaDepth = depth;}
53 
58  void setModuleReplicaDepth(int depth) {m_moduleReplicaDepth = depth;}
59 
60  private:
61 
62  int m_pmtReplicaDepth = 2;
63  int m_moduleReplicaDepth = 5;
71  };
72  } // end of namespace TOP
74 } // end of namespace Belle2
75 
Belle2::RelationArray
Low-level class to create/modify relations between StoreArrays.
Definition: RelationArray.h:72
Belle2::TOP::SensitivePMT::m_topgp
TOPGeometryPar * m_topgp
geometry parameters
Definition: SensitivePMT.h:72
Belle2::TOP::SensitivePMT::setPMTReplicaDepth
void setPMTReplicaDepth(int depth)
Sets replica depth of PMT volume.
Definition: SensitivePMT.h:60
Belle2::TOP::SensitivePMT::m_simHits
StoreArray< TOPSimHit > m_simHits
collection of simulated hits
Definition: SensitivePMT.h:75
Belle2::TOP::SensitivePMT::m_mcParticles
StoreArray< MCParticle > m_mcParticles
collection of MC particles
Definition: SensitivePMT.h:74
Belle2::TOP::SensitivePMT::step
bool step(G4Step *aStep, G4TouchableHistory *) override
Process each step, fill TOPSimHits and TOPSimPhotons.
Definition: SensitivePMT.cc:51
Belle2::TOP::SensitivePMT::m_simPhotons
StoreArray< TOPSimPhoton > m_simPhotons
collection of simulated photons
Definition: SensitivePMT.h:76
Belle2::TOP::TOPGeometryPar::Instance
static TOPGeometryPar * Instance()
Static method to obtain the pointer to its instance.
Definition: TOPGeometryPar.cc:45
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TOP::SensitivePMT::m_relParticleHit
RelationArray m_relParticleHit
relations
Definition: SensitivePMT.h:77
Belle2::TOP::SensitivePMT::m_moduleReplicaDepth
int m_moduleReplicaDepth
replica depth of module volume
Definition: SensitivePMT.h:71
Belle2::TOP::SensitivePMT::SensitivePMT
SensitivePMT()
Constructor.
Definition: SensitivePMT.cc:35
Belle2::StoreArray< MCParticle >
Belle2::TOP::TOPGeometryPar
Singleton class for TOP Geometry Parameters.
Definition: TOPGeometryPar.h:47
Belle2::TOP::SensitivePMT::setModuleReplicaDepth
void setModuleReplicaDepth(int depth)
Sets replica depth of module volume.
Definition: SensitivePMT.h:66
Belle2::TOP::SensitivePMT::m_pmtReplicaDepth
int m_pmtReplicaDepth
replica depth of PMT volume
Definition: SensitivePMT.h:70