|
ATLAS Offline Software
|
#include <GeoPixelTMT.h>
|
| GeoPixelTMT (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) |
|
virtual | ~GeoPixelTMT ()=default |
|
virtual GeoVPhysVol * | Build () override |
|
virtual GeoVPhysVol * | getPhysVol () override |
|
virtual const GeoTrf::Transform3D & | transform () const override |
|
virtual double | thicknessP () const override |
|
virtual double | thicknessN () const override |
|
virtual GeoSimplePolygonBrep * | computeStaveEnvelopShape (double) override |
|
virtual GeoVPhysVol * | getEndblockEnvelopShape (int) override |
|
virtual GeoTransform * | getEndblockEnvelopShapeTrf (int) override |
|
virtual double | getEndblockZpos () const override |
|
virtual double | getServiceZpos () const override |
|
virtual double | getEndblockLength () const override |
|
virtual void | computeStaveEnvelopTransformAndSize (double, double, double, double, double, double) override |
|
virtual int | PixelNModule () const override |
|
virtual int | PixelNPlanarModule () const override |
|
virtual int | PixelN3DModule () const override |
|
| 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 at line 14 of file GeoPixelTMT.h.
◆ GeoPixelTMT()
GeoPixelTMT::GeoPixelTMT |
( |
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 |
|
) |
| |
◆ ~GeoPixelTMT()
virtual GeoPixelTMT::~GeoPixelTMT |
( |
| ) |
|
|
virtualdefault |
◆ addShape()
const GeoShape * GeoPixelTMT::addShape |
( |
const GeoShape * |
lastShape, |
|
|
const GeoShape * |
nextShape, |
|
|
const GeoTrf::Transform3D & |
trans |
|
) |
| |
|
private |
Definition at line 151 of file GeoPixelTMT.cxx.
153 const GeoShape * shiftedShape = &(*nextShape << trans);
155 lastShape = &(lastShape->add(*shiftedShape));
157 lastShape = shiftedShape;
◆ Build()
GeoVPhysVol * GeoPixelTMT::Build |
( |
| ) |
|
|
overridevirtual |
Implements GeoVPixelFactory.
Definition at line 40 of file GeoPixelTMT.cxx.
46 GeoBox* dummybox=
new GeoBox(4711., 4711., 4711.);
47 GeoLogVol* dummyTMT =
new GeoLogVol(
"TMT",dummybox,ether);
48 GeoPhysVol* theTMT =
new GeoPhysVol(dummyTMT);
55 double volume = 12647.7;
57 GeoNameTag*
tag =
new GeoNameTag(
"TMT");
84 double zpos = 0.5*(z1+z2);
85 double xpos = 0.5*(xbase1 + xbase2 - 0.5*(w2+w1));
88 if (w1 != w2 || xbase1 != xbase2) {
96 GeoIntrusivePtr<const GeoShape> shape{};
97 if (w1 == w2 &&
theta == 0) {
99 shape =
new GeoBox(0.5*w1, 0.5*widthy, 0.5*
length);
101 shape =
new GeoTrap(0.5*
length,
theta,
phi, 0.5*widthy, 0.5*w1, 0.5*w1, angleydzn,
102 0.5*widthy, 0.5*w2, 0.5*w2, angleydzp);
113 GeoLogVol* tmpLogVol=
new GeoLogVol(
"TMT",shape,material);
114 GeoPhysVol* tmpPhysVol=
new GeoPhysVol(tmpLogVol);
115 GeoTransform* trans =
new GeoTransform(GeoTrf::Translate3D(xpos,ypos,zpos));
119 theTMT->add(tmpPhysVol);
124 GeoLogVol* tmpLogVol=
new GeoLogVol(
"TMT",shape,material);
125 GeoPhysVol* tmpPhysVol=
new GeoPhysVol(tmpLogVol);
127 for (
int ii = 0; ii < halfNModule; ii++) {
132 GeoTransform* transPos =
new GeoTransform(GeoTrf::Translate3D(xpos,ypos,zpos+zshift));
134 theTMT->add(transPos);
135 theTMT->add(tmpPhysVol);
137 GeoTransform* transNeg =
new GeoTransform(GeoTrf::Translate3D(xpos,ypos,-(zpos+zshift))*GeoTrf::RotateX3D(180*
Gaudi::Units::deg));
139 theTMT->add(transNeg);
140 theTMT->add(tmpPhysVol);
◆ computeStaveEnvelopShape()
virtual GeoSimplePolygonBrep* GeoPixelTMT::computeStaveEnvelopShape |
( |
double |
| ) |
|
|
inlineoverridevirtual |
◆ computeStaveEnvelopTransformAndSize()
virtual void GeoPixelTMT::computeStaveEnvelopTransformAndSize |
( |
double |
, |
|
|
double |
, |
|
|
double |
, |
|
|
double |
, |
|
|
double |
, |
|
|
double |
|
|
) |
| |
|
inlineoverridevirtual |
◆ GeoVPixelFactory()
GeoVPixelFactory::GeoVPixelFactory |
|
inherited |
◆ getEndblockEnvelopShape()
virtual GeoVPhysVol* GeoPixelTMT::getEndblockEnvelopShape |
( |
int |
| ) |
|
|
inlineoverridevirtual |
◆ getEndblockEnvelopShapeTrf()
virtual GeoTransform* GeoPixelTMT::getEndblockEnvelopShapeTrf |
( |
int |
| ) |
|
|
inlineoverridevirtual |
◆ getEndblockLength()
virtual double GeoPixelTMT::getEndblockLength |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ getEndblockZpos()
virtual double GeoPixelTMT::getEndblockZpos |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ getPhysVol()
virtual GeoVPhysVol* GeoPixelTMT::getPhysVol |
( |
| ) |
|
|
inlineoverridevirtual |
◆ getServiceZpos()
virtual double GeoPixelTMT::getServiceZpos |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ PixelN3DModule()
virtual int GeoPixelTMT::PixelN3DModule |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ PixelNModule()
virtual int GeoPixelTMT::PixelNModule |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ PixelNPlanarModule()
virtual int GeoPixelTMT::PixelNPlanarModule |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ thicknessN()
virtual double GeoPixelTMT::thicknessN |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ thicknessP()
virtual double GeoPixelTMT::thicknessP |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ transform()
virtual const GeoTrf::Transform3D& GeoPixelTMT::transform |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ m_DDmgr
◆ m_epsilon
const double GeoVPixelFactory::m_epsilon |
|
protectedinherited |
◆ m_gmt_mgr
◆ m_mapAX
std::shared_ptr<std::map<std::string, GeoAlignableTransform*> > GeoVPixelFactory::m_mapAX |
|
protectedinherited |
◆ m_mapFPV
std::shared_ptr<std::map<std::string, GeoFullPhysVol*> > GeoVPixelFactory::m_mapFPV |
|
protectedinherited |
◆ m_mat_mgr
◆ m_physVol
PVLink GeoPixelTMT::m_physVol {nullptr} |
|
private |
◆ m_sqliteReader
GeoModelIO::ReadGeoModel* GeoVPixelFactory::m_sqliteReader |
|
protectedinherited |
◆ m_transform
GeoTrf::Transform3D GeoPixelTMT::m_transform |
|
private |
The documentation for this class was generated from the following files:
GeoTrf::Transform3D m_transform
Scalar phi() const
phi method
virtual GeoVPhysVol * Build() override
virtual double PixelTMTPosZ1(int iPart)=0
virtual int PixelTMTNumParts()=0
Scalar theta() const
theta method
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
GeoModelIO::ReadGeoModel * m_sqliteReader
InDetDD::PixelDetectorManager * m_DDmgr
PixelGeometryManager * m_gmt_mgr
virtual double PixelTMTWidthX2(int iPart)=0
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
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.
virtual double PixelTMTPosZ2(int iPart)=0
virtual int PixelNModule()=0
virtual double PixelTMTWidthX1(int iPart)=0
virtual double PixelTMTBaseX1(int iPart)=0
virtual double PixelTMTWidthY(int iPart)=0
InDetMaterialManager * m_mat_mgr
virtual double PixelTMTBaseX2(int iPart)=0
virtual std::string getMaterialName(const std::string &volumeName, int layerdisk=0, int typenum=0)=0
const GeoMaterial * getMaterial(const std::string &materialName)
Get material. First looks for locally defined material and if not found looks in GeoModel material ma...
virtual double PixelTMTPosY(int iPart)=0
virtual bool PixelTMTPerModule(int iPart)=0
virtual double PixelModuleZPosition(int)=0
virtual InDetMaterialManager * getMaterialManager()=0