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;
26 theComps.insert(theComps.end(), negRings.begin(), negRings.end());
27 theComps.insert(theComps.end(), posRings.begin(), posRings.end());
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();
134 if (result.size() != 0) {
135 for (
auto gr : result) {
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
BoundCylinder * cylinder(const std::vector< const GeometricSearchDet * > &rods) const __attribute__((cold))
std::vector< const GeometricSearchDet * > theComps
GlobalPoint globalPosition() const
std::vector< const GeometricSearchDet * > theNegativeRingsComps
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
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
std::vector< const GeomDet * > theBasicComps
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState