|
ATLAS Offline Software
|
#include <SiGeometryManagerTool.h>
|
| SiGeometryManagerTool (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual | ~SiGeometryManagerTool () |
|
StatusCode | initialize () |
|
StatusCode | finalize () |
|
int | ReadGeometry (int solveLevel) |
| read the geometry Method is called from the main AlignAlg to build the geometry based on the requested level of alignment. More...
|
|
void | PrintModPositions () |
|
void | StoreModPositions (std::string) |
|
void | buildGeometry () |
| builds geometry for Silicon alignment More...
|
|
void | addModuleParameters (Trk::AlignModule *module, DataVector< DataVector< Trk::AlignPar > > *allFullModPars, DataVector< DataVector< Trk::AlignPar > > *allActiveModPars) |
| adds alignment parameters for the module checks for active parameters and calls setSigmas() More...
|
|
bool | checkAlignLevel () |
| check whether the alignment level is correct More...
|
|
void | setLogStream (std::ostream *os) |
| sets the output stream for the logfile More...
|
|
virtual void | setNtuple (TFile *) |
| Sets output ntuple file, to be implemented if needed for detector-specific implementation. More...
|
|
virtual int | getNextIDHash () |
| get next free IDHash usable for new AlignModule More...
|
|
virtual void | setFirstIDHash (unsigned int idhash) |
| set first free IDHash usable for new AlignModule More...
|
|
virtual void | setModuleList (Trk::AlignModuleList *list) |
| set pointer to module list to which the modules should be added to More...
|
|
virtual void | setHashMaps (std::vector< Trk::AlignModuleList * > *maps) |
| set pointer to vector of hashMaps to which the elements should be added to More...
|
|
virtual int | alignLevel () |
| get alignment level More...
|
|
virtual void | setAlignLevel (int level) |
| set alignment level More...
|
|
virtual int | alignLevelBarrel () |
| get alignment level More...
|
|
virtual void | setAlignLevelBarrel (int level) |
| set alignment level More...
|
|
virtual bool | checkAlignLevelBarrel () |
| check whether the alignment level is allowed More...
|
|
virtual int | alignLevelEndcaps () |
| get alignment level More...
|
|
virtual void | setAlignLevelEndcaps (int level) |
| set alignment level More...
|
|
virtual bool | checkAlignLevelEndcaps () |
| check whether the alignment level is allowed 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 > &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 |
|
Definition at line 49 of file SiGeometryManagerTool.h.
◆ StoreGateSvc_t
◆ SiGeometryManagerTool()
InDet::SiGeometryManagerTool::SiGeometryManagerTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~SiGeometryManagerTool()
InDet::SiGeometryManagerTool::~SiGeometryManagerTool |
( |
| ) |
|
|
virtual |
◆ addModuleParameters()
◆ alignLevel()
virtual int Trk::IGeometryManagerTool::alignLevel |
( |
| ) |
|
|
inlinevirtualinherited |
◆ alignLevelBarrel()
virtual int Trk::IGeometryManagerTool::alignLevelBarrel |
( |
| ) |
|
|
inlinevirtualinherited |
◆ alignLevelEndcaps()
virtual int Trk::IGeometryManagerTool::alignLevelEndcaps |
( |
| ) |
|
|
inlinevirtualinherited |
◆ buildGeometry()
void InDet::SiGeometryManagerTool::buildGeometry |
( |
| ) |
|
|
virtual |
◆ buildL0()
void InDet::SiGeometryManagerTool::buildL0 |
( |
| ) |
|
|
private |
creates L0 AlignModules for Silicon
Definition at line 298 of file SiGeometryManagerTool.cxx.
339 IdentifierHash idHash =
index;
368 (*pixelIdHashMap)[idHash] = silicon;
387 IdentifierHash idHash =
index;
410 (*sctIdHashMap)[idHash] = silicon;
419 ATH_MSG_DEBUG(
"Silicon L0 module successfully added to the list");
◆ checkAlignLevel()
bool InDet::SiGeometryManagerTool::checkAlignLevel |
( |
| ) |
|
|
virtual |
◆ checkAlignLevelBarrel()
virtual bool Trk::IGeometryManagerTool::checkAlignLevelBarrel |
( |
| ) |
|
|
inlinevirtualinherited |
◆ checkAlignLevelEndcaps()
virtual bool Trk::IGeometryManagerTool::checkAlignLevelEndcaps |
( |
| ) |
|
|
inlinevirtualinherited |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
◆ declareProperty() [6/6]
◆ detStore()
◆ dumpGeometry()
void InDet::SiGeometryManagerTool::dumpGeometry |
( |
| ) |
|
|
private |
print basic geometry info to screen
Definition at line 524 of file SiGeometryManagerTool.cxx.
527 ATH_MSG_INFO(
"---------------------------------------------------");
529 TGeoManager* gm=
new TGeoManager(
"Silicon",
"Silicon");
530 TGeoMaterial*
mat=
new TGeoMaterial(
"Vacuum",0,0,0);
531 TGeoMedium* med=
new TGeoMedium(
"Vacuum",1,
mat);
532 TGeoVolume*
top = gm->MakeBox(
"Silicon",med,2000.,2000.,10000.);
533 gm->SetTopVolume(
top);
534 TGeoVolume* Si_cog[22000];
535 TGeoVolume* Si[22000];
537 TGeoTranslation* tr[22000];
538 TGeoRotation* ro[22000];
539 TGeoCombiTrans*
mx[22000];
541 TGeoTranslation* nulltrans=
new TGeoTranslation(0.0,0.0,0.0);
542 TGeoRotation* nullrota=
new TGeoRotation();
543 nullrota->SetAngles(0.0,0.0,0.0);
544 TGeoRotation* fliprota=
new TGeoRotation();
545 fliprota->SetAngles(0.0,-90.0,0.0);
546 TGeoCombiTrans* donothing=
new TGeoCombiTrans(*nulltrans,*nullrota);
547 TGeoCombiTrans* swapaxes=
new TGeoCombiTrans(*nulltrans,*fliprota);
553 TGeoVolume* L0_A = gm->MakeTube(
"L0_A",med,0.0,1100.0,5000.0);
554 L0_A->SetVisibility(kFALSE);
555 top->AddNodeOverlap(L0_A,Si_count,donothing);
557 TGeoVolume* L1_IBL_A = gm->MakeTube(
"L1_IBL_A",med,20.0,40.0,700.0);
558 L1_IBL_A->SetVisibility(kFALSE);
559 L0_A->AddNodeOverlap(L1_IBL_A,Si_count,donothing);
561 TGeoVolume* L1_DBM_A = gm->MakeTube(
"L1_DBM_A",med,20.0,40.0,1000.0);
562 L1_DBM_A->SetVisibility(kFALSE);
563 L0_A->AddNodeOverlap(L1_DBM_A,Si_count,donothing);
565 TGeoVolume* L1_PIX_A = gm->MakeTube(
"L1_PIX_A",med,40.0,150.0,700.0);
566 L1_PIX_A->SetVisibility(kFALSE);
567 L0_A->AddNodeOverlap(L1_PIX_A,Si_count,donothing);
569 TGeoVolume* L1_SCTA_A = gm->MakeTube(
"L1_SCTA_A",med,250.0,550.0,3000.0);
570 L1_SCTA_A->SetVisibility(kFALSE);
571 L0_A->AddNodeOverlap(L1_SCTA_A,Si_count,donothing);
573 TGeoVolume* L1_SCTB_A = gm->MakeTube(
"L1_SCTB_A",med,250.0,550.0,3000.0);
574 L1_SCTB_A->SetVisibility(kFALSE);
575 L0_A->AddNodeOverlap(L1_SCTB_A,Si_count,donothing);
577 TGeoVolume* L1_SCTC_A = gm->MakeTube(
"L1_SCTC_A",med,250.0,550.0,3000.0);
578 L1_SCTC_A->SetVisibility(kFALSE);
579 L0_A->AddNodeOverlap(L1_SCTC_A,Si_count,donothing);
584 ATH_MSG_INFO(
"---------------------------------------------------");
593 unsigned int npix(0);
594 unsigned int nsct(0);
600 nSi = npix;
isPix =
true;
605 nSi = nsct; isSCT =
true;
611 for(
unsigned int j=0;j<nSi;j++) {
616 ATH_MSG_WARNING(
"Dynamic cast to SiDetectorElement from pixel or SCT module failed");
619 const Identifier element_id = element->identify();
640 if(!resok)
ATH_MSG_INFO(
" UNRESOLVED module found: "<<element_id);
642 if(resok && !(element->isStereo())) {
645 xyz = element->transform().translation();
646 ea = element->transform().rotation().eulerAngles(2, 0, 2);
648 xyz = element->defTransform().translation();
649 ea = element->defTransform().rotation().eulerAngles(2, 0, 2);
652 ATH_MSG_INFO(
">>> Element ident,det,bec,layer,ring,sector,side: "<<element_id<<
", "<<
det<<
", "<<
bec<<
", "<<
layer<<
", "<<ring<<
", "<<sector<<
", "<<
side);
653 ATH_MSG_INFO(
">>> Element length/width/thickness: "<<element->length()<<
", "<<element->width()<<
", "<<element->thickness());
654 if(element->isSCT() && element->isEndcap())
655 ATH_MSG_INFO(
">>> SCT Endcap wedge, min/max "<<element->minWidth()<<
" / "<<element->maxWidth());
656 ATH_MSG_INFO(
">>> Center position: "<<element->center());
659 ATH_MSG_INFO(
">>> Euler angles: Phi="<<57.2957*ea[0]<<
" Theta="<<57.2957*ea[1]<<
" Psi="<<57.2957*ea[2]);
662 ATH_MSG_INFO(
"Adding a volume to the Silicon geometry:");
663 TString nname =
"Si_COG_";
664 TString mname =
"Si_MOD_";
672 const auto suffix = TString(det_str)+undsc+TString(bec_str)+undsc+TString(layer_str)+undsc+TString(ring_str)+undsc+TString(sector_str);
676 Si_cog[Si_count] = gm->MakeSphere(nname,med,0.0,element->length(),0.0,180.0,0.0,360.0);
677 Si_cog[Si_count]->SetVisibility(kFALSE);
679 if(element->isSCT() && element->isEndcap()) {
680 Si[Si_count] = gm->MakeTrd1(mname,med,0.5*element->minWidth(),0.5*element->maxWidth(),0.5*element->thickness(),0.5*element->length());
682 Si[Si_count] = gm->MakeBox(mname,med,0.5*element->width(),0.5*element->thickness(),0.5*element->length());
684 tr[Si_count] =
new TGeoTranslation();
685 tr[Si_count]->SetTranslation(
xyz[0],
xyz[1],
xyz[2]);
686 ro[Si_count] =
new TGeoRotation();
687 ro[Si_count]->SetAngles(57.2957*ea[0],57.2957*ea[1],57.2957*ea[2]);
688 mx[Si_count] =
new TGeoCombiTrans(*tr[Si_count],*ro[Si_count]);
690 TGeoVolume* parrent_elem =
nullptr;
694 if(
bec==0 &&
layer==0) parrent_elem = L1_IBL_A;
695 else if(abs(
bec)==4) parrent_elem = L1_DBM_A;
696 else parrent_elem = L1_PIX_A;
702 parrent_elem = L1_SCTC_A;
705 parrent_elem = L1_SCTB_A;
708 parrent_elem = L1_SCTA_A;
720 top->AddNode(Si_cog[Si_count],0,
mx[Si_count]);
723 Si_cog[Si_count]->AddNode(Si[Si_count],0,swapaxes);
731 ATH_MSG_INFO(
" - has "<<npix+nsct<<
" Silicon modules in total");
734 ATH_MSG_DEBUG(
" - local to global : "<<std::setprecision(12)<<localtoglobal.translation()<<
" "<<localtoglobal.rotation());
737 int npars =
pars->size();
738 ATH_MSG_DEBUG(
" - number of active transform parameters: "<<npars);
739 for(
int j=0;j<npars;j++)
747 gm->Export(
"Silicon.root",
"Silicon",
"v");
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
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
◆ finalize()
StatusCode InDet::SiGeometryManagerTool::finalize |
( |
| ) |
|
|
virtual |
◆ getNextIDHash()
virtual int Trk::IGeometryManagerTool::getNextIDHash |
( |
| ) |
|
|
inlinevirtualinherited |
◆ initialize()
StatusCode InDet::SiGeometryManagerTool::initialize |
( |
| ) |
|
|
virtual |
◆ inputHandles()
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 & IGeometryManagerTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ isOneDetOnly()
check whether the module is of a single detector type
Definition at line 752 of file SiGeometryManagerTool.cxx.
754 ATH_MSG_DEBUG(
"in isOneDetOnly for detector type "<<dettype);
756 if(!coll || coll->size() == 0)
765 nelem += coll->size();
◆ moduleSelected() [1/2]
◆ moduleSelected() [2/2]
bool InDet::SiGeometryManagerTool::moduleSelected |
( |
unsigned long long |
modId | ) |
|
|
private |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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.
◆ PrintModPositions()
void InDet::SiGeometryManagerTool::PrintModPositions |
( |
| ) |
|
|
inlinevirtual |
◆ ReadGeometry()
int InDet::SiGeometryManagerTool::ReadGeometry |
( |
int |
solveLevel | ) |
|
|
virtual |
◆ renounce()
◆ renounceArray()
◆ setAlignLevel()
virtual void Trk::IGeometryManagerTool::setAlignLevel |
( |
int |
level | ) |
|
|
inlinevirtualinherited |
◆ setAlignLevelBarrel()
virtual void Trk::IGeometryManagerTool::setAlignLevelBarrel |
( |
int |
level | ) |
|
|
inlinevirtualinherited |
◆ setAlignLevelEndcaps()
virtual void Trk::IGeometryManagerTool::setAlignLevelEndcaps |
( |
int |
level | ) |
|
|
inlinevirtualinherited |
◆ setFirstIDHash()
virtual void Trk::IGeometryManagerTool::setFirstIDHash |
( |
unsigned int |
idhash | ) |
|
|
inlinevirtualinherited |
◆ setHashMaps()
set pointer to vector of hashMaps to which the elements should be added to
Definition at line 74 of file IGeometryManagerTool.h.
◆ setLogStream()
void InDet::SiGeometryManagerTool::setLogStream |
( |
std::ostream * |
os | ) |
|
|
virtual |
◆ setModuleList()
set pointer to module list to which the modules should be added to
Definition at line 71 of file IGeometryManagerTool.h.
◆ setNtuple()
virtual void Trk::IGeometryManagerTool::setNtuple |
( |
TFile * |
| ) |
|
|
inlinevirtualinherited |
Sets output ntuple file, to be implemented if needed for detector-specific implementation.
Definition at line 52 of file IGeometryManagerTool.h.
◆ setSigmas()
◆ StoreModPositions()
void InDet::SiGeometryManagerTool::StoreModPositions |
( |
std::string |
| ) |
|
|
inlinevirtual |
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_actualGeom
bool InDet::SiGeometryManagerTool::m_actualGeom |
|
private |
◆ m_alignLevel
int Trk::IGeometryManagerTool::m_alignLevel = 0 |
|
protectedinherited |
◆ m_alignLevelBarrel
int Trk::IGeometryManagerTool::m_alignLevelBarrel = 0 |
|
protectedinherited |
◆ m_alignLevelEndcaps
int Trk::IGeometryManagerTool::m_alignLevelEndcaps = 0 |
|
protectedinherited |
◆ m_alignModuleList
◆ m_alignModuleListPtr
◆ m_alignModuleTool
◆ m_alignParList
◆ m_alignPixel
bool InDet::SiGeometryManagerTool::m_alignPixel |
|
private |
◆ m_alignRotX
bool InDet::SiGeometryManagerTool::m_alignRotX |
|
private |
◆ m_alignRotY
bool InDet::SiGeometryManagerTool::m_alignRotY |
|
private |
◆ m_alignRotZ
bool InDet::SiGeometryManagerTool::m_alignRotZ |
|
private |
◆ m_alignSCT
bool InDet::SiGeometryManagerTool::m_alignSCT |
|
private |
◆ m_alignX
bool InDet::SiGeometryManagerTool::m_alignX |
|
private |
◆ m_alignY
bool InDet::SiGeometryManagerTool::m_alignY |
|
private |
◆ m_alignZ
bool InDet::SiGeometryManagerTool::m_alignZ |
|
private |
◆ m_detStore
◆ m_doModuleSelection
bool InDet::SiGeometryManagerTool::m_doModuleSelection |
|
private |
◆ m_dumpGeometry
bool InDet::SiGeometryManagerTool::m_dumpGeometry |
|
private |
◆ m_evtStore
◆ m_fullAlignParList
◆ m_hashCounter
int Trk::IGeometryManagerTool::m_hashCounter = 0 |
|
protectedinherited |
◆ m_idHashToAlignModuleMap
◆ m_idHashToAlignModuleMaps
◆ m_idHashToAlignModuleMapsPtr
std::vector<Trk::AlignModuleList *>* Trk::IGeometryManagerTool::m_idHashToAlignModuleMapsPtr = nullptr |
|
protectedinherited |
◆ m_idHelper
◆ m_logStream
std::ostream* Trk::IGeometryManagerTool::m_logStream = nullptr |
|
protectedinherited |
◆ m_moduleSelection
std::vector<unsigned long long> InDet::SiGeometryManagerTool::m_moduleSelection |
|
private |
◆ m_pixelDetManager
◆ m_pixelGeoManager
◆ m_pixHelper
◆ m_sctDetManager
◆ m_sctGeoManager
◆ m_sctHelper
const SCT_ID* InDet::SiGeometryManagerTool::m_sctHelper |
|
private |
◆ m_sigmaRotX
double InDet::SiGeometryManagerTool::m_sigmaRotX |
|
private |
◆ m_sigmaRotY
double InDet::SiGeometryManagerTool::m_sigmaRotY |
|
private |
◆ m_sigmaRotZ
double InDet::SiGeometryManagerTool::m_sigmaRotZ |
|
private |
◆ m_sigmaX
double InDet::SiGeometryManagerTool::m_sigmaX |
|
private |
◆ m_sigmaY
double InDet::SiGeometryManagerTool::m_sigmaY |
|
private |
◆ m_sigmaZ
double InDet::SiGeometryManagerTool::m_sigmaZ |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
bool is_pixel(Identifier id) const
std::vector< AlignModule * > AlignModuleList
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
bool is_sct(Identifier id) const
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
void addDetElement(AlignModule::DetectorType detType, const TrkDetElementBase *det, const Amg::Transform3D &transform, Identifier id=Identifier())
used to add a detector element to the align module with a align frame to detector element local frame...
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
int phi_module(const Identifier &id) const
virtual SiDetectorElement * getDetectorElement(const Identifier &id) const override
access to individual elements via Identifier
AlignModule::TransformParameters paramType() const
returns the type of parameter (i.e.
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
bool is_barrel(const Identifier &id) const
Test for barrel - WARNING: id MUST be pixel id, otherwise answer is not accurate. Use SiliconID for g...
void setSigma(double sigma)
sets sigma
void setName(const std::string &name)
Set and return name of align module (i.e.
void setIdentifier(Identifier identifier)
Set and return identifier of module.
@ OWN_ELEMENTS
this data object owns its elements
IdentifierHash identifyHash() const
Set and return index of module, used by alignment classes to keep track of order of align module.
CalibratedSpacePoint::Covariance_t inverse(const CalibratedSpacePoint::Covariance_t &mat)
Inverts the parsed matrix.
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
std::vector< const TrkDetElementBase * > DetElementCollection
typedefs to contain detector element pointers and transforms
const std::string & name() const
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
int layer_disk(const Identifier &id) const
int eta_module(const Identifier &id) const
size_type wafer_hash_max(void) const
std::string to_string(const DetectorType &type)
int layer_disk(const Identifier &id) const
value_type push_back(value_type pElem)
Add an element to the end of the collection.
size_type wafer_hash_max(void) const
Eigen::Matrix< double, 3, 1 > Vector3D
void setIdHash(IdentifierHash id)
#define ATH_MSG_WARNING(x)
int eta_module(const Identifier &id) const
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
int side(const Identifier &id) const
const T * at(size_type n) const
Access an element, as an rvalue.
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int side) const
For a single side of module.
int phi_module(const Identifier &id) const
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Identifier identify() const
bool is_barrel(const Identifier &id) const
Test for barrel - WARNING: id MUST be sct id, otherwise answer is not accurate. Use SiliconID for gen...
virtual SiDetectorElement * getDetectorElement(const Identifier &id) const override
access to individual elements : via Identifier