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