|
||||
File indexing completed on 2025-01-18 09:28:09
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_IPROFILE1D_H 0008 #define AIDA_IPROFILE1D_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/IProfile.h" 0016 0017 namespace AIDA { 0018 0019 class IAxis; 0020 0021 /** 0022 * User level interface to a 1-dimensional profile histogram 0023 * 0024 * @author The AIDA team (http://aida.freehep.org/) 0025 * 0026 */ 0027 0028 class IProfile1D : virtual public IProfile { 0029 0030 public: 0031 /// Destructor. 0032 virtual ~IProfile1D() { /* nop */; } 0033 0034 /** 0035 * Fill the IProfile1D. 0036 * 0037 */ 0038 virtual bool fill(double x, double y, double weight = 1) = 0; 0039 0040 /** 0041 * The weighted mean of the corresponding bin. 0042 * @param index the bin number (0...N-1) or OVERFLOW or UNDERFLOW. 0043 * @return The mean of the corresponding bin along the x axis. 0044 * 0045 */ 0046 virtual double binMean(int index) const = 0; 0047 0048 /** 0049 * Number of entries in the corresponding bin (ie the number of times fill was called for this bin). 0050 * @param index the bin number (0...N-1) or OVERFLOW or UNDERFLOW. 0051 */ 0052 virtual int binEntries(int index) const = 0; 0053 0054 /** 0055 * Total height of the corresponding bin (ie the sum of the weights in this bin). 0056 * @param index the bin number (0...N-1) or OVERFLOW or UNDERFLOW. 0057 */ 0058 virtual double binHeight(int index) const = 0; 0059 0060 /** 0061 * The error on this bin. 0062 * @param index the bin number (0...N-1) or OVERFLOW or UNDERFLOW. 0063 */ 0064 virtual double binError(int index) const = 0; 0065 0066 /** 0067 * The spread (RMS) of a bin. 0068 * @param index the bin number (0...N-1) or OVERFLOW or UNDERFLOW. 0069 * 0070 */ 0071 virtual double binRms(int index) const = 0; 0072 0073 /** 0074 * Returns the mean of the whole profile as calculated on filling-time. 0075 */ 0076 virtual double mean() const = 0; 0077 0078 /** 0079 * Returns the rms of the whole profile as calculated on filling-time. 0080 */ 0081 virtual double rms() const = 0; 0082 0083 /** 0084 * Returns the X axis. 0085 */ 0086 virtual const IAxis & axis() const = 0; 0087 0088 /** 0089 * Convenience method, equivalent to <tt>axis().coordToIndex(coord)</tt>. 0090 * @see IAxis#coordToIndex(double) 0091 */ 0092 virtual int coordToIndex(double coord) const = 0; 0093 0094 /** 0095 * Modifies this IProfile1D by adding the contents of profile to it. 0096 * 0097 * @param profile The IProfile1D to be added to this IProfile1D 0098 * @return false if profile binnings are incompatible 0099 */ 0100 virtual bool add(const IProfile1D & profile) = 0; 0101 }; // class 0102 } // namespace AIDA 0103 #endif /* ifndef AIDA_IPROFILE1D_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |