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