CMS 3D CMS Logo

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 29 of file FP420DigiMain.cc.

References addNoisyPixels, conf_, 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.

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

Definition at line 110 of file FP420DigiMain.cc.

References theDConverterFP420, theGNoiseFP420, theHitDigitizerFP420, thePileUpFP420, and theZSuppressFP420.

110  {
111  delete theGNoiseFP420;
112  delete theZSuppressFP420;
113  delete theHitDigitizerFP420;
114  delete thePileUpFP420;
115  delete theDConverterFP420;
116 }
GaussNoiseFP420 * theGNoiseFP420
DigiConverterFP420 * theDConverterFP420
ZeroSuppressFP420 * theZSuppressFP420
PileUpFP420 * thePileUpFP420
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 195 of file FP420DigiMain.cc.

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

Referenced by run().

198  {
199  //
200  if(verbosity>0) {
201  std::cout << " ****FP420DigiMain: push_digis start: do for loop dm.size()=" << dm.size() << std::endl;
202  }
203 
204  digis.reserve(50);
205  digis.clear();
206  // link_coll.clear();
207  for ( DigitalMapType::const_iterator i=dm.begin(); i!=dm.end(); i++) {
208 
209  // Load digis
210  // push to digis the content of first and second words of HDigiFP420 vector for every strip pointer (*i)
211  digis.push_back( HDigiFP420( (*i).first, (*i).second));
212  ndigis++;
213  // very useful check:
214  if(verbosity>0) {
215  std::cout << " ****FP420DigiMain:push_digis: ndigis = " << ndigis << std::endl;
216  std::cout << "push_digis: strip = " << (*i).first << " adc = " << (*i).second << std::endl;
217  }
218 
219  }
220 
222 
223  // reworked to access the fraction of amplitude per simhit
224 
225  for ( HitToDigisMapType::const_iterator mi=htd.begin(); mi!=htd.end(); mi++) {
226  //
227  if (dm.find((*mi).first) != dm.end() ){
228  // --- For each channel, sum up the signals from a simtrack
229  //
230  map<const PSimHit *, Amplitude> totalAmplitudePerSimHit;
231  for (std::vector < std::pair < const PSimHit*, Amplitude > >::const_iterator simul =
232  (*mi).second.begin() ; simul != (*mi).second.end(); simul ++){
233  totalAmplitudePerSimHit[(*simul).first] += (*simul).second;
234  }
235  /*
236  //--- include the noise as well
237 
238  PileUpFP420::signal_map_type& temp1 = const_cast<PileUpFP420::signal_map_type&>(afterNoise);
239  float totalAmplitude1 = temp1[(*mi).first];
240 
241  //--- digisimlink
242  for (std::map<const PSimHit *, Amplitude>::const_iterator iter = totalAmplitudePerSimHit.begin();
243  iter != totalAmplitudePerSimHit.end(); iter++){
244 
245  float threshold = 0.;
246  if (totalAmplitudePerSimHit[(*iter).first]/totalAmplitude1 >= threshold) {
247  float fraction = totalAmplitudePerSimHit[(*iter).first]/totalAmplitude1;
248 
249  //Noise fluctuation could make fraction>1. Unphysical, set it by hand.
250  if(fraction >1.) fraction = 1.;
251 
252  link_coll.push_back(StripDigiSimLink( (*mi).first, //channel
253  ((*iter).first)->trackId(), //simhit
254  fraction)); //fraction
255  }//if
256  }//for
257  */
258  //
259  }//if
260  }//for
261 }
std::vector< HDigiFP420 > digis
vector< HDigiFP420 > FP420DigiMain::run ( const std::vector< PSimHit > &  input,
const G4ThreeVector &  bfield,
unsigned int  iu 
)

Definition at line 121 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().

122  {
123 
125  bool first = true;
126 
127  // main loop
128  //
129  // First: loop on the SimHits
130  //
131  std::vector<PSimHit>::const_iterator simHitIter = input.begin();
132  std::vector<PSimHit>::const_iterator simHitIterEnd = input.end();
133  for (;simHitIter != simHitIterEnd; ++simHitIter) {
134 
135  const PSimHit ihit = *simHitIter;
136 
137  if ( first ) {
138  // detID = ihit.detUnitId();
139  first = false;
140  }
141 
142  // main part here:
143  double losenergy = ihit.energyLoss();
144  float tof = ihit.tof();
145 
146  if(verbosity>1) {
147  unsigned int unitID = ihit.detUnitId();
148  std::cout << " *******FP420DigiMain: intindex= " << iu << std::endl;
149  std::cout << " tof= " << tof << " EnergyLoss= " << losenergy << " pabs= " << ihit.pabs() << std::endl;
150  std::cout << " EntryLocalP x= " << ihit.entryPoint().x() << " EntryLocalP y= " << ihit.entryPoint().y() << std::endl;
151  std::cout << " ExitLocalP x= " << ihit.exitPoint().x() << " ExitLocalP y= " << ihit.exitPoint().y() << std::endl;
152  std::cout << " EntryLocalP z= " << ihit.entryPoint().z() << " ExitLocalP z= " << ihit.exitPoint().z() << std::endl;
153  std::cout << " unitID= " << unitID << " xytype= " << xytype << " particleType= " << ihit.particleType() << " trackId= " << ihit.trackId() << std::endl;
154  // std::cout << " det= " << det << " sector= " << sector << " zmodule= " << zmodule << std::endl;
155  std::cout << " bfield= " << bfield << std::endl;
156  }
157  if(verbosity>0) {
158  std::cout << " *******FP420DigiMain: theApplyTofCut= " << theApplyTofCut << std::endl;
159  std::cout << " tof= " << tof << " EnergyLoss= " << losenergy << " pabs= " << ihit.pabs() << std::endl;
160  std::cout << " particleType= " << ihit.particleType() << std::endl;
161  }
162 
163  if ( ( !(theApplyTofCut) || ( theApplyTofCut && abs(tof) > tofCut && abs(tof) < (tofCut+200.)) ) && losenergy > elossCut) {
164  if(verbosity>0) std::cout << " inside tof: OK " << std::endl;
165 
167 
168  thePileUpFP420->add(_temp,ihit,verbosity);
169 
170  }
171  // main part end (AZ)
172  } //for
173  // main loop end (AZ)
174 
177 
178 
179  PileUpFP420::signal_map_type afterNoise;
180 
181  if (noNoise) {
182  afterNoise = theSignal;
183  } else {
184  afterNoise = theGNoiseFP420->addNoise(theSignal);
185  // add_noise();
186  }
187  digis.clear();
188 
190  theLink,afterNoise);
191 
192  return digis; // to HDigiFP420
193 }
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:44
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
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(), and run().

int FP420DigiMain::xytype
private

Definition at line 59 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().