16 template <
class FilteredView>
28 theCmsTrackerStringBuilder.
build(fv, subdet,
s);
31 theCmsTrackerRodBuilder.
build(fv, subdet,
s);
34 theCmsTrackerLadderBuilder.
build(fv, subdet,
s);
37 edm::LogError(
"CmsTrackerLayerBuilder") <<
" ERROR - I was expecting a String, Rod or Ladder, I got a " 40 g->addComponent(subdet);
43 template <
class FilteredView>
53 float layerRadius = (det->
params()[2] + det->
params()[1]) / 2.;
68 for (
size_t i = 0;
i <
comp.size(); ++
i) {
70 if (component->translation().z() < 0.) {
71 neg.emplace_back(component);
73 pos.emplace_back(component);
78 double rPos =
i->translation().Rho();
79 if (rPos > layerRadius) {
80 extneg.emplace_back(
i);
82 intneg.emplace_back(
i);
86 for (
auto& po :
pos) {
87 double rPos = po->translation().Rho();
88 if (rPos > layerRadius) {
89 extpos.emplace_back(po);
91 intpos.emplace_back(po);
100 for (uint32_t
i = 0;
i < intneg.size();
i++) {
101 uint32_t
temp =
i + 1;
107 for (uint32_t
i = 0;
i < extneg.size();
i++) {
108 uint32_t
temp =
i + 1;
114 for (uint32_t
i = 0;
i < intpos.size();
i++) {
115 uint32_t
temp =
i + 1;
121 for (uint32_t
i = 0;
i < extpos.size();
i++) {
122 uint32_t
temp =
i + 1;
140 for (
size_t i = 0;
i <
comp.size(); ++
i) {
142 if (component->translation().z() < 0.) {
143 neg.emplace_back(component);
145 pos.emplace_back(component);
152 for (uint32_t
i = 0;
i < neg.size();
i++) {
153 uint32_t
temp =
i + 1;
158 for (uint32_t
i = 0;
i <
pos.size();
i++) {
159 uint32_t
temp =
i + 1;
171 for (uint32_t
i = 0;
i <
comp.size();
i++) {
177 <<
"ERROR - wrong SubDet to sort..... " << det->
components().front()->type();
std::vector< GeometricDet * > GeometricDetContainer
void sortNS(FilteredView &, GeometricDet *) override
const std::vector< double > & params() const
void setGeographicalID(DetId id)
Log< level::Error, false > LogError
void build(FilteredView &, GeometricDet *, const std::string &) override
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
ConstGeometricDetContainer & components()
GeometricDet * component(size_t index)
std::vector< GeometricDet const * > ConstGeometricDetContainer
void trackerStablePhiSort(RandomAccessIterator begin, RandomAccessIterator end, const Extractor &extr)
void buildComponent(FilteredView &, GeometricDet *, const std::string &) override
void addComponents(GeometricDetContainer const &cont)
static double getPhi(const GeometricDet *a)