|
ATLAS Offline Software
|
#include <SCT_DetectorFactory.h>
Definition at line 22 of file SCT_DetectorFactory.h.
◆ SCT_DetectorFactory() [1/2]
Definition at line 67 of file SCT_DetectorFactory.cxx.
77 m_db = std::make_unique<SCT_DataBase>(athenaComps);
83 std::unique_ptr<InDetDD::SiCommonItems> commonItems{std::make_unique<InDetDD::SiCommonItems>(athenaComps->
getIdHelper())};
102 std::string layout =
"Final";
112 std::string versionName = switches->
getString(
"VERSIONNAME");
113 int versionMajorNumber = 3;
114 int versionMinorNumber = 6;
115 int versionPatchNumber = 0;
◆ ~SCT_DetectorFactory()
SCT_DetectorFactory::~SCT_DetectorFactory |
( |
| ) |
|
|
virtual |
◆ SCT_DetectorFactory() [2/2]
◆ create()
void SCT_DetectorFactory::create |
( |
GeoPhysVol * |
world | ) |
|
|
virtual |
Definition at line 134 of file SCT_DetectorFactory.cxx.
137 msg(MSG::INFO) <<
"Building SCT Detector." <<
endmsg;
141 int oldPrecision = std::cout.precision(6);
144 GeoPhysVol *indet = world;
150 std::string barrelLabel =
"Barrel";
151 std::string forwardPlusLabel =
"EndcapA";
152 std::string forwardMinusLabel =
"EndcapC";
154 bool barrelPresent = sctGeneral->
partPresent(barrelLabel);
155 bool forwardPlusPresent = sctGeneral->
partPresent(forwardPlusLabel);
156 bool forwardMinusPresent = sctGeneral->
partPresent(forwardMinusLabel);
174 GeoVPhysVol * barrelPV = sctBarrel.build(
id);
175 GeoAlignableTransform * barrelTransform =
new GeoAlignableTransform(sctTransform * sctGeneral->
partTransform(barrelLabel));
179 GeoNameTag *topLevelNameTag =
new GeoNameTag(
"SCT");
180 indet->add(topLevelNameTag);
181 indet->add(
new GeoIdentifierTag(0));
182 indet->add(barrelTransform);
183 indet->add(barrelPV);
194 if (forwardPlusPresent) {
204 idFwdPlus.setBarrelEC(2);
205 GeoVPhysVol * forwardPlusPV = sctForwardPlus.build(idFwdPlus);
208 * GeoTrf::TranslateZ3D(sctForwardPlus.zCenter()));
209 GeoAlignableTransform * fwdGeoTransformPlus =
new GeoAlignableTransform(fwdTransformPlus);
213 GeoNameTag *topLevelNameTag =
new GeoNameTag(
"SCT");
214 indet->add(topLevelNameTag);
215 indet->add(
new GeoIdentifierTag(2));
216 indet->add(fwdGeoTransformPlus);
217 indet->add(forwardPlusPV);
228 if (forwardMinusPresent) {
237 idFwdMinus.setBarrelEC(-2);
238 GeoVPhysVol * forwardMinusPV = sctForwardMinus.build(idFwdMinus);
246 * GeoTrf::TranslateZ3D(sctForwardMinus.zCenter()));
247 GeoAlignableTransform * fwdGeoTransformMinus =
new GeoAlignableTransform(fwdTransformMinus);
251 GeoNameTag *topLevelNameTag =
new GeoNameTag(
"SCT");
252 indet->add(topLevelNameTag);
253 indet->add(
new GeoIdentifierTag(-2));
254 indet->add(fwdGeoTransformMinus);
255 indet->add(forwardMinusPV);
289 if (forwardPlusPresent) {
300 if (forwardMinusPresent) {
327 if (forwardPlusPresent) {
338 if (forwardMinusPresent) {
352 std::cout.precision(oldPrecision);
◆ 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_db
◆ m_detectorManager
◆ m_geometryManager
◆ m_materials
◆ m_useDynamicAlignFolders
bool SCT_DetectorFactory::m_useDynamicAlignFolders |
|
private |
The documentation for this class was generated from the following files:
bool partPresent(const std::string &partName) const
const SiNumerology & numerology() const
Access Numerology.
virtual IRDBRecordset_ptr getRecordsetPtr(const std::string &node, const std::string &tag, const std::string &tag2node="", const std::string &connName="ATLASDD")=0
Provides access to the Recordset object containing HVS-tagged data.
InDetDD::SCT_DetectorManager * m_detectorManager
virtual const std::string & getString(const std::string &fieldName) const =0
Get string field value.
void setVersion(const Version &version)
MsgStream & msg(MSG::Level lvl) const
int cells() const
number of readout stips within module side:
void addAlignFolderType(const AlignFolderType alignfolder)
void setCommonItems(std::unique_ptr< const SiCommonItems > &&commonItems)
Set SiCommonItems.
const GeoTrf::Transform3D & partTransform(const std::string &partName) const
std::unique_ptr< SCT_MaterialManager > m_materials
bool msgLvl(const MSG::Level lvl) const
Test the output level.
virtual std::string getChildTag(const std::string &childNode, const std::string &parentTag, const std::string &parentNode, const std::string &connName="ATLASDD")=0
Gets the tag name for the node by giving its parent node tag.
StoreGateSvc * detStore()
void addFolder(const std::string &key)
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Eigen::Affine3d Transform3D
void setMaxNumPhiCells(int cells)
void addTreeTop(const PVConstLink &vol)
Add tree top.
const Version & getVersion() const
Get version information.
void addGlobalFolder(const std::string &key)
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
MsgStream & msg() const
The standard message stream.
const SCT_ModuleSideDesign * getSCT_Design(int i) const
Access to module design, casts to SCT_ModuleSideDesign.
const IGeoDbTagSvc * geoDbTagSvc() const
bool m_useDynamicAlignFolders
std::unique_ptr< SCT_DataBase > m_db
std::unique_ptr< SCT_GeometryManager > m_geometryManager
const SCT_ID * getIdHelper() const
const IGeometryDBSvc * geomDB() const
std::string fullDescription() const
Full Description For example, Version: SCT-DC1-00, Name: DC1, Layout: Final, Code Version: 2....
virtual bool isFieldNull(const std::string &fieldName) const =0
Check if the field value is NULL.
IRDBRecord is one record in the IRDBRecordset object.
IRDBAccessSvc * rdbAccessSvc()
virtual void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVFullPhysVol *child)
Add alignable transforms. No access to these, they will be changed by manager:
InDetDD::AthenaComps * m_athenaComps
const StoreGateSvc * detStore() const
void addChannel(const std::string &key, int level, FrameType frame)
Alignment access.
IRDBAccessSvc * rdbAccessSvc()
std::string description
glabal timer - how long have I taken so far?
virtual void initNeighbours() override
Initialize the neighbours. This can only be done when all elements are built.