CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/Validation/DTRecHits/interface/DTHitQualityUtils.h

Go to the documentation of this file.
00001 #ifndef DTHitQualityUtils_H
00002 #define DTHitQualityUtils_H
00003 
00014 #include "DataFormats/GeometryVector/interface/LocalVector.h"
00015 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00016 #include "DataFormats/DetId/interface/DetId.h"
00017 #include "DataFormats/MuonDetId/interface/DTWireId.h"
00018 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
00019 
00020 #include <map>
00021 
00022 class PSimHit;
00023 class DTGeometry;
00024 
00025 class DTHitQualityUtils {
00026 public:
00027 
00029   DTHitQualityUtils();
00030 
00031 
00033   virtual ~DTHitQualityUtils();
00034 
00037   static std::map<DTWireId, edm::PSimHitContainer > mapSimHitsPerWire(const edm::PSimHitContainer& simhits) ;
00039   static  std::map<DTWireId, const PSimHit*> mapMuSimHitsPerWire(const std::map<DTWireId, edm::PSimHitContainer>& simHitWireMap) ;
00041   static const PSimHit* findMuSimHit(const edm::PSimHitContainer& hits); 
00043   static std::pair<const PSimHit*, const PSimHit*> findMuSimSegment(const std::map<DTWireId, const PSimHit*>& mapWireAndMuSimHit) ;
00045   static std::pair<LocalVector, LocalPoint> findMuSimSegmentDirAndPos(const std::pair<const PSimHit*, const PSimHit*>& inAndOutSimHit, 
00046                                                                       const DetId detId, const DTGeometry *muonGeom);
00048   static std::pair<double, double> findSegmentAlphaAndBeta(const LocalVector& direction);
00049 
00050   // Set the verbosity level
00051   static bool debug; 
00052 
00053 
00054 protected:
00055 
00056 private:
00057 
00058 };
00059 #endif