CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
FP420DigiMain Class Reference

#include <FP420DigiMain.h>

Public Types

typedef float Amplitude
 
typedef
DConverterFP420::DigitalMapType 
DigitalMapType
 
typedef std::map< int, float,
std::less< int > > 
hit_map_type
 
typedef
PileUpFP420::HitToDigisMapType 
HitToDigisMapType
 

Public Member Functions

 FP420DigiMain (const edm::ParameterSet &conf)
 
std::vector< HDigiFP420run (const std::vector< PSimHit > &input, const G4ThreeVector &, unsigned int)
 
 ~FP420DigiMain ()
 

Private Member Functions

void fluctuateEloss (int particleId, float momentum, float eloss, float length, int NumberOfSegments, float elossVector[])
 
void push_digis (const DigitalMapType &, const HitToDigisMapType &, const PileUpFP420::signal_map_type &)
 

Private Attributes

std::vector< short int > adcVec
 
bool addNoisyPixels
 
double appliedVoltage
 
double chargeDistributionRMS
 
double chargeMobility
 
float ClusterWidth
 
edm::ParameterSet conf_
 
double depletionVoltage
 
std::vector< HDigiFP420digis
 
bool doMissCalibrate
 
float elossCut
 
float ENC
 
LandauFP420 fluctuate
 
double ldrift
 
double ldriftX
 
double ldriftY
 
float moduleThickness
 
int ndigis
 
bool noDiffusion
 
bool noNoise
 
int NumberOfSegments
 
int numStrips
 
int numStripsW
 
int numStripsX
 
int numStripsXW
 
int numStripsY
 
int numStripsYW
 
double pitch
 
double pitchW
 
double pitchX
 
double pitchXW
 
double pitchY
 
double pitchYW
 
float Sigma0
 
std::vector< const PSimHit * > ss
 
double temperature
 
int theAdcFullScale
 
bool theApplyTofCut
 
CDividerFP420theCDividerFP420
 
ChargeDrifterFP420theCDrifterFP420
 
DigiConverterFP420theDConverterFP420
 
float theElectronPerADC
 
float theGainSmearing
 
GaussNoiseFP420theGNoiseFP420
 
HitDigitizerFP420theHitDigitizerFP420
 
float theNoiseInElectrons
 
GaussNoiseProducerFP420theNoiser
 
float theOffsetSmearing
 
PileUpFP420thePileUpFP420
 
int theStripsInChip
 
float theStripThreshold
 
float theStripThresholdInE
 
float theThreshold
 
double thez420
 
double thezD2
 
double thezD3
 
ZeroSuppressFP420theZSuppressFP420
 
float Thick300
 
double tMax
 
double tofCut
 
int verbosity
 
int xytype
 

Detailed Description

Definition at line 32 of file FP420DigiMain.h.

Member Typedef Documentation

typedef float FP420DigiMain::Amplitude

Definition at line 37 of file FP420DigiMain.h.

Definition at line 39 of file FP420DigiMain.h.

typedef std::map<int, float, std::less<int> > FP420DigiMain::hit_map_type

Definition at line 36 of file FP420DigiMain.h.

Definition at line 40 of file FP420DigiMain.h.

Constructor & Destructor Documentation

FP420DigiMain::FP420DigiMain ( const edm::ParameterSet conf)

Definition at line 42 of file FP420DigiMain.cc.

References addNoisyPixels, conf_, gather_cfg::cout, elossCut, ENC, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), ldrift, ldriftX, ldriftY, moduleThickness, ndigis, noNoise, numStrips, numStripsW, numStripsX, numStripsXW, numStripsY, numStripsYW, pitch, pitchW, pitchX, pitchXW, pitchY, pitchYW, theApplyTofCut, theDConverterFP420, theElectronPerADC, theGNoiseFP420, theHitDigitizerFP420, thePileUpFP420, theThreshold, thez420, thezD2, thezD3, theZSuppressFP420, Thick300, tofCut, verbosity, and xytype.

42  :conf_(conf){
43  std::cout << "Creating a FP420DigiMain" << std::endl;
44  ndigis=0;
45  verbosity = conf_.getUntrackedParameter<int>("VerbosityLevel");
46  theElectronPerADC= conf_.getParameter<double>("ElectronFP420PerAdc");
47  theThreshold = conf_.getParameter<double>("AdcFP420Threshold");
48  noNoise = conf_.getParameter<bool>("NoFP420Noise");
49  addNoisyPixels = conf_.getParameter<bool>("AddNoisyPixels");
50  thez420 = conf_.getParameter<double>("z420");
51  thezD2 = conf_.getParameter<double>("zD2");
52  thezD3 = conf_.getParameter<double>("zD3");
53  theApplyTofCut = conf_.getParameter<bool>("ApplyTofCut");
54  tofCut = conf_.getParameter<double>("LowtofCutAndTo200ns");
55  // sn0 = 3;// number of stations
56  // pn0 = 6;// number of superplanes
57  // rn0 = 3; // number of sensors in superlayer
58  xytype = 2;
59  if(verbosity>0) {
60  std::cout << "theApplyTofCut=" << theApplyTofCut << " tofCut=" << tofCut << std::endl;
61  std::cout << "FP420DigiMain theElectronPerADC=" << theElectronPerADC << " theThreshold=" << theThreshold << " noNoise=" << noNoise << std::endl;
62  }
63  // X (or Y)define type of sensor (xytype=1 or 2 used to derive it: 1-Y, 2-X)
64  // for every type there is normal pixel size=0.05 and Wide 0.400 mm
65  Thick300 = 0.300; // = 0.300 mm normalized to 300micron Silicon
66  //ENC= 2160.; // EquivalentNoiseCharge300um = 2160. + other sources of noise
67  ENC= 960.; // EquivalentNoiseCharge300um = 2160. + other sources of noise
68 
69  ldriftX = 0.050; // in mm(xytype=1)
70  ldriftY = 0.050; // in mm(xytype=2)
71  moduleThickness = 0.250; // mm(xytype=1)(xytype=2)
72 
73  pitchY= 0.050; // in mm(xytype=1)
74  pitchX= 0.050; // in mm(xytype=2)
75  //numStripsY = 200; // Y plate number of strips:200*0.050=10mm (xytype=1)
76  //numStripsX = 400; // X plate number of strips:400*0.050=20mm (xytype=2)
77  numStripsY = 144; // Y plate number of strips:144*0.050=7.2mm (xytype=1)
78  numStripsX = 160; // X plate number of strips:160*0.050=8.0mm (xytype=2)
79 
80  pitchYW= 0.400; // in mm(xytype=1)
81  pitchXW= 0.400; // in mm(xytype=2)
82  //numStripsYW = 50; // Y plate number of W strips:50 *0.400=20mm (xytype=1) - W have ortogonal projection
83  //numStripsXW = 25; // X plate number of W strips:25 *0.400=10mm (xytype=2) - W have ortogonal projection
84  numStripsYW = 20; // Y plate number of W strips:20 *0.400=8.0mm (xytype=1) - W have ortogonal projection
85  numStripsXW = 18; // X plate number of W strips:18 *0.400=7.2mm (xytype=2) - W have ortogonal projection
86 
87  // tofCut = 1350.; // Cut on the particle TOF range = 1380 - 1500
88  elossCut = 0.00003; // Cut on the particle TOF = 100 or 50
89 
90  if(verbosity>0) std::cout << "FP420DigiMain moduleThickness=" << moduleThickness << std::endl;
91 
92  float noiseRMS = ENC*moduleThickness/Thick300;
93 
94 
95 
97  // Y:
98  if (xytype ==1) {
99  numStrips = numStripsY; // Y plate number of strips:200*0.050=10mm --> 100*0.100=10mm
100  pitch= pitchY;
101  ldrift = ldriftX; // because drift is in local coordinates which 90 degree rotated ( for correct timeNormalization & noiseRMS calculations)
102  numStripsW = numStripsYW; // Y plate number of strips:200*0.050=10mm --> 100*0.100=10mm
103  pitchW= pitchYW;
104  }
105  // X:
106  if (xytype ==2) {
107  numStrips = numStripsX; // X plate number of strips:400*0.050=20mm --> 200*0.100=20mm
108  pitch= pitchX;
109  ldrift = ldriftY; // because drift is in local coordinates which 90 degree rotated ( for correct timeNormalization & noiseRMS calculations)
110  numStripsW = numStripsXW; // X plate number of strips:400*0.050=20mm --> 200*0.100=20mm
111  pitchW= pitchXW;
112  }
113 
114  // float noiseRMS = ENC*moduleThickness/Thick300;
115 
116 
118  int numPixels = numStrips*numStripsW;
119  theGNoiseFP420 = new GaussNoiseFP420(numPixels,noiseRMS,theThreshold,addNoisyPixels,verbosity);
120  // theGNoiseFP420 = new GaussNoiseFP420(numStrips,noiseRMS,theThreshold,addNoisyPixels);
122 
123 
124 
125 
126  theZSuppressFP420 = new ZeroSuppressFP420(conf_,noiseRMS/theElectronPerADC);
127  thePileUpFP420 = new PileUpFP420();
128  theDConverterFP420 = new DigiConverterFP420(theElectronPerADC,verbosity);
129 
130  if(verbosity>0) std::cout << "FP420DigiMain end of constructor" << std::endl;
131 
132 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
GaussNoiseFP420 * theGNoiseFP420
edm::ParameterSet conf_
Definition: FP420DigiMain.h:56
float theThreshold
Definition: FP420DigiMain.h:87
DigiConverterFP420 * theDConverterFP420
float theElectronPerADC
Definition: FP420DigiMain.h:71
ZeroSuppressFP420 * theZSuppressFP420
PileUpFP420 * thePileUpFP420
tuple cout
Definition: gather_cfg.py:121
HitDigitizerFP420 * theHitDigitizerFP420
float moduleThickness
FP420DigiMain::~FP420DigiMain ( )

Definition at line 140 of file FP420DigiMain.cc.

References gather_cfg::cout, theDConverterFP420, theGNoiseFP420, theHitDigitizerFP420, thePileUpFP420, theZSuppressFP420, and verbosity.

140  {
141  if(verbosity>0) {
142  std::cout << "Destroying a FP420DigiMain" << std::endl;
143  }
144  delete theGNoiseFP420;
145  delete theZSuppressFP420;
146  delete theHitDigitizerFP420;
147  delete thePileUpFP420;
148  delete theDConverterFP420;
149 
150 }
GaussNoiseFP420 * theGNoiseFP420
DigiConverterFP420 * theDConverterFP420
ZeroSuppressFP420 * theZSuppressFP420
PileUpFP420 * thePileUpFP420
tuple cout
Definition: gather_cfg.py:121
HitDigitizerFP420 * theHitDigitizerFP420

Member Function Documentation

void FP420DigiMain::fluctuateEloss ( int  particleId,
float  momentum,
float  eloss,
float  length,
int  NumberOfSegments,
float  elossVector[] 
)
private
void FP420DigiMain::push_digis ( const DigitalMapType dm,
const HitToDigisMapType htd,
const PileUpFP420::signal_map_type afterNoise 
)
private

Definition at line 261 of file FP420DigiMain.cc.

References gather_cfg::cout, digis, i, ndigis, and verbosity.

Referenced by run().

264  {
265  //
266  if(verbosity>0) {
267  std::cout << " ****FP420DigiMain: push_digis start: do for loop dm.size()=" << dm.size() << std::endl;
268  }
269 
270 
271  digis.reserve(50);
272  digis.clear();
273  // link_coll.clear();
274  for ( DigitalMapType::const_iterator i=dm.begin(); i!=dm.end(); i++) {
275 
276  // Load digis
277  // push to digis the content of first and second words of HDigiFP420 vector for every strip pointer (*i)
278  digis.push_back( HDigiFP420( (*i).first, (*i).second));
279  ndigis++;
280  // very useful check:
281  if(verbosity>0) {
282  std::cout << " ****FP420DigiMain:push_digis: ndigis = " << ndigis << std::endl;
283  std::cout << "push_digis: strip = " << (*i).first << " adc = " << (*i).second << std::endl;
284  }
285 
286  }
287 
289  /*
290  //
291  // reworked to access the fraction of amplitude per simhit PSimHit
292  //
293  for ( HitToDigisMapType::const_iterator mi=htd.begin(); mi!=htd.end(); mi++) {
294  #ifdef mydigidebug1
295  std::cout << " ****push_digis:first for: (*mi).first = " << (*mi).first << std::endl;
296  std::cout << " if condition = " << (*((const_cast<DigitalMapType * >(&dm))))[(*mi).first] << std::endl;
297  #endif
298  // if ((*((const_cast<DigitalMapType * >(&dm))))[(*mi).first] != 0){
299  if ((*((const_cast<DigitalMapType * >(&dm)))).find((*mi).first) != (*((const_cast<DigitalMapType * >(&dm)))).end() ){
300  //
301  // For each channel, sum up the signals from a simtrack
302  //
303  std::map<const PSimHit *, Amplitude> totalAmplitudePerSimHit;
304  for (std::vector < std::pair < const PSimHit*, Amplitude > >::const_iterator simul =
305  (*mi).second.begin() ; simul != (*mi).second.end(); simul ++){
306  #ifdef mydigidebug1
307  std::cout << " ****push_digis:inside last for: (*simul).second= " << (*simul).second << std::endl;
308  #endif
309  totalAmplitudePerSimHit[(*simul).first] += (*simul).second;
310  } // for
311  } // if
312  } // for
313  */
314 
316 
317  // reworked to access the fraction of amplitude per simhit
318 
319  for ( HitToDigisMapType::const_iterator mi=htd.begin(); mi!=htd.end(); mi++) {
320  //
321  if ((*((const_cast<DigitalMapType * >(&dm)))).find((*mi).first) != (*((const_cast<DigitalMapType * >(&dm)))).end() ){
322  // --- For each channel, sum up the signals from a simtrack
323  //
324  map<const PSimHit *, Amplitude> totalAmplitudePerSimHit;
325  for (std::vector < std::pair < const PSimHit*, Amplitude > >::const_iterator simul =
326  (*mi).second.begin() ; simul != (*mi).second.end(); simul ++){
327  totalAmplitudePerSimHit[(*simul).first] += (*simul).second;
328  }
329  /*
330  //--- include the noise as well
331 
332  PileUpFP420::signal_map_type& temp1 = const_cast<PileUpFP420::signal_map_type&>(afterNoise);
333  float totalAmplitude1 = temp1[(*mi).first];
334 
335  //--- digisimlink
336  for (std::map<const PSimHit *, Amplitude>::const_iterator iter = totalAmplitudePerSimHit.begin();
337  iter != totalAmplitudePerSimHit.end(); iter++){
338 
339  float threshold = 0.;
340  if (totalAmplitudePerSimHit[(*iter).first]/totalAmplitude1 >= threshold) {
341  float fraction = totalAmplitudePerSimHit[(*iter).first]/totalAmplitude1;
342 
343  //Noise fluctuation could make fraction>1. Unphysical, set it by hand.
344  if(fraction >1.) fraction = 1.;
345 
346  link_coll.push_back(StripDigiSimLink( (*mi).first, //channel
347  ((*iter).first)->trackId(), //simhit
348  fraction)); //fraction
349  }//if
350  }//for
351  */
352  //
353  }//if
354  }//for
355  //
356  //
358  //
359  //
360  //
361  }
DConverterFP420::DigitalMapType DigitalMapType
Definition: FP420DigiMain.h:39
int i
Definition: DBlmapReader.cc:9
std::vector< HDigiFP420 > digis
tuple cout
Definition: gather_cfg.py:121
vector< HDigiFP420 > FP420DigiMain::run ( const std::vector< PSimHit > &  input,
const G4ThreeVector &  bfield,
unsigned int  iu 
)

Definition at line 157 of file FP420DigiMain.cc.

References funct::abs(), PileUpFP420::add(), GaussNoiseFP420::addNoise(), DigiConverterFP420::convert(), gather_cfg::cout, PSimHit::detUnitId(), digis, PileUpFP420::dumpLink(), PileUpFP420::dumpSignal(), elossCut, PSimHit::energyLoss(), PSimHit::entryPoint(), PSimHit::exitPoint(), plotBeamSpotDB::first, moduleThickness, noNoise, numStrips, numStripsW, PSimHit::pabs(), PSimHit::particleType(), pitch, pitchW, HitDigitizerFP420::processHit(), push_digis(), PileUpFP420::reset(), theApplyTofCut, theDConverterFP420, theGNoiseFP420, theHitDigitizerFP420, thePileUpFP420, theZSuppressFP420, PSimHit::tof(), tofCut, PSimHit::trackId(), verbosity, PV3DBase< T, PVType, FrameType >::x(), xytype, PV3DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::z(), and ZeroSuppressFP420::zeroSuppress().

Referenced by cms::DigitizerFP420::produce().

158  {
159 
161  // unsigned int detID = det->globalId().rawId();
162  // unsigned int detID = 1;
163  bool first = true;
164 
165  // main loop
166  //
167  // First: loop on the SimHits
168  //
169  std::vector<PSimHit>::const_iterator simHitIter = input.begin();
170  std::vector<PSimHit>::const_iterator simHitIterEnd = input.end();
171  for (;simHitIter != simHitIterEnd; ++simHitIter) {
172 
173  const PSimHit ihit = *simHitIter;
174 
175  if ( first ) {
176  // detID = ihit.detUnitId();
177  first = false;
178  }
179 
180  // main part here:
181  double losenergy = ihit.energyLoss();
182  float tof = ihit.tof();
183 
184  if(verbosity>1) {
185  unsigned int unitID = ihit.detUnitId();
186  std::cout << " *******FP420DigiMain: intindex= " << iu << std::endl;
187  std::cout << " tof= " << tof << " EnergyLoss= " << losenergy << " pabs= " << ihit.pabs() << std::endl;
188  std::cout << " EntryLocalP x= " << ihit.entryPoint().x() << " EntryLocalP y= " << ihit.entryPoint().y() << std::endl;
189  std::cout << " ExitLocalP x= " << ihit.exitPoint().x() << " ExitLocalP y= " << ihit.exitPoint().y() << std::endl;
190  std::cout << " EntryLocalP z= " << ihit.entryPoint().z() << " ExitLocalP z= " << ihit.exitPoint().z() << std::endl;
191  std::cout << " unitID= " << unitID << " xytype= " << xytype << " particleType= " << ihit.particleType() << " trackId= " << ihit.trackId() << std::endl;
192  // std::cout << " det= " << det << " sector= " << sector << " zmodule= " << zmodule << std::endl;
193  std::cout << " bfield= " << bfield << std::endl;
194  }
195  if(verbosity>0) {
196  std::cout << " *******FP420DigiMain: theApplyTofCut= " << theApplyTofCut << std::endl;
197  std::cout << " tof= " << tof << " EnergyLoss= " << losenergy << " pabs= " << ihit.pabs() << std::endl;
198  std::cout << " particleType= " << ihit.particleType() << std::endl;
199  }
200 
201  //
202 
203  // if ( ( !(theApplyTofCut) || (theApplyTofCut && tofCut < abs(tof) < (tofCut+200.)) ) && losenergy > elossCut) {
204  if ( ( !(theApplyTofCut) || ( theApplyTofCut && abs(tof) > tofCut && abs(tof) < (tofCut+200.)) ) && losenergy > elossCut) {
205  // if ( abs(tof) < tofCut && losenergy > elossCut) {
206  // if ( losenergy>0) {
207  if(verbosity>0) std::cout << " inside tof: OK " << std::endl;
208 
209  // xytype = 1 - Y strips; =2 - X strips;
210  // HitDigitizerFP420::hit_map_type _temp = theHitDigitizerFP420->processHit(ihit,bfield,xytype,numStrips,pitch);
212 
213 
214 
215  thePileUpFP420->add(_temp,ihit,verbosity);
216 
217  }// if
218 
219  else {
220  // std::cout << " *******FP420DigiMain: ERROR??? losenergy = " << losenergy << std::endl;
221  }
222  // main part end (AZ)
223  } //for
224  // main loop end (AZ)
225 
228 
229 
230  PileUpFP420::signal_map_type afterNoise;
231 
232  if (noNoise) {
233  afterNoise = theSignal;
234  } else {
235  afterNoise = theGNoiseFP420->addNoise(theSignal);
236  // add_noise();
237  }
238 
239  // if((pixelInefficiency>0) && (_signal.size()>0))
240  // pixel_inefficiency(); // Kill some pixels
241 
242 
243 
244  digis.clear();
245 
246 
247 
248  // !!!!!
250  theLink,afterNoise);
251 
252 
253 
254  return digis; // to HDigiFP420
255 }
float tof() const
deprecated name for timeOfFlight()
Definition: PSimHit.h:72
GaussNoiseFP420 * theGNoiseFP420
void reset()
Definition: PileUpFP420.h:22
std::map< int, float, std::less< int > > hit_map_type
T y() const
Definition: PV3DBase.h:63
std::vector< HDigiFP420 > digis
PileUpFP420::signal_map_type addNoise(const PileUpFP420::signal_map_type &)
DigitalMapType convert(const signal_map_type &)
static std::string const input
Definition: EdmProvDump.cc:43
Local3DPoint exitPoint() const
Exit point in the local Det frame.
Definition: PSimHit.h:38
virtual void add(const HitDigitizerFP420::hit_map_type &, const PSimHit &hit, int)
Definition: PileUpFP420.cc:13
DigiConverterFP420 * theDConverterFP420
T z() const
Definition: PV3DBase.h:64
ZSuppressFP420::DigitalMapType zeroSuppress(const DigitalMapType &, int)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
float pabs() const
fast and more accurate access to momentumAtEntry().mag()
Definition: PSimHit.h:63
ZeroSuppressFP420 * theZSuppressFP420
signal_map_type dumpSignal()
Definition: PileUpFP420.h:23
float energyLoss() const
The energy deposit in the PSimHit, in ???.
Definition: PSimHit.h:75
int particleType() const
Definition: PSimHit.h:85
void push_digis(const DigitalMapType &, const HitToDigisMapType &, const PileUpFP420::signal_map_type &)
std::map< int, Amplitude, std::less< int > > signal_map_type
Definition: PileUpFP420.h:15
PileUpFP420 * thePileUpFP420
unsigned int trackId() const
Definition: PSimHit.h:102
tuple cout
Definition: gather_cfg.py:121
T x() const
Definition: PV3DBase.h:62
Local3DPoint entryPoint() const
Entry point in the local Det frame.
Definition: PSimHit.h:35
HitToDigisMapType dumpLink()
Definition: PileUpFP420.h:24
std::map< int, std::vector< std::pair< const PSimHit *, Amplitude > >, std::less< int > > HitToDigisMapType
Definition: PileUpFP420.h:16
HitDigitizerFP420 * theHitDigitizerFP420
unsigned int detUnitId() const
Definition: PSimHit.h:93
hit_map_type processHit(const PSimHit &, const G4ThreeVector &, int, int, double, int, double, double, int)
float moduleThickness

Member Data Documentation

std::vector<short int> FP420DigiMain::adcVec
private

Definition at line 54 of file FP420DigiMain.h.

bool FP420DigiMain::addNoisyPixels
private

Definition at line 82 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::appliedVoltage
private

Definition at line 103 of file FP420DigiMain.h.

double FP420DigiMain::chargeDistributionRMS
private

Definition at line 107 of file FP420DigiMain.h.

double FP420DigiMain::chargeMobility
private

Definition at line 104 of file FP420DigiMain.h.

float FP420DigiMain::ClusterWidth
private

Definition at line 67 of file FP420DigiMain.h.

edm::ParameterSet FP420DigiMain::conf_
private

Definition at line 56 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::depletionVoltage
private

Definition at line 102 of file FP420DigiMain.h.

std::vector<HDigiFP420> FP420DigiMain::digis
private

Definition at line 200 of file FP420DigiMain.h.

Referenced by push_digis(), and run().

bool FP420DigiMain::doMissCalibrate
private

Definition at line 178 of file FP420DigiMain.h.

float FP420DigiMain::elossCut
private

Definition at line 85 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

float FP420DigiMain::ENC
private

Definition at line 75 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

LandauFP420 FP420DigiMain::fluctuate
private

Definition at line 189 of file FP420DigiMain.h.

double FP420DigiMain::ldrift
private

Definition at line 98 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::ldriftX
private

Definition at line 96 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::ldriftY
private

Definition at line 97 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

float FP420DigiMain::moduleThickness
private

Definition at line 170 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

int FP420DigiMain::ndigis
private

Definition at line 53 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and push_digis().

bool FP420DigiMain::noDiffusion
private

Definition at line 106 of file FP420DigiMain.h.

bool FP420DigiMain::noNoise
private

Definition at line 81 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

int FP420DigiMain::NumberOfSegments
private

Definition at line 59 of file FP420DigiMain.h.

int FP420DigiMain::numStrips
private

Definition at line 164 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

int FP420DigiMain::numStripsW
private

Definition at line 167 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

int FP420DigiMain::numStripsX
private

Definition at line 162 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

int FP420DigiMain::numStripsXW
private

Definition at line 165 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

int FP420DigiMain::numStripsY
private

Definition at line 163 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

int FP420DigiMain::numStripsYW
private

Definition at line 166 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::pitch
private

Definition at line 91 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

double FP420DigiMain::pitchW
private

Definition at line 94 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

double FP420DigiMain::pitchX
private

Definition at line 89 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::pitchXW
private

Definition at line 92 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::pitchY
private

Definition at line 90 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::pitchYW
private

Definition at line 93 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

float FP420DigiMain::Sigma0
private

Definition at line 63 of file FP420DigiMain.h.

std::vector<const PSimHit*> FP420DigiMain::ss
private

Definition at line 191 of file FP420DigiMain.h.

double FP420DigiMain::temperature
private

Definition at line 105 of file FP420DigiMain.h.

int FP420DigiMain::theAdcFullScale
private

Definition at line 76 of file FP420DigiMain.h.

bool FP420DigiMain::theApplyTofCut
private

Definition at line 83 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

CDividerFP420* FP420DigiMain::theCDividerFP420
private

Definition at line 130 of file FP420DigiMain.h.

ChargeDrifterFP420* FP420DigiMain::theCDrifterFP420
private

Definition at line 120 of file FP420DigiMain.h.

DigiConverterFP420* FP420DigiMain::theDConverterFP420
private

Definition at line 158 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), run(), and ~FP420DigiMain().

float FP420DigiMain::theElectronPerADC
private

Definition at line 71 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

float FP420DigiMain::theGainSmearing
private

Definition at line 179 of file FP420DigiMain.h.

GaussNoiseFP420* FP420DigiMain::theGNoiseFP420
private

Definition at line 154 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), run(), and ~FP420DigiMain().

HitDigitizerFP420* FP420DigiMain::theHitDigitizerFP420
private

Definition at line 156 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), run(), and ~FP420DigiMain().

float FP420DigiMain::theNoiseInElectrons
private

Definition at line 77 of file FP420DigiMain.h.

GaussNoiseProducerFP420* FP420DigiMain::theNoiser
private

Definition at line 190 of file FP420DigiMain.h.

float FP420DigiMain::theOffsetSmearing
private

Definition at line 180 of file FP420DigiMain.h.

PileUpFP420* FP420DigiMain::thePileUpFP420
private

Definition at line 155 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), run(), and ~FP420DigiMain().

int FP420DigiMain::theStripsInChip
private

Definition at line 160 of file FP420DigiMain.h.

float FP420DigiMain::theStripThreshold
private

Definition at line 78 of file FP420DigiMain.h.

float FP420DigiMain::theStripThresholdInE
private

Definition at line 79 of file FP420DigiMain.h.

float FP420DigiMain::theThreshold
private

Definition at line 87 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::thez420
private

Definition at line 72 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::thezD2
private

Definition at line 73 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::thezD3
private

Definition at line 74 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

ZeroSuppressFP420* FP420DigiMain::theZSuppressFP420
private

Definition at line 157 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), run(), and ~FP420DigiMain().

float FP420DigiMain::Thick300
private

Definition at line 64 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

double FP420DigiMain::tMax
private

Definition at line 186 of file FP420DigiMain.h.

double FP420DigiMain::tofCut
private

Definition at line 86 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

int FP420DigiMain::verbosity
private

Definition at line 59 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), push_digis(), run(), and ~FP420DigiMain().

int FP420DigiMain::xytype
private

Definition at line 59 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().