|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKSURFACES_DIAMONDDBOUNDS_H
10 #define TRKSURFACES_DIAMONDDBOUNDS_H
21 #ifdef TRKDETDESCR_USEFLOATPRECISON
70 DiamondBounds(
double minhalex,
double medhalex,
double maxhalex,
double haley1,
double haley2);
95 virtual double r()
const override final;
125 virtual MsgStream&
dump(MsgStream& sl)
const override final;
128 virtual std::ostream&
dump(std::ostream& sl)
const override final;
147 #include "TrkSurfaces/DiamondBounds.icc"
148 #endif // TRKSURFACES_DIAMONDBOUNDS_H
virtual double r() const override final
This method returns the maximal extension on the local plane.
double halflengthY2() const
bool insideFull(const Amg::Vector2D &locpo, double tol1=0., double tol2=0.) const
inside() method for a full symmetric diamond
virtual double minDistance(const Amg::Vector2D &pos) const override final
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
virtual bool insideLoc1(const Amg::Vector2D &locpo, double tol1=0.) const override final
This method checks inside bounds in loc1.
double alpha2() const
This method returns the opening angle alpha in point A'
DiamondBounds(const DiamondBounds &diabo)=default
Copy constructor.
Eigen::Matrix< double, 2, 1 > Vector2D
double minHalflengthX() const
This method returns the halflength in X at minimal Y (first coordinate of local surface frame)
virtual bool operator==(const SurfaceBounds &diabo) const override
Equality operator.
virtual void initCache() override
initialize the alpha1/2 cache - needed also for object persistency
bool const RAWDATA *ch2 const
virtual bool inside(const Amg::Vector2D &locpo, double tol1=0., double tol2=0.) const override final
The orientation of the Diamond is according to the figure.
DiamondBounds & operator=(const DiamondBounds &sbo)=default
Assignment operator.
double medHalflengthX() const
This method returns the (maximal) halflength in X (first coordinate of local surface frame)
std::vector< TDD_real_t > m_boundValues
Internal parameters stored in the geometry.
virtual ~DiamondBounds()=default
Destructor.
DiamondBounds * clone() const override
Virtual constructor.
DiamondBounds & operator=(DiamondBounds &&sbo) noexcept=default
Assignment operator.
DiamondBounds()
Default Constructor, needed for persistency.
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
virtual BoundsType type() const override final
Return the bounds type.
double maxHalflengthX() const
This method returns the halflength in X at maximal Y (first coordinate of local surface frame)
BoundValues
BoundValues for better readability.
virtual MsgStream & dump(MsgStream &sl) const override final
Output Method for MsgStream.
double halflengthY1() const
This method returns the halflength in Y of trapezoid at negative/positive Y (second coordinate)
DiamondBounds(DiamondBounds &&diabo) noexcept=default
Copy constructor.
double alpha1() const
This method returns the opening angle alpha in point A
virtual bool insideLoc2(const Amg::Vector2D &locpo, double tol2=0.) const override final
This method checks inside bounds in loc2.