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())
26 std::vector<const GeometricSearchDet*>
theComps;
28 theComps.insert(theComps.end(),negRings.begin(),negRings.end());
29 theComps.insert(theComps.end(),posRings.begin(),posRings.end());
31 for(vector<const GeometricSearchDet*>::const_iterator it=theComps.begin();
32 it!=theComps.end();it++){
34 (**it).basicComponents().begin(),
35 (**it).basicComponents().end());
43 LogDebug(
"TkDetLayers") <<
"==== DEBUG Phase2OTtiltedBarrelLayer =====" ;
44 LogTrace(
"TkDetLayers") <<
"Phase2OTtiltedBarrelLayer Cyl r,lenght: " 50 LogTrace(
"TkDetLayers") <<
"negative rings in Phase2OT tilted barrel pos z,perp,eta,phi: " 51 << (**i).position().z() <<
" , " 52 << (**i).position().perp() <<
" , " 53 << (**i).position().eta() <<
" , " 54 << (**i).position().phi() ;
59 LogTrace(
"TkDetLayers") <<
"rods in Phase2OT tilted barrel pos z,perp,eta,phi: " 60 << (**i).position().z() <<
" , " 61 << (**i).position().perp() <<
" , " 62 << (**i).position().eta() <<
" , " 63 << (**i).position().phi() ;
68 LogTrace(
"TkDetLayers") <<
"positive rings in Phase2OT tilted barrel pos z,perp,eta,phi: " 69 << (**i).position().z() <<
" , " 70 << (**i).position().perp() <<
" , " 71 << (**i).position().eta() <<
" , " 72 << (**i).position().phi() ;
74 LogTrace(
"TkDetLayers") <<
"==== end DEBUG Phase2OTtiltedBarrelLayer =====" ;
81 vector<const GeometricSearchDet*>::const_iterator
i;
95 std::vector<DetGroup> &
result)
const {
96 vector<DetGroup> closestResultRods;
97 vector<DetGroup> closestResultNeg;
98 vector<DetGroup> closestResultPos;
101 ring->groupedCompatibleDetsV(tsos, prop, est, closestResultNeg);
104 ring->groupedCompatibleDetsV(tsos, prop, est, closestResultPos);
107 result.assign(closestResultRods.begin(),closestResultRods.end());
108 result.insert(result.end(),closestResultPos.begin(),closestResultPos.end());
109 result.insert(result.end(),closestResultNeg.begin(),closestResultNeg.end());
112 LogDebug(
"TkDetLayers") <<
"==== output di Phase2OTtiltedBarrelLayer =====" ;
113 if(closestResultRods.size() != 0){
114 for (
auto gr : closestResultRods) {
115 LogTrace(
"TkDetLayers") <<
"New Rod group:";
116 for (
auto dge : gr) {
117 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:"<<dge.det()->position().perp()<<
" id:"<<dge.det()->geographicalId().rawId()<<
" tsos at:" <<dge.trajectoryState().globalPosition();
121 if(closestResultNeg.size() != 0){
122 for (
auto gr : closestResultNeg) {
123 LogTrace(
"TkDetLayers") <<
"New negative group:";
124 for (
auto dge : gr) {
125 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:"<<dge.det()->position().perp()<<
" id:"<<dge.det()->geographicalId().rawId()<<
" tsos at:" <<dge.trajectoryState().globalPosition();
129 if(closestResultPos.size() != 0){
130 for (
auto gr : closestResultPos) {
131 LogTrace(
"TkDetLayers") <<
"New positive group:";
132 for (
auto dge : gr) {
133 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:"<<dge.det()->position().perp()<<
" id:"<<dge.det()->geographicalId().rawId()<<
" tsos at:" <<dge.trajectoryState().globalPosition();
138 if(result.size() != 0){
139 for (
auto gr : result) {
140 LogTrace(
"TkDetLayers") <<
"Total group:";
141 for (
auto dge : gr) {
142 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:"<<dge.det()->position().perp()<<
" id:"<<dge.det()->geographicalId().rawId()<<
" tsos at:" <<dge.trajectoryState().globalPosition();
146 LogTrace(
"TkDetLayers") <<
"result size is zero";
std::vector< const GeometricSearchDet * > thePositiveRingsComps
virtual void initialize()
BoundCylinder * cylinder(const std::vector< const GeometricSearchDet * > &rods) const __attribute__((cold))
~Phase2OTtiltedBarrelLayer()
std::vector< const GeometricSearchDet * > theComps
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const __attribute__((hot))
std::vector< const GeometricSearchDet * > theNegativeRingsComps
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const final
Phase2OTtiltedBarrelLayer(std::vector< const Phase2OTBarrelRod * > &innerRods, std::vector< const Phase2OTBarrelRod * > &outerRods, std::vector< const Phase2EndcapRing * > &negRings, std::vector< const Phase2EndcapRing * > &posRings)
ReferenceCountingPointer< BoundCylinder > theCylinder
virtual const std::vector< const GeometricSearchDet * > & components() const final __attribute__((cold))
Returns basic components, if any.
GeometricSearchDet::DetWithState DetWithState
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
std::vector< const GeomDet * > theBasicComps