CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/RecoTracker/TkDetLayers/src/SimpleTECWedge.cc

Go to the documentation of this file.
00001 #include "SimpleTECWedge.h"
00002 
00003 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00004 
00005 #include "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