CbmRoot
CbmTrdTrianglePRF.h
Go to the documentation of this file.
1 #ifndef CBMTRDTRIANGLEPRF_H
2 #define CBMTRDTRIANGLEPRF_H 1
3 
4 #include <TObject.h>
5 #include <iostream>
6 
7 class TF1;
8 
10 
26 class CbmTrdTrianglePRF : public TObject {
27 public:
29  NC =
30  2,
31  NR =
32  1
33  };
40  CbmTrdTrianglePRF(Float_t W, Float_t H, Int_t n = 20);
41  virtual ~CbmTrdTrianglePRF();
42 
51  Bool_t GetBin(Double_t x, Double_t y, Int_t& binx, Int_t& biny) const;
56  Double_t GetChargeFraction() const;
62  void GetCurrentBin(Int_t& bx, Int_t& by) const {
63  bx = fBinx;
64  by = fBiny;
65  }
72  void GetCurrentPad(Int_t& col, Int_t& row, Int_t& u) const;
76  void GoToOriginX() { fBinx = fBinx0; }
80  void GoToOriginY() { fBiny = fBiny0; }
85  Bool_t NextBinX();
90  Bool_t NextBinY();
91  Double_t Norm() const { return fNorm; }
92  void Print(Option_t* opt = "") const;
97  Bool_t PrevBinX();
102  Bool_t PrevBinY();
109  Bool_t SetOrigin(Double_t x, Double_t y);
110 
111 private:
120  Int_t GetSide(const Float_t x, const Float_t y) const;
121 
122  Int_t fN;
123  Int_t fBinx;
125  Int_t
128  Int_t fBiny;
130  Int_t
133  Double_t fX0;
134  Double_t fY0;
135  Double_t fW;
136  Double_t fH;
137  Double_t fdW;
138  Double_t fdH;
139  Double_t fSlope;
140  Double_t fNorm;
141  std::vector<Char_t>
142  fUp;
143  std::vector<Double_t> fX;
144  std::vector<Double_t> fY;
145  TF1* fPRFx;
146  TF1* fPRFy;
147 
148  ClassDef(CbmTrdTrianglePRF, 1)
149 };
150 #endif
CbmTrdTrianglePRF::fUp
std::vector< Char_t > fUp
1 for the upper pad, -1 for the bottom pad and 0 on the boundary
Definition: CbmTrdTrianglePRF.h:142
CbmTrdTrianglePRF::fY
std::vector< Double_t > fY
position of bin center across wires
Definition: CbmTrdTrianglePRF.h:144
CbmTrdTrianglePRF::fH
Double_t fH
pad height
Definition: CbmTrdTrianglePRF.h:136
CbmTrdTrianglePRF::fdW
Double_t fdW
bin half width
Definition: CbmTrdTrianglePRF.h:137
CbmTrdTrianglePRF::PrevBinY
Bool_t PrevBinY()
Move current bin down.
Definition: CbmTrdTrianglePRF.cxx:239
CbmTrdTrianglePRF::Norm
Double_t Norm() const
Definition: CbmTrdTrianglePRF.h:91
CbmTrdTrianglePRF::fSlope
Double_t fSlope
slope of triangle H/W
Definition: CbmTrdTrianglePRF.h:139
CbmTrdTrianglePRF::fBinx0
Int_t fBinx0
Offset bin in the map - x direction.
Definition: CbmTrdTrianglePRF.h:127
CbmTrdTrianglePRF::fBiny0
Int_t fBiny0
Offset bin in the map - y direction.
Definition: CbmTrdTrianglePRF.h:132
CbmTrdTrianglePRF::fY0
Double_t fY0
y coordinate of cluster
Definition: CbmTrdTrianglePRF.h:134
CbmTrdTrianglePRF::fBinx
Int_t fBinx
Current bin in the map - x direction.
Definition: CbmTrdTrianglePRF.h:124
CbmTrdTrianglePRF::CbmTrdTrianglePRF
CbmTrdTrianglePRF(const CbmTrdTrianglePRF &ref)
CbmTrdTrianglePRF::CbmTrdTrianglePRFDef
CbmTrdTrianglePRFDef
Definition: CbmTrdTrianglePRF.h:28
CbmTrdTrianglePRF::fBiny
Int_t fBiny
Current bin in the map - y direction.
Definition: CbmTrdTrianglePRF.h:129
CbmTrdTrianglePRF::fPRFx
TF1 * fPRFx
PRF model along wires.
Definition: CbmTrdTrianglePRF.h:145
CbmTrdTrianglePRF::NextBinX
Bool_t NextBinX()
Move current bin to the right.
Definition: CbmTrdTrianglePRF.cxx:198
CbmTrdTrianglePRF::PrevBinX
Bool_t PrevBinX()
Move current bin to the left.
Definition: CbmTrdTrianglePRF.cxx:229
CbmTrdTrianglePRF::~CbmTrdTrianglePRF
virtual ~CbmTrdTrianglePRF()
Definition: CbmTrdTrianglePRF.cxx:83
CbmTrdTrianglePRF::SetOrigin
Bool_t SetOrigin(Double_t x, Double_t y)
Set map offset @ point (x,y)
Definition: CbmTrdTrianglePRF.cxx:249
CbmTrdTrianglePRF::fN
Int_t fN
Definition: CbmTrdTrianglePRF.h:122
CbmTrdTrianglePRF::Print
void Print(Option_t *opt="") const
Definition: CbmTrdTrianglePRF.cxx:218
CbmTrdTrianglePRF::GetCurrentPad
void GetCurrentPad(Int_t &col, Int_t &row, Int_t &u) const
Compute the pad corresponding to current bin.
Definition: CbmTrdTrianglePRF.cxx:162
CbmTrdTrianglePRF::NR
@ NR
no. of neighbor rows (except the hit) to be considered in cluster definition
Definition: CbmTrdTrianglePRF.h:31
CbmTrdTrianglePRF::CbmTrdTrianglePRF
CbmTrdTrianglePRF(Float_t W, Float_t H, Int_t n=20)
Build map.
Definition: CbmTrdTrianglePRF.cxx:18
CbmTrdTrianglePRF::fW
Double_t fW
pad width
Definition: CbmTrdTrianglePRF.h:135
CbmTrdTrianglePRF::fX
std::vector< Double_t > fX
position of bin center along wires
Definition: CbmTrdTrianglePRF.h:143
CbmTrdTrianglePRF::GetBin
Bool_t GetBin(Double_t x, Double_t y, Int_t &binx, Int_t &biny) const
Find bin for point (x,y)
Definition: CbmTrdTrianglePRF.cxx:89
CbmTrdTrianglePRF::GoToOriginY
void GoToOriginY()
Move current biny to the origin biny0.
Definition: CbmTrdTrianglePRF.h:80
CbmTrdTrianglePRF::GetChargeFraction
Double_t GetChargeFraction() const
Compute charge fraction on the current bin.
Definition: CbmTrdTrianglePRF.cxx:151
CbmTrdTrianglePRF::GetCurrentBin
void GetCurrentBin(Int_t &bx, Int_t &by) const
Enquire the current status of the map iterator.
Definition: CbmTrdTrianglePRF.h:62
CbmTrdTrianglePRF::NC
@ NC
no. of neighbor columns (except the hit) to be considered in cluster definition
Definition: CbmTrdTrianglePRF.h:29
CbmTrdTrianglePRF::operator=
CbmTrdTrianglePRF & operator=(const CbmTrdTrianglePRF &ref)
CbmTrdTrianglePRF::GoToOriginX
void GoToOriginX()
Move current binx to the origin binx0.
Definition: CbmTrdTrianglePRF.h:76
CbmTrdTrianglePRF::fdH
Double_t fdH
bin half height
Definition: CbmTrdTrianglePRF.h:138
x
Double_t x
Definition: CbmMvdSensorDigiToHitTask.cxx:68
y
Double_t y
Definition: CbmMvdSensorDigiToHitTask.cxx:68
CbmTrdTrianglePRF::fPRFy
TF1 * fPRFy
PRF model across wires.
Definition: CbmTrdTrianglePRF.h:146
CbmTrdTrianglePRF::NextBinY
Bool_t NextBinY()
Move current bin up.
Definition: CbmTrdTrianglePRF.cxx:208
CbmTrdTrianglePRF::fX0
Double_t fX0
Index of bin in the map corresponding to cluster center - y direction.
Definition: CbmTrdTrianglePRF.h:133
CbmTrdTrianglePRF::fNorm
Double_t fNorm
normalization factor for the 2D Gauss distribution
Definition: CbmTrdTrianglePRF.h:140
CbmTrdTrianglePRF
Utility for converting energy to signal over the triangular pad geometry (Bucharest prototype)
Definition: CbmTrdTrianglePRF.h:26
CbmTrdTrianglePRF::GetSide
Int_t GetSide(const Float_t x, const Float_t y) const
Define triangular pad type.
Definition: CbmTrdTrianglePRF.cxx:177