evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtAbsBinning.hh
Go to the documentation of this file.
1 
2 /***********************************************************************
3 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4 * *
5 * This file is part of EvtGen. *
6 * *
7 * EvtGen is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * EvtGen is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19 ***********************************************************************/
20 
21 #ifndef EVT_ABS_BINNING_HH
22 #define EVT_ABS_BINNING_HH
23 #define BIN_OUTSIDE -1
24 
25 #include <stdio.h>
26 
27 /*
28  * Data point to bin value mapping
29  */
30 
31 template <class T>
33  public:
36  virtual ~EvtAbsBinning() {}
37 
38  virtual EvtAbsBinning<T>* clone() const = 0;
39  virtual int getBin( const T& point ) const = 0;
40  virtual T getBinPoint( int bin ) const = 0;
41  virtual double size( int bin ) const = 0;
42 
43  virtual int nTypes() const = 0;
44 
45  virtual char* typeLabel( int i ) const
46  {
47  char* a = new char[128];
48  sprintf( a, "%d", i );
49  return a;
50  }
51 };
52 
53 #endif
virtual int getBin(const T &point) const =0
virtual T getBinPoint(int bin) const =0
EvtAbsBinning(const EvtAbsBinning< T > &other)
virtual char * typeLabel(int i) const
virtual ~EvtAbsBinning()
virtual EvtAbsBinning< T > * clone() const =0
virtual double size(int bin) const =0
virtual int nTypes() const =0
Index other(Index i, Index j)
Definition: EvtCyclic3.cpp:156