9#ifndef TRKDETELEMENTBASE_TRKDETELEMENTBASE_H
10#define TRKDETELEMENTBASE_TRKDETELEMENTBASE_H
16#include "GeoModelKernel/GeoVDetectorElement.h"
17#include "Identifier/Identifier.h"
This is a "hash" representation of an Identifier.
Abstract base class for surface bounds to be specified.
Abstract Base Class for tracking surfaces.
virtual ~TrkDetElementBase()=default
virtual Destructor
virtual const SurfaceBounds & bounds() const =0
Return the boundaries of the element.
virtual const Amg::Vector3D & center(const Identifier &id) const =0
Return the center of the surface associated with this identifier In the case of silicon it returns th...
virtual const Amg::Transform3D & transform() const =0
Return local to global transform.
virtual IdentifierHash identifyHash() const =0
Identifier hash.
TrkDetElementBase(const GeoVFullPhysVol *fullPhysVol)
Constructor from GeoVFullPhysVolume.
virtual const SurfaceBounds & bounds(const Identifier &id) const =0
Return the boundaries of the surface associated with this identifier.
virtual const Amg::Vector3D & center() const =0
Return the center of the element.
virtual Identifier identify() const =0
Identifier.
virtual DetectorElemType detectorType() const =0
Return the Detector element type.
std::string detectorTypeString() const
Returns a string of the Detector element type.
virtual const Amg::Vector3D & normal() const =0
Return the normal of the element.
virtual const Surface & surface() const =0
Return surface associated with this detector element.
virtual const Amg::Transform3D & transform(const Identifier &id) const =0
Return local to global transform associated with this identifier.
virtual const Surface & surface(const Identifier &id) const =0
Return surface associated with this identifier, which should come from the PrepRawData object (i....
virtual const Amg::Vector3D & normal(const Identifier &id) const =0
Return the normal of the surface associated with this identifier In the case of silicon it returns th...
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.