GEMC  1.8
Geant4 Monte-Carlo Framework
MEventAction.h
Go to the documentation of this file.
1 #ifndef MEventAction_H
14 #define MEventAction_H 1
15 
16 // %%%%%%%%%%
17 // G4 headers
18 // %%%%%%%%%%
19 #include "G4UserEventAction.hh"
20 
21 // %%%%%%%%%%%%%
22 // gemc headers
23 // %%%%%%%%%%%%%
24 #include "MOutputBaseClass.h"
25 #include "MBankdefs.h"
26 #include "MPHBaseClass.h"
27 #include "MSensitiveDetector.h"
28 #include "usage.h"
30 
31 
32 
46 class TInfos
47 {
48  public:
49  TInfos(){;}
50  TInfos(int MTID)
51  {
52  mtid = MTID;
53  mpid = 0;
54  mv = G4ThreeVector(0.,0.,0.);
55  }
56  ~TInfos(){;}
57 
58  public:
59  int mtid;
60  int mpid;
61 
62  G4ThreeVector mv;
63 };
64 
65 vector<int> vector_mtids( map<int, TInfos> tinfos, vector<int> tids);
66 vector<int> vector_mpids( map<int, TInfos> tinfos, vector<int> tids);
67 vector<G4ThreeVector> vector_mvert( map<int, TInfos> tinfos, vector<int> tids);
68 vector<int> vector_zint( int size);
69 vector<G4ThreeVector> vector_zthre( int size);
70 
71 
83 {
84  public:
85  MEventAction(gemc_opts, map<string, double>);
86  ~MEventAction();
87 
89 
91  map<string, MOutput_Factory> *Out;
92  map<string, MSensitiveDetector*> SeDe_Map;
93  map<string, MPHB_Factory> *MProcessHit_Map;
94  map<string, MBank> *MBank_Map;
95  map<string, double> gPars;
97 
98  int evtN;
99  string hd_msg;
100  int Modulo;
101  double VERB;
102  string catch_v;
104  int MAXP;
105 
106  public:
107  void BeginOfEventAction(const G4Event*);
108  void EndOfEventAction(const G4Event*);
109  void SetEvtNumber(int N){evtN = N;}
110 
111 };
112 
113 #endif
114 
115 
116 
117 
int SAVE_ALL_MOTHERS
Loops over the stored trajectories to store mother vertex and pid in the output.
Definition: MEventAction.h:103
void SetEvtNumber(int N)
Sets Event Number.
Definition: MEventAction.h:109
int evtN
Event Number.
Definition: MEventAction.h:98
gemc_opts gemcOpt
gemc options
Definition: MEventAction.h:88
TInfos(int MTID)
Definition: MEventAction.h:50
int mpid
Definition: MEventAction.h:60
map< string, double > gPars
Parameters Map.
Definition: MEventAction.h:95
int Modulo
Print Log Event every Modulo.
Definition: MEventAction.h:100
double VERB
Event Verbosity.
Definition: MEventAction.h:101
MPrimaryGeneratorAction * gen_action
Generator Action.
Definition: MEventAction.h:96
vector< int > vector_mtids(map< int, TInfos > tinfos, vector< int > tids)
Definition: MEventAction.cc:36
map< string, MBank > * MBank_Map
Bank Map.
Definition: MEventAction.h:94
map< string, MOutput_Factory > * Out
MOutput_Factory map.
Definition: MEventAction.h:91
string hd_msg
Event Action Message.
Definition: MEventAction.h:99
MOutputs * MOut
MOutputs class - contains the output format.
Definition: MEventAction.h:90
int MAXP
Max number of generated particles to save on output stream.
Definition: MEventAction.h:104
G4ThreeVector mv
Definition: MEventAction.h:62
vector< G4ThreeVector > vector_mvert(map< int, TInfos > tinfos, vector< int > tids)
Definition: MEventAction.cc:54
vector< G4ThreeVector > vector_zthre(int size)
provides a vector of (0,0,0)
Definition: MEventAction.cc:27
string catch_v
Print Log for volume.
Definition: MEventAction.h:102
int mtid
Definition: MEventAction.h:59
map< string, MSensitiveDetector * > SeDe_Map
Sensitive detector Map.
Definition: MEventAction.h:92
vector< int > vector_mpids(map< int, TInfos > tinfos, vector< int > tids)
Definition: MEventAction.cc:45
vector< int > vector_zint(int size)
provides a vector of 0
Definition: MEventAction.cc:18
map< string, MPHB_Factory > * MProcessHit_Map
Hit Process Routine Factory Map.
Definition: MEventAction.h:93