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

#include <GeoPixelIBLFwdServices.h>

Inheritance diagram for GeoPixelIBLFwdServices:
Collaboration diagram for GeoPixelIBLFwdServices:

Public Member Functions

 GeoPixelIBLFwdServices (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, int)
virtual GeoVPhysVol * Build () override
bool isComplexShapeDefined ()
GeoPhysVol * getSupportA ()
GeoPhysVol * getSupportC ()
GeoTransform * getSupportTrfA ()
GeoTransform * getSupportTrfC ()

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_bFwdComplexGeometry_CAD
bool m_bFwdComplexGeometry_Mod1
int m_section
GeoPhysVol * m_supportPhysA
GeoPhysVol * m_supportPhysC
GeoTransform * m_xformSupportA
GeoTransform * m_xformSupportC

Detailed Description

Definition at line 17 of file GeoPixelIBLFwdServices.h.

Constructor & Destructor Documentation

◆ GeoPixelIBLFwdServices()

GeoPixelIBLFwdServices::GeoPixelIBLFwdServices ( 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,
int section )

Definition at line 24 of file GeoPixelIBLFwdServices.cxx.

30 : GeoVPixelFactory(ddmgr, mgr, sqliteReader, std::move(mapFPV), std::move(mapAX)),
34 m_supportPhysA(nullptr),
35 m_supportPhysC(nullptr),
36 m_xformSupportA(nullptr),
37 m_xformSupportC(nullptr)
38{
39}
void section(const std::string &sec)
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 * GeoPixelIBLFwdServices::Build ( )
overridevirtual

Implements GeoVPixelFactory.

Definition at line 69 of file GeoPixelIBLFwdServices.cxx.

70{
71
72 m_gmt_mgr->msg(MSG::INFO) <<"GeoPixelIBLFwdService - CAD tool design / S. model1 : "<< m_bFwdComplexGeometry_CAD<<"/"<<m_bFwdComplexGeometry_Mod1<<endmsg;
73
75
76 m_gmt_mgr->msg(MSG::INFO) <<"Build IBL fwd services - CAD tool design"<<endmsg;
77 GeoPixelIBLFwdSvcCADModel fwdSvc = GeoPixelIBLFwdSvcCADModel(m_DDmgr, m_gmt_mgr ,m_sqliteReader, m_mapFPV, m_mapAX, m_section);
78
79 fwdSvc.Build();
80 m_supportPhysA = fwdSvc.getSupportA();
81 m_supportPhysC = fwdSvc.getSupportC();
84
85 if(m_supportPhysA==nullptr) {
86 m_gmt_mgr->msg(MSG::ERROR) <<"Build IBL fwd services - CAD tool design : the PixelGeoModel package is not meant to be used to build this design"<<endmsg;
87 m_gmt_mgr->msg(MSG::ERROR) <<" : check that the GeoTorus object is defined in GeoModelKernel/GeoModel"<<endmsg;
88 }
89 return nullptr;
90 }
91
92
94
95 m_gmt_mgr->msg(MSG::INFO) <<"Build IBL fwd services - S. Menke design"<<endmsg;
96 GeoPixelIBLFwdSvcModel1 fwdSvc = GeoPixelIBLFwdSvcModel1(m_DDmgr, m_gmt_mgr, m_sqliteReader, m_mapFPV, m_mapAX, m_section);
97
98 fwdSvc.Build();
99 m_supportPhysA = fwdSvc.getSupportA();
100 m_supportPhysC = fwdSvc.getSupportC();
103
104 return nullptr;
105 }
106
107 return nullptr;
108
109}
#define endmsg
virtual GeoVPhysVol * Build() override
virtual GeoVPhysVol * Build() override
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
GeoModelIO::ReadGeoModel * m_sqliteReader
PixelGeometryManager * m_gmt_mgr
InDetDD::PixelDetectorManager * m_DDmgr

◆ getSupportA()

GeoPhysVol * GeoPixelIBLFwdServices::getSupportA ( )
inline

Definition at line 30 of file GeoPixelIBLFwdServices.h.

30{ return m_supportPhysA; }

◆ getSupportC()

GeoPhysVol * GeoPixelIBLFwdServices::getSupportC ( )
inline

Definition at line 31 of file GeoPixelIBLFwdServices.h.

31{ return m_supportPhysC; }

◆ getSupportTrfA()

GeoTransform * GeoPixelIBLFwdServices::getSupportTrfA ( )
inline

Definition at line 32 of file GeoPixelIBLFwdServices.h.

32{ return m_xformSupportA; }

◆ getSupportTrfC()

GeoTransform * GeoPixelIBLFwdServices::getSupportTrfC ( )
inline

Definition at line 33 of file GeoPixelIBLFwdServices.h.

33{ return m_xformSupportC; }

◆ isComplexShapeDefined()

bool GeoPixelIBLFwdServices::isComplexShapeDefined ( )

Definition at line 42 of file GeoPixelIBLFwdServices.cxx.

43{
44 // check if the wavy shape option is defined in the DB (based on the definition of the material)
45
46 bool bFwd02Defined=false;
47 int nbBarrelSvc = m_gmt_mgr->PixelServiceElements("barrel");
48 for(int i=0; i<nbBarrelSvc; i++){
49 std::string volName = m_gmt_mgr->PixelServiceName("barrel",i);
50 if(volName.substr(0,9)=="IBL_Fwd02")bFwd02Defined=true;
51 }
52 int nbSimpleSvc = m_gmt_mgr->PixelServiceElements("simple");
53 for(int i=0; i<nbSimpleSvc; i++){
54 std::string volName = m_gmt_mgr->PixelServiceName("simple",i);
55 if(volName.substr(0,9)=="IBL_Fwd02")bFwd02Defined=true;
56 }
57
58 if(m_mat_mgr->hasMaterial("pix::IBL_Fwd02_Cable_Wvy") &&!bFwd02Defined) m_bFwdComplexGeometry_CAD = true;
59 if(m_mat_mgr->hasMaterial("pix::IBL_Fwd02_Cable_Wvy_M1") && !bFwd02Defined) m_bFwdComplexGeometry_Mod1 = true;
60
61 m_gmt_mgr->msg(MSG::INFO) <<"Build IBL fwd services - CAD tool design / S. model1 : "<< m_bFwdComplexGeometry_CAD<<"/"<<m_bFwdComplexGeometry_Mod1<<endmsg;
62
63
65
66}
InDetMaterialManager * m_mat_mgr

Member Data Documentation

◆ m_bFwdComplexGeometry_CAD

bool GeoPixelIBLFwdServices::m_bFwdComplexGeometry_CAD
private

Definition at line 37 of file GeoPixelIBLFwdServices.h.

◆ m_bFwdComplexGeometry_Mod1

bool GeoPixelIBLFwdServices::m_bFwdComplexGeometry_Mod1
private

Definition at line 38 of file GeoPixelIBLFwdServices.h.

◆ 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_section

int GeoPixelIBLFwdServices::m_section
private

Definition at line 40 of file GeoPixelIBLFwdServices.h.

◆ m_sqliteReader

GeoModelIO::ReadGeoModel* GeoVPixelFactory::m_sqliteReader
protectedinherited

Definition at line 46 of file GeoVPixelFactory.h.

◆ m_supportPhysA

GeoPhysVol* GeoPixelIBLFwdServices::m_supportPhysA
private

Definition at line 41 of file GeoPixelIBLFwdServices.h.

◆ m_supportPhysC

GeoPhysVol* GeoPixelIBLFwdServices::m_supportPhysC
private

Definition at line 42 of file GeoPixelIBLFwdServices.h.

◆ m_xformSupportA

GeoTransform* GeoPixelIBLFwdServices::m_xformSupportA
private

Definition at line 43 of file GeoPixelIBLFwdServices.h.

◆ m_xformSupportC

GeoTransform* GeoPixelIBLFwdServices::m_xformSupportC
private

Definition at line 44 of file GeoPixelIBLFwdServices.h.


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