Loading [MathJax]/jax/output/SVG/config.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
21 :
Trk::TrkDetElementBase(volume)
23 , m_idHelper(idHelper)
24 , m_conditions(conditions)
29 m_idHash = m_idHelper->straw_layer_hash(
id);
33 :
Trk::TrkDetElementBase(right.getMaterialGeom())
35 , m_idHash(right.m_idHash)
36 , m_idHelper(right.m_idHelper)
37 , m_conditions(right.m_conditions)
57 const std::vector<const Trk::Surface*>&
61 std::vector<const Trk::Surface*> tmp_surfaces;
62 tmp_surfaces.reserve(
nStraws());
63 for (
unsigned is = 0; is <
nStraws(); ++is) {
173 std::make_unique<Trk::StraightLineSurface>(*
this,
id));
177 std::unique_ptr<SurfaceCacheBase>
186 return std::make_unique<SurfaceCacheBase>(sTransform, sCenter);
218 for (
unsigned int iStraw = 0; iStraw <
nStraws(); iStraw++) {
Ensure that the extensions for the Vector3D are properly loaded.
virtual int strawDirection() const =0
StrawDirection.
const T * ptr() const
Return a pointer to the cached value.
const std::vector< const Trk::Surface * > & surfaces() const
Returns the full list of all detection surfaces associated to this detector element.
void deleteCache()
Helper method for cache dealing.
bool isValid() const
Test to see if the value is valid.
unsigned int nStraws() const
Number of straws in the element.
Amg::Vector3D strawAxis(int straw) const
Straw axis.
This is an Identifier helper class for the TRT subdetector. This class is a factory for creating comp...
const Amg::Vector3D & strawCenter(int straw) const
Straw Surface: Local -> global transform of the straw via integer.
TRT_BaseElement(const GeoVFullPhysVol *volume, const Identifier &id, const TRT_ID *idHelper, const TRT_Conditions *conditions)
Constructor:
virtual void createSurfaceCache(GeoAlignmentStore *alignStore=nullptr) const =0
create the surface cache of the detector element, to be implementd in the deried class
std::vector< CxxUtils::CachedUniquePtr< Trk::StraightLineSurface > > m_strawSurfaces
int straw(const Identifier &id) const
CxxUtils::CachedValue< SurfaceCache > m_surfaceCache
virtual HepGeom::Transform3D calculateStrawTransform(int straw, GeoAlignmentStore *alignStore=nullptr) const =0
to be overloaded by the extended classes
Eigen::Affine3d Transform3D
const TRT_ID * m_idHelper
const HepGeom::Transform3D getAbsoluteTransform(int straw) const
This is an alias to strawTransform(int straw)
virtual Identifier identify() const override final
identifier of this detector element:
CxxUtils::CachedValue< std::vector< const Trk::Surface * > > m_surfaces
Ensure that the ATLAS eigen extensions are properly loaded.
std::vector< CxxUtils::CachedUniquePtr< SurfaceCacheBase > > m_strawSurfacesCache
helper element surface for the cache
void invalidateOther() const
invalidate action on the cache
void set(const T &val) const
Set the value, assuming it is currently invalid.
void invalidate()
Invalidate cache.
Eigen::Matrix< double, 3, 1 > Vector3D
virtual const Trk::SurfaceBounds & bounds() const override final
Straw layer bounds.
void updateAllCaches(GeoAlignmentStore *alignStore=nullptr)
Update all caches.
std::unique_ptr< SurfaceCacheBase > createSurfaceCacheHelper(int straw, GeoAlignmentStore *alignStore=nullptr) const
const Amg::Transform3D & strawTransform(unsigned int straw) const
Straw transform - fast access in array, in Tracking frame: Amg.
Amg::Transform3D CLHEPTransformToEigen(const HepGeom::Transform3D &CLHEPtransf)
Converts a CLHEP-based HepGeom::Transform3D into an Eigen Amg::Transform3D.
virtual const Amg::Vector3D & center() const override final
Element Surface: center of a straw layer.
HepGeom::Transform3D EigenTransformToCLHEP(const Amg::Transform3D &eigenTransf)
Converts an Eigen-based Amg::Transform3D into a CLHEP-based HepGeom::Transform3D.
const Trk::StraightLineSurface & strawSurface(int straw) const
Straw Surface: access to the surface via integer.
virtual const Trk::SurfaceBounds & strawBounds() const =0
the straw bounds
virtual const Amg::Vector3D & normal() const override final
Element Surface: normal of a straw layer.
virtual const Trk::Surface & surface() const override final
Element Surface: access to the Surface (straw layer)
Identifier straw_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer, int straw) const
Three ways of getting id for a single straw:
virtual const Amg::Transform3D & transform() const override final
Element Surface: Get Transform of element in Tracking frame: Amg.