|
||||
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_ICLOUD1D_H 0008 #define AIDA_ICLOUD1D_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 <vector> 0016 0017 #include "AIDA/ICloud.h" 0018 0019 namespace AIDA { 0020 0021 class IHistogram1D; 0022 0023 /** 0024 * User level interface to a 1D Cloud. 0025 * 0026 * @author The AIDA team (http://aida.freehep.org/) 0027 * 0028 */ 0029 0030 class ICloud1D : virtual public ICloud { 0031 0032 public: 0033 /// Destructor. 0034 virtual ~ICloud1D() { /* nop */; } 0035 0036 /** 0037 * Fill the ICloud1D with a value and a corresponding weight. 0038 * @param x The value. 0039 * @param weight The corresponding weight. By default it is 1. 0040 * @return false If the ICloud1D is full, if the weight's value is 0041 * is not between 0 and 1. 0042 * 0043 */ 0044 virtual bool fill(double x, double weight = 1.) = 0; 0045 0046 /** 0047 * Get the lower edge of the ICloud1D. 0048 * @return The lower edge. 0049 * 0050 */ 0051 virtual double lowerEdge() const = 0; 0052 0053 /** 0054 * Get the upper edge of the ICloud1D. 0055 * @return The upper edge. 0056 * 0057 */ 0058 virtual double upperEdge() const = 0; 0059 0060 /** 0061 * Get the value corresponding to a given entry. 0062 * @param index The entry's index. 0063 * @return The value of the index-th entry. 0064 * If the ICloud1D has already been converted, 0 is returned. 0065 * 0066 */ 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 virtual double value(int index) const = 0; 0078 0079 /** 0080 * Get the weight corresponding to a given entry. 0081 * @param index The entry's index. 0082 * @return The weight of the index-th entry. 0083 * If the ICloud1D has already been converted, 0 is returned. 0084 * 0085 */ 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 virtual double weight(int index) const = 0; 0097 0098 /** 0099 * Get the mean of the ICloud1D. 0100 * @return The mean. 0101 * 0102 */ 0103 virtual double mean() const = 0; 0104 0105 /** 0106 * Get the RMS of the ICloud1D. 0107 * @return The RMS. 0108 * 0109 */ 0110 virtual double rms() const = 0; 0111 0112 /** 0113 * Convert internally the ICloud1D to an IHistogram1D 0114 * with given number of bins, upper edge and lower edge. 0115 * @param nBins The number of bins. 0116 * @param lowerEdge The lower edge. 0117 * @param upperEdge The upper edge. 0118 * @return false If the ICloud1D has already been converted. 0119 * 0120 */ 0121 virtual bool convert(int nBins, double lowerEdge, double upperEdge) = 0; 0122 0123 /** 0124 * Convert internally the ICloud1D to an IHistogram1D 0125 * with given bin edges. 0126 * @param binEdges The bins edges. 0127 * @return false If the ICloud1D has already been converted. 0128 * 0129 */ 0130 virtual bool convert(const std::vector<double> & binEdges) = 0; 0131 0132 /** 0133 * Get the internal IHistogram1D in which the ICloud1D converted to. 0134 * @return The histogram. 0135 * or because of a convert() method invocation. 0136 * 0137 */ 0138 virtual const IHistogram1D & histogram() const = 0; 0139 0140 /** 0141 * Project the ICloud1D on an IHistogram1D. 0142 * @param hist The IHistogram1D to be filled. 0143 * @return false If the ICloud1D is already converted. 0144 * 0145 */ 0146 virtual bool fillHistogram(IHistogram1D & hist) const = 0; 0147 }; // class 0148 } // namespace AIDA 0149 #endif /* ifndef AIDA_ICLOUD1D_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |