1 #ifndef FastSimulation_CaloHitMakers_EcalHitMaker_h 2 #define FastSimulation_CaloHitMakers_EcalHitMaker_h 117 const std::map<CaloHitID, float>&
getHits()
override;
179 void gapsLifting(std::vector<neighbour>& gaps,
unsigned iq);
182 void cracksPads(std::vector<neighbour>& cracks,
unsigned iq);
double ecalHcalGapTotalL0() const
ECAL-HCAL transition.
void ecalCellLine(const XYZPoint &, const XYZPoint &, std::vector< CaloPoint > &cp)
double pulledPadProbability_
bool addHit(double r, double phi, unsigned layer=0) override
CrystalWindowMap * myCrystalWindowMap_
void convertIntegerCoordinates(double x, double y, unsigned &ix, unsigned &iy) const
std::map< DetId, unsigned > DetIdMap_
std::vector< CrystalPad > crackpadsatdepth_
static const char * normal
const std::vector< Crystal > & getCrystals() const
for debugging
double ps2TotalL0() const
total number of L0 in the PS (Layer2).
EcalHitMaker(CaloGeometryHelper *calo, const XYZPoint &ecalentrance, const DetId &cell, int onEcal, unsigned size, unsigned showertype, const RandomEngineAndDistribution *engine)
const std::vector< CaloSegment > & getSegments() const
bool unbalancedDirection(const std::vector< neighbour > &dirs, unsigned &unb, unsigned &dir1, unsigned &dir2)
double ps1TotalX0() const
double ecalTotalL0() const
in the ECAL
void setCrackPadSurvivalProbability(double val)
std::vector< CrystalPad > padsatdepth_
std::vector< CLHEP::Hep2Vector > mycorners
const RandomEngineAndDistribution * random
double x0DepthOffset() const
get the offset (e.g the number of X0 after which the shower starts)
void prepareCrystalNumberArray()
double hcalTotalX0() const
in the HCAL
bool inside3D(const std::vector< XYZPoint > &, const XYZPoint &p) const
bool pulled(const XYZPoint &origin, const XYZNormal &normal, XYZPoint &fPoint) const
void setRadiusFactor(double r)
unsigned fastInsideCell(const CLHEP::Hep2Vector &point, double &sp, bool debug=false)
double crackPadProbability_
bool addHitDepth(double r, double phi, double depth=-1)
const std::map< CaloHitID, float > & getHits() override
double radiusCorrectionFactor_
void setTrackParameters(const XYZNormal &normal, double X0depthoffset, const FSimTrack &theTrack)
const FSimTrack * myTrack_
double ecalTotalX0() const
in the ECAL
void cracksPads(std::vector< neighbour > &cracks, unsigned iq)
std::vector< CaloPoint > intersections_
math::XYZVector XYZVector
double ecalHcalGapTotalX0() const
ECAL-HCAL transition.
double outsideWindowEnergy_
void gapsLifting(std::vector< neighbour > &gaps, unsigned iq)
CLHEP::Hep2Vector & correspondingEdge(neighbour &myneighbour, CaloDirection dir2)
ROOT::Math::Plane3D Plane3D
double ps1TotalL0() const
total number of L0 in the PS (Layer1).
std::pair< CaloDirection, unsigned > neighbour
double ps2eeTotalX0() const
unsigned ncrackpadsatdepth_
std::vector< XYZPoint > corners
XYZVectorD XYZVector
spatial vector with cartesian internal representation
void preshowerCellLine(std::vector< CaloPoint > &cp) const
ROOT::Math::Plane3D Plane3D
double totalL0() const
Number of interaction length "seen" by the track.
const FSimTrack * getFSimTrack() const
To retrieve the track.
bool getPads(double depth, bool inCm=false)
void cellLine(std::vector< CaloPoint > &cp)
double hcalTotalL0() const
in the HCAL
std::vector< std::vector< unsigned > > myCrystalNumberArray_
std::vector< float > hits_
std::vector< Crystal > regionOfInterest_
void buildSegments(const std::vector< CaloPoint > &cp)
void hcalCellLine(std::vector< CaloPoint > &cp) const
double ps2TotalX0() const
total number of X0 in the PS (Layer2).
void setPulledPadSurvivalProbability(double val)
void setPreshowerPresent(bool ps)
std::vector< bool > validPads_
double ps2eeTotalL0() const
std::vector< DetId > CellsWindow_
CaloDirection
Codes the local directions in the cell lattice.
const XYZPoint & ecalEntrance() const
used in FamosHcalHitMaker
bool hitmaphasbeencalculated_
math::XYZVector XYZNormal
ROOT::Math::Plane3D Plane3D
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
void setSpotEnergy(double e) override
bool diagonalEdge(unsigned myPad, CaloDirection dir, CLHEP::Hep2Vector &point)
std::vector< CaloSegment > segments_