LBNETrackingAction.hh
Go to the documentation of this file.
1 //
2 // LBNETrackingAction.hh
3 //
4 #ifndef LBNETrackingAction_h
5 #define LBNETrackingAction_h 1
6 
7 #include "G4UserTrackingAction.hh"
8 #include "LBNETrajectory.hh"
9 
10 class LBNERunManager;
12 class G4EventManager;
13 class LBNEEventAction;
14 
15 class LBNETrackingAction : public G4UserTrackingAction
16 {
17  public:
19  virtual ~LBNETrackingAction();
20 
21  virtual void PreUserTrackingAction(const G4Track*);
22  virtual void PostUserTrackingAction(const G4Track*);
23 
24  void SetPreLBNETrackInformation(const G4Track* aTrack);
25  void SetPostLBNETrackInformation(const G4Track* aTrack);
26  void AnalyzeIfNeutrino(const G4Track* aTrack);
27 
28  private:
31  G4EventManager *EvtManager;
33  //
34  // Debugging where the big deficit in pion production with respect to Fluka
35  //
36  mutable std::ofstream fOutHadronAtVectex; // close by defaults..
37  mutable bool doImportanceWeightSelection; // True by default, as decided by g4numi
38  public:
39  void OpenHadronAtVertex() const;
40  inline void SetDoImportanceWeightSelection( bool t) const { doImportanceWeightSelection = t; } // Pseudo Const..
42 
43 };
44 #endif
void SetPreLBNETrackInformation(const G4Track *aTrack)
virtual void PostUserTrackingAction(const G4Track *)
LBNEPrimaryGeneratorAction * NPGA
LBNERunManager * pRunManager
LBNEEventAction * LBNEEvtAct
std::ofstream fOutHadronAtVectex
void SetPostLBNETrackInformation(const G4Track *aTrack)
G4EventManager * EvtManager
void OpenHadronAtVertex() const
bool GetDoImportanceWeightSelection() const
void SetDoImportanceWeightSelection(bool t) const
void AnalyzeIfNeutrino(const G4Track *aTrack)
virtual void PreUserTrackingAction(const G4Track *)