|
ATLAS Offline Software
|
LArDetectorFactoryLite is invoked by the LArDetectorTool when the GeoModel description of LAr calorimeter is built from the SQLite database relevant 'Construction' classes (Barrel, Endcap). It also builds readout geometry.
More...
#include <LArDetectorFactoryLite.h>
LArDetectorFactoryLite is invoked by the LArDetectorTool when the GeoModel description of LAr calorimeter is built from the SQLite database relevant 'Construction' classes (Barrel, Endcap). It also builds readout geometry.
Definition at line 33 of file LArDetectorFactoryLite.h.
◆ LArDetectorFactoryLite() [1/3]
◆ LArDetectorFactoryLite() [2/3]
LArGeo::LArDetectorFactoryLite::LArDetectorFactoryLite |
( |
| ) |
|
|
delete |
◆ LArDetectorFactoryLite() [3/3]
◆ create()
void LArGeo::LArDetectorFactoryLite::create |
( |
GeoPhysVol * |
world | ) |
|
|
overridevirtual |
Definition at line 49 of file LArDetectorFactoryLite.cxx.
53 std::string errorMessage{
""};
56 errorMessage=
"Failed to build FCAL Channel Map";
58 throw std::runtime_error(errorMessage);
66 errorMessage=
"Failed to build LAr Barrel electrode sections";
68 throw std::runtime_error(errorMessage);
72 std::map<std::string, GeoAlignableTransform*> mapAXF =
m_sqliteReader->getPublishedNodes<std::string, GeoAlignableTransform*>(
"LAr");
73 for(
auto& [
key,xf] : mapAXF) {
76 errorMessage=
"Failed to record StoredAlignX for the key: "+
key;
78 throw std::runtime_error(errorMessage);
82 std::map<std::string, GeoFullPhysVol*> mapFPV =
m_sqliteReader->getPublishedNodes<std::string, GeoFullPhysVol*>(
"LAr");
83 for(
auto& [
key,
pv] : mapFPV) {
86 errorMessage=
"Failed to record StoredPhysVol for the key: " +
key;
88 throw std::runtime_error(errorMessage);
93 double projectivityDisplacement{0.};
95 projectivityDisplacement = (*emecGeometry)[0]->getDouble(
"ZSHIFT");
101 , projectivityDisplacement);
108 if(!embDetectorManager
109 || !emecDetectorManager
110 || !hecDetectorManager
111 || !fcalDetectorManager) {
112 errorMessage=
"Failed to build LAr Readout Geometry description";
114 throw std::runtime_error(errorMessage);
130 if(mbtsPcons->size()==0) {
131 first = mbtsTubs->begin();
132 last = mbtsTubs->end();
134 if((*first)->getString(
"TUBE") ==
"MBTS_mother") {
141 double zStartCryoMother = 0.;
142 first = cryoPcons->begin();
143 last = cryoPcons->end();
145 if((*first)->getString(
"PCON")==
"Endcap::CryoMother"
146 && (*first)->getInt(
"PLANE_ID")==0) {
147 zStartCryoMother = (*first)->getDouble(
"ZPLANE");
152 double zStartMM = 0.;
153 first = mbtsPcons->begin();
154 last = mbtsPcons->end();
156 if((*first)->getString(
"PCON")==
"MBTS::Mother"
157 && (*first)->getInt(
"PLANE_ID")==0) {
158 zStartMM = (*first)->getDouble(
"ZPLANE");
163 zposMM = zStartCryoMother - zStartMM;
167 std::map<std::string,unsigned> trdMap;
168 for(
unsigned indTrd(0);indTrd<mbtsTrds->size();++indTrd) {
169 const std::string& keyTrd = (*mbtsTrds)[indTrd]->getString(
"TRD");
170 trdMap[keyTrd]=indTrd;
179 , std::string()).isFailure()) {
180 errorMessage=
"Failed to build MBTS Readout Geometry description";
182 throw std::runtime_error(errorMessage);
186 GeoVolumeCursor
cursor(world);
188 std::string volName =
cursor.getName();
189 if(volName.compare(0,3,
"LAr")==0) {
◆ getDetectorManager()
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ operator=()
◆ setBarrelSagging()
void LArGeo::LArDetectorFactoryLite::setBarrelSagging |
( |
bool |
flag | ) |
|
|
inline |
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setTestBeam()
void LArGeo::LArDetectorFactoryLite::setTestBeam |
( |
int |
flag | ) |
|
|
inline |
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_barrelSagging
bool LArGeo::LArDetectorFactoryLite::m_barrelSagging |
|
private |
◆ m_detectorManager
◆ m_detStore
StoreGateSvc* LArGeo::LArDetectorFactoryLite::m_detStore = nullptr |
|
private |
◆ m_hvManager
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_paramSvc
IRDBAccessSvc* LArGeo::LArDetectorFactoryLite::m_paramSvc = nullptr |
|
private |
◆ m_sqliteReader
GeoModelIO::ReadGeoModel* LArGeo::LArDetectorFactoryLite::m_sqliteReader = nullptr |
|
private |
◆ m_testBeam
int LArGeo::LArDetectorFactoryLite::m_testBeam |
|
private |
The documentation for this class was generated from the following files:
StatusCode record(T *p2BRegistered, const TKEY &key)
Record an object with a key.
std::atomic< MSG::Level > m_lvl
Current logging level.
A manager class providing access to readout geometry information for the forward calorimeter.
StatusCode buildMbtsReadout(StoreGateSvc *detStore, IRDBAccessSvc *paramSvc, IMessageSvc *msgSvc, double zposMM, const std::map< std::string, unsigned > &trdMap, const std::string &detKey, const std::string &detNode)
void isTestBeam(bool flag)
Set Test Beam flag.
LArDetectorManager * m_detectorManager
virtual IRDBRecordset_ptr getRecordsetPtr(const std::string &node, const std::string &tag, const std::string &tag2node="", const std::string &connName="ATLASDD")=0
Provides access to the Recordset object containing HVS-tagged data.
A manager class providing access to readout geometry information for the electromagnetic endcap calor...
const LArHVManager * m_hvManager
GeoModelIO::ReadGeoModel * m_sqliteReader
StatusCode buildElStraightSections(StoreGateSvc *detStore, IRDBAccessSvc *paramSvc, IMessageSvc *msgSvc, bool sagging)
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
IMessageSvc * getMessageSvc(bool quiet=false)
StoreGateSvc * m_detStore
AthMessaging()
Default constructor:
A manager class providing access to readout geometry information for the electromagnetic barrel calor...
void addTreeTop(const PVConstLink &treeTop)
Add a Tree Top.
Stored in storegate. Provides access to EMB, EMEC, HEC and FCAL Detector Managers....
StatusCode buildFcalChannelMap(StoreGateSvc *detStore, IRDBAccessSvc *paramSvc, IMessageSvc *msgSvc)
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
MsgStream & msg() const
The standard message stream.
A manager class providing access to readout geometry information for the hadronic endcap calorimeter.
std::tuple< EMBDetectorManager *,EMECDetectorManager *,HECDetectorManager *,FCALDetectorManager * > buildLArReadoutGeometry(StoreGateSvc *detStore, const LArHVManager *hvManager, IMessageSvc *msgSvc, int testbeam, double projectivityDisplacement)
std::string m_nm
Message source name.
void initMessaging() const
Initialize our message level and MessageSvc.
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
IRDBAccessSvc * m_paramSvc
RecordsVector::const_iterator const_iterator