EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairGeaneApplication.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairGeaneApplication.h
1 // -------------------------------------------------------------------------
2 // ----- FairGeaneApplication header file -----
3 // ----- Created 10/11/10 by M. Al-Turany -----
4 // -------------------------------------------------------------------------
5 
6 #ifndef FAIR_GEANE_APPLICATION_H
7 #define FAIR_GEANE_APPLICATION_H
8 
9 
10 #include "TVirtualMCApplication.h"
11 #include "TLorentzVector.h"
12 #include "FairTask.h"
13 
14 class FairField;
16 class TTask;
17 
18 
26 class FairGeaneApplication : public TVirtualMCApplication
27 {
28  public:
33  FairGeaneApplication(Bool_t Debug);
35  virtual ~FairGeaneApplication();
36 #if ROOT_VERSION_CODE < 333824
37 
38  void Field(const Double_t* x, Double_t* b) const; // MC Application
39 #endif
40 
41  FairField* GetField() {return fxField;}
43  void InitMC(const char* setup, const char* cuts);
48  void SetField(FairField* field);
50  void GeaneStepping(); // MC Application
51  void ConstructGeometry();
55 
58  void InitGeometry() {;}
59  void GeneratePrimaries() {;}
60  void BeginEvent() {;}
61  void BeginPrimary() {;}
62  void PreTrack() {;}
63  void PostTrack() {;}
64  void FinishPrimary() {;}
65  void FinishEvent() {;}
66  void Stepping() {;}
67  void StopRun() {;}
68 
69 
70  private:
71  // data members
73  FairField* fxField; //
75  Int_t fMcVersion; // mc Version
77  Bool_t fDebug;
78  TLorentzVector fTrkPos;
79 
80  ClassDef(FairGeaneApplication,1) //Interface to MonteCarlo application
81  private:
83  FairGeaneApplication& operator=(const FairGeaneApplication&);
84 };
85 
86 // inline functions
87 
88 inline FairGeaneApplication* FairGeaneApplication::Instance()
89 { return (FairGeaneApplication*)(TVirtualMCApplication::Instance());}
90 
91 #endif