PandaRoot
PndGemSmearingTask.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 // -------------------------------------------------------------------------
14 // ----- PndGemSmearingTask header file -----
15 // ----- Created 04/11/08 by R.Kliemt -----
16 // -------------------------------------------------------------------------
17 
25 #ifndef PNDGEMSMEARINGTASK_H
26 #define PNDGEMSMEARINGTASK_H
27 
28 // Root includes
29 #include "TVector3.h"
30 #include "TRandom.h"
31 #include "TString.h"
32 #include "TGeoManager.h"
33 
34 // framework includes
35 #include "FairTask.h"
36 
37 // PndMvd includes
38 #include "PndGemMCPoint.h"
39 #include "PndGemDigiPar.h" //eoHandling.h"
40 
41 class TClonesArray;
42 
43 class PndGemSmearingTask : public FairTask {
44  public:
47 
48  PndGemSmearingTask(Double_t sx, Double_t sy, Double_t sz);
49 
51  virtual ~PndGemSmearingTask();
52 
54  virtual void SetParContainers();
55  virtual InitStatus Init();
56 
58  virtual void Exec(Option_t *opt);
59 
60  private:
61  PndGemDigiPar *fDigiPar;
62 
63  TString fBranchName;
64  // PndGeoHandling* fGeoH;
66  TClonesArray *fPointArray;
67  TClonesArray *fMctruthArray;
68 
70  TClonesArray *fHitOutputArray;
72  Double_t fSigmaX; // Variance vector of sensor smearing
73  Double_t fSigmaY; // Variance vector of sensor smearing
74  Double_t fSigmaZ; // Variance vector of sensor smearing
75  PndGemMCPoint *fCurrentPndGemMCPoint;
76  TGeoHMatrix *fCurrentTransMat;
77  TMatrixT<Double_t> fHitCovMatrix;
79  void InitTransMat();
80  void smear(TVector3 &pos);
81  void smearLocal(TVector3 &pos);
82  void CalcGFDetPlane(TVector3 &o, TVector3 &u, TVector3 &v);
83 
84  void Register();
85 
86  void Reset();
87 
88  void ProduceHits();
89 
90  ClassDef(PndGemSmearingTask, 1);
91 };
92 
93 #endif
virtual void Exec(Option_t *opt)
virtual InitStatus Init()
Digitization Parameter Class for GEM part.
Definition: PndGemDigiPar.h:42
__m128 v
Definition: P4_F32vec4.h:15
virtual void SetParContainers()
virtual ~PndGemSmearingTask()