PandaRoot
PndFtsHitProducerRealFast.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 // Fast Digitization
14 
15 #ifndef PNDFTSHITPRODUCERREALFAST_H
16 #define PNDFTSHITPRODUCERREALFAST_H 1
17 
18 #include <PndPersistencyTask.h>
19 #include "PndGeoFtsPar.h"
20 #include "TVector3.h"
21 
22 class PndFtsHit;
23 class PndFtsHitInfo;
24 class TClonesArray;
25 class TObjectArray;
26 
28 
29  public:
32 
35 
37  virtual InitStatus Init();
38 
40  virtual void Exec(Option_t *opt);
41 
42  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,
43  Double_t closestDistanceError, Double_t depcharge);
44 
45  PndFtsHitInfo *AddHitInfo(Int_t fileNumber, Int_t eventNumber, Int_t trackID, Int_t pointID, Int_t nMerged, Bool_t isFake);
46 
47  void FoldZPosWithResolution(Double_t &zpos, Double_t &zposError, TVector3 localInPos, TVector3 localOutPos);
48 
49  Double_t GetError(Double_t);
50 
52  void SetPersistence(Bool_t persistence) { SetPersistency(persistence); }
53  void SwitchOnOverlap() { fOverlap = kTRUE; }
54 
55  private:
56  void SetParContainers();
57 
59  TClonesArray *fPointArray;
60 
62  TClonesArray *fHitArray;
63  TClonesArray *fOverlapHitArray;
64 
65  TObjArray *fVolumeArray;
66 
68  TClonesArray *fHitInfoArray;
69  Int_t fevtn;
70 
71  PndGeoFtsPar *fFtsParameters;
72 
73  Bool_t fOverlap;
74 
75  TClonesArray *fTubeArray;
76 
78  PndFtsHitProducerRealFast &operator=(const PndFtsHitProducerRealFast &) { return *this; }
79 
80  ClassDef(PndFtsHitProducerRealFast, 1);
81 };
82 
83 #endif
virtual void Exec(Option_t *opt)
void SetPersistency(Bool_t val=kTRUE)
virtual InitStatus Init()
void FoldZPosWithResolution(Double_t &zpos, Double_t &zposError, TVector3 localInPos, TVector3 localOutPos)
PndFtsHitInfo * AddHitInfo(Int_t fileNumber, Int_t eventNumber, Int_t trackID, Int_t pointID, Int_t nMerged, Bool_t isFake)
Double_t GetError(Double_t)
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)
void SetPersistence(Bool_t persistence)