EIC 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 () override
 
Identifier identifier () const final
 Retrieve the Identifier.
 
const Transform3Dtransform (const GeometryContext &gctx) const final
 
const Surfacesurface () const final
 Return surface associated with this identifier, which should come from the.
 
const std::shared_ptr< const
DigitizationModule
digitizationModule () const final
 Retrieve the DigitizationModule.
 
double thickness () const final
 Returns the thickness of the module.
 

Private Attributes

const TGeoNode * m_detElement {nullptr}
 Pointer to TGeoNode (not owned)
 
Transform3D m_transform = Transform3D::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 33 of file TGeoDetectorElement.hpp.

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

Member Typedef Documentation

Broadcast the context type.

Definition at line 36 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 36 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

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
digitizationModuleShared pointer to the geometric digitization description

Definition at line 37 of file TGeoDetectorElement.cpp.

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

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

+ Here is the call graph for this function:

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 85 of file TGeoDetectorElement.hpp.

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

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

Retrieve the Identifier.

Implements Acts::IdentifiedDetectorElement.

Definition at line 108 of file TGeoDetectorElement.hpp.

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

References m_identifier.

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

Return surface associated with this identifier, which should come from the.

Implements Acts::DetectorElementBase.

Definition at line 117 of file TGeoDetectorElement.hpp.

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

References m_surface.

Referenced by Acts::DD4hepLayerBuilder::createSensitiveSurface().

+ Here is the caller graph for this function:

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

Returns the thickness of the module.

Implements Acts::DetectorElementBase.

Definition at line 121 of file TGeoDetectorElement.hpp.

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

References m_thickness.

const Transform3D & Acts::TGeoDetectorElement::transform ( const GeometryContext gctx) const
inlinefinalvirtual

Return local to global transform associated with this identifier

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

Implements Acts::DetectorElementBase.

Definition at line 112 of file TGeoDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 112 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 101 of file TGeoDetectorElement.hpp.

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

Referenced by TGeoDetectorElement().

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

Pointer to TGeoNode (not owned)

Definition at line 95 of file TGeoDetectorElement.hpp.

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

Referenced by TGeoDetectorElement().

Identifier Acts::TGeoDetectorElement::m_identifier
private

Identifier of the detector element.

Definition at line 99 of file TGeoDetectorElement.hpp.

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

Referenced by identifier().

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

Corresponding Surface.

Definition at line 105 of file TGeoDetectorElement.hpp.

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

Referenced by surface(), and TGeoDetectorElement().

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

Thickness of this detector element.

Definition at line 103 of file TGeoDetectorElement.hpp.

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

Referenced by TGeoDetectorElement(), and thickness().

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

Transformation of the detector element.

Definition at line 97 of file TGeoDetectorElement.hpp.

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

Referenced by TGeoDetectorElement(), and transform().


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