This website is no longer maintained. Its content may be obsolete. Please visit http://home.cern/ for current CERN information.
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_IDATAPOINTSETFACTORY_H 00008 #define AIDA_IDATAPOINTSETFACTORY_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 00017 namespace AIDA { 00018 00019 class ICloud1D; 00020 class ICloud2D; 00021 class ICloud3D; 00022 class IDataPointSet; 00023 class IHistogram1D; 00024 class IHistogram2D; 00025 class IHistogram3D; 00026 class IProfile1D; 00027 class IProfile2D; 00028 00037 class IDataPointSetFactory { 00038 00039 public: 00041 virtual ~IDataPointSetFactory() { /* nop */; } 00042 00051 virtual IDataPointSet * create(const std::string & name, const std::string & title, int dimOfPoints) = 0; 00052 00060 virtual IDataPointSet * create(const std::string & nameAndTitle, int dimOfPoints) = 0; 00061 00069 virtual IDataPointSet * createCopy(const std::string & name, const IDataPointSet & dataPointSet) = 0; 00070 00077 virtual bool destroy(IDataPointSet * dataPointSet) = 0; 00078 00086 virtual IDataPointSet * create(const std::string & name, const IHistogram1D & hist) = 0; 00087 00095 virtual IDataPointSet * create(const std::string & name, const IHistogram2D & hist) = 0; 00096 00104 virtual IDataPointSet * create(const std::string & name, const IHistogram3D & hist) = 0; 00105 00113 virtual IDataPointSet * create(const std::string & name, const ICloud1D & cloud) = 0; 00114 00122 virtual IDataPointSet * create(const std::string & name, const ICloud2D & cloud) = 0; 00123 00131 virtual IDataPointSet * create(const std::string & name, const ICloud3D & cloud) = 0; 00132 00140 virtual IDataPointSet * create(const std::string & name, const IProfile1D & profile) = 0; 00141 00149 virtual IDataPointSet * create(const std::string & name, const IProfile2D & profile) = 0; 00150 00158 virtual IDataPointSet * add(const std::string & name, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0; 00159 00169 virtual IDataPointSet * subtract(const std::string & name, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0; 00170 00180 virtual IDataPointSet * multiply(const std::string & name, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0; 00181 00191 virtual IDataPointSet * divide(const std::string & name, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0; 00192 00202 virtual IDataPointSet * weightedMean(const std::string & name, const IDataPointSet & dataPointSet1, const IDataPointSet & dataPointSet2) = 0; 00203 }; // class 00204 }; // namespace AIDA 00205 #endif /* ifndef AIDA_IDATAPOINTSETFACTORY_H */