146{
147 if (!detStore)
148 return false;
149
150 VP1SGContentsHelper sg_contents(detStore);
151 const QString geomodelkey = "ATLAS";
152 if (!sg_contents.contains<GeoModelExperiment>(geomodelkey)) {
154 VP1Msg::messageVerbose(
"VP1JobConfigInfo: No GeoModelExperiment in detectorStore. Concluding all subsystems are off.");
156 return true;
157 }
158
159 VP1SGAccessHelper sg_access(detStore);
160
161 const GeoModelExperiment * theExpt;
162 if (!sg_access.retrieve(theExpt,geomodelkey)) {
164 VP1Msg::messageVerbose(
"VP1JobConfigInfo: No GeoModelExperiment in detectorStore. Concluding all subsystems are off.");
166 return true;
167 }
170
171 const GeoPhysVol * worldPhysVol = theExpt->
getPhysVol();
172 if (!worldPhysVol) {
173 VP1Msg::message(
"VP1JobConfigInfo: ERROR: GeoModelExperiment has null physical volume.");
175 return false;
176 }
179
181 PVConstLink world(worldPhysVol);
182
183 GeoVolumeCursor av(world);
184
185
186 while (!av.atEnd()) {
187 std::string
name = av.getName();
188
195 VP1Msg::messageWarningAllRed(
"WARNING!!! --- The GeoVolume has name 'ITkPixel' but the flag 'hasITkGeometry' is false ---> CHECK IT!!");
196 }
198
199
200 GeoVolumeCursor
pv(av.getVolume());
201 while (!
pv.atEnd()) {
202 if (
pv.getVolume()->getLogVol()->getName()==
"bcmModLog") {
204 break;
205 }
207 }
208 }
209 }
213 VP1Msg::messageWarningAllRed(
"WARNING!!! --- The GeoVolume has name 'ITkStrip' but the flag 'hasITkGeometry' is false ---> CHECK IT!!");
214 }
215 }
226
227
228 GeoVolumeCursor
pv(av.getVolume());
229 while (!
pv.atEnd()) {
230 if (
pv.getVolume()->getLogVol()->getName()==
"NewSmallWheel") {
232 break;
233 }
235 }
236 }
237 }
239
240
241 av.next();
242 }
243
245
246 return true;
247}
GeoPhysVol * getPhysVol()
Destructor.
static bool hasHGTDGeometry
static bool hasBeamPipeGeometry
static bool hasGeoModelExperiment
static bool hasITkGeometry
static bool hasTRTGeometry
static bool hasLUCIDGeometry
static bool hasMuonGeometry
static bool hasMuonNSWGeometry
static bool hasPixelGeometry
static bool hasLArGeometry
static bool hasSCTGeometry
static bool hasTileGeometry
static bool hasBCMGeometry
static bool hasInDetServiceMaterialGeometry
static GeoPVConstLink geoModelWorld
static void messageVerbose(const QString &)
static void message(const QString &, IVP1System *sys=0)
static void messageWarningAllRed(const QString &str, IVP1System *sys=0)