ATLAS Offline Software
Loading...
Searching...
No Matches
LayerProviderImpl.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
8#include "TrkGeometry/Layer.h"
9
10
11const std::vector<Trk::Layer*>
12Trk::LayerProviderImpl::cylindricalLayersToCentralLayers(std::unique_ptr<const std::vector<Trk::CylinderLayer*> > cylinderLayers)
13{
14 // central layers
15 std::vector<Trk::Layer*> cLayers;
16 // loop over cylinderLayers and push into the return vector;
17 if (cylinderLayers) {
18 for (Trk::CylinderLayer* cL : (*cylinderLayers))
19 cLayers.push_back(cL);
20 }
21 // and return
22 return cLayers;
23}
24
25
26std::pair<const std::vector<Trk::Layer*>, const std::vector<Trk::Layer*> >
27 Trk::LayerProviderImpl::discLayersToEndcapLayers(std::unique_ptr<const std::vector<Trk::DiscLayer*> > discLayers)
28{
29
30 // get the disc layers
31 std::vector<Trk::Layer*> dLayers_pos;
32 std::vector<Trk::Layer*> dLayers_neg;
33 // loop and fill either dLayers
34 if (discLayers) {
35 // loop over and push into the return/cache vector
36 for (Trk::DiscLayer* dL : (*discLayers)) {
37 // get the center posituion
38 double zpos = dL->surfaceRepresentation().center().z();
39 if (zpos > 0.)
40 dLayers_pos.push_back(dL);
41 else
42 dLayers_neg.push_back(dL);
43 }
44 }
45 // and return
46 return std::make_pair(dLayers_pos, dLayers_neg);
47}
48
49
50
Class to describe a cylindrical detector layer for tracking, it inhertis from both,...
Class to describe a disc-like detector layer for tracking, it inhertis from both, Layer base class an...
Definition DiscLayer.h:45
static const std::vector< Trk::Layer * > cylindricalLayersToCentralLayers(std::unique_ptr< const std::vector< Trk::CylinderLayer * > > cylinderLayers)
static std::pair< const std::vector< Trk::Layer * >, const std::vector< Trk::Layer * > > discLayersToEndcapLayers(std::unique_ptr< const std::vector< Trk::DiscLayer * > > discLayers)