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/fangs/dataobjects/FANGSSimHit.h>
16 #include <beast/fangs/simulation/SensorTraversal.h>
17 
18 #include <stack>
19 namespace Belle2 {
25  namespace fangs {
26 
29  public:
32  protected:
37  bool step(G4Step* step, G4TouchableHistory*) override;
38  private:
40  bool finishTrack();
41 
48 
50  std::stack<SensorTraversal> m_tracks;
51  };
52 
53  } //claw namespace
55 } //Belle2 namespace
56 
57 #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 FANGS detector.
std::stack< SensorTraversal > m_tracks
Stack of tracks to keep track of particles.
RelationArray m_relMCSimHit
relation array of the MCParticle -> SimHit relation
StoreArray< MCParticle > m_mcParticles
store array of the MCParticles
StoreArray< FANGSSimHit > m_simHits
store array of the SimHits
bool step(G4Step *step, G4TouchableHistory *) override
Step processing method.
Abstract base class for different kinds of events.