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;
102 ring->groupedCompatibleDetsV(tsos, prop, est, closestResultNeg);
106 ring->groupedCompatibleDetsV(tsos, prop, est, closestResultPos);
109 result.assign(closestResultRods.begin(),closestResultRods.end());
110 result.insert(result.end(),closestResultPos.begin(),closestResultPos.end());
111 result.insert(result.end(),closestResultNeg.begin(),closestResultNeg.end());
114 LogDebug(
"TkDetLayers") <<
"==== output di Phase2OTtiltedBarrelLayer =====" ;
115 if(closestResultRods.size() != 0){
116 for (
auto gr : closestResultRods) {
117 LogTrace(
"TkDetLayers") <<
"New Rod group:";
118 for (
auto dge : gr) {
119 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:"<<dge.det()->position().perp()<<
" id:"<<dge.det()->geographicalId().rawId()<<
" tsos at:" <<dge.trajectoryState().globalPosition();
123 if(closestResultNeg.size() != 0){
124 for (
auto gr : closestResultNeg) {
125 LogTrace(
"TkDetLayers") <<
"New negative group:";
126 for (
auto dge : gr) {
127 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:"<<dge.det()->position().perp()<<
" id:"<<dge.det()->geographicalId().rawId()<<
" tsos at:" <<dge.trajectoryState().globalPosition();
131 if(closestResultPos.size() != 0){
132 for (
auto gr : closestResultPos) {
133 LogTrace(
"TkDetLayers") <<
"New positive group:";
134 for (
auto dge : gr) {
135 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:"<<dge.det()->position().perp()<<
" id:"<<dge.det()->geographicalId().rawId()<<
" tsos at:" <<dge.trajectoryState().globalPosition();
140 if(result.size() != 0){
141 for (
auto gr : result) {
142 LogTrace(
"TkDetLayers") <<
"Total group:";
143 for (
auto dge : gr) {
144 LogTrace(
"TkDetLayers") <<
"new det with geom det at r:"<<dge.det()->position().perp()<<
" id:"<<dge.det()->geographicalId().rawId()<<
" tsos at:" <<dge.trajectoryState().globalPosition();
148 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))
std::vector< const GeometricSearchDet * > theComps
GlobalPoint globalPosition() const
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __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
const std::vector< const GeometricSearchDet * > & components() const final __attribute__((cold))
Returns basic components, if any.
~Phase2OTtiltedBarrelLayer() override
GeometricSearchDet::DetWithState DetWithState
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
std::vector< const GeomDet * > theBasicComps