Belle II Software development
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>
19namespace 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.
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
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.