EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#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 Vector3D &pos, const Vector3D &mom, NavigationDirection pdir) 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, NavigationDirection navDir) |
void | attachVolumeArray (std::shared_ptr< const VolumeArray > volumes, NavigationDirection navDir) |
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 |
declare the TrackingVolume as friend | |
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 37 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 37 of file BoundarySurfaceT.hpp
|
private |
Definition at line 42 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 42 of file BoundarySurfaceT.hpp
|
private |
Definition at line 41 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 41 of file BoundarySurfaceT.hpp
|
inline |
Definition at line 45 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 45 of file BoundarySurfaceT.hpp
|
inline |
Constructor for a Boundary with exact two Volumes attached to it
surface | The unqiue surface the boundary represents |
inside | The inside volume the bounday surface points to |
outside | The outside volume the boundary surface points to |
Definition at line 58 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 58 of file BoundarySurfaceT.hpp
|
inline |
Constructor for a Boundary with exact two Volumes attached to it
surface | The unqiue surface the boundary represents |
inside | The inside volume the bounday surface points to |
outside | The outside volume the boundary surface points to |
Definition at line 72 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 72 of file BoundarySurfaceT.hpp
|
inline |
Constructor for a Boundary with exact multiple Volumes attached to it
surface | The unqiue surface the boundary represents |
insideArray | The inside volume array the bounday surface points to |
outsideArray | The outside volume array the boundary surface points to |
Definition at line 87 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 87 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 aditional direction corrective |
Definition at line 183 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 183 of file BoundarySurfaceT.hpp
void Acts::BoundarySurfaceT< volume_t >::attachVolume | ( | const volume_t * | volume, |
NavigationDirection | navDir | ||
) |
Helper method: attach a Volume to this BoundarySurfaceT this is done during the geometry construction.
gctx | The current geometry context object, e.g. alignment |
volume | The volume to be attached |
navDir | The navigation 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::backward, and Acts::Test::volume.
Referenced by Acts::TrackingVolume::glueTrackingVolume().
void Acts::BoundarySurfaceT< volume_t >::attachVolumeArray | ( | std::shared_ptr< const VolumeArray > | volumes, |
NavigationDirection | navDir | ||
) |
Helper method: attach a Volume to this BoundarySurfaceT this is done during the geometry construction.
volumes | The volume array to be attached |
navDir | The navigation 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::backward.
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 119 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 119 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 |
declare the TrackingVolume as friend
Definition at line 39 of file BoundarySurfaceT.hpp.
View newest version in sPHENIX GitHub at line 39 of file BoundarySurfaceT.hpp