|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #include <GeoModelKernel/GeoPhysVol.h>
14 #include "GeoModelRead/ReadGeoModel.h"
21 const std::string &
name,
35 const SCT_ID *idHelper =
nullptr;
38 m_commonItems = std::make_unique<InDetDD::SiCommonItems>(idHelper);
43 std::string
node{
"SCT"};
44 std::string
table{
"ITKXDD"};
51 node =
"InnerDetector";
54 ATH_MSG_ERROR(
"No ITk Strip geometry found. ITk Strip can not be built.");
55 return StatusCode::FAILURE;
86 return StatusCode::FAILURE;
100 return StatusCode::SUCCESS;
111 return StatusCode::SUCCESS;
119 bool barrelDone =
false;
120 for (
int b = -1;
b <= 1; ++
b) {
122 msg(MSG::INFO) <<
" Found barrel with index " <<
b << std::endl;
126 msg(MSG::INFO) <<
" Number of barrel layers = " <<
n.numLayers() << std::endl;
128 n.setNumEtaModulesForLayer(
l->first,
l->second.nEtaModules());
130 n.setNumPhiModulesForLayer(
l->first,
l->second.begin()->second.nPhiModules());
131 msg(MSG::INFO) <<
" layer = " <<
l->first <<
" has " <<
n.numEtaModulesForLayer(
l->first)
132 <<
" etaModules each with " <<
n.numPhiModulesForLayer(
l->first) <<
" phi modules" << std::endl;
140 bool endcapDone =
false;
141 for (
int ec = -2; ec <= 2; ec += 4) {
143 msg(MSG::INFO) <<
" Found endcap with index " << ec << std::endl;
147 msg(MSG::INFO) <<
" Number of endcap wheels = " <<
n.numDisks() << std::endl;
149 n.setNumRingsForDisk(
l->first,
l->second.nEtaModules());
150 msg(MSG::INFO) <<
" Wheel " <<
l->first <<
" has " <<
n.numRingsForDisk(
l->first) <<
" rings" << std::endl;
152 n.setNumPhiModulesForDiskRing(
l->first, eta->first, eta->second.nPhiModules());
153 msg(MSG::INFO) <<
" Ring " << eta->first <<
" has "
154 <<
n.numPhiModulesForDiskRing(
l->first, eta->first) <<
" phi modules" << std::endl;
176 ATH_MSG_INFO(
"Total number of wafers added is " << totalWafers);
183 n.setMaxNumEtaCells(1);
184 for (
int d = 0;
d <
manager->numDesigns(); ++
d) {
185 n.setMaxNumPhiCells(
manager->getSCT_Design(
d)->cells());
201 const std::string barrelBase(
"/SCTB");
202 const std::string endcapBase(
"/SCTE");
203 std::string baseName(
"");
212 manager->addAlignFolderType(alignFolderType);
214 switch (alignFolderType) {
219 switch (
bec->first) {
221 baseName = topFolder + endcapBase +
"C";
224 baseName = topFolder + barrelBase;
227 baseName = topFolder + endcapBase +
"A";
230 ATH_MSG_FATAL(
"Unknown SCT part with bec-ID " <<
bec->first <<
" encountered.");
231 throw std::runtime_error(
"Unknown ITkStrip part for alignment.");
234 std::ostringstream
layer;
242 ATH_MSG_FATAL(
"Alignment requested for unknown alignment folder type in StripDetectorFactory.");
243 throw std::runtime_error(
"Wrong alignment folder type for StripDetectorFactory in StripGeoModelXml.");
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
GeoPhysVol * getPhysVol()
Destructor.
::StatusCode StatusCode
StatusCode definition for legacy code.
Default, invalid implementation of ClassID_traits.
void buildReadoutGeometryFromSqlite(IRDBAccessSvc *rdbAccessSvc, GeoModelIO::ReadGeoModel *sqlreader)
size_type wafer_hash_max(void) const
void addManager(const GeoVDetectorManager *)