PyNTupleController.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _PyNTupleController_H_
00015 #define _PyNTupleController_H_
00016 
00017 #include <string>
00018 #include <vector>
00019 
00020 namespace hippodraw {
00021 
00022   class CircularBuffer;
00023   class DataSource;
00024   class NTupleController;
00025   class NTuple;
00026   class PyDataSource;
00027 
00035 class PyNTupleController 
00036 {
00037 
00038 private:
00039 
00042   static PyNTupleController * s_instance;
00043 
00046   static NTupleController * m_instance;
00047 
00049   PyNTupleController ();
00050 
00052   PyNTupleController ( const PyNTupleController &);
00053 
00054 public:
00055 
00058   static PyNTupleController * instance ();
00059 
00062   NTuple * createNTuple ();
00063 
00066   DataSource * createNTuple ( const std::string & filename );
00067 
00070   CircularBuffer * createCircularBuffer ( unsigned int n );
00071 
00074   PyDataSource * createDataArray ( const std::string & filename );
00075 
00078   DataSource * findDataSource ( const std::string & name ) const;
00079 
00082   std::string registerNTuple ( DataSource * source );
00083 
00086   void registerNTuple ( const std::string & name, 
00087                         DataSource * source );
00088 
00093   int writeNTupleToFile ( DataSource * source,
00094                           const std::string & filename );
00095 
00098   void changeName ( DataSource * source, const std::string & new_name );
00099 
00100 };
00101 
00102 } // namespace hippodraw
00103 
00104 #endif // _PyNTupleController_H_

Generated for HippoDraw Class Library by doxygen