ATLAS Offline Software
Loading...
Searching...
No Matches
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 19 of file GeoPixelFluid.cxx.

25 : GeoVPixelFactory (ddmgr, mgr, sqliteReader, std::move(mapFPV), std::move(mapAX))
26{
27 m_index = m_gmt_mgr->PixelFluidIndex(type);
28 double z1 = m_gmt_mgr->PixelFluidZ1(m_index);
29 double z2 = m_gmt_mgr->PixelFluidZ2(m_index);
30 m_posX = m_gmt_mgr->PixelFluidX(m_index);
31 m_posY = m_gmt_mgr->PixelFluidY(m_index);
32 m_posZ = 0.5*(z1+z2);
33}
PixelGeometryManager * m_gmt_mgr
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 * GeoPixelFluid::Build ( )
overridevirtual

Implements GeoVPixelFactory.

Definition at line 35 of file GeoPixelFluid.cxx.

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

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