|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #include "GeoModelKernel/GeoBox.h"
14 #include "GeoModelKernel/GeoTrap.h"
15 #include "GeoModelKernel/GeoLogVol.h"
16 #include "GeoModelKernel/GeoNameTag.h"
17 #include "GeoModelKernel/GeoPhysVol.h"
18 #include "GeoModelKernel/GeoFullPhysVol.h"
19 #include "GeoModelKernel/GeoMaterial.h"
20 #include "GeoModelKernel/GeoTransform.h"
21 #include "GaudiKernel/SystemOfUnits.h"
27 GeoModelIO::ReadGeoModel* sqliteReader,
28 std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
29 std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX)
42 std::string logName =
"BoxFrBarOutLog";
43 std::string volumeName =
"Frame";
46 logName =
"BoxFrBarInLog";
50 logName =
"BoxFrEndcapLog";
60 const GeoBox* frameBox =
new GeoBox(thickness,
width,
length);
63 GeoLogVol* theFrame =
new GeoLogVol(logName,frameBox,frameMat);
64 GeoPhysVol* framePhys =
new GeoPhysVol(theFrame);
76 std::string logName =
"TrapFrBarOutLog";
77 std::string volumeName =
"Frame";
80 logName =
"TrapFrBarInLog";
84 logName =
"TrapFrEndcapLog";
88 logName =
"TrapFrEndCone";
89 volumeName =
"EndCone";
105 const GeoTrap* frameTrap =
new GeoTrap(
length,tet,
phi,widthy,widthxzn,widthxzp,al1,widthy,widthxzn,widthxzp,al2);
108 GeoLogVol* theFrame =
new GeoLogVol(logName,frameTrap,frameMat);
109 GeoPhysVol* framePhys =
new GeoPhysVol(theFrame);
129 GeoNameTag*
tag =
new GeoNameTag(
"Inside Box Frame");
130 double thet = ((
float)ii+0.5)*alpha;
132 GeoTrf::RotateZ3D rm(((
float)ii+2.5)*alpha);
140 GeoNameTag*
tag =
new GeoNameTag(
"Inside Trap Frame");
141 double thet = ((
float)ii+1.)*alpha;
143 GeoTrf::RotateZ3D rm(((
float)ii+3.0)*alpha);
159 GeoNameTag*
tag =
new GeoNameTag(
"Outside Box Frame");
160 double thet = ((
float)ii+0.5)*alpha;
162 GeoTrf::RotateZ3D rm(((
float)ii+2.5)*alpha);
175 GeoNameTag*
tag =
new GeoNameTag(
"Outside Trap Frame");
176 double thet = ((
float)ii+1.)*alpha;
178 GeoTrf::RotateZ3D rm(((
float)ii+3.0)*alpha);
190 GeoNameTag*
tag2 =
new GeoNameTag(
"Outside End Cone Trap Frame");
191 thet = ((
float)ii+0.5)*alpha;
193 GeoTrf::Transform3D rm2 = GeoTrf::RotateZ3D(((
float)ii+2.5)*alpha)*GeoTrf::RotateX3D(alxec);
199 GeoTrf::Transform3D rm3 = GeoTrf::RotateZ3D(((
float)ii+2.5)*alpha)*GeoTrf::RotateX3D(-alxec);
223 GeoNameTag*
tag =
new GeoNameTag(
"Outside Outer Endcap Box Frame");
224 double thet = ((
float)ii+0.5)*alpha;
226 GeoTrf::RotateZ3D rm(((
float)ii+2.5)*alpha);
228 if (endcapAPresent) {
234 if (endcapCPresent) {
244 GeoNameTag*
tag =
new GeoNameTag(
"Outside Outer Endcap Trap Frame");
245 double thet = ((
float)ii+1.)*alpha;
247 GeoTrf::RotateZ3D rm(((
float)ii+3.0)*alpha);
248 if (endcapAPresent) {
254 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()