14 : myCalorimeter(theCalo),
15 theCaloProperties(nullptr),
46 double AAA = normal.X();
47 double BBB = normal.Y();
48 double CCC = normal.Z();
50 double DDD = p.HesseDistance();
52 double denom = AAA * (b.X() - a.X()) + BBB * (b.Y() - a.Y()) + CCC * (b.Z() - a.Z());
55 t = -(AAA * a.X() + BBB * a.Y() + CCC * a.Z() + DDD);
61 return XYZPoint(a.X() + (b.X() - a.X()) * t, a.Y() + (b.Y() - a.Y()) * t, a.Z() + (b.Z() - a.Z()) * t);
63 return XYZPoint(a.X() + (b.X() - a.X()) * t, a.Y() + (b.Y() - a.Y()) * t, a.Z() + (b.Z() - a.Z()) * t);
const ECALProperties * ecalProperties(int onEcal) const
ECAL properties.
const CalorimeterProperties * theCaloProperties
const PreshowerLayer1Properties * layer1Properties(int onLayer1) const
Preshower Layer1 properties.
const CaloGeometryHelper * myCalorimeter
const HCALProperties * hcalProperties(int onHcal) const
HCAL properties.
static XYZPoint intersect(const Plane3D &p, const XYZPoint &a, const XYZPoint &b, double &t, bool segment, bool debug=false)
virtual double moliereRadius() const =0
Moliere Radius in cm.
ROOT::Math::Plane3D Plane3D
math::XYZVector XYZVector
virtual double interactionLength() const =0
Interaction length in cm.
CaloHitMaker(const CaloGeometryHelper *calo, DetId::Detector det, int subdetn, int cal, unsigned sht=0)