|
ATLAS Offline Software
|
#include <ActsStrawLayerBuilder.h>
Definition at line 29 of file ActsStrawLayerBuilder.h.
◆ ElementVector
◆ ActsStrawLayerBuilder()
ActsStrawLayerBuilder::ActsStrawLayerBuilder |
( |
const Config & |
cfg, |
|
|
std::unique_ptr< const Acts::Logger > |
logger = Acts::getDefaultLogger("GMSLayBldr", Acts::Logging::INFO) |
|
) |
| |
|
inline |
Constructor.
- Parameters
-
cfg | is the configuration struct |
logger | the local logging instance |
Definition at line 47 of file ActsStrawLayerBuilder.h.
◆ ~ActsStrawLayerBuilder()
ActsStrawLayerBuilder::~ActsStrawLayerBuilder |
( |
| ) |
|
|
inline |
◆ centralLayers()
const Acts::LayerVector ActsStrawLayerBuilder::centralLayers |
( |
const Acts::GeometryContext & |
gctx | ) |
const |
|
override |
Definition at line 48 of file ActsStrawLayerBuilder.cxx.
50 ACTS_VERBOSE(
"Building central Straw layers");
52 using LBBV = Acts::LineBounds::BoundValues;
59 ACTS_VERBOSE(
"- Numerology reports: - " << nBarrelRings <<
" barrel rings");
60 ACTS_VERBOSE(
" - " << nBarrelPhiSectors <<
" barrel phi sectors");
64 std::vector<Acts::ProtoLayer> protoLayers;
66 for(
size_t iring=0; iring < nBarrelRings;iring++) {
67 ACTS_VERBOSE(
"- Collecting elements for ring " << iring);
71 auto&
ext = pl.extent;
84 std::vector<std::shared_ptr<const Acts::Surface>> layerSurfaces;
87 ACTS_VERBOSE(
" - Numerology reports: " << nBarrelLayers <<
" layers in ring " << iring);
88 for (
size_t ilayer=0;ilayer < nBarrelLayers;ilayer++) {
89 for (
size_t iphisec=0;iphisec < nBarrelPhiSectors;iphisec++) {
91 for (
size_t iposneg=0;iposneg<2;iposneg++) {
96 unsigned int nStraws = brlElem->
nStraws();
98 for(
unsigned int istraw=0;istraw<nStraws;istraw++) {
102 trf.translation() *= 1_mm;
106 code.getModuleIndex(),
107 code.getStrawLayerIndex(),
110 auto elem = std::make_shared<const ActsDetectorElement>(
111 trf, *brlElem, straw_id);
115 auto straw =
dynamic_cast<const Acts::StrawSurface*
>(&elem->surface());
116 if (not
straw)
continue;
117 auto strawBounds =
dynamic_cast<const Acts::LineBounds*
>(&
straw->bounds());
118 if (not strawBounds)
continue;
120 double radius = strawBounds->get(LBBV::eR);
121 double length = strawBounds->get(LBBV::eHalfLengthZ);
125 Acts::Vector3
ctr =
straw->center(gctx);
131 layerSurfaces.push_back(
straw->getSharedPtr());
137 ACTS_VERBOSE(
" - Collected " << layerSurfaces.size() <<
" straws");
141 const Acts::ProtoLayer &prev = protoLayers.at(iring-1);
145 std::shared_ptr<Acts::Layer>
layer
149 protoLayers.push_back(pl);
◆ endcapLayers()
const Acts::LayerVector ActsStrawLayerBuilder::endcapLayers |
( |
const Acts::GeometryContext & |
gctx, |
|
|
int |
side |
|
) |
| const |
Definition at line 157 of file ActsStrawLayerBuilder.cxx.
159 ACTS_VERBOSE(
"Building endcap Straw layers");
160 using LBBV = Acts::LineBounds::BoundValues;
166 ACTS_VERBOSE(
"- Numerology reports: - " << nEndcapWheels<<
" endcap wheels");
167 ACTS_VERBOSE(
" - " << nEndcapPhiSectors <<
" endcap phi sectors");
171 for(
size_t iwheel=0;iwheel<nEndcapWheels;++iwheel) {
172 ACTS_VERBOSE(
"- Collecting elements for wheel " << iwheel);
176 ACTS_VERBOSE(
" - Numerology reports: " << nEndcapLayers <<
" layers in wheel " << iwheel);
177 for(
size_t ilayer=0;ilayer<nEndcapLayers;++ilayer) {
178 std::vector<std::shared_ptr<const Acts::Surface>> wheelSurfaces;
182 auto&
ext = pl.extent;;
191 for (
unsigned int iphisec=0; iphisec<nEndcapPhiSectors; ++iphisec) {
193 size_t iposneg =
side < 0 ? 0 : 1;
195 unsigned int nStraws = ecElem->
nStraws();
197 for(
unsigned int istraw=0;istraw<nStraws;istraw++) {
201 trf.translation() *= 1_mm;
206 code.getWheelIndex(),
207 code.getStrawLayerIndex(),
211 auto elem = std::make_shared<const ActsDetectorElement>(
212 trf, *ecElem, straw_id);
216 auto straw =
dynamic_cast<const Acts::StrawSurface*
>(&elem->surface());
218 auto strawBounds =
dynamic_cast<const Acts::LineBounds*
>(&
straw->bounds());
220 double radius = strawBounds->get(LBBV::eR);
221 double length = strawBounds->get(LBBV::eHalfLengthZ);
223 Acts::Vector3
ctr =
straw->center(gctx);
230 wheelSurfaces.push_back(
straw->getSharedPtr());
236 std::shared_ptr<Acts::Layer>
layer
239 ACTS_VERBOSE(
" - Collected " << wheelSurfaces.size() <<
" straws");
244 ACTS_VERBOSE(
" - Built " <<
layers.size() <<
" straw endcap layers");
◆ identification()
const std::string& ActsStrawLayerBuilder::identification |
( |
| ) |
const |
|
inlineoverride |
◆ logger()
const Acts::Logger& ActsStrawLayerBuilder::logger |
( |
| ) |
const |
|
inlineprivate |
◆ negativeLayers()
const Acts::LayerVector ActsStrawLayerBuilder::negativeLayers |
( |
const Acts::GeometryContext & |
gctx | ) |
const |
|
override |
◆ positiveLayers()
const Acts::LayerVector ActsStrawLayerBuilder::positiveLayers |
( |
const Acts::GeometryContext & |
gctx | ) |
const |
|
override |
◆ m_cfg
Config ActsStrawLayerBuilder::m_cfg |
|
private |
◆ m_logger
std::unique_ptr<const Acts::Logger> ActsStrawLayerBuilder::m_logger |
|
private |
The documentation for this class was generated from the following files:
Config m_cfg
configruation object
const TRT_BarrelElement * getBarrelElement(unsigned int positive, unsigned int moduleIndex, unsigned int phiIndex, unsigned int strawLayerIndex) const
Access Barrel Elements:---------------—(Fast)-------------------------—.
unsigned int nStraws() const
Number of straws in the element.
const Acts::LayerVector endcapLayers(const Acts::GeometryContext &gctx, int side) const
const InDetDD::TRT_DetectorManager * mng
unsigned int getNEndcapWheels() const
TRT_Numerology * getNumerology()
Access Numerological information:---------------------------------------—.
const TRT_EndcapCode & getCode() const
Doomed (??)
std::string configurationName
string based identification
std::unique_ptr< const Acts::Logger > m_logger
logging instance
unsigned int getNBarrelPhi() const
unsigned int getNBarrelLayers(unsigned int iMod) const
const TRT_BarrelCode & getCode() const
Doomed (?):
const TRT_EndcapElement * getEndcapElement(unsigned int positive, unsigned int wheelIndex, unsigned int strawLayerIndex, unsigned int phiIndex) const
Access Endcap Elements:---------------—(Fast)--------------------------—.
std::shared_ptr< const Acts::LayerCreator > layerCreator
const Amg::Transform3D & strawTransform(unsigned int straw) const
Straw transform - fast access in array, in Tracking frame: Amg.
unsigned int getNEndcapPhi() const
unsigned int getNEndcapLayers(unsigned int iWheel) const
unsigned int getNBarrelRings() const
const Acts::Logger & logger() const
Private access to the logger.
std::shared_ptr< ElementVector > elementStore
Identifier straw_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer, int straw) const
Three ways of getting id for a single straw: