ATLAS Offline Software
Functions
AGDDController.cxx File Reference
#include "AGDDControl/AGDDController.h"
#include "AGDDKernel/AGDDBuilder.h"
#include "AGDDControl/IAGDDParser.h"
#include "AGDDControl/XercesParser.h"
#include "AGDDControl/AGDD2GeoModelBuilder.h"
#include "AGDDKernel/AGDDVolume.h"
#include "AGDDKernel/AGDDPositioner.h"
#include "AGDDKernel/AliasStore.h"
#include "AGDDModel/AGDDParameterStore.h"
#include "AGDDModel/AGDDMaterialStore.h"
#include "GeoModelInterfaces/IGeoModelSvc.h"
#include "GeoModelUtilities/GeoModelExperiment.h"
#include "GeoModelKernel/GeoVDetectorManager.h"
#include "GeoModelKernel/GeoPhysVol.h"
#include "GeoModelKernel/GeoVPhysVol.h"
#include "StoreGate/StoreGateSvc.h"
#include <map>
#include <vector>
#include <string>
#include <fstream>
#include <ctime>
#include <TString.h>
#include <iostream>

Go to the source code of this file.

Functions

void AGDDController::UseGeoModelDetector ATLAS_NOT_THREAD_SAFE (const std::string &name)
 

Function Documentation

◆ ATLAS_NOT_THREAD_SAFE()

void AGDDController::UseGeoModelDetector ATLAS_NOT_THREAD_SAFE ( const std::string &  name)

Definition at line 128 of file AGDDController.cxx.

129 {
130  StoreGateSvc* pDetStore=0;
131  ISvcLocator* svcLocator = Gaudi::svcLocator();
132  StatusCode sc=svcLocator->service("DetectorStore",pDetStore);
133  if (sc.isFailure())
134  {
135  std::cout<<"AGDDController could not get at the detector store!"<<std::endl;
136  }
137  const GeoModelExperiment* theExpt = nullptr;
138  sc=pDetStore->retrieve( theExpt,"ATLAS");
139  if (sc.isFailure())
140  {
141  std::cout<<"AGDDController could not get GeoModelExperiment!"<<std::endl;
142  }
143  else
144  {
145  const GeoVDetectorManager *theManager=theExpt->getManager(name);
146  if (theManager->getNumTreeTops()>1) std::cout<<"AGDDController: more than one treetop!!!"<<std::endl;
147  PVConstLink pv=theManager->getTreeTop(0);
148  GeoVPhysVol* ppv=const_cast<GeoVPhysVol*>(&(*pv));
149  ((AGDD2GeoModelBuilder*)(m_theBuilder))->SetMotherVolume((GeoPhysVol*)ppv);
150  }
151 
152 }
GeoModelExperiment
Definition: GeoModelExperiment.h:32
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
StoreGateSvc::retrieve
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AGDD2GeoModelBuilder
Definition: AGDD2GeoModelBuilder.h:42
GeoModelExperiment::getManager
const GeoVDetectorManager * getManager(const std::string &name) const
Definition: GeoModelExperiment.cxx:52
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.changerun.pv
pv
Definition: changerun.py:81