ATLAS Offline Software
Loading...
Searching...
No Matches
GeoPixelPigtail Class Reference

#include <GeoPixelPigtail.h>

Inheritance diagram for GeoPixelPigtail:
Collaboration diagram for GeoPixelPigtail:

Public Member Functions

 GeoPixelPigtail (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 GeoVPhysVol * Build () override

Protected Attributes

PixelGeometryManagerm_gmt_mgr
InDetMaterialManagerm_mat_mgr
InDetDD::PixelDetectorManagerm_DDmgr
GeoModelIO::ReadGeoModel * m_sqliteReader
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
const double m_epsilon

Detailed Description

Definition at line 11 of file GeoPixelPigtail.h.

Constructor & Destructor Documentation

◆ GeoPixelPigtail()

GeoPixelPigtail::GeoPixelPigtail ( 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 GeoPixelPigtail.cxx.

19 : GeoVPixelFactory (ddmgr, mgr, sqliteReader, std::move(mapFPV), std::move(mapAX))
20{
21}
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)

Member Function Documentation

◆ Build()

GeoVPhysVol * GeoPixelPigtail::Build ( )
overridevirtual

Implements GeoVPixelFactory.

Definition at line 23 of file GeoPixelPigtail.cxx.

23 {
24 //this block was originally in the c'tor
25 const GeoMaterial* air = m_mat_mgr->getMaterial("std::Air");
26 double length = m_gmt_mgr->PixelPigtailEnvelopeLength()+m_epsilon;
27 double rmin = m_gmt_mgr->PixelPigtailBendRMin();
28 double rmax = m_gmt_mgr->PixelPigtailBendRMax();
29 double phi = m_gmt_mgr->PixelPigtailBendPhiMin();
30 double dphi = m_gmt_mgr->PixelPigtailBendPhiMax() - phi;
31 double width = m_gmt_mgr->PixelPigtailWidthZ();
32 double posZ = m_gmt_mgr->PixelPigtailPosZ();
33
34 double rminEps = rmin-m_epsilon;
35 double rmaxEps = rmax+m_epsilon;
36 const GeoTubs* tubs = new GeoTubs(rminEps,rmaxEps,0.5*length,phi,dphi);
37 GeoLogVol * thePigtail = new GeoLogVol("PigtailCylEnv",tubs,air);
38 //
39 GeoPhysVol* pigtailPhys = new GeoPhysVol(thePigtail);
40 for (int iModule = 0; iModule<m_gmt_mgr->PixelNModule(); iModule++) {
41 int moduleEta = m_gmt_mgr->PixelModuleEtaFromIndex(iModule);
42 double zShift = m_gmt_mgr->PixelModuleZPosition(moduleEta);
43 std::string logName = "PigtailCyl";
44 const GeoTubs* tubs = new GeoTubs(rmin,rmax,0.5*width,phi,dphi);
45 std::string matName = m_gmt_mgr->getMaterialName("PigtailCyl", m_gmt_mgr->GetLD());
46 const GeoMaterial* cyliMat = m_mat_mgr->getMaterialForVolume(matName,tubs->volume());
47 GeoLogVol* theTubs = new GeoLogVol(logName,tubs,cyliMat);
48 GeoPhysVol* pigtailPart = new GeoPhysVol(theTubs);
49
50 double zpos = posZ + zShift;
51 GeoTransform* xform = new GeoTransform(GeoTrf::TranslateZ3D(zpos));
52 pigtailPhys->add(xform);
53 pigtailPhys->add(pigtailPart);
54 }
55 return pigtailPhys;
56}
Scalar phi() const
phi method
double length(const pvec &v)
const double width
const double m_epsilon
PixelGeometryManager * m_gmt_mgr
InDetMaterialManager * m_mat_mgr

Member Data Documentation

◆ m_DDmgr

InDetDD::PixelDetectorManager* GeoVPixelFactory::m_DDmgr
protectedinherited

Definition at line 45 of file GeoVPixelFactory.h.

◆ m_epsilon

const double GeoVPixelFactory::m_epsilon
protectedinherited

Definition at line 49 of file GeoVPixelFactory.h.

◆ m_gmt_mgr

PixelGeometryManager* GeoVPixelFactory::m_gmt_mgr
protectedinherited

Definition at line 43 of file GeoVPixelFactory.h.

◆ m_mapAX

std::shared_ptr<std::map<std::string, GeoAlignableTransform*> > GeoVPixelFactory::m_mapAX
protectedinherited

Definition at line 48 of file GeoVPixelFactory.h.

◆ m_mapFPV

std::shared_ptr<std::map<std::string, GeoFullPhysVol*> > GeoVPixelFactory::m_mapFPV
protectedinherited

Definition at line 47 of file GeoVPixelFactory.h.

◆ m_mat_mgr

InDetMaterialManager* GeoVPixelFactory::m_mat_mgr
protectedinherited

Definition at line 44 of file GeoVPixelFactory.h.

◆ m_sqliteReader

GeoModelIO::ReadGeoModel* GeoVPixelFactory::m_sqliteReader
protectedinherited

Definition at line 46 of file GeoVPixelFactory.h.


The documentation for this class was generated from the following files: