|
||||
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_ICLOUD3D_H 0008 #define AIDA_ICLOUD3D_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 IHistogram3D; 0022 0023 /** 0024 * User level interface to a 3D Cloud. 0025 * 0026 * @author The AIDA team (http://aida.freehep.org/) 0027 * 0028 */ 0029 0030 class ICloud3D : virtual public ICloud { 0031 0032 public: 0033 /// Destructor. 0034 virtual ~ICloud3D() { /* nop */; } 0035 0036 /** 0037 * Fill the ICloud3D with a triplet of values and a corresponding weight. 0038 * @param x The x value. 0039 * @param y The y value. 0040 * @param z The z value. 0041 * @param weight The corresponding weight. By default it is 1. 0042 * @return false If the ICloud3D is full, if the weight's value is 0043 * is not between 0 and 1. 0044 * 0045 */ 0046 virtual bool fill(double x, double y, double z, double weight = 1.) = 0; 0047 0048 /** 0049 * Get the lower edge of the ICloud3D along the x axis. 0050 * @return The lower edge along the x axis. 0051 * 0052 */ 0053 virtual double lowerEdgeX() const = 0; 0054 0055 /** 0056 * Get the lower edge of the ICloud3D along the y axis. 0057 * @return The lower edge along the y axis. 0058 * 0059 */ 0060 virtual double lowerEdgeY() const = 0; 0061 0062 /** 0063 * Get the lower edge of the ICloud3D along the z axis. 0064 * @return The lower edge along the z axis. 0065 * 0066 */ 0067 virtual double lowerEdgeZ() const = 0; 0068 0069 /** 0070 * Get the upper edge of the ICloud3D along the x axis. 0071 * @return The upper edge along the x axis. 0072 * 0073 */ 0074 virtual double upperEdgeX() const = 0; 0075 0076 /** 0077 * Get the upper edge of the ICloud3D along the y axis. 0078 * @return The upper edge along the y axis. 0079 * 0080 */ 0081 virtual double upperEdgeY() const = 0; 0082 0083 /** 0084 * Get the upper edge of the ICloud3D along the z axis. 0085 * @return The upper edge along the z axis. 0086 * 0087 */ 0088 virtual double upperEdgeZ() const = 0; 0089 0090 /** 0091 * Get the x value corresponding to a given entry. 0092 * @param index The entry's index. 0093 * @return The x value of the index-th entry. 0094 * If the ICloud3D has already been converted, 0 is returned. 0095 * 0096 */ 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 virtual double valueX(int index) const = 0; 0108 0109 /** 0110 * Get the y value corresponding to a given entry. 0111 * @param index The entry's index. 0112 * @return The y value of the index-th entry. 0113 * If the ICloud3D has already been converted, 0 is returned. 0114 * 0115 */ 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 virtual double valueY(int index) const = 0; 0127 0128 /** 0129 * Get the z value corresponding to a given entry. 0130 * @param index The entry's index. 0131 * @return The z value of the index-th entry. 0132 * If the ICloud3D has already been converted, 0 is returned. 0133 * 0134 */ 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 virtual double valueZ(int index) const = 0; 0146 0147 /** 0148 * Get the weight corresponding to a given entry. 0149 * @param index The entry's index. 0150 * @return The weight of the index-th entry. 0151 * If the ICloud3D has already been converted, 0 is returned. 0152 * 0153 */ 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 virtual double weight(int index) const = 0; 0165 0166 /** 0167 * Get the mean of the ICloud3D along the x axis. 0168 * @return The mean along the x axis. 0169 * 0170 */ 0171 virtual double meanX() const = 0; 0172 0173 /** 0174 * Get the mean of the ICloud3D along the y axis. 0175 * @return The mean along the y axis. 0176 * 0177 */ 0178 virtual double meanY() const = 0; 0179 0180 /** 0181 * Get the mean of the ICloud3D along the z axis. 0182 * @return The mean along the z axis. 0183 * 0184 */ 0185 virtual double meanZ() const = 0; 0186 0187 /** 0188 * Get the RMS of the ICloud3D along the x axis. 0189 * @return The RMS along the x axis. 0190 * 0191 */ 0192 virtual double rmsX() const = 0; 0193 0194 /** 0195 * Get the RMS of the ICloud3D along the y axis. 0196 * @return The RMS along the y axis. 0197 * 0198 */ 0199 virtual double rmsY() const = 0; 0200 0201 /** 0202 * Get the RMS of the ICloud3D along the z axis. 0203 * @return The RMS along the z axis. 0204 * 0205 */ 0206 virtual double rmsZ() const = 0; 0207 0208 /** 0209 * Convert internally the ICloud3D to an IHistogram3D 0210 * with given number of bins, upper edge and lower edge. 0211 * @param nBinsX The number of bins of the x axis. 0212 * @param lowerEdgeX The lower edge of bins of the x axis. 0213 * @param upperEdgeX The upper edge of bins of the x axis. 0214 * @param nBinsY The number of bins of the y axis. 0215 * @param lowerEdgeY The lower edge of bins of the y axis. 0216 * @param upperEdgeY The upper edge of bins of the y axis. 0217 * @param nBinsZ The number of bins of the z axis. 0218 * @param lowerEdgeZ The lower edge of bins of the z axis. 0219 * @param upperEdgeZ The upper edge of bins of the z axis. 0220 * @return false If the ICloud3D has already been converted. 0221 * 0222 */ 0223 virtual bool convert(int nBinsX, double lowerEdgeX, double upperEdgeX, int nBinsY, double lowerEdgeY, double upperEdgeY, int nBinsZ, double lowerEdgeZ, double upperEdgeZ) = 0; 0224 0225 /** 0226 * Convert internally the ICloud3D to an IHistogram3D 0227 * with given bin edges. 0228 * @param binEdgesX The bins edges of the x axis. 0229 * @param binEdgesY The bins edges of the y axis. 0230 * @param binEdgesZ The bins edges of the z axis. 0231 * @return false If the ICloud3D has already been converted. 0232 * 0233 */ 0234 virtual bool convert(const std::vector<double> & binEdgesX, const std::vector<double> & binEdgesY, const std::vector<double> & binEdgesZ) = 0; 0235 0236 /** 0237 * Get the internal IHistogram3D in which the ICloud3D converted to. 0238 * @return The histogram. 0239 * or because of a convert() method invocation. 0240 * 0241 */ 0242 virtual const IHistogram3D & histogram() const = 0; 0243 0244 /** 0245 * Project the ICloud3D on an IHistogram3D. 0246 * @param hist The IHistogram3D to be filled. 0247 * @return false If the ICloud3D is already converted. 0248 * 0249 */ 0250 virtual bool fillHistogram(IHistogram3D & hist) const = 0; 0251 }; // class 0252 } // namespace AIDA 0253 #endif /* ifndef AIDA_ICLOUD3D_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |