Belle II Software  release-06-01-15
EKLMSensitiveDetector.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 #pragma once
10 
11 /* KLM headers. */
12 #include <klm/dataobjects/eklm/EKLMElementNumbers.h>
13 #include <klm/dataobjects/eklm/EKLMSimHit.h>
14 
15 /* Belle 2 headers. */
16 #include <framework/datastore/StoreArray.h>
17 #include <framework/datastore/RelationArray.h>
18 #include <mdst/dataobjects/MCParticle.h>
19 #include <simulation/kernel/SensitiveDetectorBase.h>
20 
21 namespace Belle2::EKLM {
22 
30 
31  public:
32 
36  explicit EKLMSensitiveDetector(G4String name);
37 
42 
47  bool step(G4Step* aStep, G4TouchableHistory* history) override;
48 
49  private:
50 
53 
56 
59 
62 
68 
69  };
70 
71 }
EKLM element numbers.
The Class for EKLM Sensitive Detector.
bool step(G4Step *aStep, G4TouchableHistory *history) override
Process each step and calculate variables for EKLMSimHit store EKLMSimHit.
EKLMSensitiveDetector(G4String name)
Constructor.
StoreArray< EKLMSimHit > m_SimHits
Simulation hits.
const EKLMElementNumbers * m_ElementNumbers
Element numbers.
G4double m_ThresholdHitTime
All hits with time large than m_ThresholdHitTime will be dropped.
RelationArray m_MCParticlesToSimHits
Relation array between MCPartices and EKLMSimHits.
StoreArray< MCParticle > m_MCParticles
MC particles.
Low-level class to create/modify relations between StoreArrays.
Definition: RelationArray.h:62
Base class for all Sensitive Detectors to create hits during simulation.