5#ifndef HGTD_READOUTGEOMETRY_HGTD_DETECTORMANAGER_H
6#define HGTD_READOUTGEOMETRY_HGTD_DETECTORMANAGER_H
10#include "GeoModelKernel/GeoVPhysVol.h"
11#include "GeoModelKernel/GeoVDetectorManager.h"
26#include "GeoModelKernel/GeoAlignableTransform.h"
27#include "GeoModelKernel/GeoVAlignmentStore.h"
30#include "GaudiKernel/StatusCode.h"
53 virtual PVConstLink
getTreeTop(
unsigned int i)
const override;
72 int eta_module)
const;
83 GeoAlignableTransform* transform,
84 const GeoVFullPhysVol* child);
90 GeoVAlignmentStore* alignStore)
const;
94 GeoVAlignmentStore* alignStore)
const;
103 void setCommonItems(std::unique_ptr<const InDetDD::SiCommonItems>&& commonItems);
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
The Detector manager has methods to retrieve the Identifier helper and methods to retrieve the detect...
const HGTD_ID * m_idHelper
virtual unsigned int getNumTreeTops() const override
Access to raw geometry:
void addTreeTop(PVConstLink treeTop)
Add a Tree top:
HGTD_DetectorManager(const HGTD_DetectorManager &right)
const InDetDD::HGTD_DetectorElement * getDetectorElement(const Identifier &id) const
access to individual elements : via Identifier
bool setAlignableTransformDelta(int level, const Identifier &id, const Amg::Transform3D &delta, GeoVAlignmentStore *alignStore) const
Apply alignment correction.
const InDetDD::HGTD_DetectorElementCollection * getDetectorElementCollection() const
Get the collection of element that is held.
void invalidateAll()
Invalidate cache for all detector elements.
void updateAll() const
Update all caches.
~HGTD_DetectorManager()
Destructor.
std::vector< PVConstLink > m_volume
HGTD_DetectorManager(StoreGateSvc *detStore)
Constructor.
std::unique_ptr< const InDetDD::SiCommonItems > m_commonItems
void addDetectorElement(InDetDD::HGTD_DetectorElement *element)
Add elememts.
std::vector< std::unique_ptr< InDetDD::ExtendedAlignableTransform > > m_alignableTransforms
const HGTD_ID * getIdHelper() const
const HGTD_DetectorManager & operator=(const HGTD_DetectorManager &right)
Prevent copy and assignment.
virtual PVConstLink getTreeTop(unsigned int i) const override
void setCommonItems(std::unique_ptr< const InDetDD::SiCommonItems > &&commonItems)
Set SiCommonItems.
void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *transform, const GeoVFullPhysVol *child)
Register alignable transform.
InDetDD::HGTD_DetectorElementCollection m_elementCollection
StatusCode align(const AlignableTransformContainer *container, GeoVAlignmentStore *alignStore) const
Apply alignment constants from an AlignableTransformContainer.
This is an Identifier helper class for the HGTD subdetector.
This is a "hash" representation of an Identifier.
Class to hold geometrical description of an HGTD detector element.
The Athena Transient Store API.
Eigen::Affine3d Transform3D
DataVector< HGTD_DetectorElement > HGTD_DetectorElementCollection