Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:51

0001 #ifndef CosmicMuonProducer_CosmicMuonUtilities_H
0002 #define CosmicMuonProducer_CosmicMuonUtilities_H
0003 
0004 /** \file CosmicMuonUtilities
0005  *  contain those methods that are commonly used
0006  *
0007  *  \author Chang Liu  -  Purdue University
0008  */
0009 
0010 #include "RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h"
0011 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
0012 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0013 
0014 class Propagator;
0015 
0016 namespace edm {
0017   class ParameterSet;
0018   class Event;
0019   class EventSetup;
0020 }  // namespace edm
0021 
0022 class Trajectory;
0023 class TrajectoryMeasurement;
0024 
0025 typedef MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer;
0026 typedef TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer;
0027 typedef TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer;
0028 typedef MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer;
0029 
0030 class CosmicMuonUtilities {
0031 public:
0032   CosmicMuonUtilities();
0033 
0034   virtual ~CosmicMuonUtilities();
0035 
0036   std::string print(const ConstMuonRecHitContainer&) const;
0037 
0038   std::string print(const MuonRecHitContainer&) const;
0039 
0040   std::string print(const ConstRecHitContainer&) const;
0041 
0042   bool isTraversing(const Trajectory&) const;
0043 
0044   void reverseDirection(TrajectoryStateOnSurface&, const MagneticField*) const;
0045 
0046   TrajectoryStateOnSurface stepPropagate(const TrajectoryStateOnSurface&,
0047                                          const ConstRecHitPointer&,
0048                                          const Propagator&) const;
0049 
0050 private:
0051 };
0052 #endif