|
ATLAS Offline Software
|
Go to the documentation of this file.
34 InDetGeometryManagerTool::InDetGeometryManagerTool(
const std::string&
type,
35 const std::string&
name,
38 , m_pixelDetManager(nullptr)
39 , m_sctDetManager(nullptr)
40 , m_trtDetManager(nullptr)
47 , m_alignModuleTool(
"Trk::AlignModuleTool/AlignModuleTool")
49 , m_alignParList(nullptr)
50 , m_fullAlignParList(nullptr)
52 declareInterface<IGeometryManagerTool>(
this);
155 ATH_MSG_FATAL(
"Alignment of both Silicon and TRT turned off. Aborting.");
156 return StatusCode::FAILURE;
162 return StatusCode::FAILURE;
165 return StatusCode::SUCCESS;
173 return StatusCode::SUCCESS;
183 ATH_MSG_INFO(
"Setting up level 0 alignment of the InnerDetector");
186 case 1:
case 2:
case 3:
190 ATH_MSG_ERROR(
"SiliconGeometryManagerTool and/or TRTGeometryManagerTool not available");
208 ATH_MSG_ERROR(
"SiGeometryManagerTool and/or TRTGeometryManagerTool not available");
271 ATH_MSG_INFO(
"Total number of degrees of freedom: "<<nDoF);
322 indet->
setName(
"Inner Detector");
355 IdentifierHash idHash =
index;
384 (*pixelIdHashMap)[idHash] = indet;
403 IdentifierHash idHash =
index;
426 (*sctIdHashMap)[idHash] = indet;
446 IdentifierHash idHash =
index;
468 (*trtIdHashMap)[idHash] = indet;
477 ATH_MSG_DEBUG(
"Inner Detector L0 module successfully added to the list");
509 for(
unsigned int ipar=0;ipar<fullModPars->
size();++ipar) {
528 allFullModPars->push_back(fullModPars);
529 allActiveModPars->push_back(activeModPars);
536 for(
unsigned int ipar=0;ipar<modPars->
size();++ipar)
578 ATH_MSG_INFO(
"---------------------------------------------------");
602 ATH_MSG_INFO(
" - has "<<npix+nsct<<
" Silicon modules in total");
603 if((npix || nsct) && ntrt)
604 ATH_MSG_INFO(
" - has "<<npix+nsct+ntrt<<
" Inner Detector modules in total");
607 ATH_MSG_DEBUG(
" - local to global : "<<std::setprecision(12)<<localtoglobal.translation()<<
" "<<localtoglobal.rotation());
610 int npars =
pars->size();
611 ATH_MSG_DEBUG(
" - number of active transform parameters: "<<npars);
612 for(
int j=0;j<npars;j++)
615 ATH_MSG_INFO(
"---------------------------------------------------");
621 ATH_MSG_DEBUG(
"in isOneDetOnly for detector type "<<dettype);
623 if(!coll || coll->size() == 0)
632 nelem += coll->size();
648 if((!collPix || collPix->size()==0) && (!collSCT || collSCT->size()==0))
657 nelem += coll->size();
def retrieve(aClass, aKey=None)
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
Identifier layer_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer) const
For an individual straw layer.
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
std::string find(const std::string &s)
return a remapped string
std::vector< AlignModule * > AlignModuleList
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
size_type straw_layer_hash_max(void) const
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...
This is an Identifier helper class for the TRT subdetector. This class is a factory for creating comp...
bool msgLvl(const MSG::Level lvl) 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.
AlignModule is a grouping of TrkDetElementBase objects, grouped according to the type of alignment,...
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.
::StatusCode StatusCode
StatusCode definition for legacy code.
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.
This is an Identifier helper class for both the Pixel and SCT subdetectors. This class defines identi...
std::vector< const TrkDetElementBase * > DetElementCollection
typedefs to contain detector element pointers and transforms
const std::string & name() const
Ensure that the ATLAS eigen extensions are properly loaded.
size_type wafer_hash_max(void) const
const TRT_BaseElement * getElement(Identifier id) const
Access Elements Generically---------------------------------------------—.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
size_type wafer_hash_max(void) const
void setIdHash(IdentifierHash id)
An STL vector of pointers that by default owns its pointed-to elements.
bool is_barrel(const Identifier &id) const
Test for barrel.
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.
size_type size() const noexcept
Returns the number of elements in the collection.
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