18 std::vector<const Phase2OTBarrelRod*>& outerRods,
19 vector<const Phase2EndcapRing*>& negRings,
20 vector<const Phase2EndcapRing*>& posRings)
22 theNegativeRingsComps(negRings.begin(), negRings.end()),
23 thePositiveRingsComps(posRings.begin(), posRings.end()) {
24 std::vector<const GeometricSearchDet*>
theComps;
29 for (vector<const GeometricSearchDet*>::const_iterator it =
theComps.begin(); it !=
theComps.end(); it++) {
38 LogDebug(
"TkDetLayers") <<
"==== DEBUG Phase2OTtiltedBarrelLayer =====";
39 LogTrace(
"TkDetLayers") <<
"Phase2OTtiltedBarrelLayer Cyl r,lenght: " <<
theCylinder->radius() <<
" , " 45 LogTrace(
"TkDetLayers") <<
"negative rings in Phase2OT tilted barrel pos z,perp,eta,phi: " << (**i).position().z()
46 <<
" , " << (**i).position().perp() <<
" , " << (**i).position().eta() <<
" , " 47 << (**i).position().phi();
53 LogTrace(
"TkDetLayers") <<
"rods in Phase2OT tilted barrel pos z,perp,eta,phi: " << (**i).position().z() <<
" , " 54 << (**i).position().perp() <<
" , " << (**i).position().eta() <<
" , " 55 << (**i).position().phi();
61 LogTrace(
"TkDetLayers") <<
"positive rings in Phase2OT tilted barrel pos z,perp,eta,phi: " << (**i).position().z()
62 <<
" , " << (**i).position().perp() <<
" , " << (**i).position().eta() <<
" , " 63 << (**i).position().phi();
65 LogTrace(
"TkDetLayers") <<
"==== end DEBUG Phase2OTtiltedBarrelLayer =====";
71 vector<const GeometricSearchDet*>::const_iterator
i;
83 std::vector<DetGroup>&
result)
const {
84 vector<DetGroup> closestResultRods;
85 vector<DetGroup> closestResultNeg;
86 vector<DetGroup> closestResultPos;
90 ring->groupedCompatibleDetsV(tsos, prop, est, closestResultNeg);
94 ring->groupedCompatibleDetsV(tsos, prop, est, closestResultPos);
97 result.assign(closestResultRods.begin(), closestResultRods.end());
98 result.insert(
result.end(), closestResultPos.begin(), closestResultPos.end());
99 result.insert(
result.end(), closestResultNeg.begin(), closestResultNeg.end());
102 LogDebug(
"TkDetLayers") <<
"==== output di Phase2OTtiltedBarrelLayer =====";
103 if (closestResultRods.size() != 0) {
104 for (
auto gr : closestResultRods) {
105 LogTrace(
"TkDetLayers") <<
"New Rod group:";
106 for (
auto dge : gr) {
107 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:" << dge.det()->position().perp()
108 <<
" id:" << dge.det()->geographicalId().rawId()
109 <<
" tsos at:" << dge.trajectoryState().globalPosition();
113 if (closestResultNeg.size() != 0) {
114 for (
auto gr : closestResultNeg) {
115 LogTrace(
"TkDetLayers") <<
"New negative group:";
116 for (
auto dge : gr) {
117 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:" << dge.det()->position().perp()
118 <<
" id:" << dge.det()->geographicalId().rawId()
119 <<
" tsos at:" << dge.trajectoryState().globalPosition();
123 if (closestResultPos.size() != 0) {
124 for (
auto gr : closestResultPos) {
125 LogTrace(
"TkDetLayers") <<
"New positive group:";
126 for (
auto dge : gr) {
127 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:" << dge.det()->position().perp()
128 <<
" id:" << dge.det()->geographicalId().rawId()
129 <<
" tsos at:" << dge.trajectoryState().globalPosition();
136 LogTrace(
"TkDetLayers") <<
"Total group:";
137 for (
auto dge : gr) {
138 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:" << dge.det()->position().perp()
139 <<
" id:" << dge.det()->geographicalId().rawId()
140 <<
" tsos at:" << dge.trajectoryState().globalPosition();
144 LogTrace(
"TkDetLayers") <<
"result size is zero";
const std::vector< const GeometricSearchDet * > & components() const final __attribute__((cold))
Returns basic components, if any.
std::vector< const GeometricSearchDet * > thePositiveRingsComps
virtual void initialize()
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const final
std::vector< const GeometricSearchDet * > theComps
std::vector< const GeometricSearchDet * > theNegativeRingsComps
GlobalPoint globalPosition() const
Phase2OTtiltedBarrelLayer(std::vector< const Phase2OTBarrelRod *> &innerRods, std::vector< const Phase2OTBarrelRod *> &outerRods, std::vector< const Phase2EndcapRing *> &negRings, std::vector< const Phase2EndcapRing *> &posRings)
ReferenceCountingPointer< BoundCylinder > theCylinder
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
~Phase2OTtiltedBarrelLayer() override
GeometricSearchDet::DetWithState DetWithState
std::vector< const GeomDet * > theBasicComps
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
BoundCylinder * cylinder(const std::vector< const GeometricSearchDet *> &rods) const __attribute__((cold))