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

#include <GeoPixelFluid.h>

Inheritance diagram for GeoPixelFluid:
Collaboration diagram for GeoPixelFluid:

Public Member Functions

 GeoPixelFluid (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 type)
 
virtual GeoVPhysVol * Build () override
 
double posX ()
 
double posY ()
 
double posZ ()
 

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

int m_index
 
double m_posX
 
double m_posY
 
double m_posZ
 

Detailed Description

Definition at line 13 of file GeoPixelFluid.h.

Constructor & Destructor Documentation

◆ GeoPixelFluid()

GeoPixelFluid::GeoPixelFluid ( 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  type 
)

Definition at line 18 of file GeoPixelFluid.cxx.

24  : GeoVPixelFactory (ddmgr, mgr, sqliteReader, mapFPV, mapAX)
25 {
27  double z1 = m_gmt_mgr->PixelFluidZ1(m_index);
28  double z2 = m_gmt_mgr->PixelFluidZ2(m_index);
31  m_posZ = 0.5*(z1+z2);
32 }

Member Function Documentation

◆ Build()

GeoVPhysVol * GeoPixelFluid::Build ( )
overridevirtual

Implements GeoVPixelFactory.

Definition at line 34 of file GeoPixelFluid.cxx.

35 {
36  //
37  // Dimensions
38  //
39  double z1 = m_gmt_mgr->PixelFluidZ1(m_index);
40  double z2 = m_gmt_mgr->PixelFluidZ2(m_index);
41  double thick1 = m_gmt_mgr->PixelFluidThick1(m_index);
42  double thick2 = m_gmt_mgr->PixelFluidThick2(m_index);
44 
45  double length = std::abs(z2 - z1);
46  double thickAtZmin = thick1;
47  // double thickAtZmax = thick2;
48  if (z1 > z2) {
49  thickAtZmin = thick2;
50  // thickAtZmax = thick1;
51  }
52 
53  std::ostringstream o;
54  o << "Fluid" << m_gmt_mgr->PixelFluidType(m_index);
55  std::string logName = o.str();
56 
57  const GeoMaterial* fluidMat = m_mat_mgr->getMaterial(m_gmt_mgr->PixelFluidMat(m_index));
58  const GeoTrd* fluidShape = new GeoTrd(0.5*thickAtZmin, 0.5*thickAtZmin, 0.5*width, 0.5*width, 0.5*length);
59  GeoLogVol * fluidLV = new GeoLogVol(logName, fluidShape, fluidMat);
60  GeoPhysVol * fluidPhys = new GeoPhysVol(fluidLV);
61 
62  return fluidPhys;
63 }

◆ posX()

double GeoPixelFluid::posX ( )
inline

Definition at line 22 of file GeoPixelFluid.h.

22 {return m_posX;}

◆ posY()

double GeoPixelFluid::posY ( )
inline

Definition at line 23 of file GeoPixelFluid.h.

23 {return m_posY;}

◆ posZ()

double GeoPixelFluid::posZ ( )
inline

Definition at line 24 of file GeoPixelFluid.h.

24 {return m_posZ;}

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_index

int GeoPixelFluid::m_index
private

Definition at line 27 of file GeoPixelFluid.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_posX

double GeoPixelFluid::m_posX
private

Definition at line 28 of file GeoPixelFluid.h.

◆ m_posY

double GeoPixelFluid::m_posY
private

Definition at line 29 of file GeoPixelFluid.h.

◆ m_posZ

double GeoPixelFluid::m_posZ
private

Definition at line 30 of file GeoPixelFluid.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:
GeoPixelFluid::m_posX
double m_posX
Definition: GeoPixelFluid.h:28
PixelGeometryManager::PixelFluidWidth
virtual double PixelFluidWidth(int index)=0
PixelGeometryManager::PixelFluidType
virtual int PixelFluidType(int index)=0
GeoVPixelFactory::m_gmt_mgr
PixelGeometryManager * m_gmt_mgr
Definition: GeoVPixelFactory.h:43
PixelGeometryManager::PixelFluidZ1
virtual double PixelFluidZ1(int index)=0
PixelGeometryManager::PixelFluidThick2
virtual double PixelFluidThick2(int index)=0
BchCleanup.mgr
mgr
Definition: BchCleanup.py:294
PixelGeometryManager::PixelFluidThick1
virtual double PixelFluidThick1(int index)=0
GeoPixelFluid::m_posZ
double m_posZ
Definition: GeoPixelFluid.h:30
PixelGeometryManager::PixelFluidY
virtual double PixelFluidY(int index)=0
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
GeoPixelFluid::m_index
int m_index
Definition: GeoPixelFluid.h:27
GeoVPixelFactory::m_mat_mgr
InDetMaterialManager * m_mat_mgr
Definition: GeoVPixelFactory.h:44
PixelGeometryManager::PixelFluidIndex
virtual int PixelFluidIndex(int type)=0
PixelGeometryManager::PixelFluidX
virtual double PixelFluidX(int index)=0
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
PixelGeometryManager::PixelFluidMat
virtual std::string PixelFluidMat(int index)=0
InDetMaterialManager::getMaterial
const GeoMaterial * getMaterial(const std::string &materialName)
Get material. First looks for locally defined material and if not found looks in GeoModel material ma...
Definition: InDetMaterialManager.cxx:96
length
double length(const pvec &v)
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
GeoPixelFluid::m_posY
double m_posY
Definition: GeoPixelFluid.h:29
PixelGeometryManager::PixelFluidZ2
virtual double PixelFluidZ2(int index)=0