PandaRoot
PndHypIdealRecoTask.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 // ----- MvdIdealRecoTask header file -----
15 // ----- Created 20/03/07 by R.Kliemt -----
16 // ----- Modified to HypIdealRecoTask 12.10.07 by A.Sanchez
17 // -------------------------------------------------------------------------
18 
26 #ifndef PNDHYPIDEALRECOTASK_H
27 #define PNDHYPIDEALRECOTASK_H
28 
29 // Root includes
30 #include "TVector3.h"
31 #include "TRandom.h"
32 #include "TString.h"
33 #include "TGeoManager.h"
34 
35 // framework includes
36 #include "FairTask.h"
37 
38 // Hyp includes
39 #include "PndHypPoint.h"
40 #include "PndHypGeoHandling.h"
41 class TClonesArray;
42 
43 class PndHypIdealRecoTask : public FairTask {
44  public:
47 
48  PndHypIdealRecoTask(Double_t sx, Double_t sy, Double_t sz);
49 
52 
54  virtual void SetParContainers();
55  virtual InitStatus Init();
56 
58  virtual void Exec(Option_t *opt);
59 
60  private:
61  TString fBranchName;
62  PndHypGeoHandling *fGeoH;
64  TClonesArray *fPointArray;
65  TClonesArray *fMctruthArray;
66 
68  TClonesArray *fHitOutputArray;
70  Double_t fSigmaX; // Variance vector of sensor smearing
71  Double_t fSigmaY; // Variance vector of sensor smearing
72  Double_t fSigmaZ; // Variance vector of sensor smearing
73  PndHypPoint *fCurrentHypPoint;
74  TGeoHMatrix *fCurrentTransMat;
75  TMatrixT<double> fHitCovMatrix;
77  void InitTransMat();
78  void smear(TVector3 &pos);
79  void smearLocal(TVector3 &pos);
80  void CalcDetPlane(TVector3 &o, TVector3 &u, TVector3 &v);
81 
82  void Register();
83 
84  void Reset();
85 
86  void ProduceHits();
87 
88  ClassDef(PndHypIdealRecoTask, 2);
89 };
90 
91 #endif
Class to access the naming information of the MVD.
virtual void Exec(Option_t *opt)
__m128 v
Definition: P4_F32vec4.h:15
virtual void SetParContainers()
virtual InitStatus Init()