HerdSoftware  0.4.0
TrdTravMatAction.h
Go to the documentation of this file.
1 /*
2  * TrdTravMatAction.h
3  *
4  * Created on: 13 Jul 2020
5  * Author: Nicola Mori
6  */
7 
10 #ifndef TRDTRAVMATACTION_H_
11 #define TRDTRAVMATACTION_H_
12 
13 // HerdSoftware headers
15 
16 // GGS headers
17 #include "montecarlo/services/GGSRootFileService.h"
18 #include "montecarlo/useractions/GGSUserAction.h"
19 
20 // GEANT4 headers
21 #include "G4GenericMessenger.hh"
22 #include "G4PrimaryParticle.hh"
23 #include "G4Track.hh"
24 
25 // ROOT headers
26 #include "TClonesArray.h"
27 #include "TFile.h"
28 #include "TTree.h"
29 
36 class TrdTravMatAction : public GGSUserAction {
37 
38 public:
41 
49  void PreUserTrackingAction(const G4Track *track) override;
50 
55  void UserSteppingAction(const G4Step *step) override;
56 
61  void BeginOfEventAction(const G4Event *event) override;
62 
67  void EndOfEventAction(const G4Event *event) override;
68 
73  void BeginOfRunAction(const G4Run *run) override;
74 
79  void EndOfRunAction(const G4Run *run) override;
80 
81 private:
82  std::vector<TrdTravMat> m_travMat;
83 
84  std::string m_outBase;
85  std::string m_outTreeName;
86  TFile *m_outRootFile;
87  TTree *m_outTree;
88 
89  G4GenericMessenger m_messenger;
90 };
91 
92 #endif /* TRDTRAVMATACTION_H_ */
TrdTravMatAction::m_outTreeName
std::string m_outTreeName
Definition: TrdTravMatAction.h:85
TrdTravMatAction::m_outRootFile
TFile * m_outRootFile
Definition: TrdTravMatAction.h:86
TrdTravMatAction::EndOfRunAction
void EndOfRunAction(const G4Run *run) override
Closes the output file for the current run.
Definition: TrdTravMatAction.cpp:78
TrdTravMat.h
TrdTravMatAction::PreUserTrackingAction
void PreUserTrackingAction(const G4Track *track) override
Initialization of primary track.
Definition: TrdTravMatAction.cpp:26
TrdTravMatAction::m_outBase
std::string m_outBase
Definition: TrdTravMatAction.h:84
TrdTravMatAction::EndOfEventAction
void EndOfEventAction(const G4Event *event) override
Fills the output tree.
Definition: TrdTravMatAction.cpp:56
TrdTravMatAction
Action which finds the point of disappearance points for each primary particle.
Definition: TrdTravMatAction.h:36
TrdTravMatAction::m_messenger
G4GenericMessenger m_messenger
Definition: TrdTravMatAction.h:89
TrdTravMatAction::m_outTree
TTree * m_outTree
Definition: TrdTravMatAction.h:87
TrdTravMatAction::TrdTravMatAction
TrdTravMatAction()
Constructor.
Definition: TrdTravMatAction.cpp:15
TrdTravMatAction::BeginOfEventAction
void BeginOfEventAction(const G4Event *event) override
Clears the vector of traversed material in TRD by primary particles.
Definition: TrdTravMatAction.cpp:54
TrdTravMatAction::m_travMat
std::vector< TrdTravMat > m_travMat
Definition: TrdTravMatAction.h:82
TrdTravMatAction::UserSteppingAction
void UserSteppingAction(const G4Step *step) override
Accumulates the traversed material in TRD by primary particles.
Definition: TrdTravMatAction.cpp:33
TrdTravMatAction::BeginOfRunAction
void BeginOfRunAction(const G4Run *run) override
Opens the output file for the current run and prepares the output tree.
Definition: TrdTravMatAction.cpp:65