CMS 3D CMS Logo

TwoBodyDecayTrajectory.h
Go to the documentation of this file.
1 #ifndef Alignment_ReferenceTrajectories_TwoBodyDecayTrajectory_h
2 #define Alignment_ReferenceTrajectories_TwoBodyDecayTrajectory_h
3 
6 
7 
12 namespace reco { class BeamSpot; }
13 
15 {
16 
17 public:
18 
20  typedef std::pair< ConstRecHitContainer, ConstRecHitContainer > ConstRecHitCollection;
21 
23  const ConstRecHitCollection& recHits,
24  const MagneticField* magField,
25  const reco::BeamSpot& beamSpot,
27 
28  TwoBodyDecayTrajectory( void );
29 
30  ~TwoBodyDecayTrajectory( void ) override {}
31 
32  TwoBodyDecayTrajectory* clone( void ) const override
33  { return new TwoBodyDecayTrajectory( *this ); }
34 
37  inline const std::pair< int, int > numberOfRecHits( void ) { return theNumberOfRecHits; }
38 
39 private:
40 
41  bool construct(const TwoBodyDecayTrajectoryState& state,
42  const ConstRecHitCollection& recHits,
43  const MagneticField* field,
44  const reco::BeamSpot& beamSpot);
45 
46  void constructTsosVecWithErrors( const ReferenceTrajectory& traj1,
47  const ReferenceTrajectory& traj2,
48  const MagneticField* field );
49 
50  void constructSingleTsosWithErrors( const TrajectoryStateOnSurface & tsos,
51  int iTsos,
52  const MagneticField* field );
53 
56  const bool useRefittedState_;
58 
59  std::pair< int, int > theNumberOfRecHits;
60 };
61 
62 #endif
Definition: config.py:1
PropagationDirection
const PropagationDirection propDir_
std::pair< ConstRecHitContainer, ConstRecHitContainer > ConstRecHitCollection
const MaterialEffects materialEffects_
std::pair< int, int > theNumberOfRecHits
std::vector< ConstRecHitPointer > ConstRecHitContainer
~TwoBodyDecayTrajectory(void) override
fixed size matrix
const std::pair< int, int > numberOfRecHits(void)
TwoBodyDecayTrajectory * clone(void) const override
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer