EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::TrackingGeometry Class Reference

#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/TrackingGeometry.hpp>

+ Collaboration diagram for Acts::TrackingGeometry:

Public Member Functions

 TrackingGeometry (const MutableTrackingVolumePtr &highestVolume, const IMaterialDecorator *materialDecorator=nullptr)
 
 ~TrackingGeometry ()
 Destructor.
 
const TrackingVolumehighestTrackingVolume () const
 
const TrackingVolumelowestTrackingVolume (const GeometryContext &gctx, const Vector3D &gp) const
 
const TrackingVolumetrackingVolume (const std::string &name) const
 
const LayerassociatedLayer (const GeometryContext &gctx, const Vector3D &gp) const
 
void registerBeamTube (std::shared_ptr< const PerigeeSurface > beam)
 
const SurfacegetBeamline () const
 surface representing the beam pipe
 
void visitSurfaces (const std::function< void(const Acts::Surface *)> &visitor) const
 Visit all sensitive surfaces.
 

Private Attributes

TrackingVolumePtr m_world
 The known world - and the beamline.
 
std::shared_ptr< const
PerigeeSurface
m_beam
 
std::map< std::string, const
TrackingVolume * > 
m_trackingVolumes
 The Volumes in a map for string based search.
 

Friends

class TrackingGeometryBuilder
 Give the GeometryBuilder friend rights.
 

Detailed Description

The TrackingGeometry class is the owner of the constructed TrackingVolumes.

It enables both, a global search for an asociatedVolume (respectively, if existing, a global search of an associated Layer or the next associated Layer), such as a continous navigation by BoundarySurfaces between the confined TrackingVolumes.

Definition at line 39 of file TrackingGeometry.hpp.

View newest version in sPHENIX GitHub at line 39 of file TrackingGeometry.hpp

Constructor & Destructor Documentation

Acts::TrackingGeometry::TrackingGeometry ( const MutableTrackingVolumePtr highestVolume,
const IMaterialDecorator materialDecorator = nullptr 
)

Constructor

Parameters
highestVolumeis the world volume
materialDecoratoris a dediated decorator that can assign surface or volume based material to the TrackingVolume

Definition at line 22 of file TrackingGeometry.cpp.

View newest version in sPHENIX GitHub at line 22 of file TrackingGeometry.cpp

References m_trackingVolumes.

Acts::TrackingGeometry::~TrackingGeometry ( )
default

Destructor.

Member Function Documentation

const Acts::Layer * Acts::TrackingGeometry::associatedLayer ( const GeometryContext gctx,
const Vector3D gp 
) const

Forward the associated Layer information

gctx is the context for this request (e.g. alignment)

Parameters
gpis the global position of the call
Returns
plain pointer to assocaiated layer

Definition at line 60 of file TrackingGeometry.cpp.

View newest version in sPHENIX GitHub at line 60 of file TrackingGeometry.cpp

References Acts::TrackingVolume::associatedLayer().

+ Here is the call graph for this function:

const Acts::Surface * Acts::TrackingGeometry::getBeamline ( ) const

surface representing the beam pipe

Note
The ownership is not passed, e.g. do not delete the pointer
Returns
raw pointer to surface representing the beam pipe (could be a null pointer)

Definition at line 71 of file TrackingGeometry.cpp.

View newest version in sPHENIX GitHub at line 71 of file TrackingGeometry.cpp

const Acts::TrackingVolume * Acts::TrackingGeometry::highestTrackingVolume ( ) const

Access to the world volume

Returns
plain pointer to the world volume

Definition at line 45 of file TrackingGeometry.cpp.

View newest version in sPHENIX GitHub at line 45 of file TrackingGeometry.cpp

Referenced by Acts::VolumeMaterialMapper::createState(), Acts::SurfaceMaterialMapper::createState(), Acts::JsonGeometryConverter::trackingGeometryToJson(), ActsExamples::ObjTrackingGeometryWriter::write(), and ActsExamples::RootMaterialWriter::write().

+ Here is the caller graph for this function:

const Acts::TrackingVolume * Acts::TrackingGeometry::lowestTrackingVolume ( const GeometryContext gctx,
const Vector3D gp 
) const

return the lowest tracking Volume

Parameters
gctxThe current geometry context object, e.g. alignment
gpis the global position of the call
Returns
plain pointer to the lowest TrackingVolume

Definition at line 34 of file TrackingGeometry.cpp.

View newest version in sPHENIX GitHub at line 34 of file TrackingGeometry.cpp

References Acts::TrackingVolume::lowestTrackingVolume().

+ Here is the call graph for this function:

void Acts::TrackingGeometry::registerBeamTube ( std::shared_ptr< const PerigeeSurface beam)

Register the beam tube

Parameters
beamis the beam line surface

Definition at line 66 of file TrackingGeometry.cpp.

View newest version in sPHENIX GitHub at line 66 of file TrackingGeometry.cpp

const Acts::TrackingVolume * Acts::TrackingGeometry::trackingVolume ( const std::string &  name) const

return the lowest tracking Volume

Parameters
nameis the name for the volume search
Returns
plain pointer to the lowest TrackingVolume

Definition at line 50 of file TrackingGeometry.cpp.

View newest version in sPHENIX GitHub at line 50 of file TrackingGeometry.cpp

void Acts::TrackingGeometry::visitSurfaces ( const std::function< void(const Acts::Surface *)> &  visitor) const

Visit all sensitive surfaces.

Parameters
visitorThe callable. Will be called for each sensitive surface that is found

Definition at line 75 of file TrackingGeometry.cpp.

View newest version in sPHENIX GitHub at line 75 of file TrackingGeometry.cpp

Referenced by ActsExamples::Contextual::PayloadDecorator::parseGeometry().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class TrackingGeometryBuilder
friend

Give the GeometryBuilder friend rights.

Definition at line 41 of file TrackingGeometry.hpp.

View newest version in sPHENIX GitHub at line 41 of file TrackingGeometry.hpp

Member Data Documentation

std::shared_ptr<const PerigeeSurface> Acts::TrackingGeometry::m_beam
private

Definition at line 107 of file TrackingGeometry.hpp.

View newest version in sPHENIX GitHub at line 107 of file TrackingGeometry.hpp

std::map<std::string, const TrackingVolume*> Acts::TrackingGeometry::m_trackingVolumes
private

The Volumes in a map for string based search.

Definition at line 110 of file TrackingGeometry.hpp.

View newest version in sPHENIX GitHub at line 110 of file TrackingGeometry.hpp

Referenced by TrackingGeometry().

TrackingVolumePtr Acts::TrackingGeometry::m_world
private

The known world - and the beamline.

Definition at line 106 of file TrackingGeometry.hpp.

View newest version in sPHENIX GitHub at line 106 of file TrackingGeometry.hpp


The documentation for this class was generated from the following files: