120 :
GeoVPixelFactory(ddmgr, mgr, sqliteReader, std::move(mapFPV), std::move(mapAX)),
124{
125
126
127 double barrelRmin =
m_gmt_mgr->PixelBarrelRMin();
128 double barrelRmax =
m_gmt_mgr->PixelBarrelRMax();
129 double barrelZmin = -
m_gmt_mgr->PixelBarrelHalfLength();
130 double barrelZmax =
m_gmt_mgr->PixelBarrelHalfLength();
131 double endcapRmin =
m_gmt_mgr->PixelEndcapRMin();
132 double endcapRmax =
m_gmt_mgr->PixelEndcapRMax();
133 double endcapZmin =
m_gmt_mgr->PixelEndcapZMin();
134 double endcapZmax =
m_gmt_mgr->PixelEndcapZMax();
135
136 double pixelRmin, pixelRmax, pixelZmax;
137 if (!pixZone) {
140 pixelZmax =
m_gmt_mgr->PixelHalfLength();
141 pixZone = new InDetDD::TubeZone("Pixel",-pixelZmax,pixelZmax,pixelRmin,pixelRmax);
142 }
143 else {
147 pixelZmax =
m_gmt_mgr->PixelHalfLength();
148 }
149 else {
150 pixelZmax =
m_gmt_mgr->PixelEnvelopeZ(0);
151 pixelRmin =
m_gmt_mgr->PixelEnvelopeRMin(0);
152 pixelRmax =
m_gmt_mgr->PixelEnvelopeRMax(0);
153 }
154 }
155
156 InDetDD::UnboundedZone topZone("Mother");
157 pixZone->add(new InDetDD::TubeZone("C",-endcapZmax,-endcapZmin,endcapRmin,endcapRmax, true));
158 pixZone->add(new InDetDD::TubeZone("B",barrelZmin,barrelZmax,barrelRmin,barrelRmax));
159 pixZone->add(new InDetDD::TubeZone("A",endcapZmin,endcapZmax,endcapRmin,endcapRmax));
160 topZone.add(pixZone);
161
162
164 for(
int ii = 0; ii <
m_gmt_mgr->PixelBarrelNLayer(); ii++){
167 }
168
169
170
171 bool barrelPresent =
m_gmt_mgr->partPresent(
"Barrel");
172 bool endcapAPresent =
m_gmt_mgr->partPresent(
"EndcapA");
173 bool endcapCPresent =
m_gmt_mgr->partPresent(
"EndcapC");
174
176 if (endcapAPresent || endcapCPresent)
initialize(
"endcap");
179
180
183 if (
m_gmt_mgr->athenaComps()->serviceBuilderTool()) {
184 const std::vector<const InDetDD::ServiceVolume *> &
services =
m_gmt_mgr->athenaComps()->serviceBuilderTool()->getServices();
187 }
188}
InDetDD::VolumeBuilder * m_servMatBuilder
std::vector< double > m_layerShift
std::vector< const InDetDD::ServiceVolume * > m_services
InDetDD::VolumeBuilder * m_pixServBuilder
PixelGeometryManager * m_gmt_mgr
InDetMaterialManager * m_mat_mgr
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > mapAX)