Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:08

0001 // -*- C++ -*-
0002 // AID-GENERATED
0003 // =========================================================================
0004 // This class was generated by AID - Abstract Interface Definition          
0005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 
0006 // =========================================================================
0007 #ifndef AIDA_IHISTOGRAM_H
0008 #define AIDA_IHISTOGRAM_H 1
0009 
0010 //  This file is part of the AIDA library
0011 //  Copyright (C) 2002 by the AIDA team.  All rights reserved.
0012 //  This library is free software and under the terms of the
0013 //  GNU Library General Public License described in the LGPL.txt 
0014 
0015 #include "AIDA/IBaseHistogram.h"
0016 
0017 namespace AIDA {
0018 
0019 /**
0020  * User level interface to Histogram.
0021  *
0022  * @author The AIDA team (http://aida.freehep.org/)
0023  *
0024  */
0025  
0026 class IHistogram : virtual public IBaseHistogram {
0027 
0028 public: 
0029     /// Destructor.
0030     virtual ~IHistogram() { /* nop */; }
0031 
0032     /**
0033      * Sum of the entries in all the IHistogram's bins,
0034      * i.e in-range bins, UNDERFLOW and OVERFLOW.
0035      * This is equivalent to the number of times the
0036      * method fill was invoked.
0037      * @return The sum of all the entries.
0038      *
0039      */
0040     virtual int allEntries() const = 0;
0041 
0042     /**
0043      * Number of entries in the UNDERFLOW and OVERFLOW bins.
0044      * @return The number of entries outside the range of the IHistogram.
0045      *
0046      */
0047     virtual int extraEntries() const = 0;
0048 
0049     /**
0050      * Number of equivalent entries, i.e. <tt>SUM[ weight ] ^ 2 / SUM[ weight^2 ]</tt>
0051      * @return The number of equivalent entries.
0052      *
0053      */
0054     virtual double equivalentBinEntries() const = 0;
0055 
0056     /**
0057      * Sum of in-range bin heights in the IHistogram,
0058      * UNDERFLOW and OVERFLOW bins are excluded.
0059      * @return The sum of the in-range bins heights.
0060      *
0061      */
0062     virtual double sumBinHeights() const = 0;
0063 
0064     /**
0065      * Sum of the heights of all the IHistogram's bins,
0066      * i.e in-range bins, UNDERFLOW and OVERFLOW.
0067      * @return The sum of all the bins heights.
0068      *
0069      */
0070     virtual double sumAllBinHeights() const = 0;
0071 
0072     /**
0073      * Sum of heights in the UNDERFLOW and OVERFLOW bins.
0074      * @return The sum of the heights of the out-of-range bins.
0075      *
0076      */
0077     virtual double sumExtraBinHeights() const = 0;
0078 
0079     /**
0080      * Minimum height of the in-range bins,
0081      * i.e. not considering the UNDERFLOW and OVERFLOW bins.
0082      * @return The minimum height among the in-range bins.
0083      *
0084      */
0085     virtual double minBinHeight() const = 0;
0086 
0087     /**
0088      * Maximum height of the in-range bins,
0089      * i.e. not considering the UNDERFLOW and OVERFLOW bins.
0090      * @return The maximum height among the in-range bins.
0091      *
0092      */
0093     virtual double maxBinHeight() const = 0;
0094 
0095     /**
0096      * Scale the weights and the errors of all the IHistogram's bins
0097      * (in-range and out-of-range ones) by a given scale factor.
0098      * @param scaleFactor The scale factor.
0099      * @return false If the scale factor is negative.
0100      *
0101      */
0102     virtual bool scale(double scaleFactor) = 0;
0103 }; // class
0104 } // namespace AIDA
0105 #endif /* ifndef AIDA_IHISTOGRAM_H */