EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairMesh.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairMesh.h
1 // -------------------------------------------------------------------------
2 // ----- FairMesh header file -----
3 // ----- original author D.Bertini -----
4 // ----- adapted april 2010 O.Hartmann -----
5 // -------------------------------------------------------------------------
6 
7 #ifndef FAIRMESH_H
8 #define FAIRMESH_H
9 
10 
11 #include "TObject.h"
12 #include "TVector3.h"
13 #include "TH2D.h"
14 #include "TString.h"
19 class FairMesh : public TObject
20 {
21 
22  public:
23 
25  FairMesh();
26  FairMesh(const char*);
27 
28 
30  virtual ~FairMesh();
31 
32 
34  Double_t GetXmin() const { return fXmin; };
35  Double_t GetYmin() const { return fYmin; };
36  Double_t GetZmin() const { return fZmin; };
37 
38  Double_t GetXmax() const { return fXmax; };
39  Double_t GetYmax() const { return fYmax; };
40  Double_t GetZmax() const { return fZmax; };
41 
42 
44  void SetX(Double_t xmin,Double_t xmax, Int_t nbin ) {
45  fXmin = xmin;
46  fXmax = xmax;
47  NXbin = nbin;
48  }
49  void SetY(Double_t ymin,Double_t ymax, Int_t nbin ) {
50  fYmin = ymin;
51  fYmax = ymax;
52  NYbin = nbin;
53  }
54  void SetZ(Double_t zmin,Double_t zmax, Int_t nbin ) {
55  fZmin = zmin;
56  fZmax = zmax;
57  NZbin = nbin;
58  }
59 
60  TH2D* GetMeshTid() { return fMeshTid; }
61  TH2D* GetMeshFlu() { return fMeshFlu; }
62  TH2D* GetMeshSEU() { return fMeshSEU; }
63  /*** Output to screen */
64 // virtual void Print(const Option_t* opt = 0) const {;}
65 
66  Double_t GetDiag() { return fDiag; }
67  Double_t GetBinVolume() { return fBinVolume; }
68 
69  void fillTID(Double_t x , Double_t y , Double_t we ) {
70  fMeshTid->Fill(x,y,we);
71  }
72  void fillFluence(Double_t x , Double_t y , Double_t we ) {
73  fMeshFlu->Fill(x,y,we);
74 
75  }
76  void fillSEU(Double_t x , Double_t y , Double_t we ) {
77  fMeshSEU->Fill(x,y,we);
78 
79  }
80  void Scale(Double_t fac ) {
81  fMeshTid->Scale(fac);
82  fMeshFlu->Scale(fac);
83  fMeshSEU->Scale(fac);
84  }
85 
86  void calculate();
87 
88 
89  void print();
90  protected:
91 
92  Double_t fXmin, fYmin, fZmin;
93  Double_t fXmax, fYmax, fZmax;
94  Int_t NXbin, NYbin, NZbin;
95  Double_t fBinVolume;
96  Double_t fDiag;
97  TH2D* fMeshTid; // !mesh
98  TH2D* fMeshFlu; // !mesh
99  TH2D* fMeshSEU; // !mesh
100  TString fhname; // !mesh
101 
102  private:
103  FairMesh(const FairMesh&);
104  FairMesh& operator=(const FairMesh&);
105 
106  ClassDef(FairMesh,1);
107 
108 };
109 
110 #endif