FairRoot/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 <TRandom3.h>
22 
23 #include <iostream>
24 #include <vector>
25 
26 
27 
29 {
30  public :
32 
33 
35  Int_t nrStrips, Int_t nrFeChannels,
36  const TVector2& firstStripAnchor,
38 
39  PndHypCalcStrip(const PndHypStripDigiPar* digipar, SensorSide side = kTOP);
40 
41  std::vector<PndHypStrip> GetStrips (Double_t inx,
42  Double_t iny,
43  Double_t inz,
44  Double_t outx,
45  Double_t outy,
46  Double_t outz,
47  Double_t eLoss,int id);
53  Int_t CalcFEfromStrip(Int_t stripNr) const;
59  Int_t CalcChannelfromStrip(Int_t stripNr) const;
67  void CalcFeChToStrip(Int_t fe, Int_t channel, Int_t& strip, enum SensorSide& side) const;
68  void CalcStripPointOnLine(const Double_t strip, TVector2& point) const;
72  const TVector2 GetStripDirection() const{return fStripDir;}
73  // const Int_t GetSizeStrip() const{return fsize;}
74  void SetVerboseLevel(Int_t level){ fVerboseLevel = level;}
75  //void SetnrFe(Int_t s) {fNrStrips = s;}
76  void SetreStrip(Int_t reStp) {fNrStrips = reStp;}
77  void SetAnchor(TVector2 edge) {fAnchor = edge;}
78 
79  //Int_t GetSize() const {return fsize;}
80  //std::ostream& operator<<(std::ostream& out); // not implemented
81 
82  void print() const;
83 
84  private :
85 
88  Int_t fNrStrips;
89  Int_t fNrFeChannels;
92  TVector2 fAnchor;
93  TVector2 fStripDir;
94  TVector2 fOrthoDir;
95  TRandom3* fRNG;
97  Int_t fsize;
98 
99 
100  int _id;
101 
115  Double_t SmearCharge(Double_t charge);
116  inline Double_t ChargeFromEloss(Double_t eloss) const {return eloss/(3.61e-9);}
117 };
118 
119 #endif /* PNDHYPCALCSTRIP_H */
Int_t fNrStrips
strip orientation angle
Int_t CalcFEfromStrip(Int_t stripNr) const
void SetreStrip(Int_t reStp)
double eloss
Definition: anaLmdSim.C:34
void print() const
void CalcStripPointOnLine(const Double_t strip, TVector2 &point) const
int nrStrips
Definition: anaLmdDigi.C:76
Int_t CalcChannelfromStrip(Int_t stripNr) const
Double_t fNoise
charge threshold
TVector2 fOrthoDir
vector perpendicular to strip direction
Double_t ChargeFromEloss(Double_t eloss) const
int strip
Definition: anaMvdDigi.C:135
TRandom3 * fRNG
vector orthogonal to strip direction
Double_t
void SetAnchor(TVector2 edge)
int nrFeChannels
Definition: anaLmdDigi.C:75
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)
SensorSide
Double_t SmearCharge(Double_t charge)
void SetVerboseLevel(Int_t level)
Int_t fNrFeChannels
Nr. of strips on active area.
double threshold
Double_t CalcStripFromPoint(Double_t x, Double_t y)
TVector2 fAnchor
ENC.
Int_t fVerboseLevel
Random Number Generator.
TVector2 fStripDir
anchor point on first strip
Double_t x
Double_t fThreshold
Nr of Channels per FE.
int fe
Definition: anaLmdDigi.C:67
void CalcFeChToStrip(Int_t fe, Int_t channel, Int_t &strip, enum SensorSide &side) const
double orient
Double_t y
const TVector2 GetStripDirection() const
double noise
Double_t fOrient
strip pitch (cm)
PndSdsMCPoint * point
Definition: anaLmdCluster.C:72