|
ATLAS Offline Software
|
#include <GeoPixelModule.h>
Definition at line 14 of file GeoPixelModule.h.
◆ GeoPixelModule() [1/2]
Definition at line 25 of file GeoPixelModule.cxx.
60 const GeoBox* moduleBox =
new GeoBox(thickness/2.,
width/2.,
length/2.);
61 const GeoShape * moduleShape = moduleBox;
62 m_theModule =
new GeoLogVol(logName,moduleShape,air);
72 const GeoBox* moduleBox =
new GeoBox(thickness/2.,
width/2.,
length/2.);
73 const GeoShape & shiftedBox = (*moduleBox) << GeoTrf::TranslateX3D(shift);
74 const GeoShape * moduleShape = &shiftedBox;
77 m_theModule =
new GeoLogVol(logName,moduleShape,air);
80 const GeoShape * gblShape =
nullptr;
81 gblShape =
addShape(gblShape, moduleShape, GeoTrf::Transform3D::Identity() );
83 double svcWidth =
width*.6;
86 double yShift =
width*.5-svcWidth*.75;
88 gblShape =
addShape(gblShape, moduleSvcBox1, (GeoTrf::TranslateX3D(-xShift)*GeoTrf::TranslateY3D(-yShift)) );
91 yShift =
width*.5-svcWidth*.25;
93 gblShape =
addShape(gblShape, moduleSvcBox2, (GeoTrf::TranslateX3D(-xShift)*GeoTrf::TranslateY3D(-yShift)) );
101 if(
type==svcType&&(
name==
"WingFlex"||offsetX<0)) {
106 const GeoBox* moduleSvcBox3 =
new GeoBox(thick_svc*.5+.01,width_svc*.5+.01,
length*.5+.01);
107 gblShape =
addShape(gblShape, moduleSvcBox3, (GeoTrf::TranslateX3D(xPos)*GeoTrf::TranslateY3D(offsetY)) );
◆ GeoPixelModule() [2/2]
◆ ~GeoPixelModule()
virtual GeoPixelModule::~GeoPixelModule |
( |
| ) |
|
|
virtualdefault |
◆ addShape()
const GeoShape * GeoPixelModule::addShape |
( |
const GeoShape * |
lastShape, |
|
|
const GeoShape * |
nextShape, |
|
|
const GeoTrf::Transform3D & |
trans |
|
) |
| |
|
private |
Definition at line 318 of file GeoPixelModule.cxx.
320 const GeoShape * shiftedShape = &(*nextShape << trans);
322 lastShape = &(lastShape->add(*shiftedShape));
324 lastShape = shiftedShape;
◆ Build()
GeoVPhysVol * GeoPixelModule::Build |
( |
| ) |
|
|
overridevirtual |
Implements GeoVPixelFactory.
Definition at line 119 of file GeoPixelModule.cxx.
127 GeoFullPhysVol* modulePhys =
new GeoFullPhysVol(
m_theModule);
134 GeoNameTag *
tag =
new GeoNameTag(sensorName);
135 modulePhys->add(
tag);
142 modulePhys->add(
new GeoIdentifierTag(idTag) );
146 modulePhys->add(theSi );
153 GeoTransform* xform =
new GeoTransform(GeoTrf::TranslateX3D(hybxpos));
154 modulePhys->add(xform);
155 modulePhys->add(ph.Build() );
164 GeoTransform* xform =
new GeoTransform(GeoTrf::TranslateX3D(chipxpos)*GeoTrf::TranslateY3D(chipypos));
165 modulePhys->add(xform);
166 modulePhys->add(
pc.Build() );
188 const GeoBox* svcBox =
new GeoBox(thick*.5-0.01,
width*.5,
length*.5);
190 GeoLogVol* svcLogVol =
new GeoLogVol(
name, svcBox, svcMat);
191 GeoPhysVol* svcPhys =
new GeoPhysVol(svcLogVol);
194 double yPos = offsetY;
195 double zPos = offsetZ;
196 GeoTransform* xform =
new GeoTransform(GeoTrf::Translate3D(xPos,yPos,zPos));
197 modulePhys->add(xform);
198 modulePhys->add(svcPhys);
◆ getID()
◆ Length()
double GeoPixelModule::Length |
( |
| ) |
|
◆ ModuleServiceThickness()
double GeoPixelModule::ModuleServiceThickness |
( |
| ) |
const |
|
inline |
◆ ModuleServiceWidth()
double GeoPixelModule::ModuleServiceWidth |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ Thickness()
double GeoPixelModule::Thickness |
( |
| ) |
|
◆ ThicknessN()
double GeoPixelModule::ThicknessN |
( |
| ) |
|
◆ ThicknessN_noSvc()
double GeoPixelModule::ThicknessN_noSvc |
( |
| ) |
|
Definition at line 206 of file GeoPixelModule.cxx.
225 if(
type==svcType&&fullSize==1){
228 double tmp = offsetX+locThick;
233 return thick+thickSvc;
◆ ThicknessP()
double GeoPixelModule::ThicknessP |
( |
| ) |
|
◆ Width()
double GeoPixelModule::Width |
( |
| ) |
|
◆ m_DDmgr
◆ m_epsilon
const double GeoVPixelFactory::m_epsilon |
|
protectedinherited |
◆ m_gmt_mgr
◆ m_id
◆ m_isModule3D
bool GeoPixelModule::m_isModule3D {false} |
|
private |
◆ m_mapAX
std::shared_ptr<std::map<std::string, GeoAlignableTransform*> > GeoVPixelFactory::m_mapAX |
|
protectedinherited |
◆ m_mapFPV
std::shared_ptr<std::map<std::string, GeoFullPhysVol*> > GeoVPixelFactory::m_mapFPV |
|
protectedinherited |
◆ m_mat_mgr
◆ m_moduleSvcThickness
double GeoPixelModule::m_moduleSvcThickness {0.} |
|
private |
◆ m_moduleSvcWidth
double GeoPixelModule::m_moduleSvcWidth {0.} |
|
private |
◆ m_nbModuleSvc
int GeoPixelModule::m_nbModuleSvc {0} |
|
private |
◆ m_sqliteReader
GeoModelIO::ReadGeoModel* GeoVPixelFactory::m_sqliteReader |
|
protectedinherited |
◆ m_theModule
GeoIntrusivePtr<const GeoLogVol> GeoPixelModule::m_theModule {nullptr} |
|
private |
◆ m_theSensor
The documentation for this class was generated from the following files:
GeoIntrusivePtr< const GeoLogVol > m_theModule
virtual double PixelChipThickness(bool isModule3D=false)=0
const GeoShape * addShape(const GeoShape *lastShape, const GeoShape *nextShape, const GeoTrf::Transform3D &trans)
virtual double PixelChipWidth(bool isModule3D=false)=0
virtual int PixelModuleServiceModuleType(int svc)=0
virtual std::string PixelModuleServiceName(int svc)=0
virtual double PixelModuleServiceLength(int svc)=0
virtual double PixelModuleServiceOffsetZ(int svc)=0
virtual int PixelModuleServiceFullSize(int svc)=0
virtual GeoVPhysVol * Build() override
virtual double PixelHybridWidth(bool isModule3D=false)=0
virtual double PixelChipGap(bool isModule3D=false)=0
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
GeoModelIO::ReadGeoModel * m_sqliteReader
virtual double PixelHybridThickness(bool isModule3D=false)=0
double ThicknessN_noSvc()
InDetDD::PixelDetectorManager * m_DDmgr
PixelGeometryManager * m_gmt_mgr
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
virtual bool isBarrel()=0
virtual double PixelBoardThickness(bool isModule3D=false)=0
virtual double PixelChipOffset(bool isModule3D=false)=0
virtual int PixelModuleServiceNumber()=0
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.
GeoPixelSiCrystal & m_theSensor
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)
virtual bool isEndcap()=0
virtual double PixelChipLength(bool isModule3D=false)=0
virtual double PixelModuleServiceOffsetX(int svc)=0
virtual double PixelModuleServiceOffsetY(int svc)=0
double m_moduleSvcThickness
InDetMaterialManager * m_mat_mgr
virtual double PixelHybridLength(bool isModule3D=false)=0
virtual double PixelBoardLength(bool isModule3D=false)=0
virtual double PixelModuleServiceWidth(int svc)=0
virtual std::string PixelModuleServiceMaterial(int svc)=0
virtual double PixelBoardWidth(bool isModule3D=false)=0
virtual double PixelModuleServiceThick(int svc)=0
const GeoMaterial * getMaterial(const std::string &materialName)
Get material. First looks for locally defined material and if not found looks in GeoModel material ma...