ATLAS Offline Software
Public Member Functions | Protected Attributes | Private Attributes | List of all members
LArDetectorToolH62003 Class Referencefinal

#include <LArDetectorToolH62003.h>

Inheritance diagram for LArDetectorToolH62003:
Collaboration diagram for LArDetectorToolH62003:

Public Member Functions

 LArDetectorToolH62003 (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~LArDetectorToolH62003 () override final
 
virtual StatusCode create () override final
 
virtual GeoVDetectorManager * manager ()
 The Detector Node corresponding to this tool. More...
 
virtual const GeoVDetectorManager * manager () const
 
virtual StatusCode clear () override
 
virtual StatusCode registerCallback ATLAS_NOT_THREAD_SAFE () override
 
virtual StatusCode align (IOVSVC_CALLBACK_ARGS) override
 

Protected Attributes

GeoVDetectorManager * m_detector
 

Private Attributes

int m_fcalVisLimit
 
bool m_axisVisState
 

Detailed Description

Definition at line 10 of file LArDetectorToolH62003.h.

Constructor & Destructor Documentation

◆ LArDetectorToolH62003()

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

Definition at line 17 of file LArDetectorToolH62003.cxx.

21  m_fcalVisLimit(-1),
22  m_axisVisState(-1)
23 {
24  declareProperty("FCALVisLimit", m_fcalVisLimit);
25  declareProperty("axisVisState", m_axisVisState=false);
26 }

◆ ~LArDetectorToolH62003()

LArDetectorToolH62003::~LArDetectorToolH62003 ( )
finaloverridevirtualdefault

Member Function Documentation

◆ align()

StatusCode GeoModelTool::align ( IOVSVC_CALLBACK_ARGS  )
overridevirtualinherited

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

Definition at line 33 of file GeoModelTool.cxx.

34 {
35  return StatusCode::SUCCESS;
36 }

◆ ATLAS_NOT_THREAD_SAFE()

virtual StatusCode registerCallback GeoModelTool::ATLAS_NOT_THREAD_SAFE ( )
overridevirtualinherited

◆ clear()

StatusCode GeoModelTool::clear ( )
overridevirtualinherited

◆ create()

StatusCode LArDetectorToolH62003::create ( )
finaloverridevirtual

Definition at line 31 of file LArDetectorToolH62003.cxx.

32 {
33  MsgStream log(msgSvc(), name());
34 
35  // Get the detector configuration.
36  IGeoDbTagSvc *geoDbTag;
37  ATH_CHECK(service ("GeoDbTagSvc",geoDbTag));
38 
39  std::string AtlasVersion = geoDbTag->atlasVersion();
40  std::string LArVersion = geoDbTag->LAr_VersionOverride();
41 
42  IRDBAccessSvc *accessSvc;
43  ATH_CHECK(service("RDBAccessSvc",accessSvc));
44 
45  std::string detectorKey = LArVersion.empty() ? AtlasVersion : LArVersion;
46  std::string detectorNode = LArVersion.empty() ? "ATLAS" : "LAr";
47 
48  log << MSG::INFO << "Keys for LAr are " << detectorKey << " " << detectorNode << endmsg;
49 
50  log << MSG::INFO << "Creating the LAr " << endmsg;
51  log << MSG::INFO << "LAr Geometry Options:" << endmsg;
52 
53  // Locate the top level experiment node
54  GeoModelExperiment* theExpt = nullptr;
55  if (StatusCode::SUCCESS != detStore()->retrieve( theExpt, "ATLAS" ))
56  {
57  log << MSG::ERROR << "Could not find GeoModelExperiment ATLAS" << endmsg;
58  return (StatusCode::FAILURE);
59  }
60 
61  // determine the geometry layout - Atlas/Testbeam
62  std::string geometryLayout = "Atlas";
63  std::string LArTag = accessSvc->getChildTag("LAr",detectorKey,detectorNode);
64 
65  //if(LArTag.find("H6")!=std::string::npos) {
66  // geometryLayout = "H6";
67  //}
69 
70  theLArFactory.setFCALVisLimit (m_fcalVisLimit);
71  theLArFactory.setAxisVisState(m_axisVisState);
72 
73 
74  if (nullptr == m_detector)
75  {
76  GeoIntrusivePtr<GeoPhysVol>world=&*theExpt->getPhysVol();
77  theLArFactory.create(world);
78 
79  if (StatusCode::SUCCESS != detStore()->record(theLArFactory.getDetectorManager(),theLArFactory.getDetectorManager()->getName()))
80  {
81  log << MSG::ERROR << "Could not record" << endmsg;
82  return (StatusCode::FAILURE);
83  }
84 
85  theExpt->addManager(theLArFactory.getDetectorManager());
86  return StatusCode::SUCCESS;
87  }
88 
89  return StatusCode::FAILURE;
90 }

◆ manager() [1/2]

GeoVDetectorManager * GeoModelTool::manager ( )
virtualinherited

The Detector Node corresponding to this tool.

Definition at line 21 of file GeoModelTool.cxx.

21  {
22  return m_detector;
23 }

◆ manager() [2/2]

const GeoVDetectorManager * GeoModelTool::manager ( ) const
virtualinherited

Definition at line 24 of file GeoModelTool.cxx.

24  {
25  return m_detector;
26 }

Member Data Documentation

◆ m_axisVisState

bool LArDetectorToolH62003::m_axisVisState
private

Definition at line 26 of file LArDetectorToolH62003.h.

◆ m_detector

GeoVDetectorManager* GeoModelTool::m_detector
protectedinherited

Definition at line 36 of file GeoModelTool.h.

◆ m_fcalVisLimit

int LArDetectorToolH62003::m_fcalVisLimit
private

Definition at line 25 of file LArDetectorToolH62003.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
GeoModelExperiment::getPhysVol
GeoPhysVol * getPhysVol()
Destructor.
Definition: GeoModelExperiment.cxx:21
LArGeo::LArDetectorFactoryH62003::create
virtual void create(GeoPhysVol *world)
Definition: LArDetectorFactoryH62003.cxx:39
GeoModelExperiment
Definition: GeoModelExperiment.h:32
GeoModelTool::GeoModelTool
GeoModelTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor(s)
Definition: GeoModelTool.cxx:12
IGeoDbTagSvc::LAr_VersionOverride
virtual const std::string & LAr_VersionOverride() const =0
EventInfoWrite.AtlasVersion
AtlasVersion
Definition: EventInfoWrite.py:17
IRDBAccessSvc::getChildTag
virtual std::string getChildTag(const std::string &childNode, const std::string &parentTag, const std::string &parentNode, const std::string &connName="ATLASDD")=0
Gets the tag name for the node by giving its parent node tag.
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
LArGeo::LArDetectorFactoryH62003::setFCALVisLimit
void setFCALVisLimit(int maxCell)
Definition: LArDetectorFactoryH62003.h:31
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
IGeoDbTagSvc
Definition: IGeoDbTagSvc.h:26
LArGeo::LArDetectorFactoryH62003::setAxisVisState
void setAxisVisState(bool axis)
Definition: LArDetectorFactoryH62003.h:32
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
GeoModelTool::m_detector
GeoVDetectorManager * m_detector
Definition: GeoModelTool.h:36
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArGeo::LArDetectorFactoryH62003
Definition: LArDetectorFactoryH62003.h:13
GeoModelExperiment::addManager
void addManager(const GeoVDetectorManager *)
Definition: GeoModelExperiment.cxx:40
LArDetectorToolH62003::m_fcalVisLimit
int m_fcalVisLimit
Definition: LArDetectorToolH62003.h:25
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IGeoDbTagSvc::atlasVersion
virtual const std::string & atlasVersion() const =0
LArDetectorToolH62003::m_axisVisState
bool m_axisVisState
Definition: LArDetectorToolH62003.h:26
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
LArGeo::LArDetectorFactoryH62003::getDetectorManager
virtual const LArDetectorManager * getDetectorManager() const
Definition: LArDetectorFactoryH62003.cxx:116