00001 #ifndef KeepingNonZeroWeightsMerger_H 00002 #define KeepingNonZeroWeightsMerger_H 00003 00004 #include "TrackingTools/GsfTools/interface/MultiGaussianStateMerger.h" 00005 00010 class KeepingNonZeroWeightsMerger : public MultiGaussianStateMerger { 00011 00012 public: 00013 00014 KeepingNonZeroWeightsMerger() : cut(1.e-7) {} 00015 00016 KeepingNonZeroWeightsMerger(const double& value) : cut(value) {} 00017 00018 virtual KeepingNonZeroWeightsMerger* clone() const 00019 { 00020 return new KeepingNonZeroWeightsMerger(*this); 00021 } 00022 00026 virtual RCMultiGaussianState merge(const RCMultiGaussianState& mgs) const; 00027 00028 private: 00029 00030 double cut; 00031 00032 }; 00033 00034 #endif // KeepingNonZeroWeightsMerger_H