FairRoot/PandaRoot
PndSdsNoiseProducer.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndSdsNoiseProducer header file -----
3 // ----- Created 01.07.08 by R.Kliemt -----
4 // -------------------------------------------------------------------------
5 
6 
15 #ifndef PNDSDSNOISEPRODUCER_H
16 #define PNDSDSNOISEPRODUCER_H
17 
18 #include "PndSdsTask.h"
19 
20 #include <vector>
21 
22 #include "TRandom.h"
23 //#include "PndSdsGeoPar.h"
24 #include "PndGeoHandling.h"
25 #include "PndSdsStripDigiPar.h"
26 #include "PndSdsPixelDigiPar.h"
27 #include "PndDetectorList.h"
28 #include "TString.h"
29 
30 class TClonesArray;
31 
33 {
34  public:
35 
38 
40  PndSdsTask(),
47  fDigiParPix(other.fDigiParPix),
49  fGeoH(other.fGeoH),
50  fPixelIds4(other.fPixelIds4),
51  fPixelIds6(other.fPixelIds6),
52  fPixelIds8(other.fPixelIds8),
53  fPixelIds12(other.fPixelIds12),
57  fThreshold(other.fThreshold),
59  {};
60 
62  virtual ~PndSdsNoiseProducer();
63 
64 
66  virtual void SetParContainers();
67  virtual InitStatus Init();
68 
74  virtual void SetBranchNames()=0;
75  virtual void SetMCPointType() = 0;
76 
78  virtual void Exec(Option_t* opt);
79 
81 // Int_t CalcChanWhite(Int_t chanleft, Double_t frac);
83  void AddDigiStrip(Int_t &iStrip, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t chan, Double_t charge);
84  void AddDigiPixel(Int_t &noisies, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t col, Int_t row, Double_t charge);
85 
86  void DiveDownNode(TGeoNode *fN);
87  void FillSensorLists();
88 // void Finish();
89 
90 
92  {
93  if(this != &other) // protect against invalid self-assignment
94  {
101  fDigiParPix=other.fDigiParPix;
103  fGeoH=other.fGeoH;
104  fPixelIds4=other.fPixelIds4;
105  fPixelIds6=other.fPixelIds6;
106  fPixelIds8=other.fPixelIds8;
107  fPixelIds12=other.fPixelIds12;
111  fThreshold=other.fThreshold;
113  }
114  return *this;
115  }
116 
117  protected:
121  TClonesArray* fDigiStripArray;
122  TClonesArray* fDigiPixelArray;
123 
128 
130 
132 
133  std::vector<Int_t> fPixelIds4;
134  std::vector<Int_t> fPixelIds6;
135  std::vector<Int_t> fPixelIds8;
136  std::vector<Int_t> fPixelIds12;
137  std::vector<Int_t> fStripRectIds;
138  std::vector<Int_t> fStripTrapIds;
139 
141  Int_t fThreshold;
142 
143  Double_t fIonizationEnergy; // electrons per GeV (Panda unified units)
144 // void Register();
145 // void Reset();
146 // void ProduceHits();
147 
149 
150 };
151 
152 #endif
int row
Definition: anaLmdDigi.C:67
void DiveDownNode(TGeoNode *fN)
PndSdsPixelDigiPar * fDigiParPix
int col
Definition: anaLmdDigi.C:67
void AddDigiPixel(Int_t &noisies, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t col, Int_t row, Double_t charge)
virtual InitStatus Init()
PndSdsStripDigiPar * fDigiParTrap
TClonesArray * fDigiPixelArray
std::vector< Int_t > fPixelIds8
void AddDigiStrip(Int_t &iStrip, Int_t iPoint, Int_t sensorID, Int_t fe, Int_t chan, Double_t charge)
ClassDef(PndSdsNoiseProducer, 1)
Class to access the naming information of the MVD.
Double_t
std::vector< Int_t > fStripRectIds
fDetectorType
Digitization Parameter Class for MVD-Strip part.
TClonesArray * fDigiStripArray
virtual void Exec(Option_t *opt)
Double_t CalcDistFraction(Double_t spread, Double_t threshold)
PndSdsNoiseProducer(PndSdsNoiseProducer &other)
std::vector< Int_t > fStripTrapIds
double threshold
virtual void SetBranchNames()=0
PndGeoHandling * fGeoH
PndSdsStripDigiPar * fDigiParRect
int fe
Definition: anaLmdDigi.C:67
virtual void SetParContainers()
std::vector< Int_t > fPixelIds6
std::vector< Int_t > fPixelIds12
virtual void SetMCPointType()=0
PndSdsNoiseProducer & operator=(PndSdsNoiseProducer &other)
std::vector< Int_t > fPixelIds4
Geometry name handling.
Int_t CalcChargeAboveThreshold(Double_t spread, Double_t threshold)
Digitization Parameter Class for SDS-Pixel part.