|
ATLAS Offline Software
|
Go to the documentation of this file.
10 #ifndef TRKSURFACES_ELLIPSEBOUNDS_H
11 #define TRKSURFACES_ELLIPSEBOUNDS_H
70 EllipseBounds(
double minrad1,
double minrad2,
double maxrad1,
double maxrad2,
double hphisec =
M_PI);
73 EllipseBounds(
double minrad1,
double minrad2,
double maxrad1,
double maxrad2,
double avephi,
double hphisec);
112 virtual
double r()
const override final;
121 virtual MsgStream&
dump(MsgStream& sl)
const override;
123 virtual std::ostream&
dump(std::ostream& sl)
const override;
133 inline EllipseBounds*
154 return (insideInner && insideOuter && insidePhi);
174 return (insideInner && insideOuter);
225 #endif // TRKSURFACES_ELLIPSEBOUNDS_H
virtual bool insideLoc2(const Amg::Vector2D &locpo, double tol2=0.) const override final
Check for inside second local coordinate.
EllipseBounds & operator=(EllipseBounds &&discbo) noexcept=default
Move assignment operator.
double rMaxY() const
This method returns second outer radius.
double rMaxX() const
This method returns first outer radius.
double halfPhiSector() const
This method returns the halfPhiSector which is covered by the disc.
double averagePhi() const
This method returns the average phi.
Eigen::Matrix< double, 2, 1 > Vector2D
EllipseBounds & operator=(const EllipseBounds &discbo)=default
Assignment operator.
virtual MsgStream & dump(MsgStream &sl) const override
Output Method for MsgStream.
EllipseBounds(const EllipseBounds &discbo)=default
Copy constructor.
virtual bool inside(const Amg::Vector2D &locpo, double tol1=0., double tol2=0.) const override final
This method checks if the point given in the local coordinates is between two ellipsoids if only tol1...
virtual EllipseBounds * clone() const override final
Virtual constructor.
double square(double x) const
helper function for squaring
bool const RAWDATA *ch2 const
EllipseBounds()
Default Constructor.
virtual ~EllipseBounds()=default
Destructor.
double toleranceLoc1
absolute tolerance in local 1 coordinate
double rMinX() const
This method returns first inner radius.
double rMinY() const
This method returns second inner radius.
Ensure that the ATLAS eigen extensions are properly loaded.
virtual bool operator==(const SurfaceBounds &sbo) const override
Equality operator.
std::vector< TDD_real_t > m_boundValues
The internal storage of the bounds can be float/double.
virtual double minDistance(const Amg::Vector2D &pos) const override final
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
Definition of ATLAS Math & Geometry primitives (Amg)
virtual BoundsType type() const override final
Return the type of the bounds for persistency.
virtual double r() const override final
This method returns the maximum expansion on the plane (=max(rMaxX,rMaxY))
double toleranceLoc2
absolute tolerance in local 2 coordinate
EllipseBounds(EllipseBounds &&discbo) noexcept=default
Move constructor.
virtual bool insideLoc1(const Amg::Vector2D &locpo, double tol1=0.) const override final
Check for inside first local coordinate.