00001 #ifndef Alignment_ReferenceTrajectories_ReferenceTrajectoryFactory_h 00002 #define Alignment_ReferenceTrajectories_ReferenceTrajectoryFactory_h 00003 00004 #include "Alignment/ReferenceTrajectories/interface/TrajectoryFactoryBase.h" 00005 00007 00008 00009 class ReferenceTrajectoryFactory : public TrajectoryFactoryBase 00010 { 00011 00012 public: 00013 00014 ReferenceTrajectoryFactory( const edm::ParameterSet & config ); 00015 virtual ~ReferenceTrajectoryFactory( void ); 00016 00018 virtual const ReferenceTrajectoryCollection trajectories( const edm::EventSetup & setup, 00019 const ConstTrajTrackPairCollection & tracks ) const; 00020 00021 virtual const ReferenceTrajectoryCollection trajectories( const edm::EventSetup& setup, 00022 const ConstTrajTrackPairCollection& tracks, 00023 const ExternalPredictionCollection& external ) const; 00024 00025 virtual ReferenceTrajectoryFactory* clone( void ) const { return new ReferenceTrajectoryFactory( *this ); } 00026 00027 protected: 00028 00029 double theMass; 00030 }; 00031 00032 00033 #endif