FairRoot/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 
7 #include <PndPersistencyTask.h>
8 #include "PndGeoSttPar.h"
9 
10 #include "TVector3.h"
11 
12 class PndSttHit;
13 class PndSttHitInfo;
14 class TClonesArray;
15 class TObjectArray;
16 
18 {
19 
20  public:
21 
24 
25 
28 
29 
31  virtual InitStatus Init();
32 
33 
35  virtual void Exec(Option_t* opt);
36 
37  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);
38  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, Double_t depcharge);
39 
40  PndSttHitInfo* AddHitInfo(Int_t fileNumber, Int_t eventNumber, Int_t trackID, Int_t pointID, Int_t nMerged, Bool_t isFake);
41 
42  void FoldZPosWithResolution(Double_t &zpos, Double_t &zposError, TVector3 localInPos, TVector3 localOutPos);
43 
44  Double_t GetError(Double_t, Int_t);
45 
46 
48  void SetPersistence(Bool_t persistence) { SetPersistency(persistence); }
49  void SwitchOnOverlap() { fOverlap = kTRUE; }
50 
51  void SeparateHits() { fSeparate = kTRUE; }
52 
53  private:
54 
55  virtual void SetParContainers();
56 
58  TClonesArray* fPointArray;
59 
61  TClonesArray* fHitArray;
62  TClonesArray* fOverlapHitArray;
63 
65 
66 
67  TClonesArray* fSttParalHitArray;
68  TClonesArray* fSttParalOverlapHitArray;
69  TClonesArray* fSttSkewHitArray;
70  TClonesArray* fSttSkewOverlapHitArray;
71 
72 
73 
74  TObjArray *fVolumeArray;
75 
77  TClonesArray* fHitInfoArray;
78  Int_t fevtn;
79 
81 
85  // CHECK added
86  TClonesArray* fTubeArray;
87  Int_t fGeoType; //< Distinguishes between old geometry description (1) and new, root-based one (2)
88 
90 
91 };
92 
93 #endif
TVector3 pos
Double_t p
Definition: anasim.C:58
ClassDef(PndSttHitProducerRealFast, 1)
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)
virtual void Exec(Option_t *opt)
Double_t
const Double_t zpos
PndSttHitInfo * AddHitInfo(Int_t fileNumber, Int_t eventNumber, Int_t trackID, Int_t pointID, Int_t nMerged, Bool_t isFake)
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)