141{
142 if (!detStore)
143 return false;
144
145 VP1SGContentsHelper sg_contents(detStore);
146 const QString geomodelkey = "ATLAS";
147 if (!sg_contents.contains<GeoModelExperiment>(geomodelkey)) {
149 VP1Msg::messageVerbose(
"VP1JobConfigInfo: No GeoModelExperiment in detectorStore. Concluding all subsystems are off.");
151 return true;
152 }
153
154 VP1SGAccessHelper sg_access(detStore);
155
156 const GeoModelExperiment * theExpt;
157 if (!sg_access.retrieve(theExpt,geomodelkey)) {
159 VP1Msg::messageVerbose(
"VP1JobConfigInfo: No GeoModelExperiment in detectorStore. Concluding all subsystems are off.");
161 return true;
162 }
165
166 const GeoPhysVol * worldPhysVol = theExpt->
getPhysVol();
167 if (!worldPhysVol) {
168 VP1Msg::message(
"VP1JobConfigInfo: ERROR: GeoModelExperiment has null physical volume.");
170 return false;
171 }
174
176 PVConstLink world(worldPhysVol);
177
178 GeoVolumeCursor av(world);
179
180
181 while (!av.atEnd()) {
182 std::string
name = av.getName();
183
189 VP1Msg::messageWarningAllRed(
"WARNING!!! --- The GeoVolume has name 'ITkPixel' but the flag 'hasITkGeometry' is false ---> CHECK IT!!");
190 }
192
193
194 GeoVolumeCursor
pv(av.getVolume());
195 while (!
pv.atEnd()) {
196 if (
pv.getVolume()->getLogVol()->getName()==
"bcmModLog") {
198 break;
199 }
201 }
202 }
203 }
207 VP1Msg::messageWarningAllRed(
"WARNING!!! --- The GeoVolume has name 'ITkStrip' but the flag 'hasITkGeometry' is false ---> CHECK IT!!");
208 }
209 }
220
221
222 GeoVolumeCursor
pv(av.getVolume());
223 while (!
pv.atEnd()) {
224 if (
pv.getVolume()->getLogVol()->getName()==
"NewSmallWheel") {
226 break;
227 }
229 }
230 }
231 }
233
234
235 av.next();
236 }
237
239
240 return true;
241}
GeoPhysVol * getPhysVol()
Destructor.
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)