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#pragma once
10
11#include <simulation/kernel/SensitiveDetectorBase.h>
12#include <G4EmSaturation.hh>
13
14#include <Math/Vector3D.h>
15
16namespace Belle2 {
22 namespace qcsmonitor {
23
26 public:
31
33 int saveSimHit(
34 const G4int cellId,
35 const G4int trackID,
36 const G4int pid,
37 const G4double tof,
38 const G4double edep,
39 G4ThreeVector mom,
40 ROOT::Math::XYZVector WightedPos
41 );
42 protected:
47 bool step(G4Step* step, G4TouchableHistory*) override;
48
49 private:
50
52 //G4double m_thresholdEnergyDeposit;/** Energy Deposit threshold */
53 //G4double m_thresholdKineticEnergy;/** Kinetic Energy threshold */
58 G4ThreeVector m_startPos;
59 G4ThreeVector m_endPos;
60 ROOT::Math::XYZVector m_WightedPos;
61 G4ThreeVector m_momentum;
62 double m_startTime;
63 double m_endTime;
69 //int ECLHitIndex[8736][80]; /** Hit index of StoreArray */
72 ROOT::Math::XYZVector PosCell;
73 ROOT::Math::XYZVector VecCell;
74 double local_pos;
75 double T_ave;
77 int m_phiID;
82 G4EmSaturation* saturationEngine;
83 };
84
85 } //qcsmonitor namespace
87} //Belle2 namespace
Base class for all Sensitive Detectors to create hits during simulation.
Sensitive Detector implementation of the QCSMONITOR detector.
int m_thetaID
The current phi ID in an event.
double m_energyDeposit
particle energy at the entrance in volume
int m_EvnetNumber
The current number of created hits in an event.
int saveSimHit(const G4int cellId, const G4int trackID, const G4int pid, const G4double tof, const G4double edep, G4ThreeVector mom, ROOT::Math::XYZVector WightedPos)
Save QcsmonitorSimHit into datastore.
int TimeIndex
Hit Energy of StoreArray.
int m_trackID
The current number of created hits in an event.
int m_hitNum
members of SensitiveDetector
int firstcall
flight time to diode sensor
double T_ave
position alongthe vector of crystal axis
double local_pos
vector of crystal axis
G4ThreeVector m_momentum
Wighted step Position.
int m_cellID
The current theta ID in an event.
ROOT::Math::XYZVector PosCell
Hit Time of StoreArray.
G4EmSaturation * saturationEngine
The current cellID in an event.
int iECLCell
length of the track in the volume
double m_trackLength
energy deposited in volume
int m_oldEvnetNumber
The current number of created hits in an event.
ROOT::Math::XYZVector VecCell
center of crystal position
ROOT::Math::XYZVector m_WightedPos
Position of poststep.
G4ThreeVector m_endPos
Position of prestep.
bool step(G4Step *step, G4TouchableHistory *) override
Step processing method.
Abstract base class for different kinds of events.