PandaRoot
PndFtsHitProducerMcPointCoordinates.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 // Digitization using MC point coordinates for hit positions instead of center of straws as in PndFtsHitProducerRealFast
14 // This class is a copy of PndFtsHitProducerRealFast with the only difference as described above
15 
16 #ifndef PndFtsHitProducerMcPointCoordinates_H
17 #define PndFtsHitProducerMcPointCoordinates_H 1
18 
19 #include "FairTask.h"
20 #include "PndGeoFtsPar.h"
21 #include "TVector3.h"
22 
23 class PndFtsHit;
24 class PndFtsHitInfo;
25 class TClonesArray;
26 class TObjectArray;
27 
28 class PndFtsHitProducerMcPointCoordinates : public FairTask {
29 
30  public:
33 
36 
38  virtual InitStatus Init();
39 
41  virtual void Exec(Option_t *opt);
42 
43  PndFtsHit *AddHit(Int_t detID, Int_t tubeID, Int_t chamberID, Int_t layerID, Int_t skew, Int_t iPoint, TVector3 &pos, TVector3 &dpos, Double_t p, Double_t rsim,
44  Double_t closestDistanceError, Double_t depcharge);
45 
46  PndFtsHitInfo *AddHitInfo(Int_t fileNumber, Int_t eventNumber, Int_t trackID, Int_t pointID, Int_t nMerged, Bool_t isFake);
47 
48  void FoldZPosWithResolution(Double_t &zpos, Double_t &zposError, TVector3 localInPos, TVector3 localOutPos);
49 
50  Double_t GetError(Double_t);
51 
53  void SetPersistence(Bool_t persistence) { fPersistence = persistence; }
54 
55  private:
56  void SetParContainers();
57 
59  TClonesArray *fPointArray;
60 
62  TClonesArray *fHitArray;
63 
64  TObjArray *fVolumeArray;
65 
67  TClonesArray *fHitInfoArray;
68  Int_t fevtn;
69 
70  PndGeoFtsPar *fFtsParameters;
71 
73  Bool_t fPersistence;
74 
75  TClonesArray *fTubeArray;
76 
79 
81 };
82 
83 #endif
PndFtsHitInfo * AddHitInfo(Int_t fileNumber, Int_t eventNumber, Int_t trackID, Int_t pointID, Int_t nMerged, Bool_t isFake)
PndFtsHit * AddHit(Int_t detID, Int_t tubeID, Int_t chamberID, Int_t layerID, Int_t skew, Int_t iPoint, TVector3 &pos, TVector3 &dpos, Double_t p, Double_t rsim, Double_t closestDistanceError, Double_t depcharge)
virtual void Exec(Option_t *opt)
void FoldZPosWithResolution(Double_t &zpos, Double_t &zposError, TVector3 localInPos, TVector3 localOutPos)