ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
InDet::InDetAlignModuleTool Class Referenceabstract

#include <InDetAlignModuleTool.h>

Inheritance diagram for InDet::InDetAlignModuleTool:
Collaboration diagram for InDet::InDetAlignModuleTool:

Public Types

typedef DataVector< AlignParAlignParVec
 
typedef DataVector< AlignParVecAlignPar2DVec
 

Public Member Functions

 InDetAlignModuleTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~InDetAlignModuleTool ()
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
virtual int subDetElementIDHash (Identifier id) const override
 Returns identifier hash for sub-TrkDetElementBase structure based on detector type. More...
 
virtual void setMeasurementProperties (Trk::AlignTSOS *atsos) const override
 allows to set detector specific properties of AlignTSOS. More...
 
AlignModuleListType alignModuleListType () const override
 returns type of AlignModuleList (see AlignModuleList.h for more info) More...
 
void setAlignModules (AlignModuleList *alignmods, std::vector< AlignModuleList * > *idHashMaps) override
 sets alignModuleLists and idHash maps for a set of AlignModules. More...
 
void setAlignParLists (AlignPar2DVec *fullAlignParList, AlignPar2DVec *alignParList=0) override
 Sets the AlignParLists using boost::multi_array. More...
 
virtual void setAlignParLists (DataVector< DataVector< AlignPar > > *fullAlignParList, DataVector< DataVector< AlignPar > > *alignParList)=0
 sets AlignPar for AlignModules for a particular detector type More...
 
void setSubDetElement (AlignModule::DetectorType detType, bool status) override
 set and retrieve flag whether or not the sub-TrkDetElementBase structures are aligned for a given detector type More...
 
bool subDetElement (AlignModule::DetectorType detType) const override
 
virtual AlignModulefindAlignModule (const RIO_OnTrack *rio, AlignModule::DetectorType detType) const override
 Returns pointer to AlignModule containing RIO. More...
 
virtual AlignModulefindAlignModule (const TrkDetElementBase *det, AlignModule::DetectorType detType) const override
 Returns pointer to AlignModule containing RIO. More...
 
int nAlignParameters () const override
 Returns total number of alignment parameters. More...
 
const AlignModuleList * alignModules1D () override
 Returns 1-D vector of all AlignModules containing all detector types. More...
 
AlignParVecalignParList1D () override
 Returns 1-D vector of all AlignPars for all detector types. More...
 
AlignParVecgetAlignPars (const AlignModule *alignModule) const override
 returns vector of AlignPars for an AlignModule More...
 
virtual void shiftModule (const AlignModule *, const Track *, AlignModule::TransformParameters, double) const override
 methods used for numerical derivative to shift module before refitting track and restore to normal position, to be inherited by detector-specific align modules More...
 
virtual void restoreModule (const AlignModule *) const override
 
virtual void fillDetAlignmentParameters (const TrkDetElementBase *det, DataVector< AlignPar > *apVec, AlignModule::DetectorType detType) const override
 fills values for alignment parameters for a detector element, applying AlignModule transforms if necessary More...
 
virtual const AlignModuleList * getAlignModuleCollection () const override
 Returns collection of AlignModules for a particular detector type. More...
 
AlignParVecgetFullAlignPars (const AlignModule *alignModule) const override
 returns vector of full AlignPars for an AlignModule More...
 
AlignModule::DetectorType getDetectorType (const TrkDetElementBase *det) const override
 Returns detector type (AlignModule enum) for a detector element. More...
 
AlignPar2DVecalignParList () const
 returns complete AlignParList (active parameters only) More...
 
AlignPar2DVecfullAlignParList () const
 returns complete AlignParList More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 
virtual void setLogStream (std::ostream *os)
 sets the output stream for the logfile More...
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Protected Attributes

const AtlasDetectorIDm_idHelper = nullptr
 Used to identify type of detector. More...
 
std::ostream * m_logStream = nullptr
 logfile output stream More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

const TRT_IDm_trtHelper
 TRT id helper. More...
 
IntegerProperty m_alignModuleListType {this, "AlignModuleListType", Trk::L3}
 uses Trk enum AlignModuleListType (L1,L2,L3,L1_5,L2_5) More...
 
AlignModuleList * m_alignModules = nullptr
 list of AlignModules More...
 
std::vector< const AlignModuleList * > m_alignModuleMaps
 maps detector element idHash to AlignModule More...
 
AlignPar2DVecm_alignParList = nullptr
 contains active parameters More...
 
AlignPar2DVecm_fullAlignParList = nullptr
 contains all parameters More...
 
std::vector< AlignModule * > m_alignModules1D
 1-D vector of AlignModules More...
 
AlignParVec m_alignParList1D
 1-D vector of AlignPars More...
 
std::vector< bool > m_subDetElement
 identify detectors aligning structures smaller than TrkDetElementBase More...
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 30 of file InDetAlignModuleTool.h.

Member Typedef Documentation

◆ AlignPar2DVec

Definition at line 40 of file AlignModuleTool.h.

◆ AlignParVec

Definition at line 39 of file AlignModuleTool.h.

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ InDetAlignModuleTool()

InDet::InDetAlignModuleTool::InDetAlignModuleTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 16 of file InDetAlignModuleTool.cxx.

18  , m_trtHelper(nullptr)
19  {
20  ATH_MSG_DEBUG("constructor of InDetAlignModuleTool");
21  }

◆ ~InDetAlignModuleTool()

InDet::InDetAlignModuleTool::~InDetAlignModuleTool ( )
virtualdefault

Member Function Documentation

◆ alignModuleListType()

AlignModuleListType Trk::AlignModuleTool::alignModuleListType ( ) const
inlineoverridevirtualinherited

returns type of AlignModuleList (see AlignModuleList.h for more info)

Implements Trk::IAlignModuleTool.

Definition at line 48 of file AlignModuleTool.h.

48  {
49  return static_cast<AlignModuleListType>(m_alignModuleListType.value());
50  }

◆ alignModules1D()

const AlignModuleList* Trk::AlignModuleTool::alignModules1D ( )
inlineoverridevirtualinherited

Returns 1-D vector of all AlignModules containing all detector types.

Implements Trk::IAlignModuleTool.

Definition at line 88 of file AlignModuleTool.h.

88 { return &m_alignModules1D; }

◆ alignParList()

AlignPar2DVec* Trk::AlignModuleTool::alignParList ( ) const
inlineinherited

returns complete AlignParList (active parameters only)

Definition at line 143 of file AlignModuleTool.h.

143 { return m_alignParList; }

◆ alignParList1D()

AlignParVec* Trk::AlignModuleTool::alignParList1D ( )
inlineoverridevirtualinherited

Returns 1-D vector of all AlignPars for all detector types.

Implements Trk::IAlignModuleTool.

Definition at line 91 of file AlignModuleTool.h.

91 { return &m_alignParList1D; }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ fillDetAlignmentParameters()

void AlignModuleTool::fillDetAlignmentParameters ( const TrkDetElementBase det,
DataVector< AlignPar > *  apVec,
AlignModule::DetectorType  detType 
) const
overridevirtualinherited

fills values for alignment parameters for a detector element, applying AlignModule transforms if necessary

Implements Trk::IAlignModuleTool.

Definition at line 195 of file AlignModuleTool.cxx.

198  {
199  if (detType==AlignModule::NDetectorTypes)
200  detType=getDetectorType(det);
201  if (detType==AlignModule::NDetectorTypes || !m_alignModuleMaps[detType]) return;
202 
203  // get AlignModule
204  int idHash=det->identifyHash();
205  AlignModule* alignModule=(*(m_alignModuleMaps[detType]))[idHash];
206 
207  ATH_MSG_DEBUG("have alignModule "<<alignModule->identify());
208  // get alignment parameters
209  const AlignParVec* modAlignPar = getFullAlignPars(alignModule);
210  ATH_MSG_DEBUG("modAlignPar size: "<<modAlignPar->size());
211 
212  double alignModPar[AlignModule::NTransformPar];
213  double alignModErr[AlignModule::NTransformPar];
214  for (int i=0;i<AlignModule::NTransformPar;i++) {
215  if ((*modAlignPar)[i]) {
216  alignModPar[i]=(*modAlignPar)[i]->par();
217  alignModErr[i]=(*modAlignPar)[i]->err();
218  }
219  else {
220  alignModPar[i]=alignModErr[i]=0.;
221  ATH_MSG_DEBUG("no alignModPar!");
222  }
223  }
224 
225  ATH_MSG_DEBUG("getting transforms");
226 
227  Amg::Translation3D alignModXTranslation(alignModPar[AlignModule::TransX],
228  alignModPar[AlignModule::TransY],
229  alignModPar[AlignModule::TransZ]);
230 
231  Amg::Transform3D alignModXform = alignModXTranslation * Amg::RotationMatrix3D::Identity();
232  alignModXform *= Amg::AngleAxis3D(alignModPar[AlignModule::RotZ], Amg::Vector3D(0.,0.,1.));
233  alignModXform *= Amg::AngleAxis3D(alignModPar[AlignModule::RotY], Amg::Vector3D(0.,1.,0.));
234  alignModXform *= Amg::AngleAxis3D(alignModPar[AlignModule::RotX], Amg::Vector3D(1.,0.,0.));
235 
236 
237  Amg::Translation3D alignModXTranslationErr(alignModErr[AlignModule::TransX],
238  alignModErr[AlignModule::TransY],
239  alignModErr[AlignModule::TransZ]);
240 
241  Amg::Transform3D alignModXformErr = alignModXTranslationErr * Amg::RotationMatrix3D::Identity();
242  alignModXformErr *= Amg::AngleAxis3D(alignModErr[AlignModule::RotZ], Amg::Vector3D(0.,0.,1.));
243  alignModXformErr *= Amg::AngleAxis3D(alignModErr[AlignModule::RotY], Amg::Vector3D(0.,1.,0.));
244  alignModXformErr *= Amg::AngleAxis3D(alignModErr[AlignModule::RotX], Amg::Vector3D(1.,0.,0.));
245 
246  ATH_MSG_DEBUG("getting AlignPars for detector element "<<det->identify());
247 
248  // get the transform for this detector element
249  const Amg::Transform3D* transform = alignModule->alignModuleToDetElementTransform(detType,det);
250 
251  // get the alignment parameters for this detector element
252  ATH_MSG_WARNING("Check that order is correct: AlignModuleTool:271,284");
253  Amg::Transform3D xformPar( (*transform) * alignModXform );
254  double* detpars = new double[AlignModule::NTransformPar];
255  double* deterrs = new double[AlignModule::NTransformPar];
256  decomposeTransform(xformPar,detpars);
257 
258  ATH_MSG_DEBUG("transx="<<detpars[0]);
259  ATH_MSG_DEBUG("transy="<<detpars[1]);
260  ATH_MSG_DEBUG("transz="<<detpars[2]);
261  ATH_MSG_DEBUG("rotx=" <<detpars[3]);
262  ATH_MSG_DEBUG("roty=" <<detpars[4]);
263  ATH_MSG_DEBUG("rotz=" <<detpars[5]);
264 
265  Amg::Transform3D xformErr( (*transform) * alignModXformErr);
266  decomposeTransform(xformErr,deterrs);
267 
268  // set in AlignParList for this detector element
269  ATH_MSG_DEBUG("setting AlignPar for detector element ");
270  for (int ipar=0;ipar<AlignModule::NTransformPar;ipar++) {
271  AlignPar* ap=(*detAPVec)[ipar];
272  ap->setPar(detpars[ipar],deterrs[ipar]);
273  ap->setFinalPar(ap->initPar()+detpars[ipar],
274  std::sqrt(ap->initErr()*ap->initErr() + deterrs[ipar]*deterrs[ipar]) );
275  }
276 
277  ATH_MSG_DEBUG("set");
278 
279  }

◆ finalize()

StatusCode InDet::InDetAlignModuleTool::finalize ( )
overridevirtual

Reimplemented from Trk::AlignModuleTool.

Definition at line 47 of file InDetAlignModuleTool.cxx.

48  {
49  ATH_MSG_DEBUG("Finalize of InDetAlignModuleTool");
50 
51  if(AlignModuleTool::finalize().isFailure()) {
52  msg(MSG::FATAL)<<"Error finalizing AlignModuleTool"<<endmsg;
53  return StatusCode::FAILURE;
54  }
55  return StatusCode::SUCCESS;
56  }

◆ findAlignModule() [1/2]

AlignModule * AlignModuleTool::findAlignModule ( const RIO_OnTrack rio,
AlignModule::DetectorType  detType 
) const
overridevirtualinherited

Returns pointer to AlignModule containing RIO.

Returns 0 if not found.

Implements Trk::IAlignModuleTool.

Definition at line 140 of file AlignModuleTool.cxx.

142  {
143 
144  ATH_MSG_DEBUG("in AlignModuleTool::findAlignModule(rio,detType)");
145 
146  if (!rio) {
147  ATH_MSG_VERBOSE("no rio!");
148  return nullptr;
149  }
150 
151  // find detector type using TrkDetElementBase
152  const TrkDetElementBase * detelement = rio->detectorElement();
153  if (detelement) {
154  ATH_MSG_DEBUG("have detelement");
155 
156  if (detType==AlignModule::NDetectorTypes)
157  detType=getDetectorType(detelement);
158  if (detType==AlignModule::NDetectorTypes || !m_alignModuleMaps[detType]) {
159  ATH_MSG_VERBOSE("bad detector type or no map for detType "<<detType);
160  return nullptr;
161  }
162 
163  // find align module
164  int idHash(0);
165  if (m_subDetElement[detType]) {
166  idHash = subDetElementIDHash(rio->identify());
167  ATH_MSG_DEBUG("idHash (from subDetElement): "<<idHash);
168  }
169  else {
170  idHash = detelement->identifyHash();
171  ATH_MSG_DEBUG("idHash: "<<idHash);
172  }
173 
174  return (*m_alignModuleMaps[detType])[idHash];
175 
176  }
177 
178  ATH_MSG_VERBOSE("no detector element!");
179  return nullptr;
180  }

◆ findAlignModule() [2/2]

AlignModule * AlignModuleTool::findAlignModule ( const TrkDetElementBase det,
AlignModule::DetectorType  detType 
) const
overridevirtualinherited

Returns pointer to AlignModule containing RIO.

Returns 0 if not found.

Implements Trk::IAlignModuleTool.

Definition at line 109 of file AlignModuleTool.cxx.

111  {
112  ATH_MSG_DEBUG("in AlignModuleTool::findAlignModule(det,detType)");
113 
114  if (!det) {
115  ATH_MSG_VERBOSE("no det!");
116  return nullptr;
117  }
118 
119  if (m_subDetElement[detType]) {
120  ATH_MSG_ERROR("please use findAlignModule method passing RIO_OnTrack");
121  return nullptr;
122  }
123 
124  ATH_MSG_VERBOSE("in findAlignModule, detType="<<detType);
125 
126  if (detType==AlignModule::NDetectorTypes)
127  detType=getDetectorType(det);
128  if (detType==AlignModule::NDetectorTypes || !m_alignModuleMaps[detType]) {
129  ATH_MSG_VERBOSE("bad detector type or no map for detType "<<detType);
130  return nullptr;
131  }
132 
133  // find align module
134  int idHash = det->identifyHash();
135  return (*m_alignModuleMaps[detType])[idHash];
136 
137  }

◆ fullAlignParList()

AlignPar2DVec* Trk::AlignModuleTool::fullAlignParList ( ) const
inlineinherited

returns complete AlignParList

Definition at line 146 of file AlignModuleTool.h.

146 { return m_fullAlignParList; }

◆ getAlignModuleCollection()

virtual const AlignModuleList* Trk::AlignModuleTool::getAlignModuleCollection ( ) const
inlineoverridevirtualinherited

Returns collection of AlignModules for a particular detector type.

Implements Trk::IAlignModuleTool.

Definition at line 120 of file AlignModuleTool.h.

121  { return m_alignModules; }

◆ getAlignPars()

DataVector< AlignPar > * AlignModuleTool::getAlignPars ( const AlignModule alignModule) const
overridevirtualinherited

returns vector of AlignPars for an AlignModule

Implements Trk::IAlignModuleTool.

Definition at line 184 of file AlignModuleTool.cxx.

185  {
186  if (!alignModule) return nullptr;
187 
188  int idHash =alignModule->identifyHash();
189  ATH_MSG_DEBUG("getting alignPars for idHash "<<idHash);
190 
191  return std::as_const(m_alignParList)->at(idHash);
192  }

◆ getDetectorType()

AlignModule::DetectorType AlignModuleTool::getDetectorType ( const TrkDetElementBase det) const
overridevirtualinherited

Returns detector type (AlignModule enum) for a detector element.

Implements Trk::IAlignModuleTool.

Definition at line 283 of file AlignModuleTool.cxx.

284  {
285  Identifier id = det->identify();
286 
287  // get dector type
288  if ( id.is_valid()) {
289  if (m_idHelper->is_pixel(id)) return AlignModule::Pixel;
290  else if (m_idHelper->is_sct(id)) return AlignModule::SCT;
291  else if (m_idHelper->is_trt(id)) return AlignModule::TRT;
292  else if (m_idHelper->is_mdt(id)) return AlignModule::MDT;
293  else if (m_idHelper->is_csc(id)) return AlignModule::CSC;
294  else if (m_idHelper->is_rpc(id)) return AlignModule::RPC;
295  else if (m_idHelper->is_tgc(id)) return AlignModule::TGC;
296  }
297 
299  }

◆ getFullAlignPars()

AlignModuleTool::AlignParVec * AlignModuleTool::getFullAlignPars ( const AlignModule alignModule) const
overridevirtualinherited

returns vector of full AlignPars for an AlignModule

Implements Trk::IAlignModuleTool.

Definition at line 303 of file AlignModuleTool.cxx.

304  {
305  int idHash =alignModule->identifyHash();
306  return std::as_const(m_fullAlignParList)->at(idHash);
307  }

◆ initialize()

StatusCode InDet::InDetAlignModuleTool::initialize ( )
overridevirtual

Reimplemented from Trk::AlignModuleTool.

Definition at line 27 of file InDetAlignModuleTool.cxx.

28  {
29  ATH_MSG_DEBUG("Initialize of InDetAlignModuleTool");
30 
31  // initialize AlignModuleTool
32  if(AlignModuleTool::initialize().isFailure()) {
33  msg(MSG::FATAL)<<"Error initializing AlignModuleTool"<<endmsg;
34  return StatusCode::FAILURE;
35  }
36 
37  // Set up TRT ID helper
38  if (detStore()->retrieve(m_trtHelper, "TRT_ID").isFailure()) {
39  msg(MSG::FATAL)<<"Could not get TRT ID helper"<<endmsg;
40  return StatusCode::FAILURE;
41  }
42 
43  return StatusCode::SUCCESS;
44  }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & Trk::IAlignModuleTool::interfaceID ( )
inlinestaticinherited

Definition at line 148 of file IAlignModuleTool.h.

149  { return IID_TRKALIGNINTERFACES_IAlignModuleTool; }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ nAlignParameters()

int Trk::AlignModuleTool::nAlignParameters ( ) const
inlineoverridevirtualinherited

Returns total number of alignment parameters.

Implements Trk::IAlignModuleTool.

Definition at line 85 of file AlignModuleTool.h.

85 { return m_alignParList1D.size(); }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ restoreModule()

virtual void Trk::AlignModuleTool::restoreModule ( const AlignModule ) const
inlineoverridevirtualinherited

Reimplemented from Trk::IAlignModuleTool.

Definition at line 106 of file AlignModuleTool.h.

106 {}

◆ setAlignModules()

void AlignModuleTool::setAlignModules ( AlignModuleList alignmods,
std::vector< AlignModuleList * > *  idHashMaps 
)
overridevirtualinherited

sets alignModuleLists and idHash maps for a set of AlignModules.

AlignModuleList should be of type Combined, containing detector elements of different types.

Implements Trk::IAlignModuleTool.

Definition at line 59 of file AlignModuleTool.cxx.

61  {
62  ATH_MSG_DEBUG("in setAlignModules");
63 
64  m_alignModules=alignmods;
65 
66  for (int i=0;i<(int)idHashMaps->size();i++) {
67  if ((*idHashMaps)[i]) m_alignModuleMaps[i]=(*idHashMaps)[i];
68  }
69 
70  // reset 1-D collection
71  ATH_MSG_DEBUG("clearing alignModules1D");
72  int nmods(0);
73  for (int imod=0;imod<(int)m_alignModules->size();imod++) {
74  m_alignModules1D.push_back((*m_alignModules)[imod]);
75  (*m_alignModules)[imod]->setIdHash(nmods++); // this overwrites what's set in geometry manager tool... should we do this?
76  }
77 
78  ATH_MSG_DEBUG("done setting AlignModules");
79  }

◆ setAlignParLists() [1/2]

void AlignModuleTool::setAlignParLists ( AlignPar2DVec fullAlignParList,
AlignPar2DVec alignParList = 0 
)
overrideinherited

Sets the AlignParLists using boost::multi_array.

Lists are owned by GeometryManagerTool.

Definition at line 83 of file AlignModuleTool.cxx.

85  {
86  ATH_MSG_DEBUG("setting fullAlignParList="<<fullAlignParList
87  <<", alignParList="<<alignParList);
88 
91 
92  // recalculate 1-D collection of alignment parameters
93  ATH_MSG_DEBUG("getting AlignParList1D");
95  int index(0);
96 
98 
99  for (AlignPar2DVec::iterator apVec=aplist->begin(); apVec!=aplist->end();++apVec) {
100  for (AlignParVec::iterator ap=(*apVec)->begin(); ap!=(*apVec)->end();++ap) {
102  (*ap)->setIndex(index++);
103  }
104 
105  }
106  }

◆ setAlignParLists() [2/2]

virtual void Trk::IAlignModuleTool::setAlignParLists ( DataVector< DataVector< AlignPar > > *  fullAlignParList,
DataVector< DataVector< AlignPar > > *  alignParList 
)
pure virtualinherited

sets AlignPar for AlignModules for a particular detector type

◆ setLogStream()

virtual void Trk::IAlignModuleTool::setLogStream ( std::ostream *  os)
inlinevirtualinherited

sets the output stream for the logfile

Definition at line 140 of file IAlignModuleTool.h.

140 { m_logStream = os; }

◆ setMeasurementProperties()

void InDet::InDetAlignModuleTool::setMeasurementProperties ( Trk::AlignTSOS atsos) const
overridevirtual

allows to set detector specific properties of AlignTSOS.

Fan-out angle is set here for SCT measurements in the endcaps.

Reimplemented from Trk::IAlignModuleTool.

Definition at line 70 of file InDetAlignModuleTool.cxx.

71  {
72  // for SCT endcaps set fan-out angle
73  if (atsos->measType() == Trk::TrackState::SCT) {
74  const InDetDD::SiDetectorElement * sidet = dynamic_cast<const InDetDD::SiDetectorElement *> (atsos->detelement());
75  if(sidet && sidet->isEndcap()) {
76  Amg::Vector2D localp = atsos->rio()->localParameters();
77  // the next check is probably not needed as a measurement in the
78  // SCT endcap element should always have both local x and local y
79  // track parameters (according to Thijs)
80 // if(localp.contains(Trk::locX) && localp.contains(Trk::locY)) {
81  double sinLocal = sidet->sinStereoLocal( Amg::Vector2D(localp[Trk::locX],localp[Trk::locY]) );
82  if(sinLocal)
83  atsos->setAlphaStrip(asin(sinLocal));
84 // }
85  }
86  }
87  }

◆ setSubDetElement()

void Trk::AlignModuleTool::setSubDetElement ( AlignModule::DetectorType  detType,
bool  status 
)
inlineoverridevirtualinherited

set and retrieve flag whether or not the sub-TrkDetElementBase structures are aligned for a given detector type

Implements Trk::IAlignModuleTool.

Definition at line 65 of file AlignModuleTool.h.

65 { m_subDetElement[detType]=status; }

◆ shiftModule()

virtual void Trk::AlignModuleTool::shiftModule ( const AlignModule ,
const Track ,
AlignModule::TransformParameters  ,
double   
) const
inlineoverridevirtualinherited

methods used for numerical derivative to shift module before refitting track and restore to normal position, to be inherited by detector-specific align modules

Reimplemented from Trk::IAlignModuleTool.

Definition at line 104 of file AlignModuleTool.h.

105  {}

◆ subDetElement()

bool Trk::AlignModuleTool::subDetElement ( AlignModule::DetectorType  detType) const
inlineoverridevirtualinherited

Implements Trk::IAlignModuleTool.

Definition at line 66 of file AlignModuleTool.h.

66 { return m_subDetElement[detType]; }

◆ subDetElementIDHash()

int InDet::InDetAlignModuleTool::subDetElementIDHash ( Identifier  id) const
overridevirtual

Returns identifier hash for sub-TrkDetElementBase structure based on detector type.

In the inner detector it is only implemented for TRT where the structure is a single straw

Reimplemented from Trk::AlignModuleTool.

Definition at line 59 of file InDetAlignModuleTool.cxx.

60  {
61  if (id.is_valid()) {
62  if (m_trtHelper->is_trt(id)) {
63  return m_trtHelper->straw_hash(id);
64  }
65  }
66  return 0;
67  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_alignModuleListType

IntegerProperty Trk::AlignModuleTool::m_alignModuleListType {this, "AlignModuleListType", Trk::L3}
privateinherited

uses Trk enum AlignModuleListType (L1,L2,L3,L1_5,L2_5)

Definition at line 153 of file AlignModuleTool.h.

◆ m_alignModuleMaps

std::vector<const AlignModuleList*> Trk::AlignModuleTool::m_alignModuleMaps
privateinherited

maps detector element idHash to AlignModule

Definition at line 156 of file AlignModuleTool.h.

◆ m_alignModules

AlignModuleList* Trk::AlignModuleTool::m_alignModules = nullptr
privateinherited

list of AlignModules

Definition at line 155 of file AlignModuleTool.h.

◆ m_alignModules1D

std::vector<AlignModule*> Trk::AlignModuleTool::m_alignModules1D
privateinherited

1-D vector of AlignModules

Definition at line 161 of file AlignModuleTool.h.

◆ m_alignParList

AlignPar2DVec* Trk::AlignModuleTool::m_alignParList = nullptr
privateinherited

contains active parameters

Definition at line 158 of file AlignModuleTool.h.

◆ m_alignParList1D

AlignParVec Trk::AlignModuleTool::m_alignParList1D
privateinherited

1-D vector of AlignPars

Definition at line 162 of file AlignModuleTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_fullAlignParList

AlignPar2DVec* Trk::AlignModuleTool::m_fullAlignParList = nullptr
privateinherited

contains all parameters

Definition at line 159 of file AlignModuleTool.h.

◆ m_idHelper

const AtlasDetectorID* Trk::AlignModuleTool::m_idHelper = nullptr
protectedinherited

Used to identify type of detector.

Definition at line 149 of file AlignModuleTool.h.

◆ m_logStream

std::ostream* Trk::IAlignModuleTool::m_logStream = nullptr
protectedinherited

logfile output stream

Definition at line 144 of file IAlignModuleTool.h.

◆ m_subDetElement

std::vector<bool> Trk::AlignModuleTool::m_subDetElement
privateinherited

identify detectors aligning structures smaller than TrkDetElementBase

Definition at line 164 of file AlignModuleTool.h.

◆ m_trtHelper

const TRT_ID* InDet::InDetAlignModuleTool::m_trtHelper
private

TRT id helper.

Definition at line 50 of file InDetAlignModuleTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
Trk::AlignModuleTool::m_fullAlignParList
AlignPar2DVec * m_fullAlignParList
contains all parameters
Definition: AlignModuleTool.h:159
AtlasDetectorID::is_pixel
bool is_pixel(Identifier id) const
Definition: AtlasDetectorID.h:767
Trk::AlignModule::TGC
@ TGC
Definition: AlignModule.h:57
InDetDD::SiDetectorElement::isEndcap
bool isEndcap() const
Trk::AlignTSOS::measType
TrackState::MeasurementType measType() const
returns measurement type enum
Definition: AlignTSOS.h:80
AtlasDetectorID::is_rpc
bool is_rpc(Identifier id) const
Definition: AtlasDetectorID.h:882
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:50
Trk::AlignModule::TRT
@ TRT
Definition: AlignModule.h:57
Trk::AlignModuleTool::getDetectorType
AlignModule::DetectorType getDetectorType(const TrkDetElementBase *det) const override
Returns detector type (AlignModule enum) for a detector element.
Definition: AlignModuleTool.cxx:283
Trk::AlignModule::TransZ
@ TransZ
Definition: AlignModule.h:54
Trk::AlignTSOS::rio
const RIO_OnTrack * rio() const
returns RIO_OnTrack or leading RIO of CompetingRIOsOnTrack (assigned by c'tor)
Definition: AlignTSOS.cxx:157
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:18
Trk::locX
@ locX
Definition: ParamDefs.h:37
TRT_ID::straw_hash
IdentifierHash straw_hash(Identifier straw_id) const
straw hash from id - optimized
Definition: TRT_ID.h:768
AtlasDetectorID::is_csc
bool is_csc(Identifier id) const
Definition: AtlasDetectorID.h:898
DataVector::iterator
DataModel_detail::iterator< DataVector > iterator
Standard iterator.
Definition: DataVector.h:841
Trk::locY
@ locY
local cartesian
Definition: ParamDefs.h:38
TRTCalib_Extractor.det
det
Definition: TRTCalib_Extractor.py:36
AtlasDetectorID::is_sct
bool is_sct(Identifier id) const
Definition: AtlasDetectorID.h:777
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
index
Definition: index.py:1
initialize
void initialize()
Definition: run_EoverP.cxx:894
Trk::AlignModuleTool::m_alignModules
AlignModuleList * m_alignModules
list of AlignModules
Definition: AlignModuleTool.h:155
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
Trk::decomposeTransform
void decomposeTransform(const Amg::Transform3D &transform, double *values)
Definition: AlignModule.cxx:57
Trk::AlignModule::Pixel
@ Pixel
Definition: AlignModule.h:57
AtlasDetectorID::is_trt
bool is_trt(Identifier id) const
Definition: AtlasDetectorID.h:789
Trk::AlignModuleTool::m_subDetElement
std::vector< bool > m_subDetElement
identify detectors aligning structures smaller than TrkDetElementBase
Definition: AlignModuleTool.h:164
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
Trk::AlignModule::NDetectorTypes
@ NDetectorTypes
Definition: AlignModule.h:57
python.AtlRunQueryParser.ap
ap
Definition: AtlRunQueryParser.py:825
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
Trk::AlignModuleTool
Definition: AlignModuleTool.h:36
AlignModule
AlignModule is a grouping of TrkDetElementBase objects, grouped according to the type of alignment,...
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
Trk::AlignModuleTool::subDetElementIDHash
virtual int subDetElementIDHash(Identifier) const
Returns identifier hash for sub-TrkDetElementBase structure based on detector type.
Definition: AlignModuleTool.h:140
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
Trk::AlignModuleTool::AlignParVec
DataVector< AlignPar > AlignParVec
Definition: AlignModuleTool.h:39
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:85
AtlasDetectorID::is_tgc
bool is_tgc(Identifier id) const
Definition: AtlasDetectorID.h:909
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition: AthCommonDataStore.h:145
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Trk::AlignModule::RotX
@ RotX
Definition: AlignModule.h:54
InDet::InDetAlignModuleTool::m_trtHelper
const TRT_ID * m_trtHelper
TRT id helper.
Definition: InDetAlignModuleTool.h:50
Trk::AlignModule::SCT
@ SCT
Definition: AlignModule.h:57
Trk::AlignTSOS::detelement
const TrkDetElementBase * detelement(int i=0) const
method for retrieving detector elements (one if RIO, more if CRIO)
Definition: AlignTSOS.h:110
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
Trk::AlignModuleTool::alignParList
AlignPar2DVec * alignParList() const
returns complete AlignParList (active parameters only)
Definition: AlignModuleTool.h:143
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
DataVector::clear
void clear()
Erase all the elements in the collection.
Trk::AlignModuleTool::m_alignModuleMaps
std::vector< const AlignModuleList * > m_alignModuleMaps
maps detector element idHash to AlignModule
Definition: AlignModuleTool.h:156
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
Trk::AlignModuleTool::m_idHelper
const AtlasDetectorID * m_idHelper
Used to identify type of detector.
Definition: AlignModuleTool.h:149
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
Trk::AlignModule::CSC
@ CSC
Definition: AlignModule.h:57
Trk::AlignModuleTool::m_alignParList
AlignPar2DVec * m_alignParList
contains active parameters
Definition: AlignModuleTool.h:158
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
AlignPar
AlignPar contains all the information related to an alignment parameter of a particular align module ...
Trk::AlignTSOS::setAlphaStrip
void setAlphaStrip(double alpha)
returns strip angle for fan-out structured modules (SCT endcap)
Definition: AlignTSOS.h:119
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::AlignModuleTool::AlignPar2DVec
DataVector< AlignParVec > AlignPar2DVec
Definition: AlignModuleTool.h:40
Trk::AlignModuleTool::m_alignModuleListType
IntegerProperty m_alignModuleListType
uses Trk enum AlignModuleListType (L1,L2,L3,L1_5,L2_5)
Definition: AlignModuleTool.h:153
Trk::MeasurementBase::localParameters
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Definition: MeasurementBase.h:132
Trk::AlignModule::TransX
@ TransX
Definition: AlignModule.h:54
DeMoScan.index
string index
Definition: DeMoScan.py:362
a
TList * a
Definition: liststreamerinfos.cxx:10
h
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
Trk::AlignModule::NTransformPar
@ NTransformPar
Definition: AlignModule.h:55
Trk::AlignModuleTool::fullAlignParList
AlignPar2DVec * fullAlignParList() const
returns complete AlignParList
Definition: AlignModuleTool.h:146
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Trk::AlignModule::RotY
@ RotY
Definition: AlignModule.h:54
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
Trk::AlignModuleTool::getFullAlignPars
AlignParVec * getFullAlignPars(const AlignModule *alignModule) const override
returns vector of full AlignPars for an AlignModule
Definition: AlignModuleTool.cxx:303
InDetDD::SiDetectorElement::sinStereoLocal
double sinStereoLocal(const Amg::Vector2D &localPos) const
Angle of strip in local frame with respect to the etaAxis.
Definition: SiDetectorElement.cxx:288
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
Trk::IAlignModuleTool::m_logStream
std::ostream * m_logStream
logfile output stream
Definition: IAlignModuleTool.h:144
Amg::AngleAxis3D
Eigen::AngleAxisd AngleAxis3D
Definition: GeoPrimitives.h:45
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
merge.status
status
Definition: merge.py:16
Trk::TrackState::SCT
@ SCT
Definition: TrackStateDefs.h:29
Trk::AlignModuleListType
AlignModuleListType
Type of AlignModuleList (see description above).
Definition: AlignModuleList.h:32
Trk::AlignModule::RotZ
@ RotZ
Definition: AlignModule.h:54
Trk::AlignModule::MDT
@ MDT
Definition: AlignModule.h:57
Trk::AlignModuleTool::m_alignModules1D
std::vector< AlignModule * > m_alignModules1D
1-D vector of AlignModules
Definition: AlignModuleTool.h:161
Trk::AlignModule::TransY
@ TransY
Definition: AlignModule.h:54
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
Trk::AlignModule::RPC
@ RPC
Definition: AlignModule.h:57
Trk::AlignModuleTool::m_alignParList1D
AlignParVec m_alignParList1D
1-D vector of AlignPars
Definition: AlignModuleTool.h:162
AtlasDetectorID::is_mdt
bool is_mdt(Identifier id) const
Definition: AtlasDetectorID.h:866
fitman.k
k
Definition: fitman.py:528
Identifier
Definition: IdentifierFieldParser.cxx:14