CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
KalmanAlignmentSetup.h
Go to the documentation of this file.
1 #ifndef Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentSetup_h
2 #define Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentSetup_h
3 
7 
11 
12 #include <vector>
13 #include <string>
14 
15 
17 {
18 
19 public:
20 
21  typedef int SubDetId;
23 
25 
27  const TrajectoryFitter* fitter,
28  const Propagator* propagator,
29  const std::vector< SubDetId >& trackingIds,
30  const unsigned int minTrackingHits,
31  const SortingDirection sortingDir,
34  const std::vector< SubDetId >& externalIds,
35  const unsigned int minExternalHits,
36  const SortingDirection externalSortingDir,
40 
42 
43  ~KalmanAlignmentSetup( void );
44 
45  inline const std::string id( void ) const { return theId; }
46 
47  inline const TrajectoryFitter* fitter( void ) const { return theFitter.get(); }
48  inline const TrajectoryFitter* externalFitter( void ) const { return theExternalFitter.get(); }
49 
50  inline const Propagator* propagator( void ) const { return thePropagator; }
51  inline const Propagator* externalPropagator( void ) const { return theExternalPropagator; }
52 
53  inline const std::vector< SubDetId >& getTrackingSubDetIds( void ) const { return theTrackingSubDetIds; }
54  inline const std::vector< SubDetId >& getExternalTrackingSubDetIds( void ) const { return theExternalTrackingSubDetIds; }
55 
56  inline const unsigned int minTrackingHits( void ) const { return theMinTrackingHits; }
57  inline const unsigned int minExternalHits( void ) const { return theMinExternalHits; }
58 
59  inline const SortingDirection sortingDirection( void ) const { return theSortingDir; }
60  inline const SortingDirection externalSortingDirection( void ) const { return theExternalSortingDir; }
61 
62  bool useForTracking( const ConstRecHitPointer& recHit ) const;
63  bool useForExternalTracking( const ConstRecHitPointer& recHit ) const;
64 
68 
69 private:
70 
72 
73  std::unique_ptr<TrajectoryFitter> theFitter;
75  std::vector< SubDetId > theTrackingSubDetIds;
76  unsigned int theMinTrackingHits;
78 
79  std::unique_ptr<TrajectoryFitter> theExternalFitter;
81  std::vector< SubDetId > theExternalTrackingSubDetIds;
82  unsigned int theMinExternalHits;
84 
88 
89 };
90 
91 #endif
SortingDirection theExternalSortingDir
const std::string id(void) const
TrajectoryFactoryBase * theTrajectoryFactory
KalmanAlignmentSetup(const std::string &id, const TrajectoryFitter *fitter, const Propagator *propagator, const std::vector< SubDetId > &trackingIds, const unsigned int minTrackingHits, const SortingDirection sortingDir, const TrajectoryFitter *externalFitter, const Propagator *externalPropagator, const std::vector< SubDetId > &externalIds, const unsigned int minExternalHits, const SortingDirection externalSortingDir, TrajectoryFactoryBase *trajectoryFactory, KalmanAlignmentUpdator *alignmentUpdator, KalmanAlignmentMetricsUpdator *metricsUpdator)
const Propagator * propagator(void) const
Propagator * theExternalPropagator
const TrajectoryFitter * fitter(void) const
KalmanAlignmentMetricsUpdator * metricsUpdator(void) const
const std::vector< SubDetId > & getTrackingSubDetIds(void) const
TrajectoryFactoryBase * trajectoryFactory(void) const
const unsigned int minExternalHits(void) const
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
std::unique_ptr< TrajectoryFitter > theFitter
bool useForExternalTracking(const ConstRecHitPointer &recHit) const
const std::vector< SubDetId > & getExternalTrackingSubDetIds(void) const
std::vector< SubDetId > theExternalTrackingSubDetIds
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
const TrajectoryFitter * externalFitter(void) const
KalmanAlignmentUpdator * alignmentUpdator(void) const
KalmanAlignmentMetricsUpdator * theMetricsUpdator
KalmanAlignmentUpdator * theAlignmentUpdator
const SortingDirection sortingDirection(void) const
const unsigned int minTrackingHits(void) const
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
const Propagator * externalPropagator(void) const
bool useForTracking(const ConstRecHitPointer &recHit) const
const SortingDirection externalSortingDirection(void) const
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
SortingDirection theSortingDir
std::vector< SubDetId > theTrackingSubDetIds
std::unique_ptr< TrajectoryFitter > theExternalFitter