Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ZDC_ModuleBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ZDC_MODULEBASE_H
6 #define ZDC_MODULEBASE_H
7 
8 #include "GeoModelKernel/GeoDefinitions.h" // GeoTrf::Transform3D typedef
9 
10 #include <string>
11 
12 class GeoFullPhysVol;
13 class ZdcID;
15 
16 
17 
19  public:
21  ZDC_ModuleBase(const std::string & name, int side, int module)
22  : m_side( side ),
23  m_module( module ),
24  m_name( name ),
25  m_trf( GeoTrf::Transform3D() )
26  {}
27 
29  : m_side( side ),
30  m_module( module ),
31  m_name( right->m_name ),
32  m_trf( right->m_trf )
33  {}
34 
35  virtual ~ZDC_ModuleBase() = default;
36 
37  virtual void create(GeoFullPhysVol* mother, StoredMaterialManager *materialManager, const ZdcID *zdcID) = 0;
38  inline void setTransform(const GeoTrf::Transform3D trf){m_trf = trf;}
39 
40  inline const int& getSide() const {return m_side;}
41  inline const int& getModule() const {return m_module;}
42  inline const std::string& getName() const {return m_name;}
43  inline const GeoTrf::Transform3D& getTransform() const {return m_trf;}
44 
45  protected:
46 
47  int m_side{};
48  int m_module{};
49  std::string m_name;
51 
52 };
53 
54 
55 #endif
ZDC_ModuleBase::create
virtual void create(GeoFullPhysVol *mother, StoredMaterialManager *materialManager, const ZdcID *zdcID)=0
ZDC_ModuleBase::m_module
int m_module
Definition: ZDC_ModuleBase.h:48
ZDC_ModuleBase
Definition: ZDC_ModuleBase.h:18
ZDC_ModuleBase::getModule
const int & getModule() const
Definition: ZDC_ModuleBase.h:41
ZDC_ModuleBase::m_trf
GeoTrf::Transform3D m_trf
Definition: ZDC_ModuleBase.h:50
ZDC_ModuleBase::setTransform
void setTransform(const GeoTrf::Transform3D trf)
Definition: ZDC_ModuleBase.h:38
TRT::Hit::side
@ side
Definition: HitInfo.h:83
python.PyAthena.module
module
Definition: PyAthena.py:131
ZDC_ModuleBase::getSide
const int & getSide() const
Definition: ZDC_ModuleBase.h:40
ZDC_ModuleBase::ZDC_ModuleBase
ZDC_ModuleBase()
Definition: ZDC_ModuleBase.h:20
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
ZDC_ModuleBase::~ZDC_ModuleBase
virtual ~ZDC_ModuleBase()=default
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ZDC_ModuleBase::ZDC_ModuleBase
ZDC_ModuleBase(const std::string &name, int side, int module)
Definition: ZDC_ModuleBase.h:21
ZDC_ModuleBase::m_side
int m_side
Definition: ZDC_ModuleBase.h:47
ZDC_ModuleBase::getName
const std::string & getName() const
Definition: ZDC_ModuleBase.h:42
ZDC_ModuleBase::ZDC_ModuleBase
ZDC_ModuleBase(ZDC_ModuleBase *right, int side, int module)
Definition: ZDC_ModuleBase.h:28
StoredMaterialManager
This class holds one or more material managers and makes them storeable, under StoreGate.
Definition: StoredMaterialManager.h:28
ZDC_ModuleBase::m_name
std::string m_name
Definition: ZDC_ModuleBase.h:49
CaloLCW_tf.trf
trf
Definition: CaloLCW_tf.py:20
ZdcID
Definition: ZdcID.h:25
ZDC_ModuleBase::getTransform
const GeoTrf::Transform3D & getTransform() const
Definition: ZDC_ModuleBase.h:43