1 #ifndef SiPixelDigitizerAlgorithm_h
2 #define SiPixelDigitizerAlgorithm_h
54 class HepRandomEngine;
139 float t,
float a=1.0) :
192 operator float()
const {
return _amp;}
195 const std::vector<const PSimHit*>&
hits() {
return _hits;}
201 if (other.
_frac[0]>-0.5){
211 void set (
const float amplitude) {
229 typedef std::map<unsigned int, std::vector<float>,std::less<unsigned int> >
358 std::map<int,CalParameters,std::less<int> >
calmap;
369 float elossVector[]);
void init(const edm::EventSetup &es)
std::vector< T > collection_type
void operator+=(const Amplitude &other)
float thePixelThresholdInE
std::vector< float > individualampl() const
bool use_LorentzAngle_DB_
edm::ESHandle< SiPixelFedCablingMap > map_
GaussianTailNoiseGenerator * theNoiser
float tanLorentzAnglePerTesla_BPix
SignalPoint(float x, float y, float sigma_x, float sigma_y, float t, const PSimHit &hit, float a=1.0)
std::map< unsigned int, std::vector< float >, std::less< unsigned int > > simlink_map
std::vector< PixelDigiSimLink > make_link()
EnergyDepositUnit(float energy, Local3DPoint position)
const PixelGeomDetUnit * _detp
CLHEP::RandGaussQ * smearedChargeDistribution_
SignalPoint(float x, float y, float sigma_x, float sigma_y, float t, float a=1.0)
SiG4UniversalFluctuation * fluctuate
std::map< int, Amplitude, std::less< int > > signal_map_type
const LocalPoint & position() const
float thePixelColEfficiency[6]
float thePixelChipEfficiency[6]
std::vector< PixelDigi > digitize(PixelGeomDetUnit *det)
edm::ESHandle< TrackerGeometry > geom_
~SiPixelDigitizerAlgorithm()
void fluctuateEloss(int particleId, float momentum, float eloss, float length, int NumberOfSegments, float elossVector[])
const std::vector< const PSimHit * > & hits()
bool addPixelInefficiency
static int position[TOTALCHAMBERS][3]
SiPixelGainCalibrationOfflineSimService * theSiPixelGainCalibrationService_
CLHEP::RandGaussQ * gaussDistributionVCALNoise_
Amplitude(float amp, const PSimHit *hitp, float frac)
double theThresholdSmearing_BPix
float theThresholdInE_BPix
void fillDeadModules(const edm::EventSetup &es)
float thePixelEfficiency[6]
std::vector< PixelDigiSimLink > link_coll
edm::DetSet< PixelDigi >::collection_type run(const std::vector< PSimHit > &input, PixelGeomDetUnit *pixdet, GlobalVector)
CLHEP::RandGaussQ * theGaussianDistribution
float tanLorentzAnglePerTesla_FPix
PixelIndices * pIndexConverter
void fillLorentzAngle(const edm::EventSetup &es)
float theThresholdInE_FPix
signal_map_type::iterator signal_map_iterator
std::vector< PSimHit > _PixelHits
float PixelChipEfficiency
SignalPoint & set_amplitude(float amp)
float theNoiseInElectrons
EnergyDepositUnit(float energy, float x, float y, float z)
void module_killing_conf()
edm::ESHandle< SiPixelLorentzAngle > SiPixelLorentzAngle_
std::map< int, CalParameters, std::less< int > > calmap
double electronsPerVCAL_Offset
std::vector< const PSimHit * > _hits
CLHEP::RandGaussQ * gaussDistribution_
const PixelTopology * topol
std::vector< PixelDigi > internal_coll
std::vector< float > _frac
edm::ESHandle< SiPixelQuality > SiPixelBadModule_
void fillMapandGeom(const edm::EventSetup &es)
void pixel_inefficiency()
bool addChargeVCALSmearing
GloballyPositioned< double > Frame
CLHEP::RandGaussQ * smearedThreshold_FPix_
double theThresholdSmearing_FPix
std::vector< EnergyDepositUnit > _ionization_points
std::vector< edm::ParameterSet > Parameters
CLHEP::RandGaussQ * smearedThreshold_BPix_
void operator+=(const float &)
void drift(const PSimHit &hit)
float theSmearedChargeRMS
void set(const float amplitude)
bool addThresholdSmearing
void primary_ionization(const PSimHit &hit)
CLHEP::RandFlat * flatDistribution_
SiPixelDigitizerAlgorithm(const edm::ParameterSet &conf, CLHEP::HepRandomEngine &)
std::vector< SignalPoint > _collection_points
float missCalibrate(int col, int row, float amp) const
void induce_signal(const PSimHit &hit)
void pixel_inefficiency_db()
LocalVector DriftDirection()
CLHEP::HepRandomEngine & rndEngine