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/claws/dataobjects/CLAWSSimHit.h>
16#include <beast/claws/simulation/SensorTraversal.h>
17#include <G4EmSaturation.hh>
18
19#include <stack>
20namespace 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.
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
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.