#include <FastSimulation/CaloGeometryTools/interface/Crystal.h>
Public Types | |
typedef ROOT::Math::Plane3D | Plane3D |
typedef math::XYZVector | XYZPoint |
typedef math::XYZVector | XYZVector |
Public Member Functions | |
Crystal (const DetId &cell, const BaseCrystal *bc=0) | |
constructor from DetId | |
Crystal () | |
Empty constructor. | |
CrystalNeighbour & | crystalNeighbour (unsigned iq) |
Direct acces to the iq-th neighbour. | |
const XYZVector & | exitingNormal (const CaloDirection &side) const |
normal exiting vector for the surface | |
const XYZVector & | getAxis () const |
get crystal axis | |
const XYZPoint & | getBackCenter () const |
get front center | |
const Plane3D & | getBackPlane () const |
back plane | |
void | getBackSide (std::vector< XYZPoint > &corners) const |
void | getBackSide (XYZPoint &a, XYZPoint &b, XYZPoint &c, XYZPoint &d) const |
Coordinates of the back side. | |
const XYZPoint & | getCenter () const |
get 1/8*(Sum of corners) | |
const XYZPoint & | getCorner (unsigned i) const |
get the i-th corner | |
const DetId & | getDetId () const |
get the DetId | |
void | getDrawingCoordinates (std::vector< float > &x, std::vector< float > &y, std::vector< float > &z) const |
for debugging. | |
const XYZVector & | getFifthEdge () const |
Direction of the fifth edge. | |
const XYZVector & | getFirstEdge () const |
Direction of the first edge. | |
const XYZPoint & | getFrontCenter () const |
get front center | |
const Plane3D & | getFrontPlane () const |
front plane | |
void | getFrontSide (std::vector< XYZPoint > &corners) const |
void | getFrontSide (XYZPoint &a, XYZPoint &b, XYZPoint &c, XYZPoint &d) const |
coordinates of the front side | |
const XYZVector & | getLateralEdge (unsigned i) const |
lateral directions | |
void | getLateralEdges (unsigned i, XYZPoint &a, XYZPoint &b) const |
get the lateral edges | |
const Plane3D & | getLateralPlane (unsigned i) const |
lateral planes | |
void | getLateralSide (unsigned i, std::vector< XYZPoint > &corners) const |
void | getLateralSide (unsigned i, XYZPoint &a, XYZPoint &b, XYZPoint &c, XYZPoint &d) const |
Coordinates of the i=th lateral side. | |
const Plane3D & | getPlane (const CaloDirection &side) const |
generic access | |
void | getSide (const CaloDirection &side, std::vector< XYZPoint > &corners) const |
void | getSide (const CaloDirection &side, XYZPoint &a, XYZPoint &b, XYZPoint &c, XYZPoint &d) const |
generic access | |
const int | getSubdetNumber () const |
get the subdector | |
double | getX0Back () const |
get the X0back | |
unsigned | number () const |
get the number of the crystal | |
void | print () const |
void | setNumber (unsigned n) |
it might be useful to have a number assigned to the crystal | |
void | setX0Back (double val) |
set X0back (it depends on the choosen origin, it isn't purely geometrical) | |
~Crystal () | |
Static Public Member Functions | |
static unsigned | oppositeDirection (unsigned iside) |
Private Attributes | |
DetId | cellid_ |
const BaseCrystal * | myCrystal_ |
std::vector< CrystalNeighbour > | neighbours_ |
unsigned | number_ |
double | X0back_ |
Classes | |
class | crystalEqual |
Definition at line 20 of file Crystal.h.
typedef ROOT::Math::Plane3D Crystal::Plane3D |
typedef math::XYZVector Crystal::XYZPoint |
typedef math::XYZVector Crystal::XYZVector |
Crystal::Crystal | ( | ) | [inline] |
Crystal::Crystal | ( | const DetId & | cell, | |
const BaseCrystal * | bc = 0 | |||
) |
constructor from DetId
Definition at line 4 of file Crystal.cc.
References neighbours_.
00004 :cellid_(cell),myCrystal_(xtal) 00005 { 00006 neighbours_.resize(8); 00007 }
CrystalNeighbour& Crystal::crystalNeighbour | ( | unsigned | iq | ) | [inline] |
Direct acces to the iq-th neighbour.
Definition at line 102 of file Crystal.h.
References neighbours_.
00102 { return neighbours_[iq];}
const XYZVector& Crystal::exitingNormal | ( | const CaloDirection & | side | ) | const [inline] |
normal exiting vector for the surface
Definition at line 84 of file Crystal.h.
References BaseCrystal::exitingNormal(), and myCrystal_.
00084 {return myCrystal_->exitingNormal(side);}
const XYZVector& Crystal::getAxis | ( | ) | const [inline] |
get crystal axis
Definition at line 105 of file Crystal.h.
References BaseCrystal::getAxis(), and myCrystal_.
00105 { return myCrystal_->getAxis();}
const XYZPoint& Crystal::getBackCenter | ( | ) | const [inline] |
get front center
Definition at line 43 of file Crystal.h.
References BaseCrystal::getBackCenter(), and myCrystal_.
00043 {return myCrystal_->getBackCenter();}
const Plane3D& Crystal::getBackPlane | ( | ) | const [inline] |
back plane
Definition at line 74 of file Crystal.h.
References BaseCrystal::getBackPlane(), and myCrystal_.
00074 {return myCrystal_->getBackPlane();}
Definition at line 60 of file Crystal.h.
References BaseCrystal::getBackSide(), and myCrystal_.
00060 {myCrystal_->getBackSide(corners);}
Coordinates of the back side.
Definition at line 59 of file Crystal.h.
References BaseCrystal::getBackSide(), and myCrystal_.
00059 {myCrystal_->getBackSide(a,b,c,d);}
const XYZPoint& Crystal::getCenter | ( | ) | const [inline] |
get 1/8*(Sum of corners)
Definition at line 39 of file Crystal.h.
References BaseCrystal::getCenter(), and myCrystal_.
00039 {return myCrystal_->getCenter();};
const XYZPoint& Crystal::getCorner | ( | unsigned | i | ) | const [inline] |
get the i-th corner
Definition at line 37 of file Crystal.h.
References BaseCrystal::getCorner(), and myCrystal_.
00037 { return myCrystal_->getCorner(i);};
const DetId& Crystal::getDetId | ( | ) | const [inline] |
get the DetId
Definition at line 49 of file Crystal.h.
References cellid_.
Referenced by EcalHitMaker::EcalHitMaker(), and Crystal::crystalEqual::operator()().
00049 {return cellid_;};
void Crystal::getDrawingCoordinates | ( | std::vector< float > & | x, | |
std::vector< float > & | y, | |||
std::vector< float > & | z | |||
) | const [inline] |
for debugging.
Definition at line 89 of file Crystal.h.
References BaseCrystal::getDrawingCoordinates(), and myCrystal_.
00090 { 00091 myCrystal_->getDrawingCoordinates(x,y,z); 00092 }
const XYZVector& Crystal::getFifthEdge | ( | ) | const [inline] |
Direction of the fifth edge.
Definition at line 47 of file Crystal.h.
References BaseCrystal::getFifthEdge(), and myCrystal_.
00047 {return myCrystal_->getFifthEdge();}
const XYZVector& Crystal::getFirstEdge | ( | ) | const [inline] |
Direction of the first edge.
Definition at line 45 of file Crystal.h.
References BaseCrystal::getFirstEdge(), and myCrystal_.
Referenced by EcalHitMaker::getPads().
00045 {return myCrystal_->getFirstEdge();}
const XYZPoint& Crystal::getFrontCenter | ( | ) | const [inline] |
get front center
Definition at line 41 of file Crystal.h.
References BaseCrystal::getFrontCenter(), and myCrystal_.
00041 {return myCrystal_->getFrontCenter();};
const Plane3D& Crystal::getFrontPlane | ( | ) | const [inline] |
front plane
Definition at line 72 of file Crystal.h.
References BaseCrystal::getFrontPlane(), and myCrystal_.
00072 {return myCrystal_->getFrontPlane();}
Definition at line 57 of file Crystal.h.
References BaseCrystal::getFrontSide(), and myCrystal_.
00057 {myCrystal_->getFrontSide(corners);}
void Crystal::getFrontSide | ( | XYZPoint & | a, | |
XYZPoint & | b, | |||
XYZPoint & | c, | |||
XYZPoint & | d | |||
) | const [inline] |
coordinates of the front side
Definition at line 56 of file Crystal.h.
References BaseCrystal::getFrontSide(), and myCrystal_.
00056 {myCrystal_->getFrontSide(a,b,c,d); }
const XYZVector& Crystal::getLateralEdge | ( | unsigned | i | ) | const [inline] |
lateral directions
Definition at line 81 of file Crystal.h.
References BaseCrystal::getLateralEdge(), and myCrystal_.
00081 {return myCrystal_->getLateralEdge(i);}
get the lateral edges
Definition at line 54 of file Crystal.h.
References BaseCrystal::getLateralEdges(), and myCrystal_.
00054 {myCrystal_->getLateralEdges(i,a,b); };
const Plane3D& Crystal::getLateralPlane | ( | unsigned | i | ) | const [inline] |
lateral planes
Definition at line 76 of file Crystal.h.
References BaseCrystal::getLateralPlane(), and myCrystal_.
00076 {return myCrystal_->getLateralPlane(i);}
Definition at line 63 of file Crystal.h.
References BaseCrystal::getLateralSide(), and myCrystal_.
00063 {myCrystal_->getLateralSide(i,corners);}
void Crystal::getLateralSide | ( | unsigned | i, | |
XYZPoint & | a, | |||
XYZPoint & | b, | |||
XYZPoint & | c, | |||
XYZPoint & | d | |||
) | const [inline] |
Coordinates of the i=th lateral side.
Definition at line 62 of file Crystal.h.
References BaseCrystal::getLateralSide(), and myCrystal_.
00062 {myCrystal_->getLateralSide(i,a,b,c,d);}
const Plane3D& Crystal::getPlane | ( | const CaloDirection & | side | ) | const [inline] |
generic access
Definition at line 78 of file Crystal.h.
References BaseCrystal::getPlane(), and myCrystal_.
00078 { return myCrystal_->getPlane(side);}
void Crystal::getSide | ( | const CaloDirection & | side, | |
std::vector< XYZPoint > & | corners | |||
) | const [inline] |
Definition at line 67 of file Crystal.h.
References BaseCrystal::getSide(), and myCrystal_.
00068 {myCrystal_->getSide(side,corners);}
void Crystal::getSide | ( | const CaloDirection & | side, | |
XYZPoint & | a, | |||
XYZPoint & | b, | |||
XYZPoint & | c, | |||
XYZPoint & | d | |||
) | const [inline] |
generic access
Definition at line 65 of file Crystal.h.
References BaseCrystal::getSide(), and myCrystal_.
const int Crystal::getSubdetNumber | ( | ) | const [inline] |
get the subdector
Definition at line 51 of file Crystal.h.
References BaseCrystal::getSubdetNumber(), and myCrystal_.
00051 {return myCrystal_->getSubdetNumber();}
double Crystal::getX0Back | ( | ) | const [inline] |
unsigned Crystal::number | ( | ) | const [inline] |
static unsigned Crystal::oppositeDirection | ( | unsigned | iside | ) | [static] |
Definition at line 52 of file Crystal.h.
References myCrystal_, and BaseCrystal::print().
00052 {return myCrystal_->print();}
void Crystal::setNumber | ( | unsigned | n | ) | [inline] |
void Crystal::setX0Back | ( | double | val | ) | [inline] |
DetId Crystal::cellid_ [private] |
const BaseCrystal* Crystal::myCrystal_ [private] |
Definition at line 120 of file Crystal.h.
Referenced by exitingNormal(), getAxis(), getBackCenter(), getBackPlane(), getBackSide(), getCenter(), getCorner(), getDrawingCoordinates(), getFifthEdge(), getFirstEdge(), getFrontCenter(), getFrontPlane(), getFrontSide(), getLateralEdge(), getLateralEdges(), getLateralPlane(), getLateralSide(), getPlane(), getSide(), getSubdetNumber(), and print().
std::vector<CrystalNeighbour> Crystal::neighbours_ [private] |
unsigned Crystal::number_ [private] |
double Crystal::X0back_ [private] |