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_IBASEHISTOGRAM_H
0008 #define AIDA_IBASEHISTOGRAM_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 <string>
0016 
0017 namespace AIDA {
0018 
0019 class IAnnotation;
0020 
0021 /**
0022  * User level interface to Histogram.
0023  * Provides the common functionality of the histogram-like classes.
0024  *
0025  * @author The AIDA team (http://aida.freehep.org/)
0026  *
0027  */
0028  
0029 class IBaseHistogram {
0030 
0031 public: 
0032     /// Destructor.
0033     virtual ~IBaseHistogram() { /* nop */; }
0034 
0035   /**
0036    * Get the Histogram's title.
0037    * @return The Histogram's title.
0038    *
0039    */
0040     virtual std::string title() const = 0;
0041 
0042   /**
0043    * Set the histogram title.
0044    * @param title The title.
0045    * @return false If title cannot be changed.
0046    *
0047    */
0048     virtual bool setTitle(const std::string & title) = 0;
0049 
0050   /**
0051    * Get the IAnnotation associated with the Histogram.
0052    * @return The IAnnotation.
0053    *
0054    */
0055     virtual IAnnotation & annotation() = 0;
0056 
0057     virtual const IAnnotation & annotation() const = 0;
0058 
0059   /**
0060    * Get the Histogram's dimension.
0061    * @return The Histogram's dimension.
0062    *
0063    */ 
0064     virtual int dimension() const = 0;
0065 
0066   /**
0067    * Reset the Histogram; as if just created.
0068    * @return false If something goes wrong.
0069    *
0070    */
0071     virtual bool reset() = 0;
0072 
0073   /**
0074    * Get the number of in-range entries in the Histogram.
0075    * @return The number of in-range entries.
0076    *
0077    */ 
0078     virtual int entries() const = 0;
0079 
0080   /**
0081    *  See IManagedObject for a description.
0082    * @param className The name of the class to cast on.
0083    * @return The right pointer. Return 0 if failure.
0084    */ 
0085     virtual void * cast(const std::string & className) const = 0;
0086 }; // class
0087 } // namespace AIDA
0088 #endif /* ifndef AIDA_IBASEHISTOGRAM_H */