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

Detailed Description

Classes

class  ActsPlugins::ITGeoDetectorElementSplitter
 ITGeoElementSplitter. More...
class  ActsPlugins::ITGeoIdentifierProvider
 ITGeoIdentierProvider. More...
class  ActsPlugins::RootMaterialDecorator
 Read the collection of SurfaceMaterial & VolumeMaterial. More...
class  ActsPlugins::RootMaterialMapIo
 Simple payload class that can be wrapped for reading and writing. More...
class  ActsPlugins::RootMaterialTrackIo
 Simple payload class that can be wrapped for reading and writing. More...
class  ActsPlugins::RootMeasurementIo
 Helper class to manage the I/O of measurements and associated clusters to and from ROOT files. More...
class  ActsPlugins::RootSpacePointIo
 Root space point reading and writing utility. More...
class  ActsPlugins::TGeoCylinderDiscSplitter
 TGeoCylinderDiscSplitter. More...
class  ActsPlugins::TGeoDetectorElement
 DetectorElement plugin for ROOT TGeo shapes. More...
class  ActsPlugins::TGeoLayerBuilder
 This parses the gGeoManager and looks for a defined combination of volume with contained sensitive detector element. More...
struct  ActsPlugins::TGeoMaterialConverter
struct  ActsPlugins::TGeoParser
 TGeoParser is a helper struct that walks recursively through a TGeometry and selects by string comparison the TGeoNodes that match the criteria. More...
struct  ActsPlugins::TGeoPrimitivesHelper
struct  ActsPlugins::TGeoSurfaceConverter
 Helper struct to convert TGeoShapes into Surface or Volume Bounds. More...

Functions

const std::vector< std::shared_ptr< const TGeoDetectorElement > > & ActsPlugins::TGeoLayerBuilder::detectorElements () const
 Return the created detector elements.
Config ActsPlugins::TGeoLayerBuilder::getConfiguration () const
 Get the configuration object.
const std::string & ActsPlugins::TGeoLayerBuilder::identification () const final
 Name identification.
Identifier ActsPlugins::TGeoDetectorElement::identifier () const
 Get the detector element identifier.
const Acts::Transform3ActsPlugins::TGeoDetectorElement::localToGlobalTransform (const Acts::GeometryContext &gctx) const override
 Return local to global transform associated with this identifier.
Acts::InterpolatedBFieldMap< Acts::Grid< Acts::Vector2, Acts::Axis< Acts::AxisType::Equidistant >, Acts::Axis< Acts::AxisType::Equidistant > > > ActsPlugins::makeMagneticFieldMapRzFromRoot (const std::function< std::size_t(std::array< std::size_t, 2 > binsRZ, std::array< std::size_t, 2 > nBinsRZ)> &localToGlobalBin, const std::string &fieldMapFile, const std::string &treeName, double lengthUnit, double BFieldUnit, bool firstQuadrant=false)
 Method to setup the FieldMap.
Acts::InterpolatedBFieldMap< Acts::Grid< Acts::Vector3, Acts::Axis< Acts::AxisType::Equidistant >, Acts::Axis< Acts::AxisType::Equidistant >, Acts::Axis< Acts::AxisType::Equidistant > > > ActsPlugins::makeMagneticFieldMapXyzFromRoot (const std::function< std::size_t(std::array< std::size_t, 3 > binsXYZ, std::array< std::size_t, 3 > nBinsXYZ)> &localToGlobalBin, const std::string &fieldMapFile, const std::string &treeName, double lengthUnit, double BFieldUnit, bool firstOctant=false)
 Method to setup the FieldMap.
const Acts::SurfaceActsPlugins::TGeoDetectorElement::surface () const override
 Return surface associated with this detector element.
Acts::SurfaceActsPlugins::TGeoDetectorElement::surface () override
 Return surface associated with this detector element.
double ActsPlugins::TGeoDetectorElement::thickness () const
 Returns the thickness of the module.

Function Documentation

◆ detectorElements()

const std::vector< std::shared_ptr< const TGeoDetectorElement > > & ActsPlugins::TGeoLayerBuilder::detectorElements ( ) const

Return the created detector elements.

Returns
Reference to vector of detector elements

◆ getConfiguration()

TGeoLayerBuilder::Config ActsPlugins::TGeoLayerBuilder::getConfiguration ( ) const

Get the configuration object.

Returns
Copy of the current configuration

◆ identification()

const std::string & ActsPlugins::TGeoLayerBuilder::identification ( ) const
finalvirtual

Name identification.

Returns
Reference to the configuration name string

Implements Acts::ILayerBuilder.

◆ identifier()

TGeoDetectorElement::Identifier ActsPlugins::TGeoDetectorElement::identifier ( ) const

Get the detector element identifier.

Returns
The unique identifier for this detector element

◆ localToGlobalTransform()

const Acts::Transform3 & ActsPlugins::TGeoDetectorElement::localToGlobalTransform ( const Acts::GeometryContext & gctx) const
overridevirtual

Return local to global transform associated with this identifier.

Parameters
gctxThe current geometry context object, e.g. alignment

Implements Acts::SurfacePlacementBase.

◆ makeMagneticFieldMapRzFromRoot()

Acts::InterpolatedBFieldMap< Acts::Grid< Acts::Vector2, Acts::Axis< Acts::AxisType::Equidistant >, Acts::Axis< Acts::AxisType::Equidistant > > > ActsPlugins::makeMagneticFieldMapRzFromRoot ( const std::function< std::size_t(std::array< std::size_t, 2 > binsRZ, std::array< std::size_t, 2 > nBinsRZ)> & localToGlobalBin,
const std::string & fieldMapFile,
const std::string & treeName,
double lengthUnit,
double BFieldUnit,
bool firstQuadrant = false )

Method to setup the FieldMap.

Parameters
localToGlobalBinFunction mapping the local bins of r,z to the global bin of the map magnetic field value e.g.: we have small grid with the values: r={2,3}, z ={4,5}, the corresponding indices are i(r) and j(z), the globalIndex is M and the field map is:

|| r | i || z | j || |B(r,z)| || M ||

|| 2 | 0 || 4 | 0 || 2.323 || 0 || || 2 | 0 || 5 | 1 || 2.334 || 1 || || 3 | 1 || 4 | 0 || 2.325 || 2 || || 3 | 1 || 5 | 1 || 2.331 || 3 ||

In this case the function would look like:
[](std::array<std::size_t, 2> binsRZ, std::array<std::size_t, 2> nBinsRZ) {
return (binsRZ.at(0) * nBinsRZ.at(1) + binsRZ.at(1));
}
Parameters
[in]fieldMapFilePath to file containing field map in txt format
[in]treeNameThe name of the root tree
[in]lengthUnitThe unit of the grid points
[in]BFieldUnitThe unit of the magnetic field
[in]firstQuadrantFlag if set to true indicating that only the first quadrant of the grid points and the BField values has been given and that the BFieldMap should be created symmetrically for all quadrants. e.g. we have the grid values r={0,1} with BFieldValues={2,3} on the r axis. If the flag is set to true the r-axis grid values will be set to {-1,0,1} and the BFieldValues will be set to {3,2,3}.

◆ makeMagneticFieldMapXyzFromRoot()

Acts::InterpolatedBFieldMap< Acts::Grid< Acts::Vector3, Acts::Axis< Acts::AxisType::Equidistant >, Acts::Axis< Acts::AxisType::Equidistant >, Acts::Axis< Acts::AxisType::Equidistant > > > ActsPlugins::makeMagneticFieldMapXyzFromRoot ( const std::function< std::size_t(std::array< std::size_t, 3 > binsXYZ, std::array< std::size_t, 3 > nBinsXYZ)> & localToGlobalBin,
const std::string & fieldMapFile,
const std::string & treeName,
double lengthUnit,
double BFieldUnit,
bool firstOctant = false )

Method to setup the FieldMap.

Parameters
localToGlobalBinFunction mapping the local bins of x,y,z to the global bin of the map magnetic field value e.g.: we have small grid with the values: x={2,3}, y={3,4}, z ={4,5}, the corresponding indices are i(x), j(y) and z(k), the globalIndex is M and the field map is:

|| x | i || y | j || z | k || |B(x,y,z)| || M ||

|| 2 | 0 || 3 | 0 || 4 | 0 || 2.323 || 0 || || 2 | 0 || 3 | 0 || 5 | 1 || 2.334 || 1 || || 2 | 0 || 4 | 1 || 4 | 0 || 2.325 || 2 || || 2 | 0 || 4 | 1 || 5 | 1 || 2.331 || 3 || || 3 | 1 || 3 | 0 || 4 | 0 || 2.323 || 4 || || 3 | 1 || 3 | 0 || 5 | 1 || 2.334 || 5 || || 3 | 1 || 4 | 1 || 4 | 0 || 2.325 || 6 || || 3 | 1 || 4 | 1 || 5 | 1 || 2.331 || 7 ||

In this case the function would look like:
[](std::array<std::size_t, 3> binsXYZ, std::array<std::size_t, 3> nBinsXYZ)
{
return (binsXYZ.at(0) * (nBinsXYZ.at(1) * nBinsXYZ.at(2))
+ binsXYZ.at(1) * nBinsXYZ.at(2)
+ binsXYZ.at(2));
}
Parameters
[in]fieldMapFilePath to file containing field map in txt format
[in]treeNameThe name of the root tree
[in]lengthUnitThe unit of the grid points
[in]BFieldUnitThe unit of the magnetic field
[in]firstOctantFlag if set to true indicating that only the first octant of the grid points and the BField values has been given and that the BFieldMap should be created symmetrically for all quadrants. e.g. we have the grid values z={0,1} with BFieldValues={2,3} on the r axis. If the flag is set to true the z-axis grid values will be set to {-1,0,1} and the BFieldValues will be set to {3,2,3}.

◆ surface() [1/2]

const Acts::Surface & ActsPlugins::TGeoDetectorElement::surface ( ) const
overridevirtual

Return surface associated with this detector element.

Returns
Reference to the nominal transformation matrix

Implements Acts::SurfacePlacementBase.

◆ surface() [2/2]

Acts::Surface & ActsPlugins::TGeoDetectorElement::surface ( )
overridevirtual

Return surface associated with this detector element.

Returns
Const reference to the surface
Note
this is the non-const access

Implements Acts::SurfacePlacementBase.

◆ thickness()

double ActsPlugins::TGeoDetectorElement::thickness ( ) const

Returns the thickness of the module.

Returns
Mutable reference to the surface
Thickness of the detector element in units of length