ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
PixelGeoModel
src
GeoPixelDiskSupports.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
GeoPixelDiskSupports.h
"
6
#include "GeoModelKernel/GeoTube.h"
7
#include "GeoModelKernel/GeoLogVol.h"
8
#include "GeoModelKernel/GeoPhysVol.h"
9
#include "GeoModelKernel/GeoMaterial.h"
10
#include "GeoModelKernel/GeoTransform.h"
11
12
#include <sstream>
13
#include <utility>
14
15
GeoPixelDiskSupports::GeoPixelDiskSupports
(
InDetDD::PixelDetectorManager
* ddmgr,
16
PixelGeometryManager
* mgr,
17
GeoModelIO::ReadGeoModel* sqliteReader,
18
std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
19
std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX)
20
:
GeoVPixelFactory
(ddmgr, mgr, sqliteReader,
std
::move(mapFPV),
std
::move(mapAX))
21
{
22
//
23
// Initialize the vectors
24
//
25
//
26
// zpos is not needed, but it's here just in case...
27
//
28
for
(
int
ii =0; ii<
m_gmt_mgr
->PixelDiskNumSupports(); ii++) {
29
double
rmin =
m_gmt_mgr
->PixelDiskSupportRMin(ii);
30
double
rmax =
m_gmt_mgr
->PixelDiskSupportRMax(ii);
31
double
halflength =
m_gmt_mgr
->PixelDiskSupportThickness(ii)/2.;
32
double
zpos = 0.;
33
int
matTypeNum =
m_gmt_mgr
->PixelDiskSupportMaterialTypeNum(ii);
34
m_rmin
.push_back(rmin);
35
m_rmax
.push_back(rmax);
36
m_zpos
.push_back(zpos);
37
m_halflength
.push_back(halflength);
38
m_typeNum
.push_back(matTypeNum);
39
}
40
m_nframe
= 0;
41
}
42
43
44
GeoVPhysVol*
GeoPixelDiskSupports::Build
( ) {
45
//
46
// Dimensions: (_nframe set with the SetCylinder method)
47
//
48
double
rmin =
m_rmin
[
m_nframe
];
49
double
rmax =
m_rmax
[
m_nframe
];
50
double
halflength =
m_halflength
[
m_nframe
];
51
int
typeNum =
m_typeNum
[
m_nframe
];
52
53
const
GeoTube* supportTube =
new
GeoTube(rmin,rmax,halflength);
54
std::string matName =
m_gmt_mgr
->getMaterialName(
"DiskSupport"
,
m_gmt_mgr
->GetLD(), typeNum);
55
const
GeoMaterial* supportMat =
m_mat_mgr
->getMaterialForVolume(matName, supportTube->volume());
56
std::string logName =
"DiskSup"
;
57
std::ostringstream o;
58
o <<
m_nframe
;
59
logName = logName+o.str();
60
GeoLogVol* theSupport =
new
GeoLogVol(logName,supportTube,supportMat);
61
GeoPhysVol* supportPhys =
new
GeoPhysVol(theSupport);
62
return
supportPhys;
63
}
64
GeoPixelDiskSupports.h
GeoPixelDiskSupports::m_rmax
std::vector< double > m_rmax
Definition
GeoPixelDiskSupports.h:26
GeoPixelDiskSupports::m_typeNum
std::vector< int > m_typeNum
Definition
GeoPixelDiskSupports.h:27
GeoPixelDiskSupports::m_halflength
std::vector< double > m_halflength
Definition
GeoPixelDiskSupports.h:26
GeoPixelDiskSupports::m_zpos
std::vector< double > m_zpos
Definition
GeoPixelDiskSupports.h:26
GeoPixelDiskSupports::Build
virtual GeoVPhysVol * Build() override
Definition
GeoPixelDiskSupports.cxx:44
GeoPixelDiskSupports::GeoPixelDiskSupports
GeoPixelDiskSupports(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > mapAX)
Definition
GeoPixelDiskSupports.cxx:15
GeoPixelDiskSupports::m_nframe
int m_nframe
Definition
GeoPixelDiskSupports.h:28
GeoPixelDiskSupports::m_rmin
std::vector< double > m_rmin
Definition
GeoPixelDiskSupports.h:26
GeoVPixelFactory::m_gmt_mgr
PixelGeometryManager * m_gmt_mgr
Definition
GeoVPixelFactory.h:43
GeoVPixelFactory::m_mat_mgr
InDetMaterialManager * m_mat_mgr
Definition
GeoVPixelFactory.h:44
GeoVPixelFactory::GeoVPixelFactory
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > mapAX)
Definition
GeoVPixelFactory.cxx:11
InDetDD::PixelDetectorManager
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Definition
PixelDetectorManager.h:47
PixelGeometryManager
Definition
PixelGeometryManager.h:28
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0