 |
ATLAS Offline Software
|
#include <GeoPixelSiCrystal.h>
Definition at line 19 of file GeoPixelSiCrystal.h.
◆ GeoPixelSiCrystal()
GeoPixelSiCrystal::GeoPixelSiCrystal |
( |
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, |
|
|
bool |
isBLayer, |
|
|
bool |
isModule3D = false |
|
) |
| |
Definition at line 44 of file GeoPixelSiCrystal.cxx.
75 auto readoutTechnology = getPixelReadoutTechnology(rowsPerCircuit,columnsPerCircuit );
76 auto circuitsPerPhi_corr = circuitsPerPhi;
77 auto rowsPerCircuit_corr = rowsPerCircuit;
82 circuitsPerPhi_corr*=2;
83 rowsPerCircuit_corr/=2;
89 std::array<int,kNDirections>{circuitsPerPhi_corr,circuitsPerEta},
90 std::array<int,kNDirections>{rowsPerCircuit_corr,columnsPerCircuit},
92 std::array<double,kNDirections>{pitchPhi,pitchEta},
93 std::array<double,kNDirections>{0.,pitchEtaLongEnd},
94 std::array<double,kNDirections>{0.,pitchEtaLong}});
96 std::unique_ptr<PixelModuleDesign> p_barrelDesign2 = std::make_unique<PixelModuleDesign>(thickness,
103 std::move(diode_tree),
121 std::vector <int> connections(maxRow-minRow+1);
124 for (
unsigned int iRow = 0; iRow < connections.size(); iRow++){
125 connections[iRow] = iRow + minRow;
133 p_barrelDesign2->addMultipleRowConnection(minRow, connections);
150 m_gmt_mgr->
msg(MSG::WARNING) <<
"GeoPixelSiCrystal: Active area not consistent with sensor size. Sensor: "
156 <<
"GeoPixelSiCrystal: Sensor: "
◆ Build()
GeoVPhysVol * GeoPixelSiCrystal::Build |
( |
| ) |
|
|
overridevirtual |
Implements GeoVPixelFactory.
Definition at line 167 of file GeoPixelSiCrystal.cxx.
169 GeoFullPhysVol* siPhys{
nullptr};
174 siPhys = (*m_mapFPV)[siName];
184 const GeoBox* siBox =
new GeoBox(thickness*0.5,
width*0.5,
length*0.5);
188 auto *logVolume =
new GeoLogVol(
logname,siBox,siMat);
192 siPhys =
new GeoFullPhysVol(logVolume);
◆ getID()
◆ GetModule3DFlag()
bool GeoPixelSiCrystal::GetModule3DFlag |
( |
| ) |
|
|
inline |
◆ m_DDmgr
◆ m_design
◆ m_epsilon
const double GeoVPixelFactory::m_epsilon |
|
protectedinherited |
◆ m_gmt_mgr
◆ m_id
◆ m_isBLayer
bool GeoPixelSiCrystal::m_isBLayer = false |
|
private |
◆ m_isModule3D
bool GeoPixelSiCrystal::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_sqliteReader
GeoModelIO::ReadGeoModel* GeoVPixelFactory::m_sqliteReader |
|
protectedinherited |
The documentation for this class was generated from the following files:
virtual int DesignCellRowsPerCircuit(bool isModule3D=false)=0
virtual int NumberOfEmptyRows(bool isModule3D=false)=0
Tree structure to find the position, index or pitch of a pixel on a semi-regular grid The grid is con...
const InDetDD::SiDetectorDesign * m_design
MsgStream & msg(MSG::Level lvl) const
virtual int DesignDiodeColumnsPerCircuit(bool isModule3D=false)=0
virtual double DesignPitchZLongEnd(bool isModule3D=false)=0
virtual bool ibl() const =0
virtual int DesignCircuitsEta(bool isModule3D=false)=0
virtual double DesignZActiveArea(bool isModule3D=false)=0
const SiDetectorDesign * addDesign(std::unique_ptr< const SiDetectorDesign > &&)
Access to module design; returns an observer pointer.
bool msgLvl(MSG::Level lvl) const
virtual int EmptyRowConnections(int index)=0
GeoModelIO::ReadGeoModel * m_sqliteReader
virtual double DesignPitchZ(bool isModule3D=false)=0
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
InDetDD::PixelDetectorManager * m_DDmgr
PixelGeometryManager * m_gmt_mgr
virtual double DesignRPActiveArea(bool isModule3D=false)=0
virtual int DesignDiodeRowsPerCircuit(bool isModule3D=false)=0
virtual double PixelBoardThickness(bool isModule3D=false)=0
virtual int DesignCircuitsPhi(bool isModule3D=false)=0
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 double DesignPitchZLong(bool isModule3D=false)=0
virtual bool isEndcap()=0
std::string to_string(const DetectorType &type)
InDetMaterialManager * m_mat_mgr
virtual int DesignReadoutSide(bool isModule3D=false)=0
virtual double PixelBoardLength(bool isModule3D=false)=0
virtual const PixelID * getIdHelper()=0
virtual double PixelBoardWidth(bool isModule3D=false)=0
virtual std::string getMaterialName(const std::string &volumeName, int layerdisk=0, int typenum=0)=0
virtual InDetDD::SiCommonItems * commonItems()=0
virtual int EmptyRows(int index)=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...
PixelDiodeTree makePixelDiodeTree(T_MsgParent *gmt_mgr, InDetDD::PixelReadoutTechnology readoutTechnology, const std::array< int, kNDirections > &circuits, const std::array< int, kNDirections > &dimPerCircuit, const std::array< std::array< double, kNDirections >, kNPixelLocations > &pitch)
virtual double DesignPitchRP(bool isModule3D=false)=0
virtual void addDetectorElement(SiDetectorElement *element) override
Add elememts.
virtual int DesignCellColumnsPerCircuit(bool isModule3D=false)=0