ATLAS Offline Software
Loading...
Searching...
No Matches
LArDetectorToolTBEC Class Referencefinal

#include <LArDetectorToolTBEC.h>

Inheritance diagram for LArDetectorToolTBEC:
Collaboration diagram for LArDetectorToolTBEC:

Public Member Functions

 LArDetectorToolTBEC (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~LArDetectorToolTBEC () override final
virtual StatusCode create () override final
virtual GeoVDetectorManager * manager ()
virtual const GeoVDetectorManager * manager () const
virtual StatusCode clear () override
virtual StatusCode registerCallback ATLAS_NOT_THREAD_SAFE () override
virtual StatusCode align ATLAS_NOT_THREAD_SAFE (IOVSVC_CALLBACK_ARGS) override

Protected Attributes

GeoVDetectorManager * m_detector {nullptr}

Private Attributes

int m_ecVisLimit

Detailed Description

Definition at line 10 of file LArDetectorToolTBEC.h.

Constructor & Destructor Documentation

◆ LArDetectorToolTBEC()

LArDetectorToolTBEC::LArDetectorToolTBEC ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 15 of file LArDetectorToolTBEC.cxx.

18 : GeoModelTool(type,name,parent),
19 m_ecVisLimit(-1)
20{
21 declareProperty("ECVisLimit", m_ecVisLimit);
22}

◆ ~LArDetectorToolTBEC()

LArDetectorToolTBEC::~LArDetectorToolTBEC ( )
finaloverridevirtualdefault

Member Function Documentation

◆ ATLAS_NOT_THREAD_SAFE() [1/2]

virtual StatusCode registerCallback GeoModelTool::ATLAS_NOT_THREAD_SAFE ( )
inlineoverridevirtualinherited

Reimplemented in BCMPrimeDetectorTool, HGTD_DetectorTool, HGTD_GMX_DetectorTool, PLRDetectorTool, and TRT_DetectorTool.

Definition at line 26 of file GeoModelTool.h.

26{return StatusCode::FAILURE;}

◆ ATLAS_NOT_THREAD_SAFE() [2/2]

virtual StatusCode align GeoModelTool::ATLAS_NOT_THREAD_SAFE ( IOVSVC_CALLBACK_ARGS )
inlineoverridevirtualinherited

Reimplemented in HGTD_DetectorTool, LArDetectorToolNV, PixelDetectorTool, SCT_DetectorTool, and TRT_DetectorTool.

Definition at line 27 of file GeoModelTool.h.

27{return StatusCode::SUCCESS;}

◆ clear()

◆ create()

StatusCode LArDetectorToolTBEC::create ( )
finaloverridevirtual

Definition at line 27 of file LArDetectorToolTBEC.cxx.

28{
29 MsgStream log(msgSvc(), name());
30
31 // Get the detector configuration.
32 SmartIF<IGeoDbTagSvc> geoDbTag{Gaudi::svcLocator()->service("GeoDbTagSvc")};
33 ATH_CHECK(geoDbTag.isValid());
34
35 std::string AtlasVersion = geoDbTag->atlasVersion();
36 std::string LArVersion = geoDbTag->LAr_VersionOverride();
37
38 SmartIF<IRDBAccessSvc> accessSvc{Gaudi::svcLocator()->service("RDBAccessSvc")};
39 ATH_CHECK(accessSvc.isValid());
40
41 std::string detectorKey = LArVersion.empty() ? AtlasVersion : LArVersion;
42 std::string detectorNode = LArVersion.empty() ? "ATLAS" : "LAr";
43 log << MSG::INFO << "Keys for LAr are " << detectorKey << " " << detectorNode << endmsg;
44
45
46 log << MSG::INFO << "Creating the LAr " << endmsg;
47 log << MSG::INFO << "LAr Geometry Options:" << endmsg;
48
49 // Locate the top level experiment node
50 GeoModelExperiment* theExpt = nullptr;
51 if (StatusCode::SUCCESS != detStore()->retrieve( theExpt, "ATLAS" ))
52 {
53 log << MSG::ERROR << "Could not find GeoModelExperiment ATLAS" << endmsg;
54 return (StatusCode::FAILURE);
55 }
56
57 // determine the geometry layout - Atlas/Testbeam
58 std::string geometryLayout = "Atlas";
59 std::string LArTag = accessSvc->getChildTag("LAr",detectorKey,detectorNode);
60
61 LArGeo::LArDetectorFactoryTBEC theLArFactory;
62
63 theLArFactory.setECVisLimit (m_ecVisLimit);
64
65
66 if (nullptr == m_detector)
67 {
68 GeoIntrusivePtr<GeoPhysVol>world=&*theExpt->getPhysVol();
69 theLArFactory.create(world);
70
71 if (StatusCode::SUCCESS != detStore()->record(theLArFactory.getDetectorManager(),theLArFactory.getDetectorManager()->getName()))
72 {
73 log << MSG::ERROR << "Could not record" << endmsg;
74 return (StatusCode::FAILURE);
75 }
76
77 theExpt->addManager(theLArFactory.getDetectorManager());
78
79
80 return StatusCode::SUCCESS;
81 }
82
83
84 return StatusCode::FAILURE;
85}
#define endmsg
#define ATH_CHECK
Evaluate an expression and check for errors.
GeoPhysVol * getPhysVol()
Destructor.
void addManager(const GeoVDetectorManager *)
GeoVDetectorManager * m_detector
virtual const LArDetectorManager * getDetectorManager() const override
virtual void create(GeoPhysVol *world) override
msgSvc
Provide convenience handles for various services.
Definition StdJOSetup.py:36
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ manager() [1/2]

virtual GeoVDetectorManager * GeoModelTool::manager ( )
inlinevirtualinherited

Definition at line 22 of file GeoModelTool.h.

22{return m_detector;}

◆ manager() [2/2]

virtual const GeoVDetectorManager * GeoModelTool::manager ( ) const
inlinevirtualinherited

Definition at line 23 of file GeoModelTool.h.

23{return m_detector;}

Member Data Documentation

◆ m_detector

GeoVDetectorManager* GeoModelTool::m_detector {nullptr}
protectedinherited

Definition at line 30 of file GeoModelTool.h.

30{nullptr};

◆ m_ecVisLimit

int LArDetectorToolTBEC::m_ecVisLimit
private

Definition at line 25 of file LArDetectorToolTBEC.h.


The documentation for this class was generated from the following files: