PandaRoot
PndSttHitProducerRealFast.h
Go to the documentation of this file.
1 // Fast Digitization
2 
3 #ifndef PNDSTTHITPRODUCERREALFAST_H
4 #define PNDSTTHITPRODUCERREALFAST_H 1
5 
6 #include <PndPersistencyTask.h>
7 #include "PndGeoSttPar.h"
8 
9 #include "TVector3.h"
10 
11 class PndSttHit;
12 class PndSttHitInfo;
13 class TClonesArray;
14 class TObjectArray;
15 
17 
18  public:
21 
24 
26  virtual InitStatus Init();
27 
29  virtual void Exec(Option_t *opt);
30 
31  PndSttHit *AddHit(Int_t detID, Int_t tubeID, Int_t iPoint, TVector3 &pos, TVector3 &dpos, Double_t p, Double_t rsim, Double_t closestDistanceError, Double_t depcharge);
32  PndSttHit *AddHit(TClonesArray *hitarray, Int_t detID, Int_t tubeID, Int_t iPoint, TVector3 &pos, TVector3 &dpos, Double_t p, Double_t rsim, Double_t closestDistanceError,
33  Double_t depcharge);
34 
35  PndSttHitInfo *AddHitInfo(Int_t fileNumber, Int_t eventNumber, Int_t trackID, Int_t pointID, Int_t nMerged, Bool_t isFake);
36 
37  void FoldZPosWithResolution(Double_t &zpos, Double_t &zposError, TVector3 localInPos, TVector3 localOutPos);
38 
39  Double_t GetError(Double_t, Int_t);
40 
42  void SetPersistence(Bool_t persistence) { SetPersistency(persistence); }
43  void SwitchOnOverlap() { fOverlap = kTRUE; }
44 
45  void SeparateHits() { fSeparate = kTRUE; }
46 
47  private:
48  virtual void SetParContainers();
49 
51  TClonesArray *fPointArray;
52 
54  TClonesArray *fHitArray;
55  TClonesArray *fOverlapHitArray;
56 
57  Bool_t fSeparate;
58 
59  TClonesArray *fSttParalHitArray;
60  TClonesArray *fSttParalOverlapHitArray;
61  TClonesArray *fSttSkewHitArray;
62  TClonesArray *fSttSkewOverlapHitArray;
63 
64  TObjArray *fVolumeArray;
65 
67  TClonesArray *fHitInfoArray;
68  Int_t fevtn;
69 
70  PndGeoSttPar *fSttParameters;
71 
73  Bool_t fPersistence;
74  Bool_t fOverlap;
75  // CHECK added
76  TClonesArray *fTubeArray;
77  Int_t fGeoType; //< Distinguishes between old geometry description (1) and new, root-based one (2)
78 
79  ClassDef(PndSttHitProducerRealFast, 1);
80 };
81 
82 #endif
virtual ~PndSttHitProducerRealFast()
PndSttHitInfo * AddHitInfo(Int_t fileNumber, Int_t eventNumber, Int_t trackID, Int_t pointID, Int_t nMerged, Bool_t isFake)
void SetPersistency(Bool_t val=kTRUE)
void FoldZPosWithResolution(Double_t &zpos, Double_t &zposError, TVector3 localInPos, TVector3 localOutPos)
Double_t GetError(Double_t, Int_t)
void SetPersistence(Bool_t persistence)
PndSttHit * AddHit(Int_t detID, Int_t tubeID, 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)
virtual InitStatus Init()