ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::TrkDetElementBase Class Referenceabstract

This is the base class for all tracking detector elements with read-out relevant information. More...

#include <TrkDetElementBase.h>

Inheritance diagram for Trk::TrkDetElementBase:
Collaboration diagram for Trk::TrkDetElementBase:

Public Member Functions

 TrkDetElementBase (const GeoVFullPhysVol *fullPhysVol)
 Constructor from GeoVFullPhysVolume.
virtual ~TrkDetElementBase ()=default
 virtual Destructor
virtual Identifier identify () const =0
 Identifier.
virtual IdentifierHash identifyHash () const =0
 Identifier hash.
virtual const Amg::Transform3Dtransform () const =0
 Return local to global transform.
virtual const Amg::Transform3Dtransform (const Identifier &id) const =0
 Return local to global transform associated with this identifier.
virtual const Surfacesurface () const =0
 Return surface associated with this detector element.
virtual const Surfacesurface (const Identifier &id) const =0
 Return surface associated with this identifier, which should come from the PrepRawData object (i.e.
virtual const SurfaceBoundsbounds () const =0
 Return the boundaries of the element.
virtual const SurfaceBoundsbounds (const Identifier &id) const =0
 Return the boundaries of the surface associated with this identifier.
virtual const Amg::Vector3Dcenter () const =0
 Return the center of the element.
virtual const Amg::Vector3Dcenter (const Identifier &id) const =0
 Return the center of the surface associated with this identifier In the case of silicon it returns the same as center()
virtual const Amg::Vector3Dnormal () const =0
 Return the normal of the element.
virtual const Amg::Vector3Dnormal (const Identifier &id) const =0
 Return the normal of the surface associated with this identifier In the case of silicon it returns the same as normal()
virtual DetectorElemType detectorType () const =0
 Return the Detector element type.
std::string detectorTypeString () const
 Returns a string of the Detector element type.

Detailed Description

This is the base class for all tracking detector elements with read-out relevant information.

It serves as the interface to GeoModel and hence incorporates the division between CLHEP (GeoModel) and Amg (Tracking) math libraries.

It is extended in the Inner Detector and Muon System realm.

Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

Definition at line 51 of file TrkDetElementBase.h.

Constructor & Destructor Documentation

◆ TrkDetElementBase()

Trk::TrkDetElementBase::TrkDetElementBase ( const GeoVFullPhysVol * fullPhysVol)

Constructor from GeoVFullPhysVolume.

Definition at line 7 of file TrkDetElementBase.cxx.

8 : GeoVDetectorElement(fullPhysVol) {}

◆ ~TrkDetElementBase()

virtual Trk::TrkDetElementBase::~TrkDetElementBase ( )
virtualdefault

virtual Destructor

Member Function Documentation

◆ bounds() [1/2]

virtual const SurfaceBounds & Trk::TrkDetElementBase::bounds ( ) const
pure virtual

◆ bounds() [2/2]

virtual const SurfaceBounds & Trk::TrkDetElementBase::bounds ( const Identifier & id) const
pure virtual

Return the boundaries of the surface associated with this identifier.

For TRT this will be a straw, while for silicon it returns the same as bounds()

Implemented in InDetDD::SolidStateDetectorElementBase, InDetDD::TRT_BaseElement, MuonGM::MdtReadoutElement, and MuonGM::MuonClusterReadoutElement.

◆ center() [1/2]

virtual const Amg::Vector3D & Trk::TrkDetElementBase::center ( ) const
pure virtual

◆ center() [2/2]

virtual const Amg::Vector3D & Trk::TrkDetElementBase::center ( const Identifier & id) const
pure virtual

Return the center of the surface associated with this identifier In the case of silicon it returns the same as center()

Implemented in InDetDD::SolidStateDetectorElementBase, InDetDD::TRT_BaseElement, MuonGM::MdtReadoutElement, and MuonGM::MuonClusterReadoutElement.

◆ detectorType()

virtual DetectorElemType Trk::TrkDetElementBase::detectorType ( ) const
pure virtual

◆ detectorTypeString()

std::string Trk::TrkDetElementBase::detectorTypeString ( ) const

Returns a string of the Detector element type.

Definition at line 10 of file TrkDetElementBase.cxx.

10 {
11 auto type = detectorType();
13 return "SolidState";
14 else if (type == Trk::DetectorElemType::Silicon)
15 return "Silicon";
16 else if (type == Trk::DetectorElemType::TRT)
17 return "TRT";
18 else if (type == Trk::DetectorElemType::Csc)
19 return "Csc";
20 else if (type == Trk::DetectorElemType::Mdt)
21 return "Mdt";
22 else if (type == Trk::DetectorElemType::Rpc)
23 return "Rpc";
24 else if (type == Trk::DetectorElemType::Tgc)
25 return "Tgc";
26 else if (type == Trk::DetectorElemType::sTgc)
27 return "sTgc";
28 else if (type == Trk::DetectorElemType::MM)
29 return "Mm";
30 return "Unknown";
31}
virtual DetectorElemType detectorType() const =0
Return the Detector element type.

◆ identify()

virtual Identifier Trk::TrkDetElementBase::identify ( ) const
pure virtual

◆ identifyHash()

virtual IdentifierHash Trk::TrkDetElementBase::identifyHash ( ) const
pure virtual

◆ normal() [1/2]

virtual const Amg::Vector3D & Trk::TrkDetElementBase::normal ( ) const
pure virtual

◆ normal() [2/2]

virtual const Amg::Vector3D & Trk::TrkDetElementBase::normal ( const Identifier & id) const
pure virtual

Return the normal of the surface associated with this identifier In the case of silicon it returns the same as normal()

Implemented in InDetDD::SolidStateDetectorElementBase, InDetDD::TRT_BaseElement, MuonGM::MdtReadoutElement, and MuonGM::MuonClusterReadoutElement.

◆ surface() [1/2]

virtual const Surface & Trk::TrkDetElementBase::surface ( ) const
pure virtual

Return surface associated with this detector element.

Implemented in InDetDD::SolidStateDetectorElementBase, InDetDD::TRT_BaseElement, MuonGM::MdtReadoutElement, and MuonGM::MuonClusterReadoutElement.

◆ surface() [2/2]

virtual const Surface & Trk::TrkDetElementBase::surface ( const Identifier & id) const
pure virtual

Return surface associated with this identifier, which should come from the PrepRawData object (i.e.

Surface s = PRD.detElement().surface( PRD.identify() ). This is only really relevant for the TRT (where there are several surfaces per detector element). For other detector elements it will just return surface() ... the Identifier is ignored.

Implemented in InDetDD::SolidStateDetectorElementBase, InDetDD::TRT_BaseElement, MuonGM::MdtReadoutElement, and MuonGM::MuonClusterReadoutElement.

◆ transform() [1/2]

virtual const Amg::Transform3D & Trk::TrkDetElementBase::transform ( ) const
pure virtual

◆ transform() [2/2]

virtual const Amg::Transform3D & Trk::TrkDetElementBase::transform ( const Identifier & id) const
pure virtual

Return local to global transform associated with this identifier.

Implemented in InDetDD::SolidStateDetectorElementBase, InDetDD::TRT_BaseElement, MuonGM::MdtReadoutElement, and MuonGM::MuonClusterReadoutElement.


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