ATLAS Offline Software
GeoPixelECCable.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "GeoPixelECCable.h"
6 #include "GeoModelKernel/GeoTube.h"
7 #include "GeoModelKernel/GeoLogVol.h"
8 #include "GeoModelKernel/GeoPhysVol.h"
9 #include "GeoModelKernel/GeoMaterial.h"
10 
13  GeoModelIO::ReadGeoModel* sqliteReader,
14  std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
15  std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX)
16  : GeoVPixelFactory (ddmgr, mgr, sqliteReader, mapFPV, mapAX )
17 {}
18 
19 
20 GeoVPhysVol* GeoPixelECCable::Build( ) {
21  //
22  // Dimensions
23  //
24  double rmin = m_gmt_mgr->PixelECCablesRMin();
25  double rmax = m_gmt_mgr->PixelECCablesRMax();
26  double thickness = m_gmt_mgr->PixelECCablesThickness();
27  const GeoTube* cableTube = new GeoTube(rmin,rmax,thickness/2.);
28  std::string matName = m_gmt_mgr->getMaterialName("DiskCable", m_gmt_mgr->GetLD());
29  const GeoMaterial* cableMat = m_mat_mgr->getMaterialForVolume(matName, cableTube->volume());
30  std::ostringstream ostr; ostr << m_gmt_mgr->GetLD();
31  const GeoLogVol* theECCable = new GeoLogVol("ECCable"+ostr.str(),cableTube,cableMat);
32 
33  GeoPhysVol* cablePhys = new GeoPhysVol(theECCable);
34  return cablePhys;
35 }
36 
PixelGeometryManager
Definition: PixelGeometryManager.h:28
GeoPixelECCable::Build
virtual GeoVPhysVol * Build() override
Definition: GeoPixelECCable.cxx:20
GeoVPixelFactory::m_gmt_mgr
PixelGeometryManager * m_gmt_mgr
Definition: GeoVPixelFactory.h:43
BchCleanup.mgr
mgr
Definition: BchCleanup.py:294
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
GeoPixelECCable.h
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
GeoVPixelFactory::m_mat_mgr
InDetMaterialManager * m_mat_mgr
Definition: GeoVPixelFactory.h:44
PixelGeometryManager::PixelECCablesThickness
virtual double PixelECCablesThickness()=0
GeoPixelECCable::GeoPixelECCable
GeoPixelECCable(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: GeoPixelECCable.cxx:11
PixelGeometryManager::PixelECCablesRMax
virtual double PixelECCablesRMax()=0
GeoVPixelFactory
This is the base class for all the pieces of the Pixel detector.
Definition: GeoVPixelFactory.h:31
PixelGeometryManager::getMaterialName
virtual std::string getMaterialName(const std::string &volumeName, int layerdisk=0, int typenum=0)=0
PixelGeometryManager::PixelECCablesRMin
virtual double PixelECCablesRMin()=0
PixelGeometryManager::GetLD
virtual int GetLD()=0