ATLAS Offline Software
|
#include <ConeBounds.h>
Public Types | |
enum | BoundValues { bv_alpha = 0, bv_minZ = 1, bv_maxZ = 2, bv_averagePhi = 3, bv_halfPhiSector = 4, bv_length = 5 } |
BoundValues for readablility. More... | |
enum | BoundsType { Cone = 0, Cylinder = 1, Diamond = 2, Disc = 3, Ellipse = 5, Rectangle = 6, RotatedTrapezoid = 7, Trapezoid = 8, Triangle = 9, DiscTrapezoidal = 10, Annulus = 11, Other = 12 } |
Public Member Functions | |
ConeBounds () | |
Default Constructor. More... | |
ConeBounds (double alpha, bool symm, double halfphi=M_PI, double avphi=0.) | |
Constructor - open cone with alpha, by default a full cone but optionally can make a conical section. More... | |
ConeBounds (double alpha, double zmin, double zmax, double halfphi=M_PI, double avphi=0.) | |
Constructor - open cone with alpha, minz and maxz, by default a full cone but can optionally make it a conical section. More... | |
ConeBounds (const ConeBounds &cylbo)=default | |
Copy Constructor. More... | |
ConeBounds & | operator= (const ConeBounds &cylbo)=default |
Assignment operator. More... | |
ConeBounds (ConeBounds &&annbo)=default | |
Move constructor. More... | |
ConeBounds & | operator= (ConeBounds &&sbo)=default |
Move assignment. More... | |
virtual | ~ConeBounds ()=default |
Destructor. More... | |
virtual bool | operator== (const SurfaceBounds &sbo) const override |
Equality operator. More... | |
bool | operator== (const ConeBounds &bo) const |
virtual ConeBounds * | clone () const override |
Virtual constructor. More... | |
virtual BoundsType | type () const override |
Return the bounds type. More... | |
virtual bool | inside (const Amg::Vector2D &locpo, double tol1, double tol2) const override final |
This method checks if a LocalPosition is inside z bounds and rphi value- interface method. More... | |
virtual bool | inside (const Amg::Vector2D &locpo, const BoundaryCheck &bchk=true) const override final |
virtual bool | inside (const Amg::Vector3D &gp, double tol1=0., double tol2=0.) const final |
This method checks if a GlobalPosition is inside the Cylinder - not an interface method, assumes that GlobalPosition is in the right frame. More... | |
virtual bool | inside (const Amg::Vector3D &locpo, const BoundaryCheck &bchk) const final |
virtual bool | insideLoc1 (const Amg::Vector2D &locpo, double tol1=0.) const override final |
This method checks inside bounds in loc1. More... | |
virtual bool | insideLoc2 (const Amg::Vector2D &locpo, double tol2=0.) const override final |
This method checks inside bounds in loc1. More... | |
virtual double | minDistance (const Amg::Vector2D &pos) const override |
Minimal distance to boundary ( > 0 if outside and <=0 if inside) More... | |
virtual double | r () const override |
This method returns the maximal radius - for an unbound cone it returns MAXBOUNDVALUE. More... | |
double | r (double z) const |
Return the radius at a specific z values. More... | |
double | tanAlpha () const |
This method returns the average phi. More... | |
double | sinAlpha () const |
double | cosAlpha () const |
double | alpha () const |
double | minZ () const |
This method returns the minimum z value in the local framee. More... | |
double | maxZ () const |
This method returns the maximum z value in the local framee. More... | |
double | averagePhi () const |
This method returns the average phi value (i.e. More... | |
double | halfPhiSector () const |
This method returns the half-phi width of the sector (so that averagePhi +/- halfPhiSector gives the phi bounds of the cone) More... | |
virtual MsgStream & | dump (MsgStream &sl) const override |
Output Method for MsgStream. More... | |
virtual std::ostream & | dump (std::ostream &sl) const override |
Output Method for std::ostream. More... | |
virtual bool | operator!= (const SurfaceBounds &sb) const |
Non-Equality operator. More... | |
Protected Member Functions | |
void | swap (double &b1, double &b2) |
Swap method to be called from DiscBounds or TrapezoidalBounds. More... | |
Private Member Functions | |
virtual void | initCache () override final |
Helper function for angle parameter initialization. More... | |
double | minPhi () const |
Helpers for inside() functions. More... | |
double | maxPhi () const |
Private Attributes | |
std::vector< TDD_real_t > | m_boundValues |
internal storage of the geometry parameters More... | |
TDD_real_t | m_tanAlpha |
TDD_real_t | m_sinAlpha |
TDD_real_t | m_cosAlpha |
Bounds for a conical Surface, the opening angle is stored in \( \tan(\alpha) \) and always positively defined. The cone can open to both sides, steered by \( z_min \) and \( z_max \).
Definition at line 43 of file ConeBounds.h.
|
inherited |
This enumerator simplifies the persistency, by saving a dynamic_cast to happen.
Other is reserved for the GeometrySurfaces implementation.
Enumerator | |
---|---|
Cone | |
Cylinder | |
Diamond | |
Disc | |
Ellipse | |
Rectangle | |
RotatedTrapezoid | |
Trapezoid | |
Triangle | |
DiscTrapezoidal | |
Annulus | |
Other |
Definition at line 58 of file SurfaceBounds.h.
BoundValues for readablility.
Enumerator | |
---|---|
bv_alpha | |
bv_minZ | |
bv_maxZ | |
bv_averagePhi | |
bv_halfPhiSector | |
bv_length |
Definition at line 47 of file ConeBounds.h.
Trk::ConeBounds::ConeBounds | ( | ) |
Trk::ConeBounds::ConeBounds | ( | double | alpha, |
bool | symm, | ||
double | halfphi = M_PI , |
||
double | avphi = 0. |
||
) |
Constructor - open cone with alpha, by default a full cone but optionally can make a conical section.
Definition at line 25 of file ConeBounds.cxx.
Trk::ConeBounds::ConeBounds | ( | double | alpha, |
double | zmin, | ||
double | zmax, | ||
double | halfphi = M_PI , |
||
double | avphi = 0. |
||
) |
Constructor - open cone with alpha, minz and maxz, by default a full cone but can optionally make it a conical section.
Definition at line 39 of file ConeBounds.cxx.
|
default |
Copy Constructor.
|
default |
Move constructor.
|
virtualdefault |
Destructor.
double Trk::ConeBounds::alpha | ( | ) | const |
double Trk::ConeBounds::averagePhi | ( | ) | const |
This method returns the average phi value (i.e.
the "middle" phi value for the conical sector we are describing)
|
overridevirtual |
Virtual constructor.
Implements Trk::SurfaceBounds.
double Trk::ConeBounds::cosAlpha | ( | ) | const |
|
overridevirtual |
Output Method for MsgStream.
Implements Trk::SurfaceBounds.
Definition at line 145 of file ConeBounds.cxx.
|
overridevirtual |
Output Method for std::ostream.
Implements Trk::SurfaceBounds.
Definition at line 157 of file ConeBounds.cxx.
double Trk::ConeBounds::halfPhiSector | ( | ) | const |
This method returns the half-phi width of the sector (so that averagePhi +/- halfPhiSector gives the phi bounds of the cone)
|
finaloverrideprivatevirtual |
Helper function for angle parameter initialization.
Reimplemented from Trk::SurfaceBounds.
Definition at line 53 of file ConeBounds.cxx.
|
finaloverridevirtual |
Implements Trk::SurfaceBounds.
|
finaloverridevirtual |
This method checks if a LocalPosition is inside z bounds and rphi value- interface method.
Implements Trk::SurfaceBounds.
|
finalvirtual |
This method checks if a GlobalPosition is inside the Cylinder - not an interface method, assumes that GlobalPosition is in the right frame.
|
finalvirtual |
|
finaloverridevirtual |
This method checks inside bounds in loc1.
Implements Trk::SurfaceBounds.
|
finaloverridevirtual |
This method checks inside bounds in loc1.
Implements Trk::SurfaceBounds.
|
inlineprivate |
Definition at line 164 of file ConeBounds.h.
double Trk::ConeBounds::maxZ | ( | ) | const |
This method returns the maximum z value in the local framee.
|
overridevirtual |
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
Implements Trk::SurfaceBounds.
Definition at line 74 of file ConeBounds.cxx.
|
inlineprivate |
double Trk::ConeBounds::minZ | ( | ) | const |
This method returns the minimum z value in the local framee.
|
inlinevirtualinherited |
Non-Equality operator.
Reimplemented in Trk::InvalidBounds.
Definition at line 141 of file SurfaceBounds.h.
|
default |
Move assignment.
|
default |
Assignment operator.
bool Trk::ConeBounds::operator== | ( | const ConeBounds & | bo | ) | const |
|
overridevirtual |
|
overridevirtual |
This method returns the maximal radius - for an unbound cone it returns MAXBOUNDVALUE.
Implements Trk::SurfaceBounds.
double Trk::ConeBounds::r | ( | double | z | ) | const |
Return the radius at a specific z values.
double Trk::ConeBounds::sinAlpha | ( | ) | const |
|
inlineprotectedinherited |
Swap method to be called from DiscBounds or TrapezoidalBounds.
Definition at line 133 of file SurfaceBounds.h.
double Trk::ConeBounds::tanAlpha | ( | ) | const |
This method returns the average phi.
|
inlineoverridevirtual |
|
private |
internal storage of the geometry parameters
Definition at line 151 of file ConeBounds.h.
|
private |
Definition at line 154 of file ConeBounds.h.
|
private |
Definition at line 153 of file ConeBounds.h.
|
private |
Definition at line 152 of file ConeBounds.h.