|
ATLAS Offline Software
|
Go to the documentation of this file.
27 #include "GaudiKernel/IService.h"
28 #include "GaudiKernel/MsgStream.h"
32 #include "GeoModelRead/ReadGeoModel.h"
40 const std::string&
name,
43 , m_switches(false,true)
45 , m_useNewFactory(true)
46 , m_geometryConfig(
"FULL")
75 << param <<
" instead of " <<
value);
89 SmartIF<IGeoModelSvc> geoModel{service(
"GeoModelSvc")};
92 std::string atlasVersion = geoModel->atlasVersion();
93 std::string tileVersion = geoModel->tileVersionOverride();
95 std::string versionTag = tileVersion.empty()? atlasVersion : tileVersion;
96 std::string versionNode = tileVersion.empty()?
"ATLAS" :
"TileCal";
98 if (versionTag ==
"AUTO") {
99 versionTag =
"TileCal-00";
100 versionNode =
"TileCal";
102 if (atlasVersion.compare(0,9,
"ATLAS-CTB") == 0 || tileVersion.compare(0,6,
"TileTB") == 0) {
103 ATH_MSG_INFO(
"CTB geometry detected: " << atlasVersion <<
" " << tileVersion);
121 GeoModelIO::ReadGeoModel* sqliteReader = geoDbTag->getSqliteReader();
125 bool sqliteInput =
false;
126 if (sqliteReader) sqliteInput =
true;
132 ATH_MSG_WARNING(
"New TileAtlasFactory can not be used because TileGlobals do not exist in Database");
155 accessSvc.operator->(),
159 theTileFactoryLite.
create(world);
167 TileCablingService::getInstance_nc()->setTestBeam(
true);
169 theTileTBFactory.
create(world);
174 std::vector<GeoPhysVol *> volumePtrs;
175 std::vector<double> volumePositions;
177 theTileFactory.
create(world);
181 theTileFactory.
create(world);
197 return StatusCode::SUCCESS;
201 return StatusCode::FAILURE;
212 return StatusCode::SUCCESS;
234 ATH_MSG_ERROR(
"Could not get instance of TileCablingService");
235 return StatusCode::FAILURE;
238 return StatusCode::SUCCESS;
245 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
GeoPhysVol * getPhysVol()
Destructor.
virtual void create(GeoPhysVol *world) override
Creation of Test Beam Tile geometry.
std::shared_ptr< TileDddbManager > TileDddbManager_ptr
static const TileCablingService * getInstance()
get pointer to service instance
Definition of TileTBFactory class.
virtual void create(GeoPhysVol *world)
Creation of Tile geometry.
Definition of TileAtlasFactory class.
bool testBeam
setting up testbeam geometry or ATLAS geometry
int steel
0: Absorber is pure Iron 1: Absorber is tile::Steel defined in DB
Definition of TileDetectorFactory class.
Helper class for TileCal online (hardware) identifiers.
Definition of the abstract IRDBAccessSvc interface.
int uShape
0: simulation without U-shape 1: simulation with U-shape
int glue
0: glue layer is removed and replaced by iron, 1: simulation with glue, 2: glue is replaced by iron +...
virtual void create(GeoPhysVol *world)
Creation of Tile geometry.
msgSvc
Provide convenience handles for various services.
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
Helper class for TileCal offline identifiers.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual void create(GeoPhysVol *world)
Creation of Tile geometry.
Default, invalid implementation of ClassID_traits.
void set_helper(const TileID *id)
Definition of the TileDetectorFactoryLite class. The TileDetectorFactoryLite is invoked by the TileDe...
#define CHECK(...)
Evaluate an expression and check for errors.
Helper class for offline cell identifiers.
int csTube
0: without Cesium tubes 1: with cesium tubes
bool addPlatesToCell
calculate cell volumes with or without front-plates and end-plates
void addManager(const GeoVDetectorManager *)
int crackOption
0: crack scintillators in ext.barrel top-level envelopes 1: crack scintillators in separate TileCal t...
#define ATH_MSG_WARNING(x)
int pvt
0: all scintillators are polystyrene 1: crack scrintillators are PVT, others - polystyrene
#define ATLAS_THREAD_SAFE
Define macros for attributes used to control the static checker.
This class provides access to constants in the Geometry DB.