|
||||
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_IANALYSISFACTORY_H 0008 #define AIDA_IANALYSISFACTORY_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 0017 namespace AIDA { 0018 0019 class IDataPointSetFactory; 0020 class IFitFactory; 0021 class IFunctionFactory; 0022 class IHistogramFactory; 0023 class IPlotterFactory; 0024 class ITree; 0025 class ITreeFactory; 0026 class ITupleFactory; 0027 0028 /** 0029 * The "master" factory from which other factories are obtained. 0030 * Typically accessed by: 0031 * <pre> 0032 * IAnalysisFactory af =(IAnalysisFactory) ServiceManager.create("hep.aida.IAnalysisFactory"); 0033 * </pre> 0034 * 0035 * In C++ IAnalysisFactory* af = AIDA_createAnalysisFactory(); 0036 * 0037 * @author The AIDA team (http://aida.freehep.org/) 0038 */ 0039 0040 class IAnalysisFactory { 0041 0042 public: 0043 /// Destructor. 0044 virtual ~IAnalysisFactory() { /* nop */; } 0045 0046 /** 0047 * Create an ITreeFactory. 0048 * @return The ITreeFactory. 0049 * 0050 */ 0051 virtual ITreeFactory * createTreeFactory() = 0; 0052 0053 /** 0054 * Create an IHistogramFactory. 0055 * @param tree The ITree which created histograms will be associated to. 0056 * @return The IHistogramFactory. 0057 * 0058 */ 0059 virtual IHistogramFactory * createHistogramFactory(ITree & tree) = 0; 0060 0061 /** 0062 * Create an IDataPointSetFactory. 0063 * @param tree The ITree which created IDataPointSet will be associated to. 0064 * @return The IDataPointSetFactory. 0065 * 0066 */ 0067 virtual IDataPointSetFactory * createDataPointSetFactory(ITree & tree) = 0; 0068 0069 /** 0070 * Create an ITupleFactory. 0071 * @param tree The ITree which created tuples will be associated to. 0072 * @return The ITupleFactory. 0073 * 0074 */ 0075 virtual ITupleFactory * createTupleFactory(ITree & tree) = 0; 0076 0077 /** 0078 * Create an IFunctionFactory. 0079 * @param tree The ITree which created functions will be associated to. 0080 * @return The IFunctionFactory. 0081 * 0082 */ 0083 virtual IFunctionFactory * createFunctionFactory(ITree & tree) = 0; 0084 0085 /** 0086 * Create an IPlotterFactory. 0087 * Due to the fact that the plotter factory may activate a GUI 0088 * tookit, the process arguments (passed to the main function) 0089 * could be passed to the plotter factory. Most of the GUI 0090 * toolkit ask for them (Motif, gtk, Qt, FLTK). 0091 * @param imp The AIDA implementation to use. The default uses the current implementation one. 0092 * @param lib The plotter to use within the choosen AIDA implementation (an AIDA implementation may have multiple plotters based on different technologies). 0093 */ 0094 0095 0096 0097 0098 virtual IPlotterFactory * createPlotterFactory(int argc = 0, char * * args = 0, const std::string & imp = "", const std::string & lib = "") = 0; 0099 0100 /** 0101 * Create an IFitFactory. 0102 * @return The IFitFactory. 0103 * 0104 */ 0105 virtual IFitFactory * createFitFactory() = 0; 0106 }; // class 0107 } // namespace AIDA 0108 0109 0110 0111 /** 0112 * To hook an AIDA implementation. 0113 * For example : 0114 * #include <AIDA/IAnalysisFactory.h> 0115 * ... 0116 * IAnalysisFactory* analysisFactory = AIDA_createAnalysisFactory(); 0117 * ... 0118 */ 0119 0120 extern "C" { 0121 AIDA::IAnalysisFactory* AIDA_createAnalysisFactory(); 0122 } 0123 #endif /* ifndef AIDA_IANALYSISFACTORY_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |