EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairRadGridManager.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairRadGridManager.h
1 // -------------------------------------------------------------------------
2 // ----- FairRadGridManager source file -----
3 // ----- original author D.Bertini -----
4 // ----- adapted april 2010 O.Hartmann -----
5 // -------------------------------------------------------------------------
6 #ifndef FAIRRADGRIDMANAGER_H
7 #define FAIRRADGRIDMANAGER_H 1
8 
9 
10 #include "Rtypes.h"
11 #include "TClonesArray.h"
12 #include "TLorentzVector.h"
13 #include "TObjArray.h"
14 #include <iostream>
15 
16 using namespace std;
17 
18 class FairMesh;
25 {
26 
27  public:
37  virtual ~FairRadGridManager();
38 
42  ClassDef(FairRadGridManager,1);
43 
44 
45  private:
46 
48  FairRadGridManager& operator=(const FairRadGridManager&);
49 
51 
55  TClonesArray* fPointCollection;
57  Int_t fTrackID;
58 
59  Int_t fVolumeID;
60 
61  TLorentzVector fPosIn;
62 
63  TLorentzVector fPosOut;
64 
65  TLorentzVector fMomIn;
66 
67  TLorentzVector fMomOut;
68 
69  Double_t fTime;
70 
71  Double_t fLength;
72 
73  Double_t fELoss;
74 
75  Float_t fA;
77  Float_t fZmat;
79  Float_t fDensity;
81  Float_t fRadl;
83  Float_t fAbsl;
85  Int_t fEstimator;
87  TObjArray* fMeshList;
88 
89  static Double_t fLtmp;
90  public:
91 
92  TObjArray* GetMeshList() { return fMeshList; }
93  void AddMeshList ( TObjArray* list ) {
94  cout << " grid manag " << list->GetEntriesFast() << endl;
95  fMeshList = list;
96  }
97  Bool_t IsTrackInside(TLorentzVector& vec, FairMesh* aMesh);
98  Bool_t IsTrackEntering(TLorentzVector& vec1,TLorentzVector& vec2);
100  void FillMeshList();
102  void Init();
104  void Reset();
110  static FairRadGridManager* Instance();
111 };
112 
113 #endif