ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
AtlasGeometryCommon
BeamPipeGeoModel
src
BeamPipeDetectorFactory.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 BEAMPIPEGEOMODEL_BEAMPIPEDETECTORFACTORY_H
6
#define BEAMPIPEGEOMODEL_BEAMPIPEDETECTORFACTORY_H
7
8
#include "GeoModelKernel/GeoVDetectorFactory.h"
9
#include "
GeoModelUtilities/GeoRef.h
"
10
#include "
BeamPipeGeoModel/BeamPipeDetectorManager.h
"
11
#include "
RDBAccessSvc/IRDBAccessSvc.h
"
12
#include <string>
13
14
class
StoreGateSvc
;
15
class
StoredMaterialManager
;
16
class
GeoShape;
17
18
class
BeamPipeDetectorFactory
final :
public
GeoVDetectorFactory
19
{
20
public
:
21
22
// Constructor:
23
BeamPipeDetectorFactory
(
StoreGateSvc
*pDetStore,
24
IRDBAccessSvc
*pAccess);
25
26
// Destructor:
27
~BeamPipeDetectorFactory
();
28
29
// Creation of geometry:
30
virtual
void
create
(GeoPhysVol *world)
override
;
31
32
// Access to the results:
33
virtual
const
BeamPipeDetectorManager
*
getDetectorManager
()
const override
;
34
35
// Set version Tag and Node
36
void
setTagNode
(std::string tag, std::string
node
, std::string mode);
37
38
void
addSections
(GeoPhysVol* parent,
int
region);
39
40
private
:
41
42
// small helper class
43
class
EnvelopeEntry
{
44
public
:
45
EnvelopeEntry
() :
m_z
(0),
m_r
(0) {}
46
EnvelopeEntry
(
double
z
,
double
r
) :
m_z
(
z
),
m_r
(
r
) {}
47
double
z
()
const
{
return
m_z
;}
48
double
r
()
const
{
return
m_r
;}
49
private
:
50
double
m_z
;
51
double
m_r
;
52
};
53
54
class
EnvelopeShapes
{
55
public
:
56
EnvelopeShapes
() :
centralShape
(0),
fwdShape
(0),
bpShape
(0) {}
57
GeoRef<GeoShape>
centralShape
;
58
GeoRef<GeoShape>
fwdShape
;
59
GeoRef<GeoShape>
bpShape
;
60
};
61
62
63
EnvelopeShapes
makeEnvelope
(
const
IRDBRecordset_ptr
& bpipeEnvelope);
64
EnvelopeShapes
makeEnvelopeOld
(
const
IRDBRecordset_ptr
& atlasMother);
65
66
67
// Illegal operations:
68
const
BeamPipeDetectorFactory
&
operator=
(
const
BeamPipeDetectorFactory
&right);
69
BeamPipeDetectorFactory
(
const
BeamPipeDetectorFactory
&right);
70
71
// The manager:
72
BeamPipeDetectorManager
*
m_detectorManager
;
73
74
StoredMaterialManager
*
m_materialManager
;
75
76
StoreGateSvc
*
m_detectorStore
;
77
IRDBAccessSvc
*
m_access
;
78
std::string
m_versionTag
;
79
std::string
m_versionNode
;
80
std::string
m_mode
;
81
82
double
m_centralRegionZMax
;
83
};
84
85
// Class BeamPipeDetectorFactory
86
#endif
87
88
BeamPipeDetectorManager.h
GeoRef.h
Simple smart-pointer class for GeoModel objects.
GeoRef
GeoIntrusivePtr< T > GeoRef
Definition
GeoRef.h:20
IRDBAccessSvc.h
Definition of the abstract IRDBAccessSvc interface.
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition
IRDBAccessSvc.h:30
BeamPipeDetectorFactory::EnvelopeEntry::m_r
double m_r
Definition
BeamPipeDetectorFactory.h:51
BeamPipeDetectorFactory::EnvelopeEntry::z
double z() const
Definition
BeamPipeDetectorFactory.h:47
BeamPipeDetectorFactory::EnvelopeEntry::m_z
double m_z
Definition
BeamPipeDetectorFactory.h:50
BeamPipeDetectorFactory::EnvelopeEntry::r
double r() const
Definition
BeamPipeDetectorFactory.h:48
BeamPipeDetectorFactory::EnvelopeEntry::EnvelopeEntry
EnvelopeEntry(double z, double r)
Definition
BeamPipeDetectorFactory.h:46
BeamPipeDetectorFactory::EnvelopeEntry::EnvelopeEntry
EnvelopeEntry()
Definition
BeamPipeDetectorFactory.h:45
BeamPipeDetectorFactory::EnvelopeShapes
Definition
BeamPipeDetectorFactory.h:54
BeamPipeDetectorFactory::EnvelopeShapes::centralShape
GeoRef< GeoShape > centralShape
Definition
BeamPipeDetectorFactory.h:57
BeamPipeDetectorFactory::EnvelopeShapes::fwdShape
GeoRef< GeoShape > fwdShape
Definition
BeamPipeDetectorFactory.h:58
BeamPipeDetectorFactory::EnvelopeShapes::EnvelopeShapes
EnvelopeShapes()
Definition
BeamPipeDetectorFactory.h:56
BeamPipeDetectorFactory::EnvelopeShapes::bpShape
GeoRef< GeoShape > bpShape
Definition
BeamPipeDetectorFactory.h:59
BeamPipeDetectorFactory::makeEnvelope
EnvelopeShapes makeEnvelope(const IRDBRecordset_ptr &bpipeEnvelope)
Definition
BeamPipeDetectorFactory.cxx:319
BeamPipeDetectorFactory::create
virtual void create(GeoPhysVol *world) override
Definition
BeamPipeDetectorFactory.cxx:46
BeamPipeDetectorFactory::~BeamPipeDetectorFactory
~BeamPipeDetectorFactory()
BeamPipeDetectorFactory::m_versionNode
std::string m_versionNode
Definition
BeamPipeDetectorFactory.h:79
BeamPipeDetectorFactory::makeEnvelopeOld
EnvelopeShapes makeEnvelopeOld(const IRDBRecordset_ptr &atlasMother)
Definition
BeamPipeDetectorFactory.cxx:410
BeamPipeDetectorFactory::m_access
IRDBAccessSvc * m_access
Definition
BeamPipeDetectorFactory.h:77
BeamPipeDetectorFactory::operator=
const BeamPipeDetectorFactory & operator=(const BeamPipeDetectorFactory &right)
BeamPipeDetectorFactory::m_mode
std::string m_mode
Definition
BeamPipeDetectorFactory.h:80
BeamPipeDetectorFactory::addSections
void addSections(GeoPhysVol *parent, int region)
Definition
BeamPipeDetectorFactory.cxx:156
BeamPipeDetectorFactory::m_versionTag
std::string m_versionTag
Definition
BeamPipeDetectorFactory.h:78
BeamPipeDetectorFactory::m_detectorManager
BeamPipeDetectorManager * m_detectorManager
Definition
BeamPipeDetectorFactory.h:72
BeamPipeDetectorFactory::setTagNode
void setTagNode(std::string tag, std::string node, std::string mode)
Definition
BeamPipeDetectorFactory.cxx:310
BeamPipeDetectorFactory::BeamPipeDetectorFactory
BeamPipeDetectorFactory(const BeamPipeDetectorFactory &right)
BeamPipeDetectorFactory::m_materialManager
StoredMaterialManager * m_materialManager
Definition
BeamPipeDetectorFactory.h:74
BeamPipeDetectorFactory::getDetectorManager
virtual const BeamPipeDetectorManager * getDetectorManager() const override
Definition
BeamPipeDetectorFactory.cxx:305
BeamPipeDetectorFactory::m_detectorStore
StoreGateSvc * m_detectorStore
Definition
BeamPipeDetectorFactory.h:76
BeamPipeDetectorFactory::BeamPipeDetectorFactory
BeamPipeDetectorFactory(StoreGateSvc *pDetStore, IRDBAccessSvc *pAccess)
Definition
BeamPipeDetectorFactory.cxx:34
BeamPipeDetectorFactory::m_centralRegionZMax
double m_centralRegionZMax
Definition
BeamPipeDetectorFactory.h:82
BeamPipeDetectorManager
Definition
BeamPipeDetectorManager.h:14
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition
IRDBAccessSvc.h:45
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
node
Definition
node.h:24
Generated on
for ATLAS Offline Software by
1.17.0