ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
GeoModel Plugin

Detailed Description

Classes

class  ActsPlugins::GeoModelDetectorElement
 Detector element representative for GeoModel based sensitive elements. More...
class  ActsPlugins::GeoModelDetectorElementITk
 Specialization of the GeoModelDetectorElement for the ITk. More...
class  ActsPlugins::GeoModelDetectorObjectFactory
 Factory class to convert GeoModel objects into Acts volumes and surfaces. More...
struct  ActsPlugins::GeoModelTree
 Holder struct to manage a GeoModel world. More...
class  ActsPlugins::IGeoShapeConverter
 Interface for the conversion of GeoShapes to Acts surfaces. More...
class  ActsPlugins::ITkIdentifier

Typedefs

using ActsPlugins::GeoBoxConverter
 The GeoBox converter.
using ActsPlugins::GeoIntersectionAnnulusConverter
 A dedicated converter for GeoInterseciton that describe annulus bounds.
using ActsPlugins::GeoModelSensitiveSurface
 Collect the sensitive surface & detector element.
using ActsPlugins::GeoPolygonConverter
using ActsPlugins::GeoShiftConverter
 The GeoShift + Trd/Box/Tube converter.
using ActsPlugins::GeoSubtractionConverter
using ActsPlugins::GeoTrdConverter
 The GeoTrd converter.
using ActsPlugins::GeoTubeConverter
 The GeoTube converter.
using ActsPlugins::GeoUnionDoubleTrdConverter
 The GeoTube converter.

Functions

std::shared_ptr< Acts::VolumeActsPlugins::GeoModel::convertVolume (const Acts::Transform3 &trf, const GeoShape *shape, Acts::VolumeBoundFactory &boundFactory)
 Converts a GeoShape into a bounded volume.
Acts::Material ActsPlugins::GeoModel::geoMaterialConverter (const GeoMaterial &gm, bool useMolarDensity=true)
 Convert GeoMaterial to Acts::Material.
std::shared_ptr< const IGeoShapeConverterActsPlugins::geoShapesConverters (int geoShapeId)
 The map that maps the converters with the shapes.
std::ostream & ActsPlugins::operator<< (std::ostream &os, const ITkIdentifier &id)
GeoModelTree ActsPlugins::GeoModelReader::readFromDb (const std::string &dbPath)
 Read the GeoModel from the database.
Acts::Transform3 ActsPlugins::GeoModel::volumePosInSpace (const PVConstLink &physVol)
 Calculates the absolute volume position w.r.t.

Typedef Documentation

◆ GeoBoxConverter

Initial value:
detail::GenericGeoShapeConverter<GeoBox, detail::GeoBoxConverter>

The GeoBox converter.

This is a dedicated converter for GeoBox shapes

◆ GeoIntersectionAnnulusConverter

Initial value:
detail::GenericGeoShapeConverter<GeoShapeIntersection,
detail::GeoIntersectionAnnulusConverter>

A dedicated converter for GeoInterseciton that describe annulus bounds.

This is very much tailored to the AnnulusBounds class

◆ GeoModelSensitiveSurface

Initial value:
std::tuple<std::shared_ptr<GeoModelDetectorElement>,
std::shared_ptr<Acts::Surface>>

Collect the sensitive surface & detector element.

◆ GeoPolygonConverter

Initial value:
detail::GenericGeoShapeConverter<GeoSimplePolygonBrep,
detail::GeoPolygonConverter>

◆ GeoShiftConverter

Initial value:
detail::GenericGeoShapeConverter<GeoShapeShift, detail::GeoShiftConverter>

The GeoShift + Trd/Box/Tube converter.

This is a dedicated converter for GeoBox shapes

◆ GeoSubtractionConverter

Initial value:
detail::GenericGeoShapeConverter<GeoShapeSubtraction,
detail::GeoSubtractionConverter>

◆ GeoTrdConverter

Initial value:
detail::GenericGeoShapeConverter<GeoTrd, detail::GeoTrdConverter>

The GeoTrd converter.

This is a dedicated converter for GeoTrd shapes

◆ GeoTubeConverter

Initial value:
detail::GenericGeoShapeConverter<GeoTube, detail::GeoTubeConverter>

The GeoTube converter.

This is a dedicated converter for GeoTube shapes

◆ GeoUnionDoubleTrdConverter

Initial value:
detail::GenericGeoShapeConverter<GeoShapeUnion,
detail::GeoUnionDoubleTrdConverter>

The GeoTube converter.

This is a dedicated converter for GeoTube shapes

Function Documentation

◆ convertVolume()

std::shared_ptr< Acts::Volume > ActsPlugins::GeoModel::convertVolume ( const Acts::Transform3 & trf,
const GeoShape * shape,
Acts::VolumeBoundFactory & boundFactory )

Converts a GeoShape into a bounded volume.

For the supported shape types and the chosen strategie please consult the cpp file. May throw an exception f the GeoShape is not yet considered.

Parameters
trfTransform to align position in the volume in space
shapePointer to the GeoShape from which the VolumeBounds are translated
boundFactoryReference to the bound factory to avoid multiple instances of equivalent bound parameters
Returns
A shared pointer initialized with the new volume

◆ geoMaterialConverter()

Acts::Material ActsPlugins::GeoModel::geoMaterialConverter ( const GeoMaterial & gm,
bool useMolarDensity = true )

Convert GeoMaterial to Acts::Material.

Parameters
gmThe GeoMaterial to be converted
useMolarDensityFlag to indicate whether to use molar density
Returns
the Acts::Material

◆ geoShapesConverters()

std::shared_ptr< const IGeoShapeConverter > ActsPlugins::geoShapesConverters ( int geoShapeId)

The map that maps the converters with the shapes.

◆ operator<<()

std::ostream & ActsPlugins::operator<< ( std::ostream & os,
const ITkIdentifier & id )

◆ readFromDb()

GeoModelTree ActsPlugins::GeoModelReader::readFromDb ( const std::string & dbPath)

Read the GeoModel from the database.

Parameters
dbPathpath to the database
Returns
world/top volume of the GeoModel tree in memory

◆ volumePosInSpace()

Acts::Transform3 ActsPlugins::GeoModel::volumePosInSpace ( const PVConstLink & physVol)

Calculates the absolute volume position w.r.t.

the world node This is only possible, if the volume is not shared in multiple branches of the GeoModelTree.

Parameters
physVolReference to the physical volume from which the position shall be calculated