Belle II Software  release-08-01-10
SensitiveDetector.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef SENSITIVEDETECTOR_H
10 #define SENSITIVEDETECTOR_H
11 
12 #include <simulation/kernel/SensitiveDetectorBase.h>
13 #include <framework/datastore/StoreArray.h>
14 #include <framework/datastore/RelationArray.h>
15 #include <beast/claws/dataobjects/CLAWSSimHit.h>
16 #include <beast/claws/simulation/SensorTraversal.h>
17 #include <G4EmSaturation.hh>
18 
19 #include <stack>
20 namespace Belle2 {
26  namespace claws {
27 
30  public:
33  protected:
38  bool step(G4Step* step, G4TouchableHistory*) override;
39  private:
41  bool finishTrack();
42 
44  G4EmSaturation* m_saturationEngine;
45 
52 
54  std::stack<SensorTraversal> m_tracks;
55  };
56 
57  } //claw namespace
59 } //Belle2 namespace
60 
61 #endif
Low-level class to create/modify relations between StoreArrays.
Definition: RelationArray.h:62
Base class for all Sensitive Detectors to create hits during simulation.
Sensitive Detector implementation of the CLAWS detector.
G4EmSaturation * m_saturationEngine
needed to call Birk's law
std::stack< SensorTraversal > m_tracks
Stack of tracks to keep track of particles.
StoreArray< CLAWSSimHit > m_simHits
store array of the SimHits
RelationArray m_relMCSimHit
relation array of the MCParticle -> SimHit relation
StoreArray< MCParticle > m_mcParticles
store array of the MCParticles
bool step(G4Step *step, G4TouchableHistory *) override
Step processing method.
Abstract base class for different kinds of events.