Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/BoundarySurfaceT.hpp>
Public Member Functions | |
BoundarySurfaceT () | |
BoundarySurfaceT (std::shared_ptr< const Surface > surface, const volume_t *inside, const volume_t *outside) | |
BoundarySurfaceT (std::shared_ptr< const Surface > surface, VolumePtr inside, VolumePtr outside) | |
BoundarySurfaceT (std::shared_ptr< const Surface > surface, std::shared_ptr< const VolumeArray > insideArray, std::shared_ptr< const VolumeArray > outsideArray) | |
virtual | ~BoundarySurfaceT ()=default |
virtual const volume_t * | attachedVolume (const GeometryContext &gctx, const Vector3 &pos, const Vector3 &mom, Direction dir) const |
template<class parameters_t > | |
bool | onBoundary (const GeometryContext &gctx, const parameters_t &pars) const |
virtual const Surface & | surfaceRepresentation () const |
The Surface Representation of this. | |
void | attachVolume (const volume_t *volume, Direction dir) |
void | attachVolumeArray (std::shared_ptr< const VolumeArray > volumes, Direction dir) |
Protected Attributes | |
std::shared_ptr< const Surface > | m_surface |
the represented surface by this | |
const volume_t * | m_oppositeVolume |
the inside (w.r.t. normal vector) volume to point to if only one exists | |
const volume_t * | m_alongVolume |
the outside (w.r.t. normal vector) volume to point to if only one exists | |
std::shared_ptr< const VolumeArray > | m_oppositeVolumeArray |
the inside (w.r.t. normal vector) volume array to point to | |
std::shared_ptr< const VolumeArray > | m_alongVolumeArray |
the outside (w.r.t. normal vector) volume array to point to | |
Private Types | |
using | VolumePtr = std::shared_ptr< const volume_t > |
using | VolumeArray = BinnedArray< VolumePtr > |
Private Attributes | |
friend | volume_t |
volume_t | the type of volume. |
The boundary surface class combines a Surface with the information of a volume. It's templated in the type of volume in order to allow for a return type tat is usable in the navigation stream.
Definition at line 38 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 38 of file BoundarySurfaceT.hpp
|
private |
Definition at line 44 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 44 of file BoundarySurfaceT.hpp
|
private |
Definition at line 43 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 43 of file BoundarySurfaceT.hpp
|
inline |
Definition at line 47 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 47 of file BoundarySurfaceT.hpp
|
inline |
Constructor for a Boundary with exact two Volumes attached to it
surface | The unique surface the boundary represents |
inside | The inside volume the boundary surface points to |
outside | The outside volume the boundary surface points to |
Definition at line 60 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 60 of file BoundarySurfaceT.hpp
|
inline |
Constructor for a Boundary with exact two Volumes attached to it
surface | The unique surface the boundary represents |
inside | The inside volume the boundary surface points to |
outside | The outside volume the boundary surface points to |
Definition at line 74 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 74 of file BoundarySurfaceT.hpp
|
inline |
Constructor for a Boundary with exact multiple Volumes attached to it
surface | The unique surface the boundary represents |
insideArray | The inside volume array the boundary surface points to |
outsideArray | The outside volume array the boundary surface points to |
Definition at line 89 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 89 of file BoundarySurfaceT.hpp
|
virtualdefault |
|
virtual |
Get the next Volume depending on GlobalPosition, GlobalMomentum, dir on the TrackParameters and the requested direction
gctx | The current geometry context object, e.g. alignment |
pos | The global position on surface |
mom | The direction on the surface |
dir | is an additional direction corrective |
Definition at line 182 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 182 of file BoundarySurfaceT.hpp
void BoundarySurfaceT< volume_t >::attachVolume | ( | const volume_t * | volume, |
Direction | dir | ||
) |
Helper method: attach a Volume to this BoundarySurfaceT this is done during the geometry construction.
volume | The volume to be attached |
dir | The direction for attaching |
Definition at line 162 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 162 of file BoundarySurfaceT.hpp
References Acts::Direction::Backward.
Referenced by Acts::TrackingVolume::glueTrackingVolume().
void BoundarySurfaceT< volume_t >::attachVolumeArray | ( | std::shared_ptr< const VolumeArray > | volumes, |
Direction | dir | ||
) |
Helper method: attach a Volume to this BoundarySurfaceT this is done during the geometry construction.
volumes | The volume array to be attached |
dir | The direction for attaching |
Definition at line 172 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 172 of file BoundarySurfaceT.hpp
References Acts::Direction::Backward, and volumes.
Referenced by Acts::TrackingVolume::glueTrackingVolumes().
|
inline |
templated onBoundary method
parameters_t | are the parameters to be checked |
gctx | The current geometry context object, e.g. alignment |
pars | The parameters used for this call |
Definition at line 120 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 120 of file BoundarySurfaceT.hpp
References Acts::Surface::isOnSurface(), and Acts::BoundarySurfaceT< volume_t >::surfaceRepresentation().
|
inlinevirtual |
The Surface Representation of this.
Definition at line 156 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 156 of file BoundarySurfaceT.hpp
Referenced by Acts::BoundarySurfaceT< volume_t >::onBoundary().
|
protected |
the outside (w.r.t. normal vector) volume to point to if only one exists
Definition at line 148 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 148 of file BoundarySurfaceT.hpp
|
protected |
the outside (w.r.t. normal vector) volume array to point to
Definition at line 152 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 152 of file BoundarySurfaceT.hpp
|
protected |
the inside (w.r.t. normal vector) volume to point to if only one exists
Definition at line 146 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 146 of file BoundarySurfaceT.hpp
|
protected |
the inside (w.r.t. normal vector) volume array to point to
Definition at line 150 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 150 of file BoundarySurfaceT.hpp
|
protected |
the represented surface by this
Definition at line 144 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 144 of file BoundarySurfaceT.hpp
|
private |
Definition at line 40 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 40 of file BoundarySurfaceT.hpp