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

#include <PixelDetectorDC1DC2.h>

Inheritance diagram for PixelGeoDC2::GeoPixelModule:
Collaboration diagram for PixelGeoDC2::GeoPixelModule:

Public Member Functions

 GeoPixelModule (InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoPixelSiCrystal &theSensor)
 
 GeoPixelModule (const GeoPixelModule &)=delete
 
GeoPixelModuleoperator= (const GeoPixelModule &)=delete
 
virtual ~GeoPixelModule ()=default
 
virtual GeoVPhysVol * Build () override
 
double Thickness ()
 
double Width ()
 
double Length ()
 
Identifier getID ()
 

Protected Attributes

PixelGeometryManagerm_gmt_mgr {}
 
StoredMaterialManagerm_mat_mgr {}
 
InDetDD::PixelDetectorManagerm_DDmgr {}
 
const double m_epsilon {}
 

Private Attributes

GeoIntrusivePtr< GeoLogVol > m_theModule
 
Identifier m_id
 
GeoPixelSiCrystalm_theSensor
 

Detailed Description

Definition at line 260 of file PixelDetectorDC1DC2.h.

Constructor & Destructor Documentation

◆ GeoPixelModule() [1/2]

GeoPixelModule::GeoPixelModule ( InDetDD::PixelDetectorManager ddmgr,
PixelGeometryManager mgr,
GeoPixelSiCrystal theSensor 
)

Definition at line 908 of file PixelDetectorDC1DC2.cxx.

910  :
911  GeoVPixelFactory (ddmgr, mgr),
912  m_theSensor(theSensor)
913 {
914  //
915  // Define the log volume in the constructor, so I do it only once.
916  //
917  //
918  // The Dimensions are in separate routines
919  //
920  double length = this->Length();
921  double thickness = this->Thickness();
922  double width = this->Width();
923  const GeoMaterial* air = m_mat_mgr->getMaterial("std::Air");
924  const GeoBox* moduleBox = new GeoBox(thickness*0.5,width*0.5,length*0.5);
925  m_theModule = new GeoLogVol("moduleLog",moduleBox,air);
926 
927 }

◆ GeoPixelModule() [2/2]

PixelGeoDC2::GeoPixelModule::GeoPixelModule ( const GeoPixelModule )
delete

◆ ~GeoPixelModule()

virtual PixelGeoDC2::GeoPixelModule::~GeoPixelModule ( )
virtualdefault

Member Function Documentation

◆ Build()

GeoVPhysVol * GeoPixelModule::Build ( )
overridevirtual

Implements PixelGeoDC2::GeoVPixelFactory.

Definition at line 929 of file PixelDetectorDC1DC2.cxx.

929  {
930  GeoFullPhysVol* modulePhys = new GeoFullPhysVol(m_theModule);
931  //
932  // Place the Si Crystal
933  //
934  GeoVPhysVol *theSi = m_theSensor.Build();
935  m_id = m_theSensor.getID();
936  GeoNameTag *tag = new GeoNameTag("Si Crystal");
937  GeoTransform *xformsi = new GeoTransform(GeoTrf::Transform3D::Identity());
938  modulePhys->add(tag);
939  modulePhys->add(new GeoIdentifierTag(100) );
940  modulePhys->add(xformsi);
941  modulePhys->add(theSi );
942  //
943  // Place the Hybrid
944  //
946  double xpos = -0.5*(m_gmt_mgr->PixelBoardThickness()+m_gmt_mgr->PixelHybridThickness());
947  GeoTrf::Translate3D hybpos(xpos,0.,0.);
948  GeoTransform* xform = new GeoTransform(hybpos);
949  tag = new GeoNameTag("Hybrid");
950  modulePhys->add(tag);
951  modulePhys->add(xform);
952  modulePhys->add(ph.Build() );
953  //
954  // Place the Chip
955  //
958  GeoTrf::Translate3D chippos(xpos,0.,0.);
959  xform = new GeoTransform(chippos);
960  tag = new GeoNameTag("Chip");
961  modulePhys->add(tag);
962  modulePhys->add(xform);
963  modulePhys->add(pc.Build() );
964  //
965  // Add the silicon element to the list of detector elements...
966  //
967  return modulePhys;
968 }

◆ getID()

Identifier GeoPixelModule::getID ( )

Definition at line 1005 of file PixelDetectorDC1DC2.cxx.

1005  {
1006  return m_id;
1007 }

◆ Length()

double GeoPixelModule::Length ( )

Definition at line 994 of file PixelDetectorDC1DC2.cxx.

994  {
995  using std::max;
996  double length = max( max( max(
999  2*m_gmt_mgr->PixelBalcony()),
1001 
1002  return length;
1003 }

◆ operator=()

GeoPixelModule& PixelGeoDC2::GeoPixelModule::operator= ( const GeoPixelModule )
delete

◆ Thickness()

double GeoPixelModule::Thickness ( )

Definition at line 971 of file PixelDetectorDC1DC2.cxx.

971  {
972  using std::max;
973  //
974  // The thickness of the module is given by the board thickness
975  // plus the maximum b/w the hybrid and the chip+gap
976  //
977  double thick = m_gmt_mgr->PixelBoardThickness()+
980  //
981  // Don't understand why....
982  //
983  return thick+.01;
984 }

◆ Width()

double GeoPixelModule::Width ( )

Definition at line 986 of file PixelDetectorDC1DC2.cxx.

986  {
987  using std::max;
988  double width = max( max(
992  return width;
993 }

Member Data Documentation

◆ m_DDmgr

InDetDD::PixelDetectorManager* PixelGeoDC2::GeoVPixelFactory::m_DDmgr {}
protectedinherited

Definition at line 53 of file PixelDetectorDC1DC2.h.

◆ m_epsilon

const double PixelGeoDC2::GeoVPixelFactory::m_epsilon {}
protectedinherited

Definition at line 54 of file PixelDetectorDC1DC2.h.

◆ m_gmt_mgr

PixelGeometryManager* PixelGeoDC2::GeoVPixelFactory::m_gmt_mgr {}
protectedinherited

Definition at line 51 of file PixelDetectorDC1DC2.h.

◆ m_id

Identifier PixelGeoDC2::GeoPixelModule::m_id
private

Definition at line 275 of file PixelDetectorDC1DC2.h.

◆ m_mat_mgr

StoredMaterialManager* PixelGeoDC2::GeoVPixelFactory::m_mat_mgr {}
protectedinherited

Definition at line 52 of file PixelDetectorDC1DC2.h.

◆ m_theModule

GeoIntrusivePtr<GeoLogVol> PixelGeoDC2::GeoPixelModule::m_theModule
private

Definition at line 274 of file PixelDetectorDC1DC2.h.

◆ m_theSensor

GeoPixelSiCrystal& PixelGeoDC2::GeoPixelModule::m_theSensor
private

Definition at line 276 of file PixelDetectorDC1DC2.h.


The documentation for this class was generated from the following files:
PixelGeoDC2::PixelGeometryManager::PixelChipGap
virtual double PixelChipGap()=0
PixelGeoDC2::GeoVPixelFactory::m_gmt_mgr
PixelGeometryManager * m_gmt_mgr
Definition: PixelDetectorDC1DC2.h:51
PixelGeoDC2::GeoPixelModule::Thickness
double Thickness()
Definition: PixelDetectorDC1DC2.cxx:971
max
#define max(a, b)
Definition: cfImp.cxx:41
PixelGeoDC2::GeoVPixelFactory::m_DDmgr
InDetDD::PixelDetectorManager * m_DDmgr
Definition: PixelDetectorDC1DC2.h:53
PixelGeoDC2::GeoPixelSiCrystal::getID
Identifier getID()
Definition: PixelDetectorDC1DC2.h:326
PixelGeoDC2::GeoPixelModule::m_id
Identifier m_id
Definition: PixelDetectorDC1DC2.h:275
PixelGeoDC2::GeoVPixelFactory::GeoVPixelFactory
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr)
Definition: PixelDetectorDC1DC2.cxx:1536
PixelGeoDC2::PixelGeometryManager::PixelHybridLength
virtual double PixelHybridLength()=0
PixelGeoDC2::GeoVPixelFactory::m_mat_mgr
StoredMaterialManager * m_mat_mgr
Definition: PixelDetectorDC1DC2.h:52
PixelGeoDC2::PixelGeometryManager::PixelHybridWidth
virtual double PixelHybridWidth()=0
BchCleanup.mgr
mgr
Definition: BchCleanup.py:294
PixelGeoDC2::GeoPixelHybrid
Definition: PixelDetectorDC1DC2.h:200
PixelGeoDC2::PixelGeometryManager::PixelBoardLength
virtual double PixelBoardLength()=0
PixelGeoDC2::PixelGeometryManager::PixelBoardWidth
virtual double PixelBoardWidth()=0
PixelGeoDC2::GeoPixelModule::m_theSensor
GeoPixelSiCrystal & m_theSensor
Definition: PixelDetectorDC1DC2.h:276
PixelGeoDC2::GeoPixelChip
Definition: PixelDetectorDC1DC2.h:103
PixelGeoDC2::GeoPixelSiCrystal::Build
virtual GeoVPhysVol * Build() override
Definition: PixelDetectorDC1DC2.cxx:1265
PixelGeoDC2::PixelGeometryManager::PixelChipThickness
virtual double PixelChipThickness()=0
PixelGeoDC2::PixelGeometryManager::PixelBoardThickness
virtual double PixelBoardThickness()=0
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
PixelGeoDC2::PixelGeometryManager::PixelHybridThickness
virtual double PixelHybridThickness()=0
PixelGeoDC2::GeoPixelModule::Width
double Width()
Definition: PixelDetectorDC1DC2.cxx:986
PixelGeoDC2::PixelGeometryManager::PixelChipLength
virtual double PixelChipLength()=0
PixelGeoDC2::PixelGeometryManager::PixelChipWidth
virtual double PixelChipWidth()=0
StoredMaterialManager::getMaterial
virtual const GeoMaterial * getMaterial(const std::string &name)=0
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
PixelGeoDC2::GeoPixelModule::Length
double Length()
Definition: PixelDetectorDC1DC2.cxx:994
PixelGeoDC2::GeoPixelModule::m_theModule
GeoIntrusivePtr< GeoLogVol > m_theModule
Definition: PixelDetectorDC1DC2.h:274
length
double length(const pvec &v)
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
python.SystemOfUnits.pc
float pc
Definition: SystemOfUnits.py:99
PixelGeoDC2::PixelGeometryManager::PixelBalcony
virtual double PixelBalcony()=0