StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StRHICfHit.h
1 #ifndef StRHICfHit_hh
2 #define StRHICfHit_hh
3 
4 #include <TObject.h>
5 #include <TArrayI.h>
6 #include <TArrayF.h>
7 #include "StEnumerations.h"
8 
9 class StRHICfHit : public TObject
10 {
11  public:
12  StRHICfHit();
13  ~StRHICfHit();
14 
15  void clear();
16 
17  void initDataArray();
18  void deleteDataArray();
19 
20  Bool_t isSaveDataArray();
21 
22  void setPlateEnergy(Int_t tower, Int_t plate, Float_t val);
23  void setGSOBarEnergy(Int_t tower, Int_t layer, Int_t xy, Int_t bar, Float_t val);
24 
25  void setL20(Int_t tower, Float_t val);
26  void setL90(Int_t tower, Float_t val);
27 
28  void setGSOMaxLayer(Int_t tower, Int_t order, Int_t val);
29  void setMaxPeakBin(Int_t tower, Int_t layer, Int_t xy, Int_t val);
30 
31  void setSingleHitNum(Int_t tower, Int_t layer, Int_t xy, Int_t val);
32  void setSingleHitPos(Int_t tower, Int_t layer, Int_t xy, Float_t val);
33  void setSinglePeakHeight(Int_t tower, Int_t layer, Int_t xy, Float_t val);
34  void setSingleFitChi2(Int_t tower, Int_t layer, Int_t xy, Float_t val);
35 
36  void setMultiHitNum(Int_t tower, Int_t val);
37  void setMultiHitPos(Int_t tower, Int_t layer, Int_t xy, Int_t order, Float_t val);
38  void setMultiPeakHeight(Int_t tower, Int_t layer, Int_t xy, Int_t order, Float_t val);
39  void setMultiPeakRaw(Int_t tower, Int_t layer, Int_t xy, Int_t order, Float_t val);
40  void setMultiEnergySum(Int_t tower, Int_t layer, Int_t xy, Int_t order, Float_t val);
41  void setMultiFitChi2(Int_t tower, Int_t layer, Int_t xy, Float_t val);
42 
43  Float_t getPlateEnergy(Int_t tower, Int_t plate);
44  Float_t getGSOBarEnergy(Int_t tower, Int_t layer, Int_t xy, Int_t bar);
45 
46  Float_t getL20(Int_t tower);
47  Float_t getL90(Int_t tower);
48 
49  Int_t getGSOMaxLayer(Int_t tower, Int_t order);
50  Int_t getMaxPeakBin(Int_t tower, Int_t layer, Int_t xy);
51 
52  Int_t getSingleHitNum(Int_t tower, Int_t layer, Int_t xy);
53  Float_t getSingleHitPos(Int_t tower, Int_t layer, Int_t xy);
54  Float_t getSinglePeakHeight(Int_t tower, Int_t layer, Int_t xy);
55  Float_t getSingleFitChi2(Int_t tower, Int_t layer, Int_t xy);
56 
57  Int_t getMultiHitNum(Int_t tower);
58  Float_t getMultiHitPos(Int_t tower, Int_t layer, Int_t xy, Int_t order);
59  Float_t getMultiPeakHeight(Int_t tower, Int_t layer, Int_t xy, Int_t order);
60  Float_t getMultiPeakRaw(Int_t tower, Int_t layer, Int_t xy, Int_t order);
61  Float_t getMultiEnergySum(Int_t tower, Int_t layer, Int_t xy, Int_t order);
62  Float_t getMultiFitChi2(Int_t tower, Int_t layer, Int_t xy);
63 
64  private:
65  Float_t mPlateE[kRHICfNtower][kRHICfNplate];
66  Float_t mGSOBarSmallE[kRHICfNlayer][kRHICfNxy][kRHICfNbarSmall];
67  Float_t mGSOBarLargeE[kRHICfNlayer][kRHICfNxy][kRHICfNbarLarge];
68 
69  TArrayF* mL20 = nullptr;
70  TArrayF* mL90 = nullptr;
71 
72  TArrayI* mGSOMaxLayer = nullptr;
73  TArrayI* mMaxPeakBin = nullptr;
74 
75  TArrayI* mSingleHitNum = nullptr;
76  TArrayF* mSingleHitPos = nullptr;
77  TArrayF* mSinglePeakHeight = nullptr;
78  TArrayF* mSingleChiSquare = nullptr;
79 
80  TArrayI* mMultiHitNum = nullptr;
81  TArrayF* mMultiHitPos = nullptr;
82  TArrayF* mMultiPeakHeight = nullptr;
83  TArrayF* mMultiPeakRaw = nullptr;
84  TArrayF* mMultiEnergySum = nullptr;
85  TArrayF* mMultiChiSquare = nullptr;
86 
87  Bool_t mIsSaveDataArray;
88 
89  ClassDef(StRHICfHit,1)
90 };
91 
92 #endif