10#ifndef VXD_SIMULATION_SENSITIVEDETECTORDEBUGHELPER_H
11#define VXD_SIMULATION_SENSITIVEDETECTORDEBUGHELPER_H
13#include <vxd/simulation/SensorTraversal.h>
14#include <vxd/dataobjects/VxdID.h>
15#include <vxd/dataobjects/VXDTrueHit.h>
16#include <vxd/dataobjects/VXDSimHit.h>
Class to keep track of the traversal of the sensitive volume for one track.
Class VXDSimHit - Geant4 simulated hit for the VXD.
Class VXDTrueHit - Records of tracks that either enter or leave the sensitive volume.
Small helper class to facilitate debugging of VXD::SensitiveDetector implementation.
void finishTraversal()
Finish the entry by calling Fill()
static SensitiveDetectorDebugHelper & getInstance()
Singleton class: get instance.
TTree * m_tree
ROOT Tree to write information to.
void addSimHit(const VXDSimHit *simhit, int startPoint, int endPoint)
Write the information normally used when creating SimHits to the entry.
void startTraversal(VxdID sensorID, const SensorTraversal &traversal)
Start writing a new sensor traversal: Geant4 steps will be added to the ROOT entry.
struct Belle2::VXD::SensitiveDetectorDebugHelper::info m_info
object to store all variables
@ MAX_EDEP
assume maximum number of energy deposition points per sensor traversal
@ MAX_HITS
assume maximum number of simhits per sensor traversal
@ SIZE_TRUE
number of values per truehit
@ SIZE_EDEP
number of values per energy deposition point
@ SIZE_STEP
number of values per step
@ SIZE_HITS
number of values per simhit
@ MAX_STEPS
assume maximum number of steps per sensor traversal
SensitiveDetectorDebugHelper()
Singleton class: private constructor.
void addTrueHit(const VXDTrueHit *truehit)
Write the information normally used when creating TrueHits to the entry.
SensitiveDetectorDebugHelper(const SensitiveDetectorDebugHelper &)=delete
Singleton class: no copy constructor.
TFile * m_file
ROOT File to write information to.
SensitiveDetectorDebugHelper & operator=(const SensitiveDetectorDebugHelper &)=delete
Singleton class: no assignment operator.
~SensitiveDetectorDebugHelper()
Destructor: write root file.
Class to uniquely identify a any structure of the PXD and SVD.
Abstract base class for different kinds of events.
struct with all the branches needed
double stepInfo[SIZE_STEP *MAX_STEPS]
values for the step points
int sensorID
id of the sensor for the current track
int pdg
pdg code for the current track
int trueN
number of values used in trueInfo
int primary
whether or not the track is from a primary particle
double trueInfo[SIZE_TRUE]
values for the truehit
int simhitN
number of values used in simhitInfo
double length
track length
int stepN
number of values used in stepInfo
double simhitInfo[SIZE_HITS *MAX_HITS]
values for the simhits
int contained
whether or not the track was contained in the senitive volume
double edepInfo[SIZE_EDEP *MAX_EDEP]
values for the energy deposition
int edepN
number of values used in edepInfo