PandaRoot
PndHypCalcStrip.h
Go to the documentation of this file.
1 //
2 // C++ Interface: MvdCalcStrip
3 //
4 // Description:
5 //
6 //
7 // Author: HG Zaunick <hg.zaunick@physik.tu-dresden.de>, (C) 2007
8 //
9 // Copyright: See COPYING file that comes with this distribution
10 //
11 //
12 #ifndef PNDHYPCALCSTRIP_H
13 #define PNDHYPCALCSTRIP_H
14 
15 #include "PndHypHit.h"
16 #include "PndHypStrip.h"
17 //#include "FairGeoVector.h"
18 #include "PndHypStripDigiPar.h"
19 
20 #include <TVector2.h>
21 #include <TRandom.h>
22 
23 #include <iostream>
24 #include <vector>
25 
27  public:
29 
30  PndHypCalcStrip(Double_t pitch, Double_t orient, Int_t nrStrips, Int_t nrFeChannels, const TVector2 &firstStripAnchor, Double_t threshold, Double_t noise);
31 
33 
34  std::vector<PndHypStrip> GetStrips(Double_t inx, Double_t iny, Double_t inz, Double_t outx, Double_t outy, Double_t outz, Double_t eLoss, int id);
40  Int_t CalcFEfromStrip(Int_t stripNr) const;
46  Int_t CalcChannelfromStrip(Int_t stripNr) const;
54  void CalcFeChToStrip(Int_t fe, Int_t channel, Int_t &strip, enum SensorSide &side) const;
55  void CalcStripPointOnLine(const Double_t strip, TVector2 &point) const;
59  const TVector2 GetStripDirection() const { return fStripDir; }
60  // const Int_t GetSizeStrip() const{return fsize;}
61  void SetVerboseLevel(Int_t level) { fVerboseLevel = level; }
62  // void SetnrFe(Int_t s) {fNrStrips = s;}
63  void SetreStrip(Int_t reStp) { fNrStrips = reStp; }
64  void SetAnchor(TVector2 edge) { fAnchor = edge; }
65 
66  // Int_t GetSize() const {return fsize;}
67  // std::ostream& operator<<(std::ostream& out); // not implemented
68 
69  void print() const;
70 
71  private:
72  Double_t fPitch;
73  Double_t fOrient;
74  Int_t fNrStrips;
75  Int_t fNrFeChannels;
76  Double_t fThreshold;
77  Double_t fNoise;
78  TVector2 fAnchor;
79  TVector2 fStripDir;
80  TVector2 fOrthoDir;
81  Int_t fVerboseLevel;
82  Int_t fsize;
83 
84  int _id;
85 
93  Double_t CalcStripFromPoint(Double_t x, Double_t y);
99  Double_t SmearCharge(Double_t charge);
100  inline Double_t ChargeFromEloss(Double_t eloss) const { return eloss / (3.61e-9); }
101 };
102 
103 #endif /* PNDHYPCALCSTRIP_H */
void CalcFeChToStrip(Int_t fe, Int_t channel, Int_t &strip, enum SensorSide &side) const
void SetreStrip(Int_t reStp)
Int_t CalcFEfromStrip(Int_t stripNr) const
std::vector< PndHypStrip > GetStrips(Double_t inx, Double_t iny, Double_t inz, Double_t outx, Double_t outy, Double_t outz, Double_t eLoss, int id)
void SetAnchor(TVector2 edge)
SensorSide
void SetVerboseLevel(Int_t level)
Int_t CalcChannelfromStrip(Int_t stripNr) const
const TVector2 GetStripDirection() const
void CalcStripPointOnLine(const Double_t strip, TVector2 &point) const
void print() const