CERN Accelerating science

This website is no longer maintained. Its content may be obsolete. Please visit http://home.cern/ for current CERN information.

Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

IHistogramFactory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // AID-GENERATED
00003 // =========================================================================
00004 // This class was generated by AID - Abstract Interface Definition          
00005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 
00006 // =========================================================================
00007 #ifndef AIDA_IHISTOGRAMFACTORY_H
00008 #define AIDA_IHISTOGRAMFACTORY_H 1
00009 
00010 //  This file is part of the AIDA library
00011 //  Copyright (C) 2002 by the AIDA team.  All rights reserved.
00012 //  This library is free software and under the terms of the
00013 //  GNU Library General Public License described in the LGPL.txt 
00014 
00015 #include <string>
00016 #include <vector>
00017 
00018 namespace AIDA {
00019 
00020 class IBaseHistogram;
00021 class ICloud1D;
00022 class ICloud2D;
00023 class ICloud3D;
00024 class IHistogram1D;
00025 class IHistogram2D;
00026 class IHistogram3D;
00027 class IProfile1D;
00028 class IProfile2D;
00029 
00038 class IHistogramFactory {
00039 
00040 public: 
00042     virtual ~IHistogramFactory() { /* nop */; }
00043 
00050     virtual bool destroy(IBaseHistogram * hist) = 0;
00051 
00064     virtual ICloud1D * createCloud1D(const std::string & name, const std::string & title, int nMax = -1, const std::string & options = "") = 0;
00065 
00072     virtual ICloud1D * createCloud1D(const std::string & nameAndTitle) = 0;
00073 
00081     virtual ICloud1D * createCopy(const std::string & name, const ICloud1D & cloud) = 0;
00082 
00095     virtual ICloud2D * createCloud2D(const std::string & name, const std::string & title, int nMax = -1, const std::string & options = "") = 0;
00096 
00103     virtual ICloud2D * createCloud2D(const std::string & nameAndTitle) = 0;
00104 
00112     virtual ICloud2D * createCopy(const std::string & name, const ICloud2D & cloud) = 0;
00113 
00126     virtual ICloud3D * createCloud3D(const std::string & name, const std::string & title, int nMax = -1, const std::string & options = "") = 0;
00127 
00134     virtual ICloud3D * createCloud3D(const std::string & nameAndTitle) = 0;
00135 
00143     virtual ICloud3D * createCopy(const std::string & name, const ICloud3D & cloud) = 0;
00144 
00157     virtual IHistogram1D * createHistogram1D(const std::string & name, const std::string & title, int nBins, double lowerEdge, double upperEdge, const std::string & options = "") = 0;
00158 
00168     virtual IHistogram1D * createHistogram1D(const std::string & nameAndTitle, int nBins, double lowerEdge, double upperEdge) = 0;
00169 
00180     virtual IHistogram1D * createHistogram1D(const std::string & name, const std::string & title, const std::vector<double>  & binEdges, const std::string & options = "") = 0;
00181 
00189     virtual IHistogram1D * createCopy(const std::string & name, const IHistogram1D & hist) = 0;
00190 
00206     virtual IHistogram2D * createHistogram2D(const std::string & name, const std::string & title, int nBinsX, double lowerEdgeX, double upperEdgeX, int nBinsY, double lowerEdgeY, double upperEdgeY, const std::string & options = "") = 0;
00207 
00220     virtual IHistogram2D * createHistogram2D(const std::string & nameAndTitle, int nBinsX, double lowerEdgeX, double upperEdgeX, int nBinsY, double lowerEdgeY, double upperEdgeY) = 0;
00221 
00233     virtual IHistogram2D * createHistogram2D(const std::string & name, const std::string & title, const std::vector<double>  & binEdgesX, const std::vector<double>  & binEdgesY, const std::string & options = "") = 0;
00234 
00242     virtual IHistogram2D * createCopy(const std::string & name, const IHistogram2D & hist) = 0;
00243 
00262     virtual IHistogram3D * createHistogram3D(const std::string & name, const std::string & title, int nBinsX, double lowerEdgeX, double upperEdgeX, int nBinsY, double lowerEdgeY, double upperEdgeY, int nBinsZ, double lowerEdgeZ, double upperEdgeZ, const std::string & options = "") = 0;
00263 
00279     virtual IHistogram3D * createHistogram3D(const std::string & nameAndTitle, int nBinsX, double lowerEdgeX, double upperEdgeX, int nBinsY, double lowerEdgeY, double upperEdgeY, int nBinsZ, double lowerEdgeZ, double upperEdgeZ) = 0;
00280 
00293     virtual IHistogram3D * createHistogram3D(const std::string & name, const std::string & title, const std::vector<double>  & binEdgesX, const std::vector<double>  & binEdgesY, const std::vector<double>  & binEdgesZ, const std::string & options = "") = 0;
00294 
00302     virtual IHistogram3D * createCopy(const std::string & name, const IHistogram3D & hist) = 0;
00303 
00315     virtual IProfile1D * createProfile1D(const std::string & name, const std::string & title, int nBins, double lowerEdge, double upperEdge, const std::string & options = "") = 0;
00316 
00330     virtual IProfile1D * createProfile1D(const std::string & name, const std::string & title, int nBins, double lowerEdge, double upperEdge, double lowerValue, double upperValue, const std::string & options = "") = 0;
00331 
00341     virtual IProfile1D * createProfile1D(const std::string & name, const std::string & title, const std::vector<double>  & binEdges, const std::string & options = "") = 0;
00342 
00354     virtual IProfile1D * createProfile1D(const std::string & name, const std::string & title, const std::vector<double>  & binEdges, double lowerValue, double upperValue, const std::string & options = "") = 0;
00355 
00365     virtual IProfile1D * createProfile1D(const std::string & nameAndTitle, int nBins, double lowerEdge, double upperEdge) = 0;
00366 
00378     virtual IProfile1D * createProfile1D(const std::string & nameAndTitle, int nBins, double lowerEdge, double upperEdge, double lowerValue, double upperValue) = 0;
00379 
00387     virtual IProfile1D * createCopy(const std::string & name, const IProfile1D & profile) = 0;
00388 
00403     virtual IProfile2D * createProfile2D(const std::string & name, const std::string & title, int nBinsX, double lowerEdgeX, double upperEdgeX, int nBinsY, double lowerEdgeY, double upperEdgeY, const std::string & options = "") = 0;
00404 
00421     virtual IProfile2D * createProfile2D(const std::string & name, const std::string & title, int nBinsX, double lowerEdgeX, double upperEdgeX, int nBinsY, double lowerEdgeY, double upperEdgeY, double lowerValue, double upperValue, const std::string & options = "") = 0;
00422 
00433     virtual IProfile2D * createProfile2D(const std::string & name, const std::string & title, const std::vector<double>  & binEdgesX, const std::vector<double>  & binEdgesY, const std::string & options = "") = 0;
00434 
00447     virtual IProfile2D * createProfile2D(const std::string & name, const std::string & title, const std::vector<double>  & binEdgesX, const std::vector<double>  & binEdgesY, double lowerValue, double upperValue, const std::string & options = "") = 0;
00448 
00461     virtual IProfile2D * createProfile2D(const std::string & nameAndTitle, int nBinsX, double lowerEdgeX, double upperEdgeX, int nBinsY, double lowerEdgeY, double upperEdgeY) = 0;
00462 
00477     virtual IProfile2D * createProfile2D(const std::string & nameAndTitle, int nBinsX, double lowerEdgeX, double upperEdgeX, int nBinsY, double lowerEdgeY, double upperEdgeY, double lowerValue, double upperValue) = 0;
00478 
00486     virtual IProfile2D * createCopy(const std::string & name, const IProfile2D & profile) = 0;
00487 
00496     virtual IHistogram1D * add(const std::string & name, const IHistogram1D & hist1, const IHistogram1D & hist2) = 0;
00497 
00506     virtual IHistogram1D * subtract(const std::string & name, const IHistogram1D & hist1, const IHistogram1D & hist2) = 0;
00507 
00516     virtual IHistogram1D * multiply(const std::string & name, const IHistogram1D & hist1, const IHistogram1D & hist2) = 0;
00517 
00526     virtual IHistogram1D * divide(const std::string & name, const IHistogram1D & hist1, const IHistogram1D & hist2) = 0;
00527 
00536     virtual IHistogram2D * add(const std::string & name, const IHistogram2D & hist1, const IHistogram2D & hist2) = 0;
00537 
00546     virtual IHistogram2D * subtract(const std::string & name, const IHistogram2D & hist1, const IHistogram2D & hist2) = 0;
00547 
00556     virtual IHistogram2D * multiply(const std::string & name, const IHistogram2D & hist1, const IHistogram2D & hist2) = 0;
00557 
00566     virtual IHistogram2D * divide(const std::string & name, const IHistogram2D & hist1, const IHistogram2D & hist2) = 0;
00567 
00576     virtual IHistogram3D * add(const std::string & name, const IHistogram3D & hist1, const IHistogram3D & hist2) = 0;
00577 
00586     virtual IHistogram3D * subtract(const std::string & name, const IHistogram3D & hist1, const IHistogram3D & hist2) = 0;
00587 
00596     virtual IHistogram3D * multiply(const std::string & name, const IHistogram3D & hist1, const IHistogram3D & hist2) = 0;
00597 
00606     virtual IHistogram3D * divide(const std::string & name, const IHistogram3D & hist1, const IHistogram3D & hist2) = 0;
00607 
00616     virtual IHistogram1D * projectionX(const std::string & name, const IHistogram2D & hist) = 0;
00617 
00626     virtual IHistogram1D * projectionY(const std::string & name, const IHistogram2D & hist) = 0;
00627 
00637     virtual IHistogram1D * sliceX(const std::string & name, const IHistogram2D & hist, int index) = 0;
00638 
00648     virtual IHistogram1D * sliceY(const std::string & name, const IHistogram2D & hist, int index) = 0;
00649 
00659     virtual IHistogram1D * sliceX(const std::string & name, const IHistogram2D & hist, int index1, int index2) = 0;
00660 
00670     virtual IHistogram1D * sliceY(const std::string & name, const IHistogram2D & hist, int index1, int index2) = 0;
00671 
00680     virtual IHistogram2D * projectionXY(const std::string & name, const IHistogram3D & hist) = 0;
00681 
00690     virtual IHistogram2D * projectionXZ(const std::string & name, const IHistogram3D & hist) = 0;
00691 
00700     virtual IHistogram2D * projectionYZ(const std::string & name, const IHistogram3D & hist) = 0;
00701 
00714     virtual IHistogram2D * sliceXY(const std::string & name, const IHistogram3D & hist, int index1, int index2) = 0;
00715 
00728     virtual IHistogram2D * sliceXZ(const std::string & name, const IHistogram3D & hist, int index1, int index2) = 0;
00729 
00742     virtual IHistogram2D * sliceYZ(const std::string & name, const IHistogram3D & hist, int index1, int index2) = 0;
00743 }; // class
00744 }; // namespace AIDA
00745 #endif /* ifndef AIDA_IHISTOGRAMFACTORY_H */

Generated at Tue Feb 18 15:48:23 2003 for AIDA_Interfaces by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001