27#include "GaudiKernel/IService.h"
28#include "GaudiKernel/MsgStream.h"
32#include "GeoModelRead/ReadGeoModel.h"
40 const std::string& name,
41 const IInterface* parent)
51 declareProperty(
"TestBeam",
m_switches.testBeam);
58 declareProperty(
"CrackOption",
m_switches.crackOption);
71 ATH_MSG_INFO(name <<
" parameter from database is: " << param);
74 ATH_MSG_WARNING(
"Overriding " << name <<
" value from DB by value from jobOptions, using "
75 << param <<
" instead of " << value);
77 ATH_MSG_INFO(name <<
" parameter from jobOptions is: " << param);
85 MsgStream log(msgSvc(), name());
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);
109 CHECK( detStore()->retrieve(theExpt,
"ATLAS") );
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;
223 CHECK( detStore()->retrieve(tileID,
"TileID") );
224 CHECK( detStore()->retrieve(tileHWID,
"TileHWID") );
225 CHECK( detStore()->retrieve(cellID,
"CaloCell_ID") );
234 ATH_MSG_ERROR(
"Could not get instance of TileCablingService");
235 return StatusCode::FAILURE;
238 return StatusCode::SUCCESS;
245 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
#define CHECK(...)
Evaluate an expression and check for errors.
Definition of the abstract IRDBAccessSvc interface.
Definition of TileAtlasFactory class.
std::shared_ptr< TileDddbManager > TileDddbManager_ptr
Definition of TileDetectorFactory class.
Definition of TileTBFactory class.
Define macros for attributes used to control the static checker.
#define ATLAS_THREAD_SAFE
Helper class for offline cell identifiers.
GeoPhysVol * getPhysVol()
Destructor.
void addManager(const GeoVDetectorManager *)
virtual void create(GeoPhysVol *world)
Creation of Tile geometry.
static const TileCablingService * getInstance()
get pointer to service instance
This class provides access to constants in the Geometry DB.
int GetNumberOfEnv() const
int addPlatesToCell() const
Definition of the TileDetectorFactoryLite class.
virtual void create(GeoPhysVol *world)
Creation of Tile geometry.
virtual void create(GeoPhysVol *world)
Creation of Tile geometry.
Helper class for TileCal online (hardware) identifiers.
Helper class for TileCal offline identifiers.
virtual void create(GeoPhysVol *world) override
Creation of Test Beam Tile geometry.