Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::TGeoDetectorElement Class Reference

#include <acts/blob/sPHENIX/Plugins/TGeo/include/Acts/Plugins/TGeo/TGeoDetectorElement.hpp>

+ Inheritance diagram for Acts::TGeoDetectorElement:
+ Collaboration diagram for Acts::TGeoDetectorElement:

Public Types

using ContextType = GeometryContext
 Broadcast the context type.
 

Public Member Functions

 TGeoDetectorElement (const Identifier &identifier, const TGeoNode &tGeoNode, const TGeoMatrix &tGeoMatrix=TGeoIdentity(), const std::string &axes="XYZ", double scalor=10., std::shared_ptr< const Acts::ISurfaceMaterial > material=nullptr)
 
 TGeoDetectorElement (const Identifier &identifier, const TGeoNode &tGeoNode, const Transform3 &tgTransform, const std::shared_ptr< const PlanarBounds > &tgBounds, double tgThickness=0.)
 
 TGeoDetectorElement (const Identifier &identifier, const TGeoNode &tGeoNode, const Transform3 &tgTransform, const std::shared_ptr< const DiscBounds > &tgBounds, double tgThickness=0.)
 
 ~TGeoDetectorElement () override
 
Identifier identifier () const final
 Retrieve the Identifier.
 
const Transform3transform (const GeometryContext &gctx) const override
 
const Surfacesurface () const override
 Return surface associated with this detector element.
 
Surfacesurface () override
 
const std::shared_ptr< const
DigitizationModule
digitizationModule () const final
 Retrieve the DigitizationModule.
 
double thickness () const override
 Returns the thickness of the module.
 
const TGeoNode & tgeoNode () const
 Return the TGeoNode for back navigation.
 

Private Attributes

const TGeoNode * m_detElement {nullptr}
 Pointer to TGeoNode (not owned)
 
Transform3 m_transform = Transform3::Identity()
 Transformation of the detector element.
 
Identifier m_identifier
 Identifier of the detector element.
 
std::shared_ptr< const
SurfaceBounds
m_bounds {nullptr}
 Boundaries of the detector element.
 
double m_thickness {0.}
 Thickness of this detector element.
 
std::shared_ptr< Surfacem_surface {nullptr}
 Corresponding Surface.
 

Detailed Description

DetectorElement plugin for ROOT TGeo shapes. Added possibility to hand over transformation matrix.

Definition at line 40 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 40 of file TGeoDetectorElement.hpp

Member Typedef Documentation

Broadcast the context type.

Definition at line 43 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 43 of file TGeoDetectorElement.hpp

Constructor & Destructor Documentation

Acts::TGeoDetectorElement::TGeoDetectorElement ( const Identifier identifier,
const TGeoNode &  tGeoNode,
const TGeoMatrix &  tGeoMatrix = TGeoIdentity(),
const std::string &  axes = "XYZ",
double  scalor = 10.,
std::shared_ptr< const Acts::ISurfaceMaterial material = nullptr 
)

Constructor

Note
this constructor used auto-translation
Parameters
identifieris the detector identifier
tGeoNodeis the TGeoNode which should be represented
tGeoMatrixThe Matrix to global (i.e. ACTS transform)
axesis the axis orientation with respect to the tracking frame it is a string of the three characters x, y and z (standing for the three axes) there is a distinction between capital and lower case characters :
  • capital -> positive orientation of the axis
  • lower case -> negative orientation of the axis example options are "XYZ" -> identical frame definition (default value) "YZX" -> node y axis is tracking x axis, etc. "XzY" -> negative node z axis is tracking y axis, etc.
Note
This parameter only needs to be set for plane modules
Parameters
scaloris the scale factor for unit conversion if needed
Note
In the translation from a 3D geometry (TGeo) which only knows tubes to a 2D geometry (Tracking geometry) a distinction if the module should be described as a cylinder or a disc surface needs to be done. Since this information can not be taken just from the geometry description (both can be described as TGeoTubeSeg), one needs to set the flag 'isDisc' in case a volume with shape TGeoTubeSeg should be translated to a disc surface. Per default it will be translated into a cylindrical surface.
Parameters
materialPossible material of detector element

Definition at line 33 of file TGeoDetectorElement.cpp.

View newest version in sPHENIX GitHub at line 33 of file TGeoDetectorElement.cpp

References Acts::TGeoSurfaceConverter::cylinderComponents(), Acts::TGeoSurfaceConverter::discComponents(), m_bounds, m_detElement, m_surface, m_thickness, m_transform, testing::internal::move(), Acts::TGeoSurfaceConverter::planeComponents(), and translation().

+ Here is the call graph for this function:

Acts::TGeoDetectorElement::TGeoDetectorElement ( const Identifier identifier,
const TGeoNode &  tGeoNode,
const Transform3 tgTransform,
const std::shared_ptr< const PlanarBounds > &  tgBounds,
double  tgThickness = 0. 
)

Constructor with pre-computed surface

Note
this detector element constructor needs everything pre-computed.
Parameters
identifieris the detector identifier
tGeoNodeis the TGeoNode which should be represented
tgTransformthe transform of this detector element
tgBoundsthe bounds of this surface
tgThicknessthe thickness of this detector element

Definition at line 90 of file TGeoDetectorElement.cpp.

View newest version in sPHENIX GitHub at line 90 of file TGeoDetectorElement.cpp

References m_surface.

Acts::TGeoDetectorElement::TGeoDetectorElement ( const Identifier identifier,
const TGeoNode &  tGeoNode,
const Transform3 tgTransform,
const std::shared_ptr< const DiscBounds > &  tgBounds,
double  tgThickness = 0. 
)

Constructor with pre-computed disk surface.

Note
this detector element constructor needs everything pre-computed.
Parameters
identifieris the detector identifier
tGeoNodeis the TGeoNode which should be represented
tgTransformthe transform of this detector element
tgBoundsthe bounds of this surface
tgThicknessthe thickness of this detector element

Definition at line 103 of file TGeoDetectorElement.cpp.

View newest version in sPHENIX GitHub at line 103 of file TGeoDetectorElement.cpp

References m_surface.

Acts::TGeoDetectorElement::~TGeoDetectorElement ( )
overridedefault

Member Function Documentation

const std::shared_ptr<const DigitizationModule> Acts::TGeoDetectorElement::digitizationModule ( ) const
inlinefinalvirtual

Retrieve the DigitizationModule.

Implements Acts::IdentifiedDetectorElement.

Definition at line 128 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 128 of file TGeoDetectorElement.hpp

Identifier Acts::TGeoDetectorElement::identifier ( ) const
inlinefinalvirtual

Retrieve the Identifier.

Implements Acts::IdentifiedDetectorElement.

Definition at line 154 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 154 of file TGeoDetectorElement.hpp

References m_identifier.

const Surface & Acts::TGeoDetectorElement::surface ( ) const
inlineoverridevirtual

Return surface associated with this detector element.

Implements Acts::DetectorElementBase.

Definition at line 163 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 163 of file TGeoDetectorElement.hpp

References m_surface.

Referenced by sPHENIXActsDetectorElement::transform().

+ Here is the caller graph for this function:

Surface & Acts::TGeoDetectorElement::surface ( )
inlineoverridevirtual

Return surface associated with this detector element

Note
this is the non-const access

Implements Acts::DetectorElementBase.

Definition at line 167 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 167 of file TGeoDetectorElement.hpp

References m_surface.

const TGeoNode& Acts::TGeoDetectorElement::tgeoNode ( ) const
inline

Return the TGeoNode for back navigation.

Definition at line 137 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 137 of file TGeoDetectorElement.hpp

References m_detElement.

double Acts::TGeoDetectorElement::thickness ( ) const
inlineoverridevirtual

Returns the thickness of the module.

Implements Acts::DetectorElementBase.

Definition at line 171 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 171 of file TGeoDetectorElement.hpp

References m_thickness.

const Transform3 & Acts::TGeoDetectorElement::transform ( const GeometryContext gctx) const
inlineoverridevirtual

Return local to global transform associated with this identifier

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

Implements Acts::DetectorElementBase.

Reimplemented in sPHENIXActsDetectorElement.

Definition at line 158 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 158 of file TGeoDetectorElement.hpp

References m_transform.

Member Data Documentation

std::shared_ptr<const SurfaceBounds> Acts::TGeoDetectorElement::m_bounds {nullptr}
private

Boundaries of the detector element.

Definition at line 147 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 147 of file TGeoDetectorElement.hpp

Referenced by TGeoDetectorElement().

const TGeoNode* Acts::TGeoDetectorElement::m_detElement {nullptr}
private

Pointer to TGeoNode (not owned)

Definition at line 141 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 141 of file TGeoDetectorElement.hpp

Referenced by TGeoDetectorElement(), and tgeoNode().

Identifier Acts::TGeoDetectorElement::m_identifier
private

Identifier of the detector element.

Definition at line 145 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 145 of file TGeoDetectorElement.hpp

Referenced by identifier().

std::shared_ptr<Surface> Acts::TGeoDetectorElement::m_surface {nullptr}
private

Corresponding Surface.

Definition at line 151 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 151 of file TGeoDetectorElement.hpp

Referenced by surface(), and TGeoDetectorElement().

double Acts::TGeoDetectorElement::m_thickness {0.}
private

Thickness of this detector element.

Definition at line 149 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 149 of file TGeoDetectorElement.hpp

Referenced by TGeoDetectorElement(), and thickness().

Transform3 Acts::TGeoDetectorElement::m_transform = Transform3::Identity()
private

Transformation of the detector element.

Definition at line 143 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 143 of file TGeoDetectorElement.hpp

Referenced by TGeoDetectorElement(), and transform().


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