FairRoot/PandaRoot
PndHypStripHitProducer.h
Go to the documentation of this file.
1 #ifndef PNDHYPSTRIPHITPRODUCER_H
2 #define PNDHYPSTRIPHITPRODUCER_H
3 
4 #include "FairTask.h"
5 #include "PndGeoHypPar.h"
6 #include "PndHypStripDigiPar.h"
7 //#include "PndHypGeoMappingPar.h"
8 #include "PndHypHit.h"
9 #include "PndHypPoint.h"
10 #include "PndHypStrip.h"
11 //#include "PndHypDigiPixel.h"
12 #include "FairGeoVector.h"
13 #include "FairGeoTransform.h"
14 #include "TVector3.h"
15 #include "TRandom.h"
16 #include "TGeoMatrix.h"
17 #include "TGeoBBox.h"
18 #include <iostream>
19 #include "PndHypCalcStrip.h"
20 #include "PndHypGeoHandling.h"
21 
22 #include <string>
23 #include <vector>
24 
25 class TClonesArray;
26 
28 
71 class PndHypStripHitProducer : public FairTask
72 {
73  public:
74 
77 
79  Double_t ori, Double_t skew,
80  TVector2 topAnchor, TVector2 botAnchor,
81  Int_t nrTopFE, Int_t nrBotFE,
82  Int_t nrFECh,
84  TString sensorType="Rect", TString feType="APV25");
85 
87  virtual ~PndHypStripHitProducer();
88 
90  virtual void SetParContainers();
91  virtual InitStatus Init();
92  virtual InitStatus ReInit();
93 
95  virtual void Exec(Option_t* opt);
96 
97  void SetParamSet(Double_t topPitch, Double_t botPitch,
98  Double_t ori, Double_t skew,
99  TVector2 topAnchor, TVector2 botAnchor,
100  Int_t nrTopFE, Int_t nrBotFE, Int_t nrFECh,
101  Double_t threshold, Double_t noise,
102  TString sensorType, TString feType);
103 
104 
105  private:
106 
109  TClonesArray* fPointArray;
110 
112  TClonesArray* fHitArray;
113  TClonesArray* fStripArray;
114 // TClonesArray* fFeStripArray;
115 
121  //PndHypGeoMappingPar* fGeoMappingPar;
122 
123  void Register();
124  void Reset();
125  void ProduceHits();
126 
127  //TGeoHMatrix GetTransformation (std::string detName) const;
128  //void GetLocalHitPoints(PndHypPoint* myPoint, FairGeoVector& myHitIn, FairGeoVector& myHitOut);
129  TVector3 GetSensorDimensions(std::string detName) const;
131  PndHypGeoHandling* fGeoH; // converter for detector names
133  TVector2 fTopAnchor;
135  TVector2 fBotAnchor;
136  /*
137  Double_t ftopPitch; //strip pitch on top side;
138  Double_t fbotPitch; //strip pitch on bottom side;
139  Double_t forient; //orientation of top strips;
140  Double_t fskew; //skew angle between upper and lower strips;
142  TVector2 fTopAnchor;
144  TVector2 fBotAnchor;
145  Int_t fnrTopFE;
146  Int_t fnrBotFE;
147  Int_t fnrFECh;
148  Double_t fthreshold; //strip threshold in electrons
149  Double_t fnoise; //strip noise in electrons
150  */
153 
154  //Int_t stripHits;
156 
157 };
158 
159 #endif
ClassDef(PndHypStripHitProducer, 5)
PndHypStripDigiPar * fCurrentDigiPar
TString detname
Definition: anasim.C:61
Class to access the naming information of the MVD.
TVector3 GetSensorDimensions(std::string detName) const
TVector2 botAnchor(0., 0.)
double skew
TVector2 fTopAnchor
Anchor Point on top side.
Bool_t fOverrideParams
internal Flag that controls use of Parameter Invocations
Double_t
TVector2 fBotAnchor
Anchor Point on bottom side.
double botPitch
double threshold
Bool_t SelectSensorParams(TString detname)
double topPitch
PndHypStripDigiPar * fDigiPar
Hit Producer Task for strip detectors.
virtual void Exec(Option_t *opt)
double noise
void SetParamSet(Double_t topPitch, Double_t botPitch, Double_t ori, Double_t skew, TVector2 topAnchor, TVector2 botAnchor, Int_t nrTopFE, Int_t nrBotFE, Int_t nrFECh, Double_t threshold, Double_t noise, TString sensorType, TString feType)
TVector2 topAnchor(0., 0.)