00001 #ifndef GenInfoProduct_h 00002 #define GenInfoProduct_h 00003 00010 namespace edm { 00011 00012 00013 00014 class GenInfoProduct { 00015 public: 00016 GenInfoProduct() : cs_( 0 ), cs2_(0), fe_(0) { } 00017 explicit GenInfoProduct( double cross_section ); 00018 virtual ~GenInfoProduct() { } 00019 00020 const double cross_section() const {return cs_ ; } 00021 const double external_cross_section() const {return cs2_ ; } 00022 const double filter_efficiency() const {return fe_ ; } 00023 00024 void set_cross_section(double cross_section) { cs_ = cross_section ; } 00025 void set_external_cross_section(double cross_sect) { cs2_ = cross_sect ; } 00026 void set_filter_efficiency(double eff) { fe_ = eff ; } 00027 00028 GenInfoProduct(GenInfoProduct const& x); 00029 00030 virtual bool mergeProduct(const GenInfoProduct &other); 00031 virtual bool isProductEqual(const GenInfoProduct &other) 00032 { return cs_ == other.cs_ && cs2_ == other.cs2_ && fe_ == other.fe_; } 00033 00034 private: 00035 double cs_; 00036 double cs2_; 00037 double fe_; 00038 00039 }; 00040 00041 00042 } 00043 #endif