QtCut.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _QtCut_H_
00015 #define _QtCut_H_
00016 
00017 #include "QtDisplay.h"
00018 
00019 namespace boost {
00020   namespace python {
00021     namespace numeric {
00022       class array;
00023     }
00024   }
00025 }
00026 
00027 namespace hippodraw {
00028 
00029   class Cut1DPlotter;
00030   class Cut2DPlotter;
00031   class TupleCut;
00032 
00042 class QtCut : public QtDisplay
00043 {
00044 
00045 public:
00046 
00048   QtCut( const DataSource & nt, 
00049          const std::vector < std::string > & binding );
00050 
00052   QtCut( const PyDataSource & nt, 
00053          const std::vector < std::string > & binding );
00054 
00059   QtCut ( const DataSource & source,
00060           const std::vector < std::string > & binding,
00061           QtDisplay * target, double low, double high );
00062 
00067   QtCut ( const PyDataSource & nt,  
00068           const std::vector < std::string > & binding,
00069           QtDisplay * target, double low, double high );
00070 
00074   QtCut ( PyDataSource & source,
00075           const std::string & label,
00076           boost::python::numeric::array array,
00077           QtDisplay * target );
00078 
00081   QtCut( PlotterBase * plotter );
00082   
00084   void addTarget ( QtDisplay * );
00085   
00088   void addTargets ( const std::vector < QtDisplay * > & targets );
00089 
00092   void setCutRange ( double low, double high,  
00093                      const std::string & axis = "x" );
00094   
00098   std::vector<double> cutRange();
00099 
00104   void setEnabled ( bool yes );
00105 
00108   void toggleInverted ();
00109 
00110   static void
00111   fillCutList ( std::vector < const TupleCut * > & tuple_cut_list,
00112                 const std::vector < QtCut * > & cut_list );
00113 
00118   static NTuple * 
00119   createNTuple ( const std::vector < std::string > & column_list,
00120                  const std::vector < QtCut * > & cut_list, 
00121                  DataSource * ds );
00122 
00126   static void
00127   createTnt ( const std::vector < std::string > & column_list,
00128               const std::vector < QtCut * > & cut_list, 
00129               DataSource * ds,
00130               const std::string & filename,
00131               const std::string & dsname );
00132 
00136   static void
00137   createFits ( const std::vector < std::string > & column_list,
00138                const std::vector < QtCut * > & cut_list, 
00139                DataSource * ds,
00140                const std::string & filename,
00141                const std::string & dsname );
00142     
00143 private:
00144 
00147   void createCut ( const DataSource & ds,
00148                    const std::vector < std::string > & binding );
00149 
00150 };
00151 
00152 } // namespace hippodraw
00153 
00154 #endif // _QtCut_H_

Generated for HippoDraw Class Library by doxygen