PandaRoot
PndRichHitProducer.h
Go to the documentation of this file.
1 #ifndef PNDRICHHITPRODUCER_H
2 #define PNDRICHHITPRODUCER_H 1
3 
4 #include <PndPersistencyTask.h>
5 #include "PndRichDigi.h"
6 #include "PndRichHit.h"
7 #include "PndRichGeo.h"
8 #include "PndRichPDHit.h"
9 //#include "PndRichTSPDHit.h"
10 #include "PndRichResolution.h"
11 #include "TVector3.h"
12 
13 class TClonesArray;
15 
17 
18  public:
21 
24 
26  virtual InitStatus Init();
27 
29  virtual void Exec(Option_t *opt);
30 
31  void AddXPDHit(Int_t detID, Int_t sensorId, TVector3 &pos, TVector3 &dpos, Int_t index, Double_t time);
32  PndRichDigi *AddDigi(Int_t detID, Int_t sensorId, TVector3 &pos, TVector3 &dpos, Int_t index, Double_t time);
33  PndRichPDHit *AddPDHit(Int_t detID, Int_t sensorId, TVector3 &pos, TVector3 &dpos, Int_t index, Double_t time);
34  PndRichHit *AddHit(Int_t detID, Int_t sensorId, TVector3 &pos, TVector3 &dpos, Double_t thetaC, Double_t errThetaC, Int_t index);
35 
36  void SetPositionSmearing(Float_t res) { fPosResolution = res; };
37 
38  void SetGeoVersion(UInt_t version) { fGeoVersion = version; };
39 
40  void SetPhDetNoiseON(UInt_t phDetNoise) { fPhDetNoise = phDetNoise; };
41 
42  void FinishEvent();
43  void FinishTask();
44 
45  void RunTimeBased() { fTimeOrderedDigi = kTRUE; }
46 
47  private:
48  PndRichGeo *fGeo;
49  UInt_t fGeoVersion;
50  Bool_t fPhDetNoise;
51  UInt_t fNumRand;
52  Bool_t fTimeOrderedDigi;
53  Double_t fDeadTime;
54  Double_t fEventTime;
55  Double_t fPreviousEventTime;
56 
57  Float_t fPosResolution; // Position smearing [cm]
58  PndRichResolution *fRichResolution;
59 
61  TClonesArray *fPDPointArray;
62  TClonesArray *fBarPointArray;
63 
65  TClonesArray *fPDHitArray;
66  TClonesArray *fHitArray;
67 
68  std::vector<Double_t> PhDetNoise();
69 
70  PndRichHitWriteoutBuffer *fDataBuffer;
71 
72  ClassDef(PndRichHitProducer, 1);
73 };
74 
75 #endif
void SetPhDetNoiseON(UInt_t phDetNoise)
void AddXPDHit(Int_t detID, Int_t sensorId, TVector3 &pos, TVector3 &dpos, Int_t index, Double_t time)
PndRichHit * AddHit(Int_t detID, Int_t sensorId, TVector3 &pos, TVector3 &dpos, Double_t thetaC, Double_t errThetaC, Int_t index)
PndRichPDHit * AddPDHit(Int_t detID, Int_t sensorId, TVector3 &pos, TVector3 &dpos, Int_t index, Double_t time)
virtual void Exec(Option_t *opt)
void SetGeoVersion(UInt_t version)
PndRichDigi * AddDigi(Int_t detID, Int_t sensorId, TVector3 &pos, TVector3 &dpos, Int_t index, Double_t time)
void SetPositionSmearing(Float_t res)
virtual InitStatus Init()