|
||||
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_IFUNCTIONCATALOG_H 0008 #define AIDA_IFUNCTIONCATALOG_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 <string> 0016 #include <vector> 0017 0018 namespace AIDA { 0019 0020 class IFunction; 0021 0022 /** @interface 0023 * 0024 * Function catalog. 0025 * 0026 * @author The AIDA team (http://aida.freehep.org/) 0027 * 0028 */ 0029 0030 class IFunctionCatalog { 0031 0032 public: 0033 /// Destructor. 0034 virtual ~IFunctionCatalog() { /* nop */; } 0035 0036 /** 0037 * Remember persistently definition (code!) of a function under a name. 0038 * Scripted function created by the user may be automatically available 0039 * in the subsequent analysis sessions. This is also a way to create 0040 * new names for combinations of exisiting model functions ("G+G+E+P5"). 0041 * Last but not least, system may be easily extended with model functions 0042 * developed in the programming language directly. 0043 * Predefined functions: "G","E","Pn". 0044 */ 0045 virtual bool add(std::string nameId, IFunction * f) = 0; 0046 0047 virtual bool add(std::string nameId, const std::string & codelet) = 0; 0048 0049 /* 0050 * Get a list of all available functions. 0051 */ 0052 virtual std::vector<std::string> list() = 0; 0053 0054 /* 0055 * Remove function from the catalog. 0056 */ 0057 virtual void remove(const std::string & nameId) = 0; 0058 0059 /* 0060 * Write contents of the catalog to disk. 0061 * We have to agree on the format here, or define and XML 0062 * entry for IFunctionCatalog! 0063 */ 0064 virtual bool storeAll(const std::string & nameOnDisk) = 0; 0065 0066 /* 0067 * Load contents of the catalog from disk 0068 * We have to agree on the format here, or define and XML 0069 * entry for IFunctionCatalog! 0070 */ 0071 virtual bool loadAll(const std::string & nameOnDisk) = 0; 0072 }; // class 0073 } // namespace AIDA 0074 #endif /* ifndef AIDA_IFUNCTIONCATALOG_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |