CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/RecoMuon/CosmicMuonProducer/interface/CosmicMuonUtilities.h

Go to the documentation of this file.
00001 #ifndef CosmicMuonProducer_CosmicMuonUtilities_H
00002 #define CosmicMuonProducer_CosmicMuonUtilities_H
00003 
00012 #include "RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h"
00013 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
00014 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00015 
00016 class Propagator;
00017 
00018 namespace edm {class ParameterSet; class Event; class EventSetup;}
00019 
00020 class Trajectory;
00021 class TrajectoryMeasurement;
00022 
00023 typedef MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer;
00024 typedef TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer;
00025 typedef TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer;
00026 typedef MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer;
00027 
00028 
00029 class CosmicMuonUtilities {
00030 
00031   public:
00032 
00033     CosmicMuonUtilities();
00034 
00035     virtual ~CosmicMuonUtilities();
00036 
00037     std::string print(const ConstMuonRecHitContainer&) const;
00038 
00039     std::string print(const MuonRecHitContainer&) const;
00040 
00041     std::string print(const ConstRecHitContainer&) const;
00042 
00043     bool isTraversing(const Trajectory&) const;
00044 
00045     void reverseDirection(TrajectoryStateOnSurface&,const MagneticField*) const;
00046 
00047     TrajectoryStateOnSurface stepPropagate(const TrajectoryStateOnSurface&,
00048                                            const ConstRecHitPointer&,
00049                                            const Propagator&) const;
00050 
00051   private:
00052   
00053 };
00054 #endif