PandaRoot
PndLmdGeaneTask.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 // ----- PndLmdGeaneTask header file -----
15 // ----- Created 20/03/07 by R.Kliemt -----
16 // ----- modified for Lmd by M. Michel & A.Karavdina -----
17 // -------------------------------------------------------------------------
18 
25 #ifndef PndLmdGeaneTask_H
26 #define PndLmdGeaneTask_H
27 
28 // framework includes
29 #include "FairTask.h"
30 #include "TH1.h"
31 //#include "GFTrackCand.h"
32 #include "FairGeanePro.h"
33 #include "FairTrackParP.h"
34 #include "TMatrixD.h"
35 #include "TNtuple.h"
36 #include "TVector3.h"
37 //#include "PndSdsGeoHandling.h"
38 #include <map>
39 #include <vector>
40 #include "PndGeoHandling.h"
41 #include "PndMultiField.h"
42 class TClonesArray;
43 class PndSdsCluster;
44 // class TGeant3;//GEANE uses Geant3!
45 // class TGeant4;
46 
47 class PndLmdGeaneTask : public FairTask {
48  public:
51 
53  PndLmdGeaneTask(Double_t pBeam, TVector3 IP, bool is_prefiltered = true);
54 
57 
59  virtual void SetParContainers();
60  virtual InitStatus Init();
61 
63  virtual void Exec(Option_t *opt);
64 
65  virtual void Finish();
66 
67  FairTrackParP *PropToPlane(FairTrackParP *fStartPst, double zpos, int dir,
68  bool &isProp); // propagation between planes
69  private:
70  FairGeanePro *fPro;
71  PndGeoHandling *fGeoH;
72  int fEventNr;
73  bool fUseMVDPoint;
74  Double_t fPbeam;
75  Int_t fPDGid;
76  TVector3 vtx;
77  FairField *pndField;
78  std::map<int, std::vector<int>> fTrackPixHitIdMap; // Track -> PixHitId
79  std::map<int, std::vector<int>> fTrackStripHitIdMap; // Track -> StripHitId
80 
81  std::string track_branch_name;
82 
83  // Input Data ----------
84  TClonesArray *fTracks; // Real tracks
85 
86  // Output Data -------
87  TClonesArray *fTrackParGeane;
88  TClonesArray *fTrackParIni;
89  TClonesArray *fTrackParFinal;
90  TClonesArray *fDetName;
91 
92  //----------------------------------------
93 
94  void Register();
95 
96  void Reset();
97 
98  void ProduceHits();
99 
100  ClassDef(PndLmdGeaneTask, 2);
101 };
102 
103 #endif
Class to store the Digis which belong to one cluster This class holds the information which Digi belo...
Definition: PndSdsCluster.h:30
Class to access the naming information of the MVD.
virtual void Exec(Option_t *opt)
virtual void SetParContainers()
virtual void Finish()
FairTrackParP * PropToPlane(FairTrackParP *fStartPst, double zpos, int dir, bool &isProp)
virtual InitStatus Init()