|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKVOLUMES_PRISMVOLUMEBOUNDS_H
10 #define TRKVOLUMES_PRISMVOLUMEBOUNDS_H
80 bool forceInside = false)
const override final;
89 MsgStream&
dump(MsgStream& sl)
const override final;
92 std::ostream&
dump(std::ostream& sl)
const override final;
134 #endif // TRKVOLUMES_PRISMVOLUMEBOUNDS_H
PrismVolumeBounds(std::vector< std::pair< double, double > > xyvtx, double hlengthz)
Constructor - generic case from (double)
CxxUtils::CachedValue< int > m_ordering
cache vertex ordering
std::array< ObjectAccessor::value_type, 8 > EightObjectsAccessor
PrismVolumeBounds(std::vector< std::pair< float, float > > xyvtx, float hlengthz)
Constructor - generic case (from float)
Trk::EightObjectsAccessor m_objectAccessor
There's only one single object Acessor for the moment has to be implemented if Cuboids are used more ...
double m_halfZ
halflength in z
bool const RAWDATA *ch2 const
PrismVolumeBounds * clone() const override final
Virtual constructor.
PrismVolumeBounds()
Default Constructor.
double halflengthZ() const
This method returns the halflength in local z.
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
Cached value with atomic update.
const std::vector< std::pair< double, double > > & xyVertices() const
This method returns the set of xy generating vertices.
Trk::PlaneSurface * sideSurf(const Amg::Transform3D &, unsigned int, unsigned int) const
method to construct side boundary planes
bool inside(const Amg::Vector3D &, double tol=0.) const override final
This method checks if position in the 3D volume frame is inside the volume.
Eigen::Matrix< double, 3, 1 > Vector3D
MsgStream & dump(MsgStream &sl) const override final
Output Method for MsgStream.
PrismVolumeBounds & operator=(const PrismVolumeBounds &bobo)
Assignment operator.
virtual ~PrismVolumeBounds()
Destructor.
ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override final
Provide accessor for BoundarySurfaces.
std::vector< std::pair< double, double > > m_xyVtx
generating xy vertices
std::vector< std::pair< double, double > > mirror_xyVtx() const
mirror the input vertices for down-side boundary
int ordering() const
assess ordering of vertices
const std::vector< const Trk::Surface * > * decomposeToSurfaces(const Amg::Transform3D &transform) override final
Method to decompose the Bounds into Surfaces.
Trk::TriangleBounds * m_baseBounds
base xy bounds