Line data Source code
1 : /*******************************************************************************
2 : * Project: BaBar detector at the SLAC PEP-II B-factory
3 : * Package: EvtGenBase
4 : * File: $Id: EvtPdfMax.hh,v 1.2 2009-03-16 16:40:15 robbep Exp $
5 : * Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
6 : *
7 : * Copyright (C) 2002 Caltech
8 : *******************************************************************************/
9 :
10 : // Pdf maximum and its location
11 :
12 : #ifndef EVT_PDF_MAX_HH
13 : #define EVT_PDF_MAX_HH
14 :
15 : #include "EvtGenBase/EvtMacros.hh"
16 :
17 : // PDF maximum - helper class
18 :
19 : template <class Point>
20 : class EvtPdfMax {
21 :
22 : public:
23 :
24 0 : EvtPdfMax()
25 0 : : _value(-1),_valueKnown(false), _locKnown(false)
26 0 : {}
27 0 : EvtPdfMax(double value)
28 0 : : _value(value),_valueKnown(true), _locKnown(false)
29 0 : {}
30 : EvtPdfMax(Point p, double value)
31 0 : : _value(value), _valueKnown(true), _locKnown(true), _loc(p)
32 0 : {}
33 : EvtPdfMax(const EvtPdfMax& other)
34 0 : : COPY_MEM(_value), COPY_MEM(_valueKnown), COPY_MEM(_locKnown), COPY_MEM(_loc)
35 0 : {}
36 0 : ~EvtPdfMax() {}
37 :
38 0 : bool valueKnown() const { return _valueKnown; }
39 0 : double value() const { assert(_valueKnown); return _value; }
40 : bool locKnown() const { return _locKnown; }
41 : Point loc() const { assert(_locKnown); return _loc; }
42 :
43 : private:
44 :
45 : double _value;
46 : bool _valueKnown;
47 : bool _locKnown;
48 : Point _loc;
49 :
50 : };
51 :
52 : #endif
|