|
ATLAS Offline Software
|
#include <PixelDetectorFactorySR1.h>
Definition at line 18 of file PixelDetectorFactorySR1.h.
◆ PixelDetectorFactorySR1() [1/2]
Definition at line 34 of file PixelDetectorFactorySR1.cxx.
55 std::unique_ptr<SiCommonItems> commonItems{std::make_unique<SiCommonItems>(athenaComps->
getIdHelper())};
65 <<
"\" which is inconsistent with the layout choosen!"
74 std::string versionName =
"SR1";
75 std::string layout =
"SR1";
77 int versionMajorNumber = 4;
78 int versionMinorNumber = 0;
79 int versionPatchNumber = 0;
◆ ~PixelDetectorFactorySR1()
PixelDetectorFactorySR1::~PixelDetectorFactorySR1 |
( |
| ) |
|
◆ PixelDetectorFactorySR1() [2/2]
◆ create()
void PixelDetectorFactorySR1::create |
( |
GeoPhysVol * |
world | ) |
|
|
virtual |
Definition at line 105 of file PixelDetectorFactorySR1.cxx.
110 msg(MSG::INFO) <<
"Building Pixel Detector" <<
endmsg;
126 if ((barrelPresent && endcapAPresent) ||
127 (barrelPresent && endcapCPresent) ||
128 (endcapAPresent && endcapCPresent)) {
129 msg(MSG::ERROR) <<
"SR1 geometry can only have 1 part" <<
endmsg;
132 if (!barrelPresent && !endcapAPresent && !endcapCPresent) {
133 msg(MSG::ERROR) <<
"SR1 geometry must have 1 part" <<
endmsg;
136 GeoVPhysVol* physVol =
nullptr;
137 GeoAlignableTransform *
transform =
nullptr;
153 physVol = brl.Build();
156 transform =
new GeoAlignableTransform(topTransform*barrelTransform);
159 GeoNameTag*
tag =
new GeoNameTag(
"Pixel");
161 world->add(
new GeoIdentifierTag(0));
169 if (endcapAPresent || endcapCPresent) {
177 if (endcapAPresent) {
180 physVol = pec.Build();
183 transform =
new GeoAlignableTransform(topTransform * endcapATransform * GeoTrf::TranslateZ3D(zpos));
185 GeoNameTag*
tag =
new GeoNameTag(
"Pixel");
187 world->add(
new GeoIdentifierTag(2));
193 if (endcapCPresent) {
196 physVol = pec.Build();
199 transform =
new GeoAlignableTransform(topTransform * endcapCTransform * GeoTrf::TranslateZ3D(-zpos) * GeoTrf::RotateY3D(180*
Gaudi::Units::deg));
201 GeoNameTag*
tag =
new GeoNameTag(
"Pixel");
203 world->add(
new GeoIdentifierTag(-2));
211 if(pixServices)
delete pixServices;
215 msg(MSG::ERROR) <<
"Unexpected condition. Top level volume has zero pointer" <<
endmsg;
246 if (endcapAPresent) {
251 if (endcapCPresent) {
◆ detStore() [1/2]
◆ detStore() [2/2]
◆ geoDbTagSvc()
◆ geomDB()
◆ getAthenaComps()
◆ getDetectorManager()
◆ msg()
MsgStream& InDetDD::DetectorFactoryBase::msg |
( |
MSG::Level |
lvl | ) |
const |
|
inlineinherited |
◆ msgLvl()
bool InDetDD::DetectorFactoryBase::msgLvl |
( |
MSG::Level |
lvl | ) |
|
|
inlineinherited |
◆ operator=()
◆ rdbAccessSvc()
◆ m_athenaComps
◆ m_detectorManager
◆ m_geometryManager
The documentation for this class was generated from the following files:
const SiNumerology & numerology() const
Access Numerology.
virtual double PixelEndcapZMax()=0
virtual bool InitialLayout() const =0
int columns() const
Number of cell columns per module:
virtual void SetServices(bool isservice)=0
PixelGeometryManager * m_geometryManager
virtual void SetEndcap()=0
bool servicesOnLadder() const
int rows() const
Number of cell rows per module:
void setMaxNumEtaCells(int cells)
void setVersion(const Version &version)
virtual bool DoServices()=0
MsgStream & msg(MSG::Level lvl) const
virtual void SetServicesOnLadder(bool isservice)=0
void setCommonItems(std::unique_ptr< const SiCommonItems > &&commonItems)
Set SiCommonItems.
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.
bool initialLayout() const
virtual bool Alignable() const =0
bool msgLvl(const MSG::Level lvl) const
Test the output level.
StoreGateSvc * detStore()
virtual void SetBarrel()=0
virtual void initNeighbours() override
Initialize the neighbours.
const PixelID * getIdHelper() const
void addFolder(const std::string &key)
virtual double PixelBoardThickness(bool isModule3D=false)=0
Eigen::Affine3d Transform3D
void setMaxNumPhiCells(int cells)
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
const Version & getVersion() const
Get version information.
void addTreeTop(const PVConstLink &vol)
Add a Tree top:
InDetDD::PixelDetectorManager * m_detectorManager
MsgStream & msg() const
The standard message stream.
virtual void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVFullPhysVol *child)
Add alignable transforms.
virtual const GeoTrf::Transform3D & partTransform(const std::string &partName) const =0
virtual std::string versionTag() const =0
bool msgLvl(MSG::Level lvl)
const std::string & tag() const
Get tag used in dictionary.
virtual void SetCurrentLD(int i)=0
virtual void SetDC1Geometry(bool flag)=0
virtual double PixelEndcapZMin()=0
virtual void SetInitialLayout(bool flag)=0
const IGeometryDBSvc * geomDB() const
std::string fullDescription() const
Full Description For example, Version: SCT-DC1-00, Name: DC1, Layout: Final, Code Version: 2....
InDetDD::AthenaComps * m_athenaComps
virtual void SetAlignable(bool flag)=0
virtual const PixelID * getIdHelper()=0
const StoreGateSvc * detStore() const
void addChannel(const std::string &key, int level, FrameType frame)
Alignment access.
IRDBAccessSvc * rdbAccessSvc()
virtual bool partPresent(const std::string &partName) const =0
virtual void setCommonItems(InDetDD::SiCommonItems *commonItems)=0
virtual const PixelModuleDesign * getPixelDesign(int i) const
Access to module design, Casts to PixelModuleDesign.
std::string description
glabal timer - how long have I taken so far?