00001 #include "RecoTracker/TkDetLayers/interface/SimpleTECWedge.h" 00002 00003 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00004 00005 #include "RecoTracker/TkDetLayers/interface/ForwardDiskSectorBuilderFromDet.h" 00006 #include "TrackingTools/DetLayers/interface/DetLayerException.h" 00007 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00008 00009 00010 using namespace std; 00011 00012 typedef GeometricSearchDet::DetWithState DetWithState; 00013 00014 SimpleTECWedge::SimpleTECWedge(const GeomDet* theInputDet): 00015 theDet(theInputDet) 00016 { 00017 theDets.push_back(theDet); 00018 00019 theDiskSector = ForwardDiskSectorBuilderFromDet()( theDets ); 00020 00021 LogDebug("TkDetLayers") << "DEBUG INFO for CompositeTECWedge" << "\n" 00022 << "TECWedge z, perp,innerRadius,outerR: " 00023 << this->position().z() << " , " 00024 << this->position().perp() << " , " 00025 << theDiskSector->innerRadius() << " , " 00026 << theDiskSector->outerRadius() ; 00027 00028 } 00029 00030 SimpleTECWedge::~SimpleTECWedge(){ 00031 00032 } 00033 00034 00035 const vector<const GeometricSearchDet*>& 00036 SimpleTECWedge::components() const{ 00037 throw DetLayerException("SimpleTECWedge doesn't have GeometricSearchDet components"); 00038 } 00039 00040 00041 pair<bool, TrajectoryStateOnSurface> 00042 SimpleTECWedge::compatible( const TrajectoryStateOnSurface& tsos, 00043 const Propagator& prop, 00044 const MeasurementEstimator& est) const 00045 { 00046 return GeomDetCompatibilityChecker::isCompatible( theDet,tsos, prop, est); 00047 } 00048 00049 00050 00051 void 00052 SimpleTECWedge::groupedCompatibleDetsV( const TrajectoryStateOnSurface& tsos, 00053 const Propagator& prop, 00054 const MeasurementEstimator& est, 00055 std::vector<DetGroup> & result) const{ 00056 pair<bool, TrajectoryStateOnSurface> compat = this->compatible(tsos,prop,est); 00057 00058 if (compat.first) { 00059 result.push_back( DetGroup(0,1) ); 00060 DetGroupElement ge( theDet, compat.second); 00061 result.front().push_back(ge); 00062 } 00063 00064 } 00065 00066 00067