PandaRoot
PndRichCalDb.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndFieldMap header file -----
3 // ----- Created 12/01/04 by M. Al/Turany -----
4 // -------------------------------------------------------------------------
5 
12 #ifndef PNDRICHCALDB_H
13 #define PNDRICHCALDB_H 1
14 
15 #include "FairField.h"
16 
17 class TArrayF;
18 class PndRichCalDbData;
19 class PndRichCalDbPar;
20 
21 struct dbpoint {
22  Double_t mass;
23  Double_t beta;
24  Double_t x;
25  Double_t y;
26  Double_t theta;
27  Double_t phi;
28 };
29 
30 class PndRichCalDb : public FairField {
31 
32  public:
34  PndRichCalDb();
35 
40  PndRichCalDb(const char *mapName, const char *fileType = "R");
41 
43  PndRichCalDb(PndRichCalDbPar *CaldbPar);
44 
46  virtual ~PndRichCalDb();
47 
49  virtual void Init();
50 
55  virtual Double_t GetBetaMean(dbpoint pnt);
56  virtual Double_t GetBetaSig(dbpoint pnt);
57  virtual Double_t GetBetaEff(dbpoint pnt);
58 
65  virtual Bool_t IsInside(Double_t p, Double_t x, Double_t y, Double_t t, Double_t f, Int_t &ip, Int_t &ix, Int_t &iy, Int_t &it, Int_t &iq, Double_t &dp, Double_t &dx,
66  Double_t &dy, Double_t &dt, Double_t &df);
67 
69  void WriteAsciiFile(const char *fileName);
70 
72  void WriteRootFile(const char *fileName, const char *mapName);
73 
75  Double_t GetPmin() const { return fPmin; }
76  Double_t GetXmin() const { return fXmin; }
77  Double_t GetYmin() const { return fYmin; }
78  Double_t GetTmin() const { return fTmin; }
79  Double_t GetFmin() const { return fFmin; }
80  Double_t GetPmax() const { return fPmax; }
81  Double_t GetXmax() const { return fXmax; }
82  Double_t GetYmax() const { return fYmax; }
83  Double_t GetTmax() const { return fTmax; }
84  Double_t GetFmax() const { return fFmax; }
85  Double_t GetPstep() const { return fPstep; }
86  Double_t GetXstep() const { return fXstep; }
87  Double_t GetYstep() const { return fYstep; }
88  Double_t GetTstep() const { return fTstep; }
89  Double_t GetFstep() const { return fFstep; }
90  Int_t GetNp() const { return fNp; }
91  Int_t GetNx() const { return fNx; }
92  Int_t GetNy() const { return fNy; }
93  Int_t GetNt() const { return fNt; }
94  Int_t GetNf() const { return fNf; }
95 
97  TArrayF *GetBetaMean() const { return fBetaMean; }
98  TArrayF *GetBetaSig() const { return fBetaSig; }
99  TArrayF *GetBetaEff() const { return fBetaEff; }
100 
102  const char *GetFileName() { return fFileName.Data(); }
103 
105  virtual void Print();
106 
107  private:
108  PndRichCalDb(const PndRichCalDb &L);
109  PndRichCalDb &operator=(const PndRichCalDb &) { return *this; };
110 
111  protected:
113  void Reset();
114 
116  void ReadAsciiFile(const char *fileName);
117 
119  void ReadRootFile(const char *fileName, const char *mapName);
120 
122  void SetCalDb(const PndRichCalDbData *data);
123 
125  TString fFileName;
126 
128  Double_t fPmin, fPmax, fPstep;
129  Double_t fXmin, fXmax, fXstep;
130  Double_t fYmin, fYmax, fYstep;
131  Double_t fTmin, fTmax, fTstep;
132  Double_t fFmin, fFmax, fFstep;
133 
135  Int_t fNp, fNx, fNy, fNt, fNf;
136 
138  TArrayF *fBetaMean;
139  TArrayF *fBetaSig;
140  TArrayF *fBetaEff;
141 
142  ClassDef(PndRichCalDb, 1)
143 };
144 
145 #endif
Double_t GetTstep() const
Definition: PndRichCalDb.h:88
Double_t x
Definition: PndRichCalDb.h:24
Double_t GetFmax() const
Definition: PndRichCalDb.h:84
TArrayF * fBetaSig
Definition: PndRichCalDb.h:139
Int_t GetNf() const
Definition: PndRichCalDb.h:94
Double_t fPstep
Definition: PndRichCalDb.h:128
TArrayF * fBetaMean
Definition: PndRichCalDb.h:138
TString fFileName
Definition: PndRichCalDb.h:125
Double_t GetYmin() const
Definition: PndRichCalDb.h:77
TArrayF * GetBetaSig() const
Definition: PndRichCalDb.h:98
Double_t fYstep
Definition: PndRichCalDb.h:130
Double_t GetFmin() const
Definition: PndRichCalDb.h:79
Double_t fFstep
Definition: PndRichCalDb.h:132
const char * GetFileName()
Definition: PndRichCalDb.h:102
TArrayF * fBetaEff
Definition: PndRichCalDb.h:140
Double_t fXstep
Definition: PndRichCalDb.h:129
Double_t fTstep
Definition: PndRichCalDb.h:131
Double_t GetYstep() const
Definition: PndRichCalDb.h:87
Double_t GetTmin() const
Definition: PndRichCalDb.h:78
Int_t GetNy() const
Definition: PndRichCalDb.h:92
Double_t GetPmax() const
Definition: PndRichCalDb.h:80
Double_t GetFstep() const
Definition: PndRichCalDb.h:89
TArrayF * GetBetaEff() const
Definition: PndRichCalDb.h:99
Double_t mass
Definition: PndRichCalDb.h:22
Int_t GetNt() const
Definition: PndRichCalDb.h:93
Double_t GetXmin() const
Definition: PndRichCalDb.h:76
Int_t GetNp() const
Definition: PndRichCalDb.h:90
Double_t GetXmax() const
Definition: PndRichCalDb.h:81
Double_t GetPmin() const
Definition: PndRichCalDb.h:75
Double_t GetYmax() const
Definition: PndRichCalDb.h:82
Int_t GetNx() const
Definition: PndRichCalDb.h:91
float f
Definition: P4_F32vec4.h:20
Double_t GetPstep() const
Definition: PndRichCalDb.h:85
Double_t theta
Definition: PndRichCalDb.h:26
TArrayF * GetBetaMean() const
Definition: PndRichCalDb.h:97
Double_t GetTmax() const
Definition: PndRichCalDb.h:83
Double_t phi
Definition: PndRichCalDb.h:27
Double_t GetXstep() const
Definition: PndRichCalDb.h:86
Double_t beta
Definition: PndRichCalDb.h:23
Double_t y
Definition: PndRichCalDb.h:25