NTupleFCN.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _NTupleFCN_H_
00015 #define _NTupleFCN_H_
00016 
00017 #include "StatedFCN.h"
00018 
00019 namespace hippodraw {
00020 
00021 class DataSource;
00022 class Range;
00023 class TupleCut;
00024 
00031 class MDL_HIPPOPLOT_API NTupleFCN : public StatedFCN
00032 {
00033 private:
00034 
00037   TupleCut * m_fit_cut;
00038 
00042   bool hasErrors () const;
00043 
00048 void reset ( std::vector < std::vector < double > > & alpha,
00049              std::vector < double > & beta,
00050              unsigned int size );
00051 
00052 protected:
00053 
00060   std::vector < int > m_indices;
00061 
00064   const DataSource * m_ntuple;
00065 
00071   bool m_has_errors;
00072 
00073 private:
00074 
00077   bool m_fit_range;
00078 
00079 protected:
00080 
00084   NTupleFCN ();
00085 
00088   NTupleFCN ( const NTupleFCN & );
00089 
00090   virtual void copyFrom ( const StatedFCN * );
00091 
00095   bool acceptRow ( unsigned int row ) const;
00096 
00100   int getErrorColumn ( ) const;
00101 
00102 public:
00103 
00107   void setDataSource ( const DataSource * source );
00108 
00109   virtual void setDataSource ( const DataSource * source,
00110                                int dimension, 
00111                                const std::vector < int > & );
00112 
00120   virtual bool setUseErrors ( bool yes=true );
00121 
00126   virtual bool getUseErrors () const;
00127 
00130   virtual void setFitCut ( TupleCut * cut );
00131 
00134   virtual void setFitRange ( bool yes = true );
00135 
00141   virtual int degreesOfFreedom ( ) const;
00142 
00143  protected:
00144 
00152   virtual void calcAlphaBeta ( std::vector < std::vector < double > > & alpha,
00153                                std::vector < double > & beta );
00154 
00155 };
00156 
00157 } // namespace hippodraw
00158 
00159 #endif // _NTupleFCN_H_

Generated for HippoDraw Class Library by doxygen