ATLAS Offline Software
DBM_Services.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "DBM_Services.h"
6 
7 #include "GeoModelKernel/GeoPhysVol.h"
8 #include "GeoModelKernel/GeoTransform.h"
9 #include "GeoModelKernel/GeoNameTag.h"
10 #include "GeoModelKernel/GeoTube.h"
11 
12 GeoVPhysVol* DBM_PP0::Build()
13 {
14  double pp0_Rmin = m_gmt_mgr->DBMPP0RIn();
15  double pp0_Rmax = m_gmt_mgr->DBMPP0ROut();
16  double pp0_thick = m_gmt_mgr->DBMPP0Thick();
17 
18  // materials
19 
20  const GeoTube* pp0Ring = new GeoTube(pp0_Rmin, pp0_Rmax, pp0_thick/2.);
21  const GeoMaterial* dbmPP0_mat = m_mat_mgr->getMaterialForVolume("pix::DBMPP0", pp0Ring->volume());
22  const GeoLogVol* pp0Log = new GeoLogVol("dbmPP0Log", pp0Ring, dbmPP0_mat);
23  GeoPhysVol* pp0Phys = new GeoPhysVol(pp0Log);
24 
25  return pp0Phys;
26 }
GeoVPixelFactory::m_gmt_mgr
PixelGeometryManager * m_gmt_mgr
Definition: GeoVPixelFactory.h:43
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
DBM_PP0::Build
virtual GeoVPhysVol * Build() override
Definition: DBM_Services.cxx:12
GeoVPixelFactory::m_mat_mgr
InDetMaterialManager * m_mat_mgr
Definition: GeoVPixelFactory.h:44
PixelGeometryManager::DBMPP0Thick
virtual double DBMPP0Thick()=0
PixelGeometryManager::DBMPP0RIn
virtual double DBMPP0RIn()=0
PixelGeometryManager::DBMPP0ROut
virtual double DBMPP0ROut()=0
DBM_Services.h