1 #ifndef FastSimulation_GeometryTool_BaseCrystal_h 2 #define FastSimulation_GeometryTool_BaseCrystal_h 6 #include "Math/GenVector/Plane3D.h" 68 void getBackSide(XYZPoint& a, XYZPoint& b, XYZPoint& c, XYZPoint& d)
const;
69 void getBackSide(std::vector<XYZPoint>& corners)
const;
71 void getLateralSide(
unsigned i, XYZPoint& a, XYZPoint& b, XYZPoint& c, XYZPoint& d)
const;
72 void getLateralSide(
unsigned i, std::vector<XYZPoint>& corners)
const;
74 void getSide(
const CaloDirection& side, XYZPoint& a, XYZPoint& b, XYZPoint& c, XYZPoint& d)
const;
void getLateralEdges(unsigned i, XYZPoint &, XYZPoint &) const
get the lateral edges
XYZVector firstedgedirection_
void setCorners(const CaloCellGeometry::CornersVec &vec, const GlobalPoint &pos)
const XYZVector & exitingNormal(const CaloDirection &side) const
normal exiting vector for the surface
math::XYZVector XYZVector
const Plane3D & getFrontPlane() const
front plane
const XYZVector & getFirstEdge() const
Direction of the first edge.
static unsigned oppositeDirection(unsigned iside)
void getDrawingCoordinates(std::vector< float > &x, std::vector< float > &y, std::vector< float > &z) const
for debugging.
XYZVector lateraldirection_[4]
const XYZPoint & getBackCenter() const
get front center
BaseCrystal()
Empty constructor.
void getBackSide(XYZPoint &a, XYZPoint &b, XYZPoint &c, XYZPoint &d) const
Coordinates of the back side.
const DetId & getDetId() const
get the DetId
const XYZVector & getLateralEdge(unsigned i) const
lateral directions
const XYZPoint & getFrontCenter() const
get front center
const Plane3D & getBackPlane() const
back plane
ROOT::Math::Plane3D Plane3D
const Plane3D & getLateralPlane(unsigned i) const
lateral planes
void getSide(const CaloDirection &side, XYZPoint &a, XYZPoint &b, XYZPoint &c, XYZPoint &d) const
generic access
const XYZPoint & getCenter() const
get 1/8*(Sum of corners)
XYZVector exitingNormal_[6]
void getLateralSide(unsigned i, XYZPoint &a, XYZPoint &b, XYZPoint &c, XYZPoint &d) const
Coordinates of the i=th lateral side.
static CaloDirection Side(unsigned i)
unsigned int -> Side conversion
const XYZVector & getFifthEdge() const
Direction of the fifth edge.
const XYZPoint & getCorner(unsigned i) const
get the i-th corner
XYZVectorD XYZVector
spatial vector with cartesian internal representation
const int getSubdetNumber() const
get the subdector
~BaseCrystal()
Copy constructor.
CaloDirection
Codes the local directions in the cell lattice.
const Plane3D & getPlane(const CaloDirection &side) const
generic access
void getFrontSide(XYZPoint &a, XYZPoint &b, XYZPoint &c, XYZPoint &d) const
coordinates of the front side
XYZVector fifthedgedirection_
const XYZVector & getAxis() const
get crystal axis
ROOT::Math::Plane3D Plane3D
void computeBasicProperties()