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

AIDA_Tuple.h

Go to the documentation of this file.
00001 // Emacs -*- C++ -*-
00002 #ifndef ANAPHE_AIDA_TUPLE
00003 #define ANAPHE_AIDA_TUPLE 1
00004 
00005 #include "AIDA_Dev/IDevTuple.h"
00006 #include "AIDA_TupleHeader.h"
00007 
00008 namespace Anaphe {
00009   namespace AIDA_Tuple_native {
00010 
00012 
00013 class AIDA_Tuple : virtual public AIDA::Dev::IDevTuple
00014 {
00015 public:
00017   AIDA_Tuple();
00019   ~AIDA_Tuple();
00020 
00021   // Methods inherited from IManagedObject
00022   const std::string & name() const;
00023 
00024   // Methods inherited from IDevManagedObject
00025   bool isUpToDate() const;
00026   void setUpToDate( bool isUpToDate );
00027   bool setName( const std::string& newName );
00028   const std::string& userLevelClassType() const;
00029 
00030   // Methods inherited from IDevTuple
00031   bool connectToStore( AIDA::Dev::IBackingStore* store );
00032   AIDA::Dev::IBackingStore* store();
00033   const AIDA::Dev::IBackingStore* store() const;
00034   AIDA::Dev::ITupleHeader& header();
00035   const AIDA::Dev::ITupleHeader& header() const;
00036   void* variableAddress( const std::string& variableName );
00037   const void* variableAddress( const std::string& variableName ) const;
00038 
00039   // Methods inherited from AIDA::ITuple
00040   const std::string & title() const;
00041   bool setTitle(const std::string & title);
00042   AIDA::IAnnotation & annotation();
00043   const AIDA::IAnnotation & annotation() const;
00044   bool fill(int column, double value);
00045   bool fill(int column, float value);
00046   bool fill(int column, int value);
00047   bool fill(int column, short value);
00048   bool fill(int column, long value);
00049   bool fill(int column, char value);
00050   bool fill(int column, bool value);
00051   bool fill(int column, const std::string & value);
00052   bool fill(int column, const AIDA::ITupleEntry & value);
00053   bool fill(const std::vector<double>& values);
00054   bool fill(const std::vector<float>& values);
00055   bool addRow();
00056   void resetRow();
00057   void reset();
00058   int rows() const;
00059   void start();
00060   bool skip(int rows);
00061   bool next();
00062   bool setRow(int rowIndex);
00063   int findColumn(const std::string & name) const;
00064   double getDouble(int column) const;
00065   float getFloat(int column) const;
00066   int getInt(int column) const;
00067   short getShort(int column) const;
00068   long getLong(int column) const;
00069   char getChar(int column) const;
00070   bool getBoolean(int column) const;
00071   const std::string & getString(int column) const;
00072   const AIDA::ITupleEntry * getObject(int column) const;
00073   const AIDA::ITuple * getTuple(int column) const;
00074   AIDA::ITuple* getTuple(int column);
00075   int columns() const;
00076   const std::string & columnName(int column) const;
00077   const std::string & columnType(int column) const;
00078   double columnMin(int column) const;
00079   double columnMax(int column) const;
00080   double columnMean(int column) const;
00081   double columnRms(int column) const;
00082   bool project(AIDA::IHistogram1D & histogram, AIDA::IEvaluator & evaluatorX);
00083   bool project(AIDA::IHistogram1D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IFilter & filter);
00084   bool project(AIDA::IHistogram1D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & weight);
00085   bool project(AIDA::IHistogram1D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IFilter & filter, AIDA::IEvaluator & weight);
00086   bool project(AIDA::IHistogram2D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY);
00087   bool project(AIDA::IHistogram2D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IFilter & filter);
00088   bool project(AIDA::IHistogram2D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & weight);
00089   bool project(AIDA::IHistogram2D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IFilter & filter, AIDA::IEvaluator & weight);
00090   bool project(AIDA::IHistogram3D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ);
00091   bool project(AIDA::IHistogram3D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ, AIDA::IFilter & filter);
00092   bool project(AIDA::IHistogram3D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ, AIDA::IEvaluator & weight);
00093   bool project(AIDA::IHistogram3D & histogram, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ, AIDA::IFilter & filter, AIDA::IEvaluator & weight);
00094   bool project(AIDA::ICloud1D & cloud, AIDA::IEvaluator & evaluatorX);
00095   bool project(AIDA::ICloud1D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IFilter & filter);
00096   bool project(AIDA::ICloud1D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & weight);
00097   bool project(AIDA::ICloud1D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IFilter & filter, AIDA::IEvaluator & weight);
00098   bool project(AIDA::ICloud2D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY);
00099   bool project(AIDA::ICloud2D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IFilter & filter);
00100   bool project(AIDA::ICloud2D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & weight);
00101   bool project(AIDA::ICloud2D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IFilter & filter, AIDA::IEvaluator & weight);
00102   bool project(AIDA::ICloud3D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ);
00103   bool project(AIDA::ICloud3D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ, AIDA::IFilter & filter);
00104   bool project(AIDA::ICloud3D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ, AIDA::IEvaluator & weight);
00105   bool project(AIDA::ICloud3D & cloud, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ, AIDA::IFilter & filter, AIDA::IEvaluator & weight);
00106   bool project(AIDA::IProfile1D & profile, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY);
00107   bool project(AIDA::IProfile1D & profile, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IFilter & filter);
00108   bool project(AIDA::IProfile1D & profile, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & weight);
00109   bool project(AIDA::IProfile1D & profile, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IFilter & filter, AIDA::IEvaluator & weight);
00110   bool project(AIDA::IProfile2D & profile, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ);
00111   bool project(AIDA::IProfile2D & profile, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ, AIDA::IFilter & filter);
00112   bool project(AIDA::IProfile2D & profile, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ, AIDA::IEvaluator & weight);
00113   bool project(AIDA::IProfile2D & profile, AIDA::IEvaluator & evaluatorX, AIDA::IEvaluator & evaluatorY, AIDA::IEvaluator & evaluatorZ, AIDA::IFilter & filter, AIDA::IEvaluator & weight);
00114 
00115 
00116 private:
00117   AIDA_TupleHeader              m_header;
00118   bool                          m_upToDate;
00119   AIDA::Dev::IBackingStore*     m_store;
00120 
00121   // private methods
00122   template< class T > bool fillChecked( int column, T value );
00123   template< class T > const T* getVariable( int column ) const;
00124   template< class T > T* getVariable( int column );
00125 };
00126 
00127   }
00128 }
00129 
00130 #include "AIDA_Tuple.templ"
00131 
00132 #endif /* ifndef ANAPHE_AIDA_TUPLE */

Generated on Tue Feb 18 17:51:19 2003 for AIDA_Tuple_native by doxygen1.2.16