Go to the documentation of this file.
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 HCALProperties * hcalProperties(int onHcal) const
HCAL properties.
const ECALProperties * ecalProperties(int onEcal) const
ECAL properties.
const PreshowerLayer1Properties * layer1Properties(int onLayer1) const
Preshower Layer1 properties.
virtual double interactionLength() const =0
Interaction length in cm.
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::Point Point
const CaloGeometryHelper * myCalorimeter
ROOT::Math::Plane3D Plane3D
const CalorimeterProperties * theCaloProperties
CaloHitMaker(const CaloGeometryHelper *calo, DetId::Detector det, int subdetn, int cal, unsigned sht=0)
math::XYZVector XYZVector