ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
ZDC
ZDC_GeoM
src
ZDC_DetFactory.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ZDC_DETFACTORY_H
6
#define ZDC_DETFACTORY_H
7
8
#include "GeoModelKernel/GeoVDetectorFactory.h"
9
#include "GeoModelKernel/GeoDefinitions.h"
10
#include "
AthenaBaseComps/AthMessaging.h
"
11
//compiler needs to know ZDC_DetManager return type derives from GeoVDetectorManager
12
//to avoid "invalid covariant return type" warning
13
#include "
ZDC_DetManager.h
"
14
#include "
ZDC_ModuleBase.h
"
15
16
#include <string>
17
#include <vector>
18
#include <array>
19
20
class
StoreGateSvc
;
21
class
ZdcID
;
22
class
StoredMaterialManager
;
23
24
class
ZDC_DetFactory
:
public
GeoVDetectorFactory,
25
public
AthMessaging
26
{
27
28
public
:
29
ZDC_DetFactory
(
StoreGateSvc
*);
30
~ZDC_DetFactory
();
31
32
virtual
void
create
(GeoPhysVol *world)
override
;
33
//note: baseclass returns GeoVDetectorManager *
34
virtual
const
ZDC_DetManager
*
getDetectorManager
()
const override
;
35
void
buildMaterials
(
StoredMaterialManager
*materialManager);
36
37
inline
void
addModule
(std::unique_ptr<ZDC_ModuleBase> module) {
m_modules
.push_back(std::move(module) ); }
38
void
setTANSlot
(
uint
iside,
double
width
,
double
height,
double
depth
,
const
GeoTrf::Transform3D trf,
const
std::string& name);
39
40
private
:
41
42
ZDC_DetManager
*
m_detectorManager
{};
43
StoreGateSvc
*
m_detectorStore
{};
44
const
ZdcID
*
m_zdcID
{};
45
std::vector< std::unique_ptr<ZDC_ModuleBase> >
m_modules
;
46
std::array<GeoTrf::Transform3D, 2>
m_tanSlotTransform
;
47
std::array<double, 2>
m_tanW
,
m_tanH
,
m_tanD
;
48
std::array<std::string, 2>
m_tanSlotName
;
49
};
50
51
52
#endif
AthMessaging.h
uint
unsigned int uint
Definition
LArOFPhaseFill.cxx:19
width
const double width
Definition
TTileTripReader.cxx:24
ZDC_DetManager.h
ZDC_ModuleBase.h
AthMessaging::AthMessaging
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Definition
AthMessaging.cxx:13
StoreGateSvc
The Athena Transient Store API.
Definition
StoreGateSvc.h:120
StoredMaterialManager
This class holds one or more material managers and makes them storeable, under StoreGate.
Definition
StoredMaterialManager.h:30
ZDC_DetFactory::m_modules
std::vector< std::unique_ptr< ZDC_ModuleBase > > m_modules
Definition
ZDC_DetFactory.h:45
ZDC_DetFactory::m_zdcID
const ZdcID * m_zdcID
Definition
ZDC_DetFactory.h:44
ZDC_DetFactory::create
virtual void create(GeoPhysVol *world) override
Definition
ZDC_DetFactory.cxx:67
ZDC_DetFactory::m_tanSlotName
std::array< std::string, 2 > m_tanSlotName
Definition
ZDC_DetFactory.h:48
ZDC_DetFactory::ZDC_DetFactory
ZDC_DetFactory(StoreGateSvc *)
Definition
ZDC_DetFactory.cxx:42
ZDC_DetFactory::m_tanSlotTransform
std::array< GeoTrf::Transform3D, 2 > m_tanSlotTransform
Definition
ZDC_DetFactory.h:46
ZDC_DetFactory::setTANSlot
void setTANSlot(uint iside, double width, double height, double depth, const GeoTrf::Transform3D trf, const std::string &name)
Definition
ZDC_DetFactory.cxx:59
ZDC_DetFactory::addModule
void addModule(std::unique_ptr< ZDC_ModuleBase > module)
Definition
ZDC_DetFactory.h:37
ZDC_DetFactory::m_tanD
std::array< double, 2 > m_tanD
Definition
ZDC_DetFactory.h:47
ZDC_DetFactory::m_tanH
std::array< double, 2 > m_tanH
Definition
ZDC_DetFactory.h:47
ZDC_DetFactory::m_tanW
std::array< double, 2 > m_tanW
Definition
ZDC_DetFactory.h:47
ZDC_DetFactory::m_detectorStore
StoreGateSvc * m_detectorStore
Definition
ZDC_DetFactory.h:43
ZDC_DetFactory::getDetectorManager
virtual const ZDC_DetManager * getDetectorManager() const override
Definition
ZDC_DetFactory.cxx:274
ZDC_DetFactory::~ZDC_DetFactory
~ZDC_DetFactory()
Definition
ZDC_DetFactory.cxx:57
ZDC_DetFactory::buildMaterials
void buildMaterials(StoredMaterialManager *materialManager)
Definition
ZDC_DetFactory.cxx:120
ZDC_DetFactory::m_detectorManager
ZDC_DetManager * m_detectorManager
Definition
ZDC_DetFactory.h:42
ZDC_DetManager
Definition
ZDC_DetManager.h:13
ZdcID
Definition
ZdcID.h:25
depth
std::string depth
tag string for intendation
Definition
fastadd.cxx:46
Generated on
for ATLAS Offline Software by
1.17.0