ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
LArGeo::LArDetectorFactoryH62003 Class Reference

#include <LArDetectorFactoryH62003.h>

Inheritance diagram for LArGeo::LArDetectorFactoryH62003:
Collaboration diagram for LArGeo::LArDetectorFactoryH62003:

Public Member Functions

 LArDetectorFactoryH62003 ()
 
virtual ~LArDetectorFactoryH62003 ()
 
virtual void create (GeoPhysVol *world)
 
virtual const LArDetectorManagergetDetectorManager () const
 
void setFCALVisLimit (int maxCell)
 
void setAxisVisState (bool axis)
 

Private Member Functions

const LArDetectorFactoryH62003operator= (const LArDetectorFactoryH62003 &right)
 
 LArDetectorFactoryH62003 (const LArDetectorFactoryH62003 &right)
 

Private Attributes

LArDetectorManagerm_detectorManager
 
int m_fcalVisLimit
 
bool m_axisVisState
 

Detailed Description

Definition at line 13 of file LArDetectorFactoryH62003.h.

Constructor & Destructor Documentation

◆ LArDetectorFactoryH62003() [1/2]

LArGeo::LArDetectorFactoryH62003::LArDetectorFactoryH62003 ( )

Definition at line 27 of file LArDetectorFactoryH62003.cxx.

28  : m_detectorManager(nullptr),
29  m_fcalVisLimit(-1),
30  m_axisVisState(-1)
31 {}

◆ ~LArDetectorFactoryH62003()

LArGeo::LArDetectorFactoryH62003::~LArDetectorFactoryH62003 ( )
virtualdefault

◆ LArDetectorFactoryH62003() [2/2]

LArGeo::LArDetectorFactoryH62003::LArDetectorFactoryH62003 ( const LArDetectorFactoryH62003 right)
private

Member Function Documentation

◆ create()

void LArGeo::LArDetectorFactoryH62003::create ( GeoPhysVol *  world)
virtual

Definition at line 39 of file LArDetectorFactoryH62003.cxx.

40 {
41 
42  ISvcLocator *svcLocator = Gaudi::svcLocator();
43  IMessageSvc * msgSvc;
44  if (svcLocator->service("MessageSvc", msgSvc, true )==StatusCode::FAILURE) {
45  throw std::runtime_error("Error in LAr::DetectorFactor, cannot access MessageSvc");
46  }
47 
48  MsgStream log(msgSvc, "LAr::DetectorFactory");
49 
50  log << "++++++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
51  log << "+ +" << std::endl;
52  log << "+ HELLO from LAr::DetectorFactory +" << std::endl;
53  log << "+ +" << std::endl;
54  log << "+++++++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
55 
56 
57 
59  if (svcLocator->service("DetectorStore", detStore, false )==StatusCode::FAILURE) {
60  throw std::runtime_error("Error in LArDetectorFactoryH62003, cannot access DetectorStore");
61  }
62 
63  // Get access to the material manager:
64 
65  LArDetectorConstructionH62003 BeamLineDets;
66  BeamLineDets.SetFCALVisLimit(m_fcalVisLimit);
67  BeamLineDets.SetAxisVisState(m_axisVisState);
68 
69  PVLink Envelope = nullptr;
70 
71  Envelope = BeamLineDets.GetEnvelope();
72 
73  a_container->add(new GeoNameTag("LAr"));
74  a_container->add(Envelope);
75 
76 
77 
78  FCALDetectorManager *fcalDetectorManager = new FCALDetectorManager();
79 
80  std::cout <<"In the LArDetectorFactory.........." << std::endl;
81 
82  // Get the full physical volumes that were created and stored by the construction:
83  {
84  StoredPhysVol *fcal1,*fcal2, *fcal3;
85  if (StatusCode::SUCCESS!=detStore->retrieve(fcal1,"FCAL1_NEG")) {
86  log << MSG::WARNING << "No volume created for FCAL 1 Neg" << endmsg;
87  }
88  else {
90  fcalDetectorManager->addModule(detDescr);
91  }
92  if (StatusCode::SUCCESS!=detStore->retrieve(fcal2,"FCAL2_NEG")) {
93  log << MSG::WARNING << "No volume created for FCAL 2 Neg" << endmsg;
94  }
95  else {
97  fcalDetectorManager->addModule(detDescr);
98  }
99  if (StatusCode::SUCCESS!=detStore->retrieve(fcal3,"FCAL3_NEG")) {
100  log << MSG::WARNING << "No volume created for FCAL 3 Neg" << endmsg;
101  }
102  else {
104  fcalDetectorManager->addModule(detDescr);
105  }
106  }
107 
108  detStore->record(fcalDetectorManager,fcalDetectorManager->getName()).ignore();
109  m_detectorManager = new LArDetectorManager(nullptr,nullptr,nullptr,fcalDetectorManager);
111 
112 
113 }

◆ getDetectorManager()

const LArDetectorManager * LArGeo::LArDetectorFactoryH62003::getDetectorManager ( ) const
virtual

Definition at line 116 of file LArDetectorFactoryH62003.cxx.

117 {
118  return m_detectorManager;
119 }

◆ operator=()

const LArDetectorFactoryH62003& LArGeo::LArDetectorFactoryH62003::operator= ( const LArDetectorFactoryH62003 right)
private

◆ setAxisVisState()

void LArGeo::LArDetectorFactoryH62003::setAxisVisState ( bool  axis)
inline

Definition at line 32 of file LArDetectorFactoryH62003.h.

◆ setFCALVisLimit()

void LArGeo::LArDetectorFactoryH62003::setFCALVisLimit ( int  maxCell)
inline

Definition at line 31 of file LArDetectorFactoryH62003.h.

Member Data Documentation

◆ m_axisVisState

bool LArGeo::LArDetectorFactoryH62003::m_axisVisState
private

Definition at line 43 of file LArDetectorFactoryH62003.h.

◆ m_detectorManager

LArDetectorManager* LArGeo::LArDetectorFactoryH62003::m_detectorManager
private

Definition at line 41 of file LArDetectorFactoryH62003.h.

◆ m_fcalVisLimit

int LArGeo::LArDetectorFactoryH62003::m_fcalVisLimit
private

Definition at line 42 of file LArDetectorFactoryH62003.h.


The documentation for this class was generated from the following files:
Envelope
Definition: IDetectorGeometryTool.h:17
FCALDetectorManager
A manager class providing access to readout geometry information for the forward calorimeter.
Definition: FCALDetectorManager.h:29
FCALModule::FCAL2
@ FCAL2
Definition: FCALModule.h:37
LArGeo::LArDetectorFactoryH62003::m_fcalVisLimit
int m_fcalVisLimit
Definition: LArDetectorFactoryH62003.h:42
yodamerge_tmp.axis
list axis
Definition: yodamerge_tmp.py:241
FCALModule::NEG
@ NEG
Definition: FCALModule.h:38
StoredPhysVol
Definition: StoredPhysVol.h:27
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
StoredPhysVol::getPhysVol
GeoFullPhysVol * getPhysVol()
Destructor.
Definition: StoredPhysVol.cxx:20
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
LArGeo::LArDetectorFactoryH62003::m_axisVisState
bool m_axisVisState
Definition: LArDetectorFactoryH62003.h:43
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
LArDetectorManager
Stored in storegate. Provides access to EMB, EMEC, HEC and FCAL Detector Managers....
Definition: LArDetectorManager.h:26
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
FCALDetectorManager::addModule
void addModule(FCALModule *fcalModule)
Adds an FCAL Module.
Definition: FCALDetectorManager.cxx:76
FCALModule
Definition: FCALModule.h:33
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
FCALModule::FCAL1
@ FCAL1
Definition: FCALModule.h:37
LArGeo::LArDetectorFactoryH62003::m_detectorManager
LArDetectorManager * m_detectorManager
Definition: LArDetectorFactoryH62003.h:41
maxCell
#define maxCell
LArDetectorManager::addTreeTop
void addTreeTop(PVConstLink treeTop)
Add a Tree Top.
Definition: LArDetectorManager.cxx:31
FCALModule::FCAL3
@ FCAL3
Definition: FCALModule.h:37