00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef EVT_PDF_MAX_HH
00013 #define EVT_PDF_MAX_HH
00014
00015 #include "EvtGenBase/EvtMacros.hh"
00016
00017
00018
00019 template <class Point>
00020 class EvtPdfMax {
00021
00022 public:
00023
00024 EvtPdfMax()
00025 : _value(-1),_valueKnown(false), _locKnown(false)
00026 {}
00027 EvtPdfMax(double value)
00028 : _value(value),_valueKnown(true), _locKnown(false)
00029 {}
00030 EvtPdfMax(Point p, double value)
00031 : _value(value), _valueKnown(true), _locKnown(true), _loc(p)
00032 {}
00033 EvtPdfMax(const EvtPdfMax& other)
00034 : COPY_MEM(_value), COPY_MEM(_valueKnown), COPY_MEM(_locKnown), COPY_MEM(_loc)
00035 {}
00036 ~EvtPdfMax() {}
00037
00038 bool valueKnown() const { return _valueKnown; }
00039 double value() const { assert(_valueKnown); return _value; }
00040 bool locKnown() const { return _locKnown; }
00041 Point loc() const { assert(_locKnown); return _loc; }
00042
00043 private:
00044
00045 double _value;
00046 bool _valueKnown;
00047 bool _locKnown;
00048 Point _loc;
00049
00050 };
00051
00052 #endif