1 #ifndef FastSimulation_CaloGeometryTools_CrystalPad
2 #define FastSimulation_CaloGeometryTools_CrystalPad
6 #include "CLHEP/Vector/TwoVector.h"
26 CrystalPad(
unsigned number,
const std::vector<CLHEP::Hep2Vector>& corners);
31 const std::vector<XYZPoint>& corners,
37 const std::vector<XYZPoint>& corners,
39 double scaf=1.,
bool bothdirections=
false);
69 CLHEP::Hep2Vector&
edge(
unsigned iside,
int n) ;
109 static std::vector<CLHEP::Hep2Vector>
aVector;
112 std::vector<CLHEP::Hep2Vector>
dir_;
double survivalProbability_
ROOT::Math::Rotation3D rotation_
bool operator==(const CrystalPad &quad) const
get the coordinates in the original frame
bool inside(const CLHEP::Hep2Vector &point, bool debug=false) const
Check that the point (in the local frame) is inside the crystal.
bool operator()(const CrystalPad &quad) const
const std::vector< CLHEP::Hep2Vector > & getCorners() const
Check that the point (in the global frame) is inside the crystal.
ROOT::Math::Transform3DPJ::Point Point
void resetCorners()
Rescale the Quad to allow for some inaccuracy ...
CLHEP::Hep2Vector & edge(unsigned iside, int n)
access to the corners in direction iside; n=0,1
std::ostream & operator<<(std::ostream &out, const ALILine &li)
CrystalPad & operator=(const CrystalPad &rhs)
void getDrawingCoordinates(std::vector< float > &x, std::vector< float > &y) const
for graphic debugging
static std::vector< CLHEP::Hep2Vector > aVector
ROOT::Math::Transform3DPJ Transform3D
math::XYZVector XYZVector
std::vector< double > vec1
double survivalProbability() const
access methods to the survivalProbability
unsigned getNumber() const
access to the number
std::vector< CLHEP::Hep2Vector > dir_
math::XYZVector XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
std::vector< CLHEP::Hep2Vector > corners_
bool operator<(const CrystalPad &quad) const
CLHEP::Hep2Vector center_
void extrems(double &xmin, double &xmax, double &ymin, double &ymax) const
xmin xmax, ymin ymax of the quad
void setSurvivalProbability(double val)
const CLHEP::Hep2Vector & center() const
get the center
CaloDirection
Codes the local directions in the cell lattice.
*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