FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairRadGridManager.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 // ----- FairRadGridManager source file -----
10 // ----- original author D.Bertini -----
11 // ----- adapted april 2010 O.Hartmann -----
12 // -------------------------------------------------------------------------
13 #ifndef FAIRRADGRIDMANAGER_H
14 #define FAIRRADGRIDMANAGER_H 1
15 
16 #include <Rtypes.h> // for Float_t, Double_t, Int_t, etc
17 #include <TLorentzVector.h> // for TLorentzVector
18 #include <TObjArray.h> // for TObjArray
19 #include <TString.h> // for TString
20 #include <iostream> // for basic_ostream::operator<<, etc
21 
22 class FairMesh;
23 class TClonesArray;
24 
30 {
31  public:
41  virtual ~FairRadGridManager();
42 
47 
48  private:
50  FairRadGridManager& operator=(const FairRadGridManager&);
51 
52  static FairRadGridManager* fgInstance;
53 
57  TClonesArray* fPointCollection;
59  Int_t fTrackID;
60 
61  Int_t fVolumeID;
62 
63  TLorentzVector fPosIn;
64 
65  TLorentzVector fPosOut;
66 
67  TLorentzVector fMomIn;
68 
69  TLorentzVector fMomOut;
70 
71  Double_t fTime;
72 
73  Double_t fLength;
74 
75  Double_t fELoss;
76 
77  Float_t fA;
79  Float_t fZmat;
81  Float_t fDensity;
83  Float_t fRadl;
85  Float_t fAbsl;
87  Int_t fEstimator;
89  TObjArray* fMeshList;
91  TString fOutputFileName;
92 
93  static Double_t fLtmp;
94 
95  public:
96  TObjArray* GetMeshList() { return fMeshList; }
97  void AddMeshList(TObjArray* list)
98  {
99  std::cout << " grid manag " << list->GetEntriesFast() << std::endl;
100  fMeshList = list;
101  }
102  Bool_t IsTrackInside(TLorentzVector& vec, FairMesh* aMesh);
103  Bool_t IsTrackEntering(TLorentzVector& vec1, TLorentzVector& vec2);
105  void FillMeshList();
107  void Init();
109  void Reset();
111  void SetOutputFileName(TString tempString) { fOutputFileName = tempString; }
112  TString GetOutputFileName() { return fOutputFileName; }
118  static FairRadGridManager* Instance();
119 };
120 
121 #endif
static FairRadGridManager * Instance()
Bool_t IsTrackInside(TLorentzVector &vec, FairMesh *aMesh)
TObjArray * GetMeshList()
void SetOutputFileName(TString tempString)
Bool_t IsTrackEntering(TLorentzVector &vec1, TLorentzVector &vec2)
ClassDef(FairRadGridManager, 1)
void AddMeshList(TObjArray *list)