18 #ifndef RestCore_TRestGeant4Hits
19 #define RestCore_TRestGeant4Hits
21 #include <TRestHits.h>
25 #include "TRestGeant4Metadata.h"
33 std::vector<Int_t> fProcessID = {};
34 std::vector<Int_t> fVolumeID = {};
35 std::vector<Float_t> fKineticEnergy = {};
36 std::vector<TVector3> fMomentumDirection = {};
50 inline TVector3 GetMomentumDirection(
size_t n)
const {
return fMomentumDirection[n]; }
52 inline Int_t GetProcessId(
size_t n)
const {
return fProcessID[n]; }
53 inline Int_t GetProcess(
size_t n)
const {
return GetProcessId(n); }
54 inline Int_t GetHitProcess(
size_t n)
const {
return GetProcessId(n); }
55 TString GetProcessName(
size_t n)
const;
57 inline Int_t GetVolumeId(
size_t n)
const {
return fVolumeID[n]; }
58 inline Int_t GetHitVolume(
size_t n)
const {
return GetVolumeId(n); }
59 TString GetVolumeName(
size_t n)
const;
63 inline Double_t GetKineticEnergy(
size_t n)
const {
return fKineticEnergy[n]; }
65 Double_t GetEnergyInVolume(Int_t volumeID)
const;
67 TVector3 GetMeanPositionInVolume(Int_t volumeID)
const;
68 TVector3 GetFirstPositionInVolume(Int_t volumeID)
const;
69 TVector3 GetLastPositionInVolume(Int_t volumeID)
const;
71 size_t GetNumberOfHitsInVolume(Int_t volumeID)
const;
74 std::vector<Float_t>& GetEnergyRef() {
return fEnergy; }
85 void InsertStep(
const G4Step*);
An event class to store geant4 generated event information.
It saves a 3-coordinate position and an energy for each punctual deposition.
std::vector< Float_t > fEnergy
Energy deposited at each 3-coordinate position (units keV)