Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TupleCut.cxx

Go to the documentation of this file.
00001 
00012 // for truncation warning in debug mode
00013 #ifdef _MSC_VER
00014 #include "msdevstudio/MSconfig.h"
00015 #endif
00016 
00017 #include "TupleCut.h"
00018 
00019 #include "datasrcs/DataSource.h"
00020 
00021 #include <algorithm>
00022 
00023 TupleCut::
00024 TupleCut ()
00025   : m_column ( 0 ),
00026     m_invert ( false ),
00027     m_enabled ( true )
00028 {
00029 }
00030 
00031 void
00032 TupleCut::
00033 setEnabled ( bool yes )
00034 {
00035   m_enabled = yes;
00036 }
00037 
00038 bool
00039 TupleCut::
00040 isEnabled () const
00041 {
00042   return m_enabled;
00043 }
00044 
00045 bool TupleCut::acceptRow ( const DataSource * ntuple, 
00046                            unsigned int i ) const
00047 {
00048   bool shouldBeAccepted = true;
00049 
00050   if ( m_enabled ) {
00051     double value = ntuple -> valueAt ( i, m_column );
00052     bool included = m_range.includes ( value );
00053     shouldBeAccepted  = 
00054       ( included && ! m_invert ) ||
00055       ( !included && m_invert );
00056   }
00057 
00058   return shouldBeAccepted;
00059 }
00060 
00061 void TupleCut::setColumn( unsigned int column  )
00062 {
00063   m_column = column;
00064 }
00065 
00066 unsigned int
00067 TupleCut::
00068 getColumn () const
00069 {
00070   return m_column;
00071 }
00072 
00073 void
00074 TupleCut::
00075 setRange ( const Range & range )
00076 {
00077   m_range = range;
00078 }
00079 
00080 const Range &
00081 TupleCut::
00082 getRange ( ) const
00083 {
00084   return m_range;
00085 }
00086 
00087 void
00088 TupleCut::
00089 setInversion ( bool state )
00090 {
00091   m_invert = state;
00092 }
00093 
00094 bool
00095 TupleCut::
00096 getInversion ( ) const
00097 {
00098   return m_invert;
00099 }
00100 
00101 void TupleCut::toggleInverted()
00102 {
00103   m_invert = m_invert ? false : true;
00104 }
00105 
00106 const std::string &
00107 TupleCut::
00108 getLabel () const
00109 {
00110   return m_label;
00111 }
00112 
00113 void
00114 TupleCut::
00115 setLabel ( const std::string & label )
00116 {
00117   m_label = label;
00118 }

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3