PandaRoot
PndSdsIdealRecoTask.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 // ----- PndSdsIdealRecoTask header file -----
15 // ----- Created 20/03/07 by R.Kliemt -----
16 // -------------------------------------------------------------------------
17 
25 #ifndef PNDSDSIDEALRECOTASK_H
26 #define PNDSDSIDEALRECOTASK_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 "PndSdsTask.h"
36 
37 // PndSds includes
38 #include "PndSdsMCPoint.h"
39 #include "PndGeoHandling.h"
40 
41 class TClonesArray;
42 
44  public:
47 
48  PndSdsIdealRecoTask(Double_t sx, Double_t sy, Double_t sz);
49 
54  {
55  }
56 
58  virtual ~PndSdsIdealRecoTask();
59 
61  {
62  fGeoH = other.fGeoH;
63  fPointArray = other.fPointArray;
66  fSigmaX = other.fSigmaX;
67  fSigmaY = other.fSigmaY;
68  fSigmaZ = other.fSigmaZ;
72  return *this;
73  };
74 
76  virtual void SetParContainers();
77  virtual InitStatus Init();
78 
80  virtual void Exec(Option_t *opt);
81 
82  protected:
84 
86  TClonesArray *fPointArray;
87  TClonesArray *fMctruthArray;
88 
90  TClonesArray *fHitOutputArray;
92  Double_t fSigmaX; // Variance vector of sensor smearing
93  Double_t fSigmaY; // Variance vector of sensor smearing
94  Double_t fSigmaZ; // Variance vector of sensor smearing
96  TGeoHMatrix *fCurrentTransMat;
97  TMatrixT<Double_t> fHitCovMatrix;
99  void InitTransMat();
100  void smear(TVector3 &pos);
101  void smearLocal(TVector3 &pos);
102  void CalcDetPlane(TVector3 &o, TVector3 &u, TVector3 &v);
103 
104  void Register();
105 
106  void Reset();
107 
108  void ProduceHits();
109 
111 };
112 
113 #endif
PndSdsIdealRecoTask & operator=(PndSdsIdealRecoTask &other)
virtual void Exec(Option_t *opt)
virtual void SetParContainers()
void smear(TVector3 &pos)
ClassDef(PndSdsIdealRecoTask, 1)
PndGeoHandling * fGeoH
TGeoHMatrix * fCurrentTransMat
void smearLocal(TVector3 &pos)
__m128 v
Definition: P4_F32vec4.h:15
TClonesArray * fHitOutputArray
Class to access the naming information of the MVD.
TClonesArray * fMctruthArray
virtual InitStatus Init()
TClonesArray * fPointArray
void CalcDetPlane(TVector3 &o, TVector3 &u, TVector3 &v)
PndSdsMCPoint * fCurrentPndSdsMCPoint
TMatrixT< Double_t > fHitCovMatrix
PndSdsIdealRecoTask(PndSdsIdealRecoTask &other)
virtual ~PndSdsIdealRecoTask()