PandaRoot
PndMvdNoiseProducer.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndMvdNoiseProducer header file -----
3 // ----- Created 01.07.08 by R.Kliemt -----
4 // -------------------------------------------------------------------------
5 
13 #ifndef PNDMVDNOISEPRODUCER_H
14 #define PNDMVDNOISEPRODUCER_H
15 
16 #include <PndPersistencyTask.h>
17 #include "FairMCEventHeader.h"
18 
19 #include <vector>
20 
21 #include "TRandom.h"
22 //#include "PndMvdGeoPar.h"
23 #include "PndGeoHandling.h"
24 #include "PndSdsStripDigiPar.h"
25 #include "PndSdsPixelDigiPar.h"
26 #include "PndSdsTotDigiPar.h"
27 #include "PndSdsChargeConversion.h"
30 #include "PndSdsDigiStrip.h"
31 #include "PndSdsFE.h"
32 #include "TString.h"
33 
34 class TClonesArray;
35 
37  public:
40 
42  virtual ~PndMvdNoiseProducer();
43 
44  PndMvdNoiseProducer(const PndMvdNoiseProducer &) = delete;
46 
48  virtual void SetParContainers();
49  virtual InitStatus Init();
50 
52  virtual void Exec(Option_t *opt);
53  virtual void FinishEvent();
54 
55  Double_t CalcDistFraction(Double_t spread, Double_t threshold);
56  // Int_t CalcChanWhite(Int_t chanleft, Double_t frac);
57  Int_t CalcChargeAboveThreshold(Double_t spread, Double_t threshold);
58  Double_t CalcReadoutCycles(Double_t clock);
59  void AddDigiStrip(Int_t &iStrip, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t chan, Double_t charge);
60  void AddDigiPixel(Int_t &noisies, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t col, Int_t row, Double_t charge);
61 
62  void FillSensorLists();
63 
64  void RunTimeBased() { fTimeOrderedDigi = kTRUE; }
65 
66  protected:
68 
69  TString fBranchName;
71  TClonesArray *fDigiStripArray;
72  TClonesArray *fDigiPixelArray;
73 
76 
81 
85 
87  FairMCEventHeader *fMCEventheader;
88 
89  std::vector<Int_t> fPixelIds2;
90  std::vector<Int_t> fPixelIds4;
91  std::vector<Int_t> fPixelIds5;
92  std::vector<Int_t> fPixelIds6;
93  std::vector<Int_t> fStripRectLIds;
94  std::vector<Int_t> fStripRectSIds;
95  std::vector<Int_t> fStripTrapIds;
96 
101 
103  Int_t fThreshold;
104  Double_t fPreviousTime;
105 
106  // void Register();
107 
108  // void Reset();
109 
110  // void ProduceHits();
111 
113 };
114 
115 #endif
std::vector< Int_t > fPixelIds4
std::vector< Int_t > fPixelIds5
PndSdsTotDigiPar * fTotDigiParRect
PndSdsTotDigiPar * fTotDigiParPix
std::vector< Int_t > fPixelIds2
virtual void FinishEvent()
std::vector< Int_t > fStripRectSIds
void AddDigiPixel(Int_t &noisies, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t col, Int_t row, Double_t charge)
virtual void SetParContainers()
virtual InitStatus Init()
PndSdsChargeConversion * fStripTrapChargeConv
std::vector< Int_t > fPixelIds6
Charge Digitization Parameter Class for SDS.
PndSdsDigiPixelWriteoutBuffer * fDigiPixelBuffer
Bool_t fTimeOrderedDigi
parameter to switch to time ordered simulation
PndSdsChargeConversion * fStripRectChargeConv
virtual void Exec(Option_t *opt)
Class to access the naming information of the MVD.
void AddDigiStrip(Int_t &iStrip, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t chan, Double_t charge)
TClonesArray * fDigiStripArray
PndSdsStripDigiPar * fDigiParTrap
Double_t CalcReadoutCycles(Double_t clock)
std::vector< Int_t > fStripRectLIds
PndMvdNoiseProducer & operator=(const PndMvdNoiseProducer &)=delete
Digitization Parameter Class for MVD-Strip part.
PndSdsDigiStripWriteoutBuffer * fDigiStripBuffer
PndSdsStripDigiPar * fDigiParRect
PndSdsChargeConversion * fPixChargeConv
TClonesArray * fDigiPixelArray
PndSdsPixelDigiPar * fDigiParPix
std::vector< Int_t > fStripTrapIds
PndSdsChargeConversion * fCurrentChargeConv
PndSdsTotDigiPar * fTotDigiParTrap
PndGeoHandling * fGeoH
FairMCEventHeader * fMCEventheader
Geometry name handling.
virtual ~PndMvdNoiseProducer()
ClassDef(PndMvdNoiseProducer, 1)
Double_t CalcDistFraction(Double_t spread, Double_t threshold)
Int_t CalcChargeAboveThreshold(Double_t spread, Double_t threshold)
Digitization Parameter Class for SDS-Pixel part.