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

#include <GeoPixelDiskSupports.h>

Inheritance diagram for GeoPixelDiskSupports:
Collaboration diagram for GeoPixelDiskSupports:

Public Member Functions

 GeoPixelDiskSupports (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
 
int NCylinders ()
 
void SetCylinder (int n)
 
double ZPos ()
 

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

std::vector< double > m_rmin
 
std::vector< double > m_rmax
 
std::vector< double > m_halflength
 
std::vector< double > m_zpos
 
std::vector< int > m_typeNum
 
int m_nframe
 

Detailed Description

Definition at line 11 of file GeoPixelDiskSupports.h.

Constructor & Destructor Documentation

◆ GeoPixelDiskSupports()

GeoPixelDiskSupports::GeoPixelDiskSupports ( 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 15 of file GeoPixelDiskSupports.cxx.

20  : GeoVPixelFactory (ddmgr, mgr, sqliteReader, std::move(mapFPV), std::move(mapAX))
21 {
22  //
23  // Initialize the vectors
24  //
25  //
26  // zpos is not needed, but it's here just in case...
27  //
28  for (int ii =0; ii< m_gmt_mgr->PixelDiskNumSupports(); ii++) {
29  double rmin = m_gmt_mgr->PixelDiskSupportRMin(ii);
30  double rmax = m_gmt_mgr->PixelDiskSupportRMax(ii);
31  double halflength = m_gmt_mgr->PixelDiskSupportThickness(ii)/2.;
32  double zpos = 0.;
33  int matTypeNum = m_gmt_mgr->PixelDiskSupportMaterialTypeNum(ii);
34  m_rmin.push_back(rmin);
35  m_rmax.push_back(rmax);
36  m_zpos.push_back(zpos);
37  m_halflength.push_back(halflength);
38  m_typeNum.push_back(matTypeNum);
39  }
40  m_nframe = 0;
41 }

Member Function Documentation

◆ Build()

GeoVPhysVol * GeoPixelDiskSupports::Build ( )
overridevirtual

Implements GeoVPixelFactory.

Definition at line 44 of file GeoPixelDiskSupports.cxx.

44  {
45  //
46  // Dimensions: (_nframe set with the SetCylinder method)
47  //
48  double rmin = m_rmin[m_nframe];
49  double rmax = m_rmax[m_nframe];
50  double halflength = m_halflength[m_nframe];
51  int typeNum = m_typeNum[m_nframe];
52 
53  const GeoTube* supportTube = new GeoTube(rmin,rmax,halflength);
54  std::string matName = m_gmt_mgr->getMaterialName("DiskSupport", m_gmt_mgr->GetLD(), typeNum);
55  const GeoMaterial* supportMat = m_mat_mgr->getMaterialForVolume(matName, supportTube->volume());
56  std::string logName = "DiskSup";
57  std::ostringstream o;
58  o << m_nframe;
59  logName = logName+o.str();
60  GeoLogVol* theSupport = new GeoLogVol(logName,supportTube,supportMat);
61  GeoPhysVol* supportPhys = new GeoPhysVol(theSupport);
62  return supportPhys;
63 }

◆ NCylinders()

int GeoPixelDiskSupports::NCylinders ( )
inline

Definition at line 21 of file GeoPixelDiskSupports.h.

21 {return m_rmin.size();}

◆ SetCylinder()

void GeoPixelDiskSupports::SetCylinder ( int  n)
inline

Definition at line 22 of file GeoPixelDiskSupports.h.

22 {m_nframe = n;}

◆ ZPos()

double GeoPixelDiskSupports::ZPos ( )
inline

Definition at line 23 of file GeoPixelDiskSupports.h.

23 {return m_zpos[m_nframe];}

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_halflength

std::vector<double> GeoPixelDiskSupports::m_halflength
private

Definition at line 26 of file GeoPixelDiskSupports.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_nframe

int GeoPixelDiskSupports::m_nframe
private

Definition at line 28 of file GeoPixelDiskSupports.h.

◆ m_rmax

std::vector<double> GeoPixelDiskSupports::m_rmax
private

Definition at line 26 of file GeoPixelDiskSupports.h.

◆ m_rmin

std::vector<double> GeoPixelDiskSupports::m_rmin
private

Definition at line 26 of file GeoPixelDiskSupports.h.

◆ m_sqliteReader

GeoModelIO::ReadGeoModel* GeoVPixelFactory::m_sqliteReader
protectedinherited

Definition at line 46 of file GeoVPixelFactory.h.

◆ m_typeNum

std::vector<int> GeoPixelDiskSupports::m_typeNum
private

Definition at line 27 of file GeoPixelDiskSupports.h.

◆ m_zpos

std::vector<double> GeoPixelDiskSupports::m_zpos
private

Definition at line 26 of file GeoPixelDiskSupports.h.


The documentation for this class was generated from the following files:
GeoPixelDiskSupports::m_zpos
std::vector< double > m_zpos
Definition: GeoPixelDiskSupports.h:26
GeoPixelDiskSupports::m_rmin
std::vector< double > m_rmin
Definition: GeoPixelDiskSupports.h:26
PixelGeometryManager::PixelDiskSupportMaterialTypeNum
virtual int PixelDiskSupportMaterialTypeNum(int isup)=0
GeoPixelDiskSupports::m_nframe
int m_nframe
Definition: GeoPixelDiskSupports.h:28
GeoVPixelFactory::m_gmt_mgr
PixelGeometryManager * m_gmt_mgr
Definition: GeoVPixelFactory.h:43
BchCleanup.mgr
mgr
Definition: BchCleanup.py:294
PixelGeometryManager::PixelDiskSupportThickness
virtual double PixelDiskSupportThickness(int isup)=0
beamspotman.n
n
Definition: beamspotman.py:731
PixelGeometryManager::PixelDiskSupportRMax
virtual double PixelDiskSupportRMax(int isup)=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:11
GeoPixelDiskSupports::m_rmax
std::vector< double > m_rmax
Definition: GeoPixelDiskSupports.h:26
GeoPixelDiskSupports::m_halflength
std::vector< double > m_halflength
Definition: GeoPixelDiskSupports.h:26
RCU::Check::typeNum
const int typeNum
Definition: Assert.h:75
GeoPixelDiskSupports::m_typeNum
std::vector< int > m_typeNum
Definition: GeoPixelDiskSupports.h:27
GeoVPixelFactory::m_mat_mgr
InDetMaterialManager * m_mat_mgr
Definition: GeoVPixelFactory.h:44
PixelGeometryManager::PixelDiskNumSupports
virtual int PixelDiskNumSupports()=0
PixelGeometryManager::PixelDiskSupportRMin
virtual double PixelDiskSupportRMin(int isup)=0
PixelGeometryManager::getMaterialName
virtual std::string getMaterialName(const std::string &volumeName, int layerdisk=0, int typenum=0)=0
PixelGeometryManager::GetLD
virtual int GetLD()=0