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

BinnerAxis.cxx

Go to the documentation of this file.
00001 
00012 //inconsistent dll
00013 #ifdef _MSC_VER
00014 #include "msdevstudio/MSconfig.h"
00015 #endif
00016 
00017 #include "BinnerAxis.h"
00018 
00019 using std::vector;
00020 using std::string;
00021 
00022 int BinnerAxis::s_num_bins = 50;
00023 double BinnerAxis::s_bin_factor = 0.75;
00024 
00025 BinnerAxis::BinnerAxis ( const char * name )
00026   : m_name ( name ), 
00027     m_dragging ( false ),
00028     m_num_bins ( s_num_bins ), 
00029     m_range( 0.0, 50.0 ),
00030     m_offset( 0.0 ),
00031     m_width ( -1.0 )
00032 {
00033 }
00034 
00035 BinnerAxis::BinnerAxis ( const BinnerAxis & binner )
00036   : m_name ( binner.m_name ),
00037     m_dragging ( false ),
00038     m_num_bins( binner.m_num_bins ),
00039     m_range ( binner.m_range ),
00040     m_offset ( binner.m_offset ),
00041     m_width ( binner.m_width )
00042 {
00043 }
00044 
00045 BinnerAxis::~BinnerAxis ()
00046 {
00047 }
00048 
00049 const string &
00050 BinnerAxis::
00051 name () const
00052 {
00053   return m_name;
00054 }
00055 
00056 bool
00057 BinnerAxis::hasEqualWidths () const
00058 {
00059   return false;
00060 }
00061 
00062 double
00063 BinnerAxis::axisGetLow() const
00064 {
00065   return m_range.low();
00066 }
00067 
00068 double
00069 BinnerAxis::axisGetHigh() const
00070 {
00071   return m_range.high();
00072 }
00073 
00074 const Range &
00075 BinnerAxis::
00076 getRange() const
00077 {
00078   return m_range;
00079 }
00080 
00081 int
00082 BinnerAxis::axisNumberOfBins () const
00083 {
00084   return m_num_bins;
00085 }
00086 
00087 void
00088 BinnerAxis::setStartRange ( bool dragging ) const
00089 {
00090   if ( m_dragging == false ) {
00091     m_range_start = m_range;
00092   }
00093 
00094   m_dragging = dragging;
00095 }
00096 
00097 void
00098 BinnerAxis::setStartWidth ( bool dragging ) const
00099 {
00100   if ( m_dragging == false ) {
00101     m_width_start = m_width;
00102   }
00103 
00104   m_dragging = dragging;
00105 }
00106 
00107 
00108 const vector< double > & BinnerAxis::binEdges ()
00109 {
00110   
00111   if( m_bin_edges.size() == 0 )
00112     {
00113       m_bin_edges.resize( m_num_bins + 1);
00114       
00115       m_bin_edges[0] = m_range.low();
00116 
00117       for( int i = 0; i < m_num_bins; i ++ )
00118         m_bin_edges[i] = m_bin_edges[i-1] + axisBinWidth( i );
00119 
00120       m_bin_edges[ m_num_bins + 1 ] = m_range.high();
00121     }
00122   
00123   return m_bin_edges;
00124 }

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3