Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKSURFACES_PLANESURFACE_H
10 #define TRKSURFACES_PLANESURFACE_H
24 template<
class SURFACE,
class BOUNDS_CNV>
26 template<
class SURFACE,
class BOUNDS_CNV>
32 class LocalParameters;
33 class TrkDetElementBase;
34 class RectangleBounds;
37 class TrapezoidBounds;
38 class RotatedTrapezoidBounds;
42 template<
int DIM,
class T,
class S>
203 double tol2 = 0.)
const override;
215 double tol2 = 0.)
const override final;
276 bool Bound)
const override final;
282 template<class SURFACE, class BOUNDS_CNV>
284 template<class SURFACE, class BOUNDS_CNV>
294 #include "TrkSurfaces/PlaneSurface.icc"
295 #endif // TRKSURFACES_PLANESURFACE_H
virtual bool operator==(const Surface &sf) const override
Equality operator.
virtual bool globalToLocal(const Amg::Vector3D &glob, const Amg::Vector3D &mom, Amg::Vector2D &loc) const override final
Specified for PlaneSurface: GlobalToLocal method without dynamic memory allocation - boolean checks i...
void localToGlobalDirection(const Trk::LocalDirection &locdir, Amg::Vector3D &globdir) const
This method transforms a local direction wrt the plane to a global direction.
std::unique_ptr< ParametersBase< 5, Trk::Charged > > ChargedTrackParametersUniquePtr
Unique ptr types.
Eigen::Matrix< double, 2, 1 > Vector2D
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
std::unique_ptr< ParametersBase< 5, Trk::Neutral > > NeutralTrackParametersUniquePtr
PlaneSurface(const PlaneSurface &psf)=default
Copy Constructor.
PlaneSurface(PlaneSurface &&psf) noexcept=default
Move Constructor.
bool const RAWDATA *ch2 const
virtual DistanceSolution straightLineDistanceEstimate(const Amg::Vector3D &pos, const Amg::Vector3D &dir) const override final
fast straight line distance evaluation to Surface
PlaneSurface()
Default Constructor - needed for persistency.
AmgSymMatrix(5) &GXFTrackState
virtual bool insideBounds(const Amg::Vector2D &locpos, double tol1=0., double tol2=0.) const override
This method calls the inside() method of the Bounds.
SharedObject< const SurfaceBounds > m_bounds
bounds (shared)
static constexpr SurfaceType staticType
The surface type static constexpr.
static const NoBounds s_boundless
std::unique_ptr< ParametersT< DIM, T, PlaneSurface > > createUniqueParameters(double l1, double l2, double phi, double theta, double qop, std::optional< AmgSymMatrix(DIM)> cov=std::nullopt) const
Use the Surface as a ParametersBase constructor, from local parameters.
bool operator==(const PlaneSurface &cf) const
virtual bool insideBoundsCheck(const Amg::Vector2D &locpos, const BoundaryCheck &bchk) const override final
Eigen::Affine3d Transform3D
PlaneSurface & operator=(const PlaneSurface &psf)=default
Assignment operator.
void globalToLocalDirection(const Amg::Vector3D &glodir, Trk::LocalDirection &locdir) const
This method transforms the global direction to a local direction wrt the plane.
represents the three-dimensional global direction with respect to a planar surface frame.
virtual bool isOnSurface(const Amg::Vector3D &glopo, const BoundaryCheck &bchk=true, double tol1=0., double tol2=0.) const override final
This method returns true if the GlobalPosition is on the Surface for both, within or without check of...
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
virtual Surface::ChargedTrackParametersUniquePtr createUniqueTrackParameters(double l1, double l2, double phi, double theta, double qop, std::optional< AmgSymMatrix(5)> cov=std::nullopt) const override final
Use the Surface as a ParametersBase constructor, from local parameters - charged.
double charge(const T &p)
Eigen::Matrix< double, 3, 1 > Vector3D
virtual Intersection straightLineIntersection(const Amg::Vector3D &pos, const Amg::Vector3D &dir, bool forceDir, Trk::BoundaryCheck bchk) const override final
fast straight line intersection schema - standard: provides closest intersection and (signed) path le...
PlaneSurface & operator=(PlaneSurface &&psf) noexcept=default
Move assignment operator.
std::shared_ptr< T > SharedObject
constexpr virtual SurfaceType type() const override final
Return the surface type.
virtual NeutralTrackParametersUniquePtr createUniqueNeutralParameters(double l1, double l2, double phi, double theta, double oop, std::optional< AmgSymMatrix(5)> cov=std::nullopt) const override final
Use the Surface as a ParametersBase constructor, from local parameters - neutral.
virtual ~PlaneSurface()=default
Destructor.
virtual const SurfaceBounds & bounds() const override final
This method returns the bounds by reference, static NoBounds in case of no boundaries.
virtual std::string name() const override
Return properly formatted class name for screen output.
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const override final
Specified for PlaneSurface: LocalToGlobal method without dynamic memory allocation.
virtual PlaneSurface * clone() const override
Virtual constructor.