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 
12 
15 
16 
17 namespace reco { class BeamSpot;}
18 
20 {
21 
22 public:
23 
28  typedef std::vector< ReferenceTrajectoryPtr > ReferenceTrajectoryCollection;
29  typedef std::pair< TrajectoryStateOnSurface, TransientTrackingRecHit::ConstRecHitContainer > TrajectoryInput;
30  typedef std::vector< TrajectoryStateOnSurface > ExternalPredictionCollection;
31 
34  unsigned int tracksPerTrajectory);
35  virtual ~TrajectoryFactoryBase( void );
36 
39  const reco::BeamSpot &beamSpot) const = 0;
40 
43  const ExternalPredictionCollection &external,
44  const reco::BeamSpot &beamSpot) const = 0;
45 
46  virtual TrajectoryFactoryBase* clone( void ) const = 0;
47 
48  inline MaterialEffects materialEffects( void ) const { return materialEffects_; }
49  inline PropagationDirection propagationDirection( void ) const { return propDir_; }
50  inline const edm::ParameterSet& configuration() const { return cfg_; }
51  inline unsigned int tracksPerTrajectory() const { return tracksPerTrajectory_; }
52 
53 protected:
54 
55  virtual const TrajectoryInput innermostStateAndRecHits( const ConstTrajTrackPair & track ) const;
56  virtual const Trajectory::DataContainer orderedTrajectoryMeasurements( const Trajectory & trajectory ) const;
57  bool sameSurface( const Surface& s1, const Surface& s2 ) const;
58  bool useRecHit( const TransientTrackingRecHit::ConstRecHitPointer& hitPtr ) const;
59 
60 private:
61 
62  MaterialEffects materialEffects( const std::string & strME ) const;
64 
65  const edm::ParameterSet cfg_; // need to keep for possible re-use after constructor... :-(
66  const unsigned int tracksPerTrajectory_;
69 
70  const bool useWithoutDet_;
71  const bool useInvalidHits_;
72  const bool useProjectedHits_;
73 
74 protected:
75 
76  const bool useBeamSpot_;
77  const bool includeAPEs_;
78  const bool allowZeroMaterial_;
79 };
80 
81 
82 #endif
MaterialEffects materialEffects(void) const
const MaterialEffects materialEffects_
virtual const Trajectory::DataContainer orderedTrajectoryMeasurements(const Trajectory &trajectory) const
AlignmentAlgorithmBase::ConstTrajTrackPair ConstTrajTrackPair
PropagationDirection
bool useRecHit(const TransientTrackingRecHit::ConstRecHitPointer &hitPtr) const
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
const unsigned int tracksPerTrajectory_
tuple s2
Definition: indexGen.py:106
virtual TrajectoryFactoryBase * clone(void) const =0
TrajectoryFactoryBase(const edm::ParameterSet &config)
std::vector< TrajectoryMeasurement > DataContainer
Definition: Trajectory.h:44
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
bool sameSurface(const Surface &s1, const Surface &s2) const
const edm::ParameterSet & configuration() const
std::pair< const Trajectory *, const reco::Track * > ConstTrajTrackPair
virtual const TrajectoryInput innermostStateAndRecHits(const ConstTrajTrackPair &track) const
AlignmentAlgorithmBase::ConstTrajTrackPairCollection ConstTrajTrackPairCollection
std::vector< ReferenceTrajectoryPtr > ReferenceTrajectoryCollection
tuple tracks
Definition: testEve_cfg.py:39
const PropagationDirection propDir_
const edm::ParameterSet cfg_
virtual const ReferenceTrajectoryCollection trajectories(const edm::EventSetup &setup, const ConstTrajTrackPairCollection &tracks, const reco::BeamSpot &beamSpot) const =0
PropagationDirection propagationDirection(void) const
unsigned int tracksPerTrajectory() 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
std::vector< ConstTrajTrackPair > ConstTrajTrackPairCollection