FairRoot/PandaRoot
PndSdsCalcStripDif.h
Go to the documentation of this file.
1 //
2 // C++ Interface: PndSdsCalcStrip
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 PNDSDSCALCSTRIPDIF_H
13 #define PNDSDSCALCSTRIPDIF_H
14 
15 #include "PndSdsStrip.h"
16 //#include "FairGeoVector.h"
17 #include "PndSdsStripDigiPar.h"
18 
19 #include <TVector2.h>
20 #include <TRandom3.h>
21 
22 #include <iostream>
23 #include <vector>
24 
25 #include "PndDetectorList.h"
26 
28 
33 {
34 public :
40 
54  Int_t nrStrips, Int_t nrFeChannels,
55  const TVector2& firstStripAnchor,
57 
58  PndSdsCalcStripDif(const PndSdsStripDigiPar* digipar, SensorSide side = kTOP);
59 
71  std::vector<PndSdsStrip> GetStrips (Double_t inx, Double_t iny, Double_t inz,
72  Double_t outx, Double_t outy, Double_t outz,
73  Double_t eLoss);
74 
80  Int_t CalcFEfromStrip(Int_t stripNr) const;
81 
87  Int_t CalcChannelfromStrip(Int_t stripNr) const;
88 
96  void CalcFeChToStrip(Int_t fe, Int_t channel, Int_t& strip, enum SensorSide& side) const;
97  void CalcStripPointOnLine(const Double_t strip, TVector2& point) const;
98 
102  const TVector2 GetStripDirection() const {return fStripDir;}
103 
104  void SetVerboseLevel(Int_t level){ fVerboseLevel = level;}
106 
108 
109  void Print() const;
110 
111 private :
114  Int_t fNrStrips;
116  TVector2 fAnchor;
119  TVector2 fStripDir;
120  TVector2 fOrthoDir;
121  TRandom3* fRNG;
124 
132 
138  Double_t SmearCharge(Double_t charge);
139  const Double_t ChargeFromEloss(Double_t eloss) const {return eloss/(3.61e-9);}
140 };
141 
142 #endif /* SSDCALCSTRIPDIF_H */
Double_t fThreshold
anchor point on first strip
Double_t fNoise
charge threshold
Class for calculating strip indices from wafer hits.
void SetVerboseLevel(Int_t level)
double eloss
Definition: anaLmdSim.C:34
Double_t ChargeDiffusion(Double_t u, Double_t a, Double_t path, Double_t dir, Double_t Q)
Double_t sigma[nsteps]
Definition: dedx_bands.C:65
int nrStrips
Definition: anaLmdDigi.C:76
Int_t fVerboseLevel
Random Number Generator.
std::ostream & operator<<(std::ostream &out)
TRandom3 * fRNG
vector orthogonal to strip direction
Int_t CalcChannelfromStrip(Int_t stripNr) const
const Double_t ChargeFromEloss(Double_t eloss) const
Int_t a
Definition: anaLmdDigi.C:126
void CalcFeChToStrip(Int_t fe, Int_t channel, Int_t &strip, enum SensorSide &side) const
Double_t
Int_t CalcFEfromStrip(Int_t stripNr) const
int nrFeChannels
Definition: anaLmdDigi.C:75
TClonesArray * point
Definition: anaLmdDigi.C:29
Double_t CalcStripFromPoint(Double_t x, Double_t y)
Digitization Parameter Class for MVD-Strip part.
SensorSide
Int_t fNrFeChannels
Nr. of strips on active area.
TFile * out
Definition: reco_muo.C:20
double threshold
void CalcStripPointOnLine(const Double_t strip, TVector2 &point) const
std::vector< PndSdsStrip > GetStrips(Double_t inx, Double_t iny, Double_t inz, Double_t outx, Double_t outy, Double_t outz, Double_t eLoss)
Int_t fNrStrips
strip orientation angle to x axis
Double_t x
int fe
Definition: anaLmdDigi.C:67
Double_t fOrient
strip pitch (cm)
TVector2 fAnchor
Nr of Channels per FE.
double orient
Double_t y
Double_t SmearCharge(Double_t charge)
double noise
const TVector2 GetStripDirection() const
TVector2 fOrthoDir
vector perpendicular to strip direction