ATLAS Offline Software
Public Member Functions | Protected Attributes | Private Attributes | List of all members
GeoPixelHybrid Class Reference

#include <GeoPixelHybrid.h>

Inheritance diagram for GeoPixelHybrid:
Collaboration diagram for GeoPixelHybrid:

Public Member Functions

 GeoPixelHybrid (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, bool isModule3D)
 
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
 

Private Attributes

bool m_isModule3D
 

Detailed Description

Definition at line 11 of file GeoPixelHybrid.h.

Constructor & Destructor Documentation

◆ GeoPixelHybrid()

GeoPixelHybrid::GeoPixelHybrid ( 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,
bool  isModule3D 
)
inline

Definition at line 13 of file GeoPixelHybrid.h.

19  : GeoVPixelFactory (ddmgr, mgr, sqliteReader, mapFPV, mapAX),
20  m_isModule3D(isModule3D) {};

Member Function Documentation

◆ Build()

GeoVPhysVol * GeoPixelHybrid::Build ( )
overridevirtual

Implements GeoVPixelFactory.

Definition at line 20 of file GeoPixelHybrid.cxx.

20  {
21  //
22  // Dimensions
23  //
25  double thickness = m_gmt_mgr->PixelHybridThickness(m_isModule3D);
27 
28  const GeoBox* hybridBox = new GeoBox(thickness/2.,width/2.,length/2.);
29  std::string matName = m_gmt_mgr->getMaterialName("Hybrid",0,m_gmt_mgr->moduleType());
30  if(m_isModule3D)matName = m_gmt_mgr->getMaterialName("Hybrid3D",0,m_gmt_mgr->moduleType());
31 
32  const GeoMaterial* hybridMat = m_mat_mgr->getMaterialForVolume(matName,hybridBox->volume());
33  std::string logName = "HybridEC";
34  if(m_gmt_mgr->isBarrel() ) logName = "HybridBrl";
35  GeoLogVol* theHybrid = new GeoLogVol(logName,hybridBox,hybridMat);
36  GeoPhysVol* hybridPhys = new GeoPhysVol(theHybrid);
37 
38  return hybridPhys;
39 }

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_isModule3D

bool GeoPixelHybrid::m_isModule3D
private

Definition at line 24 of file GeoPixelHybrid.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:
PixelGeometryManager::PixelHybridWidth
virtual double PixelHybridWidth(bool isModule3D=false)=0
PixelGeometryManager::PixelHybridThickness
virtual double PixelHybridThickness(bool isModule3D=false)=0
GeoVPixelFactory::m_gmt_mgr
PixelGeometryManager * m_gmt_mgr
Definition: GeoVPixelFactory.h:43
BchCleanup.mgr
mgr
Definition: BchCleanup.py:294
PixelGeometryManager::isBarrel
virtual bool isBarrel()=0
InDetMaterialManager::getMaterialForVolume
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.
Definition: InDetMaterialManager.cxx:460
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:9
GeoVPixelFactory::m_mat_mgr
InDetMaterialManager * m_mat_mgr
Definition: GeoVPixelFactory.h:44
GeoPixelHybrid::m_isModule3D
bool m_isModule3D
Definition: GeoPixelHybrid.h:24
PixelGeometryManager::moduleType
virtual int moduleType()=0
PixelGeometryManager::PixelHybridLength
virtual double PixelHybridLength(bool isModule3D=false)=0
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
PixelGeometryManager::getMaterialName
virtual std::string getMaterialName(const std::string &volumeName, int layerdisk=0, int typenum=0)=0
length
double length(const pvec &v)
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:26