|
ATLAS Offline Software
|
#include <SCT_DetectorManager.h>
|
virtual const SiDetectorElementCollection * | getDetectorElementCollection () const override |
| access to whole collectiom More...
|
|
virtual SiDetectorElementCollection::const_iterator | getDetectorElementBegin () const override |
|
virtual SiDetectorElementCollection::const_iterator | getDetectorElementEnd () const override |
|
virtual void | addDetectorElement (SiDetectorElement *element) override |
| Add elememts during construction. More...
|
|
virtual void | addAlignableTransform (int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVFullPhysVol *child) |
| Add alignable transforms. No access to these, they will be changed by manager: More...
|
|
virtual void | addAlignableTransform (int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVPhysVol *child) |
| As above but does a dynamic_cast to GeoVFullPhysVol. More...
|
|
virtual void | addAlignableTransform (int, const Identifier &, GeoAlignableTransform *) override |
| DEPRECATED For backward compatibility. More...
|
|
virtual void | initNeighbours () override |
| Initialize the neighbours. This can only be done when all elements are built. More...
|
|
virtual bool | isPixel () const override |
| Methods to query which manager we have. More...
|
|
virtual bool | identifierBelongs (const Identifier &id) const override |
| Check identifier is for this detector. More...
|
|
const SCT_ModuleSideDesign * | getSCT_Design (int i) const |
| Access to module design, casts to SCT_ModuleSideDesign. More...
|
|
virtual bool | processGlobalAlignment (const std::string &, int level, FrameType frame, const CondAttrListCollection *obj, GeoVAlignmentStore *alignStore) const override |
| Process new global DB folders for L1 and L2. More...
|
|
bool | processSpecialAlignment (const std::string &key, InDetDD::AlignFolderType alignfolder) const override |
| Comply with InDetDetectorManager interface (not implemented for SCT) More...
|
|
bool | processSpecialAlignment (const std::string &key, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const override |
| Comply with InDetDetectorManager interface (not implemented for SCT) More...
|
|
void | addMotherDesign (std::unique_ptr< const SCT_ModuleSideDesign > &&) |
|
virtual bool | setAlignableTransformDelta (int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const override |
| implements the main alignment update for delta transforms in different frames, it translates into the LocalDelta or GlobalDelta function of SiDetectorManager More...
|
|
const SCT_DetectorManager & | operator= (const SCT_DetectorManager &right)=delete |
| Prevent assign operator. More...
|
|
| SCT_DetectorManager (const SCT_DetectorManager &right)=delete |
| Prevent copy constructor. More...
|
|
virtual const SCT_ID * | getIdHelper () const override |
|
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT information, access.
- Author
- : Grant Gorfine
- modified and maintained by Nick Styles & Andreas Salzburger
Definition at line 49 of file SCT_DetectorManager.h.
◆ AlignableTransformMap
◆ SCT_DetectorManager() [1/3]
InDetDD::SCT_DetectorManager::SCT_DetectorManager |
( |
StoreGateSvc * |
detStore | ) |
|
◆ SCT_DetectorManager() [2/3]
InDetDD::SCT_DetectorManager::SCT_DetectorManager |
( |
StoreGateSvc * |
detStore, |
|
|
const std::string & |
name |
|
) |
| |
◆ SCT_DetectorManager() [3/3]
Prevent copy constructor.
◆ addAlignableTransform() [1/3]
void InDetDD::SCT_DetectorManager::addAlignableTransform |
( |
int |
level, |
|
|
const Identifier & |
id, |
|
|
GeoAlignableTransform * |
xf, |
|
|
const GeoVFullPhysVol * |
child |
|
) |
| |
|
virtual |
Add alignable transforms. No access to these, they will be changed by manager:
Definition at line 264 of file SCT_DetectorManager.cxx.
276 }
else if (
level == 1) {
◆ addAlignableTransform() [2/3]
void InDetDD::SCT_DetectorManager::addAlignableTransform |
( |
int |
level, |
|
|
const Identifier & |
id, |
|
|
GeoAlignableTransform * |
xf, |
|
|
const GeoVPhysVol * |
child |
|
) |
| |
|
virtual |
As above but does a dynamic_cast to GeoVFullPhysVol.
Definition at line 248 of file SCT_DetectorManager.cxx.
255 const GeoVFullPhysVol * childFPV =
dynamic_cast<const GeoVFullPhysVol *
>(child);
257 ATH_MSG_ERROR(
"Child of alignable transform is not a full physical volume");
◆ addAlignableTransform() [3/3]
virtual void InDetDD::SCT_DetectorManager::addAlignableTransform |
( |
int |
, |
|
|
const Identifier & |
, |
|
|
GeoAlignableTransform * |
|
|
) |
| |
|
inlineoverridevirtual |
◆ addAlignFolderType()
◆ addChannel()
void InDetDD::InDetDetectorManager::addChannel |
( |
const std::string & |
key, |
|
|
int |
level, |
|
|
FrameType |
frame |
|
) |
| |
|
inherited |
Alignment access.
Definition at line 56 of file InDetDetectorManager.cxx.
58 std::string frameStr =
"other";
62 <<
", with frame " << frameStr <<
".");
◆ addDesign()
◆ addDetectorElement()
◆ addFolder()
void InDetDD::InDetDetectorManager::addFolder |
( |
const std::string & |
key | ) |
|
|
inherited |
◆ addGlobalFolder()
void InDetDD::InDetDetectorManager::addGlobalFolder |
( |
const std::string & |
key | ) |
|
|
inherited |
◆ addMotherDesign()
◆ addSpecialFolder()
void InDetDD::InDetDetectorManager::addSpecialFolder |
( |
const std::string & |
key | ) |
|
|
inherited |
◆ addTreeTop()
void InDetDD::SCT_DetectorManager::addTreeTop |
( |
const PVConstLink & |
vol | ) |
|
◆ align() [1/2]
StatusCode InDetDD::InDetDetectorManager::align |
( |
const RawAlignmentObjects & |
alignObjects, |
|
|
GeoVAlignmentStore * |
alignStore |
|
) |
| const |
|
inherited |
Definition at line 208 of file InDetDetectorManager.cxx.
214 bool alignmentChange =
false;
217 for(
const auto& alignObj : alignObjects) {
218 const std::string&
key = alignObj.first;
227 alignmentChange = (alignmentChange ||
status);
228 }
catch(std::runtime_error&
err) {
231 return StatusCode::FAILURE;
239 alignmentChange = (alignmentChange ||
status);
240 }
catch(std::runtime_error&
err) {
243 return StatusCode::FAILURE;
252 alignmentChange = (alignmentChange ||
status);
254 catch(std::runtime_error&
err) {
258 return StatusCode::FAILURE;
268 return StatusCode::RECOVERABLE;
276 return StatusCode::SUCCESS;
◆ align() [2/2]
◆ getDesign()
◆ getDetectorElement() [1/3]
◆ getDetectorElement() [2/3]
◆ getDetectorElement() [3/3]
SiDetectorElement * InDetDD::SCT_DetectorManager::getDetectorElement |
( |
int |
barrel_endcap, |
|
|
int |
layer_wheel, |
|
|
int |
phi_module, |
|
|
int |
eta_module, |
|
|
int |
side |
|
) |
| const |
◆ getDetectorElementBegin()
SiDetectorElementCollection::const_iterator InDetDD::SCT_DetectorManager::getDetectorElementBegin |
( |
| ) |
const |
|
overridevirtual |
◆ getDetectorElementCollection()
◆ getDetectorElementEnd()
SiDetectorElementCollection::const_iterator InDetDD::SCT_DetectorManager::getDetectorElementEnd |
( |
| ) |
const |
|
overridevirtual |
◆ getIdHelper()
const SCT_ID * InDetDD::SCT_DetectorManager::getIdHelper |
( |
| ) |
const |
|
overrideprivatevirtual |
◆ getLayout()
const std::string & InDetDD::InDetDetectorManager::getLayout |
( |
| ) |
const |
|
inherited |
◆ getLevel()
Retrieve level information.
Definition at line 87 of file InDetDetectorManager.cxx.
89 std::map<std::string, LevelInfo>::const_iterator iter;
◆ getNumTreeTops()
unsigned int InDetDD::SCT_DetectorManager::getNumTreeTops |
( |
| ) |
const |
|
overridevirtual |
◆ getSCT_Design()
◆ getTreeTop()
PVConstLink InDetDD::SCT_DetectorManager::getTreeTop |
( |
unsigned int |
i | ) |
const |
|
overridevirtual |
◆ getVersion()
const Version & InDetDD::InDetDetectorManager::getVersion |
( |
| ) |
const |
|
inherited |
◆ identifierBelongs()
bool InDetDD::SCT_DetectorManager::identifierBelongs |
( |
const Identifier & |
id | ) |
const |
|
overridevirtual |
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ initNeighbours()
void InDetDD::SCT_DetectorManager::initNeighbours |
( |
| ) |
|
|
overridevirtual |
◆ invalidateAll()
void InDetDD::SiDetectorManager::invalidateAll |
( |
| ) |
const |
|
virtualinherited |
◆ isPixel()
virtual bool InDetDD::SCT_DetectorManager::isPixel |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ isSCT()
bool InDetDD::SiDetectorManager::isSCT |
( |
| ) |
const |
|
inlineinherited |
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ numDesigns()
int InDetDD::SiDetectorManager::numDesigns |
( |
| ) |
const |
|
inherited |
◆ numerology() [1/2]
◆ numerology() [2/2]
◆ operator=()
◆ processAlignmentContainer() [1/2]
Definition at line 307 of file InDetDetectorManager.cxx.
309 bool alignmentChange =
false;
312 if (container->
empty()) {
314 <<
" is empty. Probably due to out of range IOV");
316 throw std::runtime_error(
"Unable to apply Inner Detector alignments.");
321 std::map<const std::string, const AlignableTransform*> stringToTransform;
322 for (
const auto *
pat : *container) {
323 stringToTransform[
pat->tag()] =
pat;
325 for (
const std::pair<const std::string, const AlignableTransform*>&
value: stringToTransform) {
327 alignmentChange = (alignmentChange ||
status);
329 return alignmentChange;
◆ processAlignmentContainer() [2/2]
bool InDetDD::InDetDetectorManager::processAlignmentContainer |
( |
const std::string & |
key | ) |
const |
|
privateinherited |
return align folder string to use
Process the alignment container, calls processKey
Definition at line 279 of file InDetDetectorManager.cxx.
281 bool alignmentChange =
false;
286 ATH_MSG_ERROR(
"Cannot find AlignableTransformContainer for key "
287 <<
key <<
" - no misalignment");
289 throw std::runtime_error(
"Unable to apply Inner Detector alignments");
292 if (container->
empty()) {
294 <<
key <<
" is empty. Probably due to out of range IOV");
296 throw std::runtime_error(
"Unable to apply Inner Detector alignments.");
299 for (
const auto *
pat : *container) {
302 alignmentChange = (alignmentChange ||
status);
304 return alignmentChange;
◆ processGlobalAlignment()
Process new global DB folders for L1 and L2.
Reimplemented from InDetDD::InDetDetectorManager.
Definition at line 306 of file SCT_DetectorManager.cxx.
309 ATH_MSG_INFO(
"Processing new global alignment containers with key " <<
key <<
" in the " << frame <<
" frame at level ");
314 <<
key <<
" - no new global alignment ");
318 bool alignmentChange =
false;
325 if (atrlist[
"det"].data<int>()!=2)
continue;
328 atrlist[
"layer"].data<int>(),
329 atrlist[
"ring"].data<int>(),
330 atrlist[
"sector"].data<int>(),
335 Amg::Translation3D newtranslation(atrlist[
"Tx"].data<float>(),atrlist[
"Ty"].data<float>(),atrlist[
"Tz"].data<float>());
336 Amg::Transform3D newtrans = newtranslation * Amg::RotationMatrix3D::Identity();
342 <<
" ,det: " << atrlist[
"det"].data<
int>()
343 <<
" ,bec: " << atrlist[
"bec"].data<
int>()
344 <<
" ,layer: " << atrlist[
"layer"].data<
int>()
345 <<
" ,ring: " << atrlist[
"ring"].data<
int>()
346 <<
" ,sector: " << atrlist[
"sector"].data<
int>()
347 <<
" ,Tx: " << atrlist[
"Tx"].data<
float>()
348 <<
" ,Ty: " << atrlist[
"Ty"].data<
float>()
349 <<
" ,Tz: " << atrlist[
"Tz"].data<
float>()
350 <<
" ,Rx: " << atrlist[
"Rx"].data<
float>()
351 <<
" ,Ry: " << atrlist[
"Ry"].data<
float>()
352 <<
" ,Rz: " << atrlist[
"Rz"].data<
float>());
362 ATH_MSG_DEBUG(
"Cannot set AlignableTransform for identifier."
364 <<
" at level " <<
level <<
" for new global DB ");
367 alignmentChange = (alignmentChange ||
status);
369 return alignmentChange;
◆ processGlobalAlignmentContainer()
bool InDetDD::InDetDetectorManager::processGlobalAlignmentContainer |
( |
const std::string & |
key, |
|
|
const CondAttrListCollection * |
obj = nullptr , |
|
|
GeoVAlignmentStore * |
alignStore = nullptr |
|
) |
| const |
|
privateinherited |
Definition at line 395 of file InDetDetectorManager.cxx.
399 bool alignmentChange =
false;
405 if (levelInfo.isValid()) {
412 if (!levelInfo.isValid() )
return false;
417 alignmentChange = (alignmentChange ||
status);
419 return alignmentChange;
◆ processKey()
bool InDetDD::InDetDetectorManager::processKey |
( |
const std::string & |
key, |
|
|
const AlignableTransform * |
transformCollection, |
|
|
GeoVAlignmentStore * |
alignStore = nullptr |
|
) |
| const |
|
privateinherited |
Called by processAlignmentContainer, applies only one key on the transform Collections.
Definition at line 332 of file InDetDetectorManager.cxx.
336 bool alignmentChange =
false;
341 if (levelInfo.isValid()) {
348 if (!levelInfo.isValid() )
return false;
352 trans_iter != transformCollection->
end();
355 <<
getIdHelper()->show_to_string(trans_iter->identify())
356 <<
" at level " << levelInfo.level());
362 trans_iter->identify(),
367 alignmentChange = (alignmentChange ||
status);
372 ATH_MSG_DEBUG(
"Cannot set AlignableTransform for identifier."
373 <<
" Probably OK if its /Indet/Align/ID folder. "
374 <<
getIdHelper()->show_to_string(trans_iter->identify())
375 <<
" at level " << levelInfo.level());
378 ATH_MSG_DEBUG(
"WARNING: Cannot set AlignableTransform for identifier "
379 <<
getIdHelper()->show_to_string(trans_iter->identify())
380 <<
" at level " << levelInfo.level());
383 <<
getIdHelper()->show_to_string(trans_iter->identify())
384 <<
" at level " << levelInfo.level());
385 ATH_MSG_WARNING(
"Subsequent WARNINGS will be printed at DEBUG level.");
391 return alignmentChange;
◆ processSpecialAlignment() [1/2]
bool InDetDD::SCT_DetectorManager::processSpecialAlignment |
( |
const std::string & |
key, |
|
|
const CondAttrListCollection * |
obj = nullptr , |
|
|
GeoVAlignmentStore * |
alignStore = nullptr |
|
) |
| const |
|
overridevirtual |
◆ processSpecialAlignment() [2/2]
◆ setAlignableTransformDelta()
implements the main alignment update for delta transforms in different frames, it translates into the LocalDelta or GlobalDelta function of SiDetectorManager
Implements InDetDD::SiDetectorManager.
Definition at line 152 of file SCT_DetectorManager.cxx.
163 if (!idHash.
is_valid())
return false;
172 if (!element)
return false;
187 ATH_MSG_WARNING(
"Frames other than global or local are not supported.");
191 }
else if (
level == 1) {
195 if (!idHash.
is_valid())
return false;
197 int idModuleHash = idHash / 2;
209 if (!element)
return false;
223 ATH_MSG_WARNING(
"Frames other than global or local are not supported.");
230 ATH_MSG_WARNING(
"Non global shift at higher levels is not supported.");
238 AlignableTransformMap::const_iterator iter;
◆ setAlignableTransformGlobalDelta()
Helper method to set delta transform from a global delta - Amg interface.
Definition at line 101 of file SiDetectorManager.cxx.
121 if (!extXF)
return false;
123 const GeoVFullPhysVol * child = extXF->child();
124 if (child && extXF->alignableTransform()) {
127 extXF->alignableTransform()->setDelta(
transform.inverse() * delta *
transform, alignStore);
◆ setAlignableTransformLocalDelta()
Helper method to set delta transform from a local delta - Amg interface.
Definition at line 62 of file SiDetectorManager.cxx.
84 if (!extXF)
return false;
86 const GeoVFullPhysVol* child = extXF->child();
87 if (child && extXF->alignableTransform()) {
94 extXF->alignableTransform()->setDelta(correctedDelta, alignStore);
◆ setCommonItems()
void InDetDD::SiDetectorManager::setCommonItems |
( |
std::unique_ptr< const SiCommonItems > && |
commonItems | ) |
|
|
inherited |
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setVersion()
void InDetDD::InDetDetectorManager::setVersion |
( |
const Version & |
version | ) |
|
|
inherited |
◆ tag()
const std::string & InDetDD::SiDetectorManager::tag |
( |
| ) |
const |
|
inherited |
◆ updateAll()
void InDetDD::SiDetectorManager::updateAll |
( |
| ) |
const |
|
virtualinherited |
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_alignableTransforms
◆ m_alignfoldertype
◆ m_commonItems
◆ m_designs
◆ m_detStore
◆ m_elementCollection
◆ m_folders
std::set<std::string> InDetDD::InDetDetectorManager::m_folders |
|
privateinherited |
◆ m_globalFolders
std::set<std::string> InDetDD::InDetDetectorManager::m_globalFolders |
|
privateinherited |
◆ m_higherAlignableTransforms
◆ m_idHelper
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_isLogical
bool InDetDD::SCT_DetectorManager::m_isLogical |
|
private |
This variable switches the how the local alignment corrections are applied If true they will be calcualted on top of all of other corrections but in the default reference frame If false they will be calcualted on top of all of other corrections but in the globally aligned reference frame.
Definition at line 180 of file SCT_DetectorManager.h.
◆ m_keys
std::map<std::string, LevelInfo> InDetDD::InDetDetectorManager::m_keys |
|
privateinherited |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_moduleAlignableTransforms
◆ m_motherDesigns
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_numerology
◆ m_specialFolders
std::set<std::string> InDetDD::InDetDetectorManager::m_specialFolders |
|
privateinherited |
◆ m_suppressWarnings
std::atomic_bool InDetDD::InDetDetectorManager::m_suppressWarnings |
|
mutableprotectedinherited |
◆ m_tag
std::string InDetDD::SiDetectorManager::m_tag |
|
privateinherited |
◆ m_version
Version InDetDD::InDetDetectorManager::m_version |
|
privateinherited |
◆ m_volume
std::vector<PVConstLink> InDetDD::SCT_DetectorManager::m_volume |
|
private |
◆ s_invalidLevel
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
std::vector< AlignableTransformMap > m_higherAlignableTransforms
std::atomic< MSG::Level > m_lvl
Current logging level.
int get_next_in_phi(const IdentifierHash &id, IdentifierHash &next) const
Next wafer hash in phi (return == 0 for neighbor found)
const_iterator end() const
SCT_DetectorManager(StoreGateSvc *detStore)
Constructor.
std::vector< std::unique_ptr< ExtendedAlignableTransform > > m_moduleAlignableTransforms
int get_prev_in_phi(const IdentifierHash &id, IdentifierHash &prev) const
Previous wafer hash in phi (return == 0 for neighbor found)
virtual bool identifierBelongs(const Identifier &id) const =0
Check identifier is for this detector.
SiDetectorManager(StoreGateSvc *detStore, const std::string &name)
std::vector< std::unique_ptr< const SCT_ModuleSideDesign > > m_motherDesigns
bool is_sct(Identifier id) const
std::vector< std::unique_ptr< const SiDetectorDesign > > m_designs
A CondMultChanCollection is a template class which can hold a collection of T* objects which are inte...
static bool setAlignableTransformLocalDelta(ExtendedAlignableTransform *extXF, const Amg::Transform3D &localToGlobalXF, const Amg::Transform3D &delta, GeoVAlignmentStore *alignStore=nullptr)
Helper method to set delta transform from a local delta - Amg interface.
virtual const AtlasDetectorID * getIdHelper() const =0
bool m_isLogical
This variable switches the how the local alignment corrections are applied If true they will be calcu...
virtual bool setAlignableTransformDelta(int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore) const override
implements the main alignment update for delta transforms in different frames, it translates into the...
std::atomic_bool m_suppressWarnings
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
const std::string & layout() const
Layout (eg Initial, Final, TestBeam)
#define ATH_MSG_VERBOSE(x)
const SCT_ID * m_idHelper
This class is a collection of AttributeLists where each one is associated with a channel number....
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
virtual SiDetectorElement * getDetectorElement(const Identifier &id) const override
access to individual elements via Identifier
std::map< std::string, LevelInfo > m_keys
IMessageSvc * getMessageSvc(bool quiet=false)
const LevelInfo & getLevel(const std::string &key) const
Retrieve level information.
virtual const SCT_ID * getIdHelper() const override
static bool setAlignableTransformGlobalDelta(ExtendedAlignableTransform *extXF, const Amg::Transform3D &delta, GeoVAlignmentStore *alignStore=nullptr)
Helper method to set delta transform from a global delta - Amg interface.
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
std::vector< std::unique_ptr< ExtendedAlignableTransform > > m_alignableTransforms
::StatusCode StatusCode
StatusCode definition for legacy code.
const SiDetectorDesign * getDesign(int i) const
Eigen::Affine3d Transform3D
std::set< std::string > m_globalFolders
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
const int FIRST_HIGHER_LEVEL
static const LevelInfo s_invalidLevel
IdentifierHash wafer_hash(const Identifier &wafer_id) const
wafer hash from id - optimized
int get_other_side(const IdentifierHash &id, IdentifierHash &other) const
Wafer hash on other side.
StoreGateSvc * m_detStore
virtual bool setAlignableTransformDelta(int level, const Identifier &id, const Amg::Transform3D &delta, FrameType frame, GeoVAlignmentStore *alignStore=nullptr) const =0
Set method applying the delta transform (in global or local frame) onto the geoModel transform : CLHE...
MsgStream & msg() const
The standard message stream.
bool is_valid() const
Check if id is in a valid state.
std::set< std::string > m_folders
SiDetectorElementCollection m_elementCollection
virtual bool isPixel() const =0
Methods to query which manager we have.
size_type wafer_hash_max(void) const
std::vector< PVConstLink > m_volume
SiNumerology m_numerology
virtual bool processGlobalAlignment(const std::string &key, int level, FrameType frame, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const
Eigen::Matrix< double, 3, 1 > Vector3D
bool processKey(const std::string &key, const AlignableTransform *transformCollection, GeoVAlignmentStore *alignStore=nullptr) const
Called by processAlignmentContainer, applies only one key on the transform Collections.
int get_prev_in_eta(const IdentifierHash &id, IdentifierHash &prev) const
Previous wafer hash in eta (return == 0 for neighbor found)
int get_next_in_eta(const IdentifierHash &id, IdentifierHash &next) const
Next wafer hash in eta (return == 0 for neighbor found)
#define ATH_MSG_WARNING(x)
ChanAttrListMap::const_iterator const_iterator
Amg::Transform3D CLHEPTransformToEigen(const HepGeom::Transform3D &CLHEPtransf)
Converts a CLHEP-based HepGeom::Transform3D into an Eigen Amg::Transform3D.
std::set< std::string > m_specialFolders
virtual void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVFullPhysVol *child)
Add alignable transforms. No access to these, they will be changed by manager:
std::string m_nm
Message source name.
Eigen::Translation< double, 3 > Translation3D
bool processAlignmentContainer(const std::string &key) const
return align folder string to use
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
bool processGlobalAlignmentContainer(const std::string &key, const CondAttrListCollection *obj=nullptr, GeoVAlignmentStore *alignStore=nullptr) const
AlignFolderType m_alignfoldertype
Eigen::AngleAxisd AngleAxis3D
virtual SiDetectorElementCollection::const_iterator getDetectorElementEnd() const =0
void initMessaging() const
Initialize our message level and MessageSvc.
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int side) const
For a single side of module.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
virtual SiDetectorElementCollection::const_iterator getDetectorElementBegin() const =0
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
std::unique_ptr< const SiCommonItems > m_commonItems
virtual bool processSpecialAlignment(const std::string &key, InDetDD::AlignFolderType alignfolder) const =0
bool empty() const noexcept
Returns true if the collection is empty.