FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairGeaneApplication.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 // -------------------------------------------------------------------------
9 // ----- FairGeaneApplication header file -----
10 // ----- Created 10/11/10 by M. Al-Turany -----
11 // -------------------------------------------------------------------------
12 
13 #ifndef FAIR_GEANE_APPLICATION_H
14 #define FAIR_GEANE_APPLICATION_H
15 
16 #include <Rtypes.h> // for Bool_t, etc
17 #include <TLorentzVector.h> // for TLorentzVector
18 #include <TVirtualMCApplication.h> // for TVirtualMCApplication
19 
20 class FairField;
21 
29 class FairGeaneApplication : public TVirtualMCApplication
30 {
31  public:
36  FairGeaneApplication(Bool_t Debug);
38  virtual ~FairGeaneApplication();
40  FairField* GetField() { return fxField; }
42  void InitMC(const char* setup, const char* cuts);
47  void SetField(FairField* field);
49  void GeaneStepping(); // MC Application
50  void ConstructGeometry();
54 
57  void InitGeometry() { ; }
58  void GeneratePrimaries() { ; }
59  void BeginEvent() { ; }
60  void BeginPrimary() { ; }
61  void PreTrack() { ; }
62  void PostTrack() { ; }
63  void FinishPrimary() { ; }
64  void FinishEvent() { ; }
65  void Stepping() { ; }
66  void StopRun() { ; }
67 
68  private:
69  // data members
71  FairField* fxField; //
73  Int_t fMcVersion; // mc Version
75  Bool_t fDebug;
76  TLorentzVector fTrkPos;
77 
78  // Interface to MonteCarlo application
79  ClassDef(FairGeaneApplication, 1);
80 
81  private:
83  FairGeaneApplication& operator=(const FairGeaneApplication&);
84 };
85 
86 // inline functions
87 
89 {
90  return static_cast<FairGeaneApplication*>(TVirtualMCApplication::Instance());
91 }
92 
93 #endif
void SetField(FairField *field)
void InitMC(const char *setup, const char *cuts)
static FairGeaneApplication * Instance()