PandaRoot
PndGemSmearingTask.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndGemSmearingTask header file -----
3 // ----- Created 04/11/08 by R.Kliemt -----
4 // -------------------------------------------------------------------------
5 
13 #ifndef PNDGEMSMEARINGTASK_H
14 #define PNDGEMSMEARINGTASK_H
15 
16 // Root includes
17 #include "TVector3.h"
18 #include "TRandom.h"
19 #include "TString.h"
20 #include "TGeoManager.h"
21 
22 // framework includes
23 #include "FairTask.h"
24 
25 // PndMvd includes
26 #include "PndGemMCPoint.h"
27 #include "PndGemDigiPar.h" //eoHandling.h"
28 
29 class TClonesArray;
30 
31 class PndGemSmearingTask : public FairTask {
32  public:
35 
36  PndGemSmearingTask(Double_t sx, Double_t sy, Double_t sz);
37 
39  virtual ~PndGemSmearingTask();
40 
42  virtual void SetParContainers();
43  virtual InitStatus Init();
44 
46  virtual void Exec(Option_t *opt);
47 
48  private:
49  PndGemDigiPar *fDigiPar;
50 
51  TString fBranchName;
52  // PndGeoHandling* fGeoH;
54  TClonesArray *fPointArray;
55  TClonesArray *fMctruthArray;
56 
58  TClonesArray *fHitOutputArray;
60  Double_t fSigmaX; // Variance vector of sensor smearing
61  Double_t fSigmaY; // Variance vector of sensor smearing
62  Double_t fSigmaZ; // Variance vector of sensor smearing
63  PndGemMCPoint *fCurrentPndGemMCPoint;
64  TGeoHMatrix *fCurrentTransMat;
65  TMatrixT<Double_t> fHitCovMatrix;
67  void InitTransMat();
68  void smear(TVector3 &pos);
69  void smearLocal(TVector3 &pos);
70  void CalcGFDetPlane(TVector3 &o, TVector3 &u, TVector3 &v);
71 
72  void Register();
73 
74  void Reset();
75 
76  void ProduceHits();
77 
78  ClassDef(PndGemSmearingTask, 1);
79 };
80 
81 #endif
virtual void Exec(Option_t *opt)
virtual InitStatus Init()
Digitization Parameter Class for GEM part.
Definition: PndGemDigiPar.h:30
__m128 v
Definition: P4_F32vec4.h:3
virtual void SetParContainers()
virtual ~PndGemSmearingTask()