![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
11 #include "GeoModelKernel/GeoBox.h"
12 #include "GeoModelKernel/GeoTrap.h"
13 #include "GeoModelKernel/GeoLogVol.h"
14 #include "GeoModelKernel/GeoNameTag.h"
15 #include "GeoModelKernel/GeoPhysVol.h"
16 #include "GeoModelKernel/GeoFullPhysVol.h"
17 #include "GeoModelKernel/GeoMaterial.h"
18 #include "GeoModelKernel/GeoTransform.h"
19 #include "GaudiKernel/SystemOfUnits.h"
25 GeoModelIO::ReadGeoModel* sqliteReader,
26 std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
27 std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX)
40 std::string logName =
"BoxFrBarOutLog";
41 std::string volumeName =
"Frame";
44 logName =
"BoxFrBarInLog";
48 logName =
"BoxFrEndcapLog";
58 const GeoBox* frameBox =
new GeoBox(thickness,
width,
length);
61 GeoLogVol* theFrame =
new GeoLogVol(logName,frameBox,frameMat);
62 GeoPhysVol* framePhys =
new GeoPhysVol(theFrame);
74 std::string logName =
"TrapFrBarOutLog";
75 std::string volumeName =
"Frame";
78 logName =
"TrapFrBarInLog";
82 logName =
"TrapFrEndcapLog";
86 logName =
"TrapFrEndCone";
87 volumeName =
"EndCone";
103 const GeoTrap* frameTrap =
new GeoTrap(
length,tet,
phi,widthy,widthxzn,widthxzp,al1,widthy,widthxzn,widthxzp,al2);
106 GeoLogVol* theFrame =
new GeoLogVol(logName,frameTrap,frameMat);
107 GeoPhysVol* framePhys =
new GeoPhysVol(theFrame);
127 GeoNameTag*
tag =
new GeoNameTag(
"Inside Box Frame");
128 double thet = ((
float)ii+0.5)*alpha;
130 GeoTrf::RotateZ3D rm(((
float)ii+2.5)*alpha);
138 GeoNameTag*
tag =
new GeoNameTag(
"Inside Trap Frame");
139 double thet = ((
float)ii+1.)*alpha;
141 GeoTrf::RotateZ3D rm(((
float)ii+3.0)*alpha);
157 GeoNameTag*
tag =
new GeoNameTag(
"Outside Box Frame");
158 double thet = ((
float)ii+0.5)*alpha;
160 GeoTrf::RotateZ3D rm(((
float)ii+2.5)*alpha);
173 GeoNameTag*
tag =
new GeoNameTag(
"Outside Trap Frame");
174 double thet = ((
float)ii+1.)*alpha;
176 GeoTrf::RotateZ3D rm(((
float)ii+3.0)*alpha);
188 GeoNameTag*
tag2 =
new GeoNameTag(
"Outside End Cone Trap Frame");
189 thet = ((
float)ii+0.5)*alpha;
191 GeoTrf::Transform3D rm2 = GeoTrf::RotateZ3D(((
float)ii+2.5)*alpha)*GeoTrf::RotateX3D(alxec);
197 GeoTrf::Transform3D rm3 = GeoTrf::RotateZ3D(((
float)ii+2.5)*alpha)*GeoTrf::RotateX3D(-alxec);
221 GeoNameTag*
tag =
new GeoNameTag(
"Outside Outer Endcap Box Frame");
222 double thet = ((
float)ii+0.5)*alpha;
224 GeoTrf::RotateZ3D rm(((
float)ii+2.5)*alpha);
226 if (endcapAPresent) {
232 if (endcapCPresent) {
242 GeoNameTag*
tag =
new GeoNameTag(
"Outside Outer Endcap Trap Frame");
243 double thet = ((
float)ii+1.)*alpha;
245 GeoTrf::RotateZ3D rm(((
float)ii+3.0)*alpha);
246 if (endcapAPresent) {
252 if (endcapCPresent) {
double PixelBarrelFrameLength()
Scalar phi() const
phi method
double PixelBarrelFrameECZPos()
GeoVPhysVol * BuildTrap()
PixelGeometryManager * m_gmt_mgr
void BuildOutBarrel(GeoFullPhysVol *parent)
double PixelBarrelFrameOffset()
double PixelEndcapTFrameWidth()
Eigen::Affine3d Transform3D
const GeoMaterial * getMaterialForVolume(const std::string &materialName, double volume, const std::string &newName="")
Create and get material with a density calculated to give weight in predefined weight table.
GeoPixelOldFrame(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)
double PixelEndcapFrameOffset()
void BuildInBarrel(GeoFullPhysVol *parent)
double PixelBFrameHalfLength()
InDetMaterialManager * m_mat_mgr
double PixelBarrelFrameECRadius()
double PixelBarrelBFrameWidth()
virtual GeoVPhysVol * Build() override
void setBarrelOutSFrame()
double PixelTFrameHalfWidthXzn()
Eigen::Translation< double, 3 > Translation3D
double PixelBarrelFrameECAlphaX()
virtual PixelLegacyManager * legacyManager()
This is the base class for all the pieces of the Pixel detector.
double PixelTFrameHalfWidthY()
double PixelEndcapFrameLength()
double PixelEndcapBFrameWidth()
virtual std::string getMaterialName(const std::string &volumeName, int layerdisk=0, int typenum=0)=0
PixelLegacyManager * m_legacyManager
double PixelBFrameHalfThickness()
double PixelTFrameHalfWidthXzp()
virtual bool partPresent(const std::string &partName) const =0
double PixelTFrameHalfLength()
double PixelBFrameHalfWidth()
double PixelBarrelTFrameWidth()