CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrajectoryFactoryBase.h
Go to the documentation of this file.
1 #ifndef Alignment_ReferenceTrajectories_TrajectoryFactoryBase_h
2 #define Alignment_ReferenceTrajectories_TrajectoryFactoryBase_h
3 
6 
8 
10 
13 
14 
15 namespace reco { class BeamSpot;}
16 
18 {
19 
20 public:
21 
26  typedef std::vector< ReferenceTrajectoryPtr > ReferenceTrajectoryCollection;
27  typedef std::pair< TrajectoryStateOnSurface, TransientTrackingRecHit::ConstRecHitContainer > TrajectoryInput;
28  typedef std::vector< TrajectoryStateOnSurface > ExternalPredictionCollection;
29 
31  virtual ~TrajectoryFactoryBase( void );
32 
35  const reco::BeamSpot &beamSpot) const = 0;
36 
39  const ExternalPredictionCollection &external,
40  const reco::BeamSpot &beamSpot) const = 0;
41 
42  virtual TrajectoryFactoryBase* clone( void ) const = 0;
43 
44  inline MaterialEffects materialEffects( void ) const { return theMaterialEffects; }
45  inline PropagationDirection propagationDirection( void ) const { return thePropDir; }
46 
47 protected:
48 
49  virtual const TrajectoryInput innermostStateAndRecHits( const ConstTrajTrackPair & track ) const;
50  virtual const Trajectory::DataContainer orderedTrajectoryMeasurements( const Trajectory & trajectory ) const;
51  bool sameSurface( const Surface& s1, const Surface& s2 ) const;
52  bool useRecHit( const TransientTrackingRecHit::ConstRecHitPointer& hitPtr ) const;
53 
54 private:
55 
56  MaterialEffects materialEffects( const std::string & strME ) const;
57  PropagationDirection propagationDirection( const std::string & strPD ) const;
58 
61 
65 
66 protected:
67 
69 };
70 
71 
72 #endif
MaterialEffects theMaterialEffects
PropagationDirection thePropDir
MaterialEffects materialEffects(void) const
virtual const Trajectory::DataContainer orderedTrajectoryMeasurements(const Trajectory &trajectory) const
AlignmentAlgorithmBase::ConstTrajTrackPair ConstTrajTrackPair
PropagationDirection
bool useRecHit(const TransientTrackingRecHit::ConstRecHitPointer &hitPtr) const
tuple s2
Definition: indexGen.py:106
virtual TrajectoryFactoryBase * clone(void) const =0
TrajectoryFactoryBase(const edm::ParameterSet &config)
std::vector< TrajectoryMeasurement > DataContainer
Definition: Trajectory.h:42
bool sameSurface(const Surface &s1, const Surface &s2) const
virtual const TrajectoryInput innermostStateAndRecHits(const ConstTrajTrackPair &track) const
AlignmentAlgorithmBase::ConstTrajTrackPairCollection ConstTrajTrackPairCollection
std::vector< ReferenceTrajectoryPtr > ReferenceTrajectoryCollection
tuple tracks
Definition: testEve_cfg.py:39
virtual const ReferenceTrajectoryCollection trajectories(const edm::EventSetup &setup, const ConstTrajTrackPairCollection &tracks, const reco::BeamSpot &beamSpot) const =0
PropagationDirection propagationDirection(void) const
std::pair< const Trajectory *, const reco::Track * > ConstTrajTrackPair
std::pair< TrajectoryStateOnSurface, TransientTrackingRecHit::ConstRecHitContainer > TrajectoryInput
std::vector< TrajectoryStateOnSurface > ExternalPredictionCollection
ReferenceTrajectoryBase::MaterialEffects MaterialEffects
virtual ~TrajectoryFactoryBase(void)
ReferenceTrajectoryBase::ReferenceTrajectoryPtr ReferenceTrajectoryPtr
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
std::vector< ConstTrajTrackPair > ConstTrajTrackPairCollection