ATLAS Offline Software
Loading...
Searching...
No Matches
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
12class GeoFullPhysVol;
13class 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
28 ZDC_ModuleBase(ZDC_ModuleBase *right, int side, int module)
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;
50 GeoTrf::Transform3D m_trf{};
51
52};
53
54
55#endif
Eigen::Affine3d Transform3D
This class holds one or more material managers and makes them storeable, under StoreGate.
std::string m_name
ZDC_ModuleBase(ZDC_ModuleBase *right, int side, int module)
const std::string & getName() const
GeoTrf::Transform3D m_trf
const int & getModule() const
ZDC_ModuleBase(const std::string &name, int side, int module)
virtual void create(GeoFullPhysVol *mother, StoredMaterialManager *materialManager, const ZdcID *zdcID)=0
const int & getSide() const
const GeoTrf::Transform3D & getTransform() const
virtual ~ZDC_ModuleBase()=default
void setTransform(const GeoTrf::Transform3D trf)
Definition ZdcID.h:25