Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
FemtoFastCut.h
1/*
2 * FemtoFastCut.h
3 *
4 * Created on: 25-07-2014
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALFEMTOFASTCUT_H_
10#define HALFEMTOFASTCUT_H_
11
12#include <TObject.h>
13
14namespace Hal {
15 class FemtoPair;
16 class Package;
17
21 class FemtoFastCut : public TObject {
22 protected:
26 Int_t fBins;
30 Double_t* fMin; //[fBins]
34 Double_t* fMax; //[fBins]
38 Double_t* fMinTrue; //[fBins]
42 Double_t* fMaxTrue; //[fBins]
47
48 public:
57 FemtoFastCut(const FemtoFastCut& copy);
62 virtual FemtoFastCut* MakeCopy() const = 0;
66 void Allocate();
72 Double_t GetMin(Int_t i) const { return fMin[i]; };
78 Double_t GetMax(Int_t i) const { return fMax[i]; };
84 virtual void Init(FemtoPair* pair);
89 virtual Int_t GetNBins() const { return fBins; };
94 virtual Int_t GetBin() const = 0;
99 virtual Int_t GetBinRotated() const = 0;
104 virtual Int_t GetBinHemisphere() const = 0;
109 virtual Int_t GetBinMixed() const { return GetBin(); };
114 virtual Int_t GetBinPerfect() const { return GetBin(); };
119 virtual Int_t GetBinCharged() const { return GetBin(); };
126 virtual void AddCutBin(Double_t min, Double_t max, Option_t* opt = " ");
131 virtual Package* Report() const;
132 virtual ~FemtoFastCut();
133 ClassDef(FemtoFastCut, 1)
134 };
139 public:
140 FemtoFastCutVirtual() { AddCutBin(-1, 1); };
146 Int_t GetBin() const { return 0; };
147 Int_t GetBinRotated() const { return 0; };
148 Int_t GetBinHemisphere() const { return 0; };
149 virtual FemtoFastCut* MakeCopy() const { return new FemtoFastCutVirtual(*this); }
150 virtual ~FemtoFastCutVirtual() {};
151 ClassDef(FemtoFastCutVirtual, 1)
152 };
157 public:
163 FemtoFastCutKt(const FemtoFastCutKt& fast);
164 Int_t GetBin() const;
165 Int_t GetBinRotated() const;
166 Int_t GetBinHemisphere() const;
167 virtual FemtoFastCut* MakeCopy() const { return new FemtoFastCutKt(*this); }
168 virtual ~FemtoFastCutKt();
169 ClassDef(FemtoFastCutKt, 1)
170 };
175 public:
182 Int_t GetBin() const;
183 Int_t GetBinRotated() const;
184 Int_t GetBinHemisphere() const;
185 virtual FemtoFastCut* MakeCopy() const { return new FemtoFastCutPtSum(*this); }
186 virtual ~FemtoFastCutPtSum();
187 ClassDef(FemtoFastCutPtSum, 1)
188 };
193 Double_t fEventPhi;
194 Double_t fGlobalMin;
195 Double_t fPhiCorrection;
196 Double_t RoundPhi(Double_t val) const;
197 void TryRoundRange(Int_t i);
198
199 public:
205 FemtoFastCutPhi(const FemtoFastCutPhi& fast);
206 Int_t GetBin() const;
207 Int_t GetBinRotated() const;
208 Int_t GetBinHemisphere() const;
209 void Init(FemtoPair* pair);
214 void SetEventPhi(const Double_t phi);
215 virtual FemtoFastCut* MakeCopy() const { return new FemtoFastCutPhi(*this); }
216 virtual ~FemtoFastCutPhi();
217 virtual Package* Report() const;
218 ClassDef(FemtoFastCutPhi, 1)
219 };
225 public:
231 FemtoFastCutEta(const FemtoFastCutEta& fast);
232 Int_t GetBin() const;
233 Int_t GetBinRotated() const;
234 Int_t GetBinHemisphere() const;
235 virtual FemtoFastCut* MakeCopy() const { return new FemtoFastCutEta(*this); }
236 virtual ~FemtoFastCutEta();
237 ClassDef(FemtoFastCutEta, 1)
238 };
239} // namespace Hal
240#endif /* HALFEMTOFASTCUTS_H_ */
Int_t GetBinHemisphere() const
Int_t GetBinRotated() const
virtual FemtoFastCut * MakeCopy() const
Int_t GetBinRotated() const
virtual FemtoFastCut * MakeCopy() const
Int_t GetBinHemisphere() const
void SetEventPhi(const Double_t phi)
Int_t GetBinRotated() const
Int_t GetBinHemisphere() const
virtual FemtoFastCut * MakeCopy() const
virtual Package * Report() const
void Init(FemtoPair *pair)
Int_t GetBinHemisphere() const
virtual FemtoFastCut * MakeCopy() const
Int_t GetBinRotated() const
Int_t GetBinRotated() const
virtual FemtoFastCut * MakeCopy() const
Int_t GetBinHemisphere() const
virtual Int_t GetBinHemisphere() const =0
virtual Int_t GetBinRotated() const =0
virtual Int_t GetNBins() const
FemtoPair * fPair
virtual Int_t GetBin() const =0
virtual Int_t GetBinCharged() const
virtual Int_t GetBinPerfect() const
Double_t * fMaxTrue
virtual void Init(FemtoPair *pair)
virtual Int_t GetBinMixed() const
virtual void AddCutBin(Double_t min, Double_t max, Option_t *opt=" ")
Double_t GetMax(Int_t i) const
virtual Package * Report() const
virtual FemtoFastCut * MakeCopy() const =0
Double_t GetMin(Int_t i) const
Double_t * fMinTrue