28   fRNG = 
new TRandom3();
 
   33                                  const TVector2& firstStripAnchor,
 
   35   : fPitch(pitch), fOrient(orient),
 
   36     fNrStrips(nrStrips), fNrFeChannels(nrFeChannels),
 
   37     fThreshold(threshold), fNoise(noise),
 
   38     fAnchor(firstStripAnchor)
 
   43   fRNG = 
new TRandom3();
 
   70   fRNG = 
new TRandom3();
 
   76 std::vector<PndHypStrip>
 
   81   if (
fVerboseLevel > 2) std::cout<<
"-I-  PndHypCalcStrip::GetStrips "<<std::endl;
 
   86   TVector2 
out(outx,outy);
 
   90     std::cout<<
" InPoint: ("<<in.X()<<
","<<in.Y()<<std::endl;
 
   91     std::cout<<
" OutPoint: ("<<out.X()<<
","<<out.Y()<<std::endl;
 
   94   std::vector<PndHypStrip> strips;
 
   97   if (path.Mod()<1E-18) {
 
   98     std::cout<<
"-W-  PndHypCalcStrip::GetStrips : No Trajectory inside Sensor!"<<path.Mod()<<std::endl;
 
  102   if (
fVerboseLevel > 1) std::cout<<
" pathlength: "<<path.Mod()<<std::endl;
 
  107   if (
fVerboseLevel > 2) std::cout<<
" nuIn = "<<nuIn<<
" ; nuOut = "<<nuOut<<std::endl;
 
  114   if (
fVerboseLevel > 1) std::cout<<
" integral charge = "<<Q<<std::endl;
 
  122       if (
fVerboseLevel > 1) std::cout<<
" Hit outside active area."<<std::endl;
 
  128     Q *= (nuOut)/(nuOut-nuIn);
 
  137     Q *= (nuIn)/(-nuOut+nuIn);
 
  146   if (Int_t(nuIn) == Int_t(nuOut))
 
  152       if (
fVerboseLevel > 1) std::cout<<
" -> 1 strip hit."<<std::endl;
 
  159     Double_t dir = (nuOut>nuIn) ? 1. : -1.;
 
  161     Int_t nextIn = Int_t(nuIn + 0.5+0.5*dir);
 
  166         std::cout<<
" part of first strip : "<<nextIn-nuIn<<std::endl ;
 
  167         std::cout<<
" charge : "<<Q1<<std::endl ;
 
  168         std::cout<<
" next strip : "<<nextIn<<std::endl ;
 
  178     Int_t prevOut = Int_t(nuOut + 0.5-0.5*dir);
 
  182       std::cout<<
" part of last strip : "<<(nuOut-prevOut)<<std::endl ;
 
  183       std::cout<<
" charge : "<<Q2<<std::endl ;
 
  184       std::cout<<
" end of previous strip : "<<prevOut<<std::endl ;
 
  195     nextIn = Int_t(nextIn - 0.5 + 0.5*dir);
 
  196     prevOut = Int_t(prevOut - 0.5 + 0.5*dir);
 
  200       std::cout<<
" dir="<<Int_t((dir))<<std::endl;
 
  201       std::cout<<
" begin="<<nextIn<<
" end="<<prevOut<<std::endl;
 
  204     for (Int_t 
n = nextIn ; 
n != prevOut; 
n += Int_t(dir) )
 
  213     if (
fVerboseLevel > 2)
if (
fabs(Q)>1.) std::cout<<
" charge Q = "<<Q<<
" not detected!"<<std::endl;
 
  214     if (
fVerboseLevel > 1) std::cout<<
" -> "<<nrHits<<
" strips hit."<<std::endl;
 
  225   if (
fVerboseLevel > 2) std::cout<<
" charge = "<<charge<<
", smeared = "<<smeared<<std::endl;
 
  270   std::cout<<
"-I- PndHypCalcStrip Info :"<<std::endl;
 
  271   std::cout<<
"     Pitch        = "<<
fPitch*10000.<<
" um"<<std::endl;
 
  273   std::cout<<
"     Nr Strips    = "<<
fNrStrips<<std::endl;
 
  274   std::cout<<
"     nr of channels per FE  = "<<
fNrFeChannels<<std::endl;
 
  276   std::cout<<
"     Anchor Point = "<<
fAnchor.X()<<
","<<
fAnchor.Y()<<
")"<<std::endl;
 
Int_t fNrStrips
strip orientation angle 
friend F32vec4 cos(const F32vec4 &a)
TVector2 GetTopAnchor() const 
Double_t GetNoise() const 
Double_t GetBotPitch() const 
Int_t CalcFEfromStrip(Int_t stripNr) const 
friend F32vec4 sin(const F32vec4 &a)
TVector2 GetBotAnchor() const 
void CalcStripPointOnLine(const Double_t strip, TVector2 &point) const 
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 
Double_t GetThreshold() const 
TRandom3 * fRNG
vector orthogonal to strip direction 
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)
Double_t SmearCharge(Double_t charge)
friend F32vec4 fabs(const F32vec4 &a)
Int_t fNrFeChannels
Nr. of strips on active area. 
Double_t CalcStripFromPoint(Double_t x, Double_t y)
Int_t fVerboseLevel
Random Number Generator. 
TVector2 fStripDir
anchor point on first strip 
Double_t fThreshold
Nr of Channels per FE. 
void CalcFeChToStrip(Int_t fe, Int_t channel, Int_t &strip, enum SensorSide &side) const 
Double_t GetOrient() const 
Double_t GetTopPitch() const 
Double_t fOrient
strip pitch (cm)