#include <NTuple.h>
Inheritance diagram for NTuple:
Definition at line 33 of file NTuple.h.
Public Types | |
typedef void(Observer::*) | Action (const Observable *) |
The member function of the Observer that is called. | |
typedef std::list< Observer * > | ObserverList_t |
The type of STL container to maintain list of Observer objects. | |
Public Member Functions | |
virtual int | addColumn (const std::string &label, const std::vector< double > &data, const std::vector< intptr_t > &shape) |
Adds column vector. | |
virtual int | addColumn (const std::string &, const std::vector< double > &column) |
Adds a column to the end of the ntuple and returns the index to the added column. | |
void | addObserver (Observer *) |
Adds an Observer to the Observer list. | |
virtual void | addRow (const std::vector< double > &v) |
Adds a row to the end of the ntuple. | |
virtual void | append (const DataSource *source) |
Appends the data from the source. | |
virtual void | clear () |
Clears the NTuple. | |
double | columnMax (const std::string &name) const |
Returns minimum element in a column whose label is given by name. | |
double | columnMin (const std::string &name) const |
Returns minimum element in a column whose label is given by name. | |
unsigned int | columns () const |
Returns the number of columns or data arrays available from this DataSource. | |
virtual void | copy (const DataSource &rhs) |
Copies rhs data. | |
virtual double * | doubleArrayAt (unsigned int row, unsigned int column) const |
Returns an array at row and column. | |
virtual bool | empty () const |
Returns true , if NTuple is empty, i.e. | |
virtual void | eraseRow (unsigned int index) |
Erases a row from the NTuple. | |
virtual void | expandIfNeeded (const std::vector< std::string > &labels) const |
Expand the multidimension column if needed. | |
virtual bool | fillRange (unsigned int column, Range &) const |
Returns the Range of data in the column via the argument. | |
virtual void | fillShape (std::vector< int > &v, const std::string &label) const |
Fills the vector with the shape of a column. | |
virtual void | fillShape (std::vector< int > &v, unsigned int column) const |
Fills the vector with the shape of a column. | |
const std::vector< double > & | getColumn (const std::string &label) const |
Returns the data in the column with label name. | |
virtual std::vector< double > & | getColumn (unsigned int index) |
Returns a non-const reference to column at the index index. | |
virtual const std::vector< double > & | getColumn (unsigned int index) const |
Returns the data in the column with index column. | |
const std::vector< std::string > & | getDuplicatedLabels () const |
Returns the column labels that were duplicated, or an empty vector. | |
unsigned int | getIntervalCount () const |
Returns the current interval count. | |
virtual const std::string & | getLabelAt (unsigned int index) const |
Returns the label for the column at index index. | |
virtual const std::vector< std::string > & | getLabels () const |
Returns the list of available labels. | |
const std::string & | getName () const |
Returns the name of the data source. | |
const ObserverList_t & | getObservers () const |
Returns the list of observers. | |
unsigned int | getRank () const |
Returns the rank of the data source. | |
virtual const std::vector< double > & | getRow (unsigned int index) const |
Returns a temporary vector of data elements in one row. | |
virtual const std::vector< unsigned int > & | getShape () const |
Returns the shape of the data elements. | |
virtual int | indexOf (const std::string &label) const |
Returns the index of the column whose label is label. | |
virtual unsigned int | indexOfMaxElement (unsigned int index) const |
Returns row index of the maximum element in a column for the given column. | |
virtual unsigned int | indexOfMinElement (unsigned int index) const |
Returns row index of the minimum element in a column for the given column. | |
virtual void | insertRow (unsigned int index, const std::vector< double > &v) |
Inserts a Row. | |
bool | isIntervalEnabled () const |
Returns true if interval counting is enabled, otherwise returns false. | |
virtual bool | isMultiDimensional (const std::string &column) const |
Returns true if the column contains multidimensional data. | |
bool | isNull () const |
Returns true if the receiving objects is a null object. | |
virtual bool | isUseable (const std::string &column) const |
Returns true if the column is usable. | |
bool | isValidLabel (const std::string &label) const |
Returns true if label is a valid label for a column in the DataSource. | |
virtual double | maxElement (unsigned int index) const |
Returns the value of the maximum element of column index. | |
virtual double | minElement (unsigned int index) const |
Returns the value of the minimum element of column index. | |
virtual void | notifyObservers () const |
Notifies Observer objects of a change. | |
NTuple () | |
The default constructor creating an ntuple with 0 columns. | |
NTuple (bool dummy) | |
A constructor for creating a null object. | |
NTuple (unsigned int n) | |
A constructor that creates an ntuple with n columns. | |
NTuple (const DataSource *ds) | |
A constructor that creates an ntuple from another DataSource object. | |
NTuple (const NTuple &nt) | |
The copy constructor creates an ntuple that is a copy of an existing one. | |
NTuple (const std::vector< std::string > &labels) | |
Constructor taking a vector of column labels as argument. | |
NTuple (const char *name) | |
Constructs an NTuple object with name name. | |
NTuple (const std::string &name) | |
Constructs an NTuple object with name name. | |
virtual double | operator[] (std::vector< unsigned int > &indices) const |
void | removeObserver (Observer *) |
Removes an Observer from the Observer list. | |
virtual void | replaceColumn (const std::string &label, const std::vector< double > &data, const std::vector< intptr_t > &shape) |
Replaces or adds column vector. | |
virtual void | replaceColumn (const std::string &label, const std::vector< double > &array) |
Replaces data in column label with contents of array. | |
virtual void | replaceColumn (unsigned int index, const std::vector< double > &data) |
Replaces the data in column col. | |
void | replaceRow (unsigned int i, const std::vector< double > &data) |
Replaces the data in the row i. | |
virtual void | reserve (unsigned int count) |
For each column, reserves enough space for the data source to grow to count rows. | |
virtual unsigned int | rows () const |
Returns the number of rows. | |
void | setIntervalCount (int number) |
Sets the interval count. | |
void | setIntervalEnabled (bool yes=true) |
Sets interval counting to be enabled. | |
virtual bool | setLabelAt (const std::string &s, unsigned int index) |
Changes the label of a data column to s. | |
void | setLabels (const std::vector< std::string > &v) |
Assigns the label to each column from the vector of strings. | |
void | setName (const std::string &name) |
Sets the name of the data source. | |
virtual bool | setReleventIndex (const std::string &column, const std::vector< unsigned int > &index) |
In case we are dealing with multidimensional data in rows of this column we would like to deal with on one entry of this multidimensional data. | |
virtual void | setShape (std::vector< unsigned int > &shape) |
Sets the shape of the data elements. | |
virtual void | setTitle (const std::string &title) |
Sets the title of the data source to title. | |
virtual double | sum (unsigned int column) const |
Returns the sum of all the elements in the sequence of column column. | |
virtual void | throwIfInvalidLabel (const std::string &label) const |
Throws a DataSourceException object if label is not a valid label for this DataSource. | |
void | throwIfInvalidRowSize (const std::vector< double > &row) |
Throws a DataSourceException if the size of the row is not equal to the number of columns, otherwise does nothing. | |
const std::string & | title () const |
Returns a const reference to the title of the data source. | |
virtual double | valueAt (unsigned int row, unsigned int column) const |
Returns the value in the table in position given by the row and column indexes. | |
virtual double | valueAtNoCache (unsigned int row, unsigned int column) const |
Returns the value in the table in position given by the row and column indexes without storing it into cache. | |
virtual | ~NTuple () |
The destructor. | |
Protected Member Functions | |
virtual void | addLabel (const std::string &label) |
Adds a new label for a column. | |
virtual void | checkWidth (const DataSource *source) |
Checks the number of columns. | |
virtual void | copyPrivate (const DataSource &other) |
Copies the contents of the other DataSource. | |
bool | isValidColumn (unsigned int index) const |
Returns true if index is valid, otherwise throws a DataSourceException. | |
void | notifyObservers (Action action) const |
An internal method to iterate over all observers and to send the message action. | |
Protected Attributes | |
std::vector< double > | m_array |
A temporary array that can be returned by const reference. | |
std::vector< std::string > | m_dups |
A list of labels that duplicated others in a DataSource file. | |
std::vector< unsigned int > | m_shape |
The shape of the data. | |
Private Member Functions | |
NTuple & | operator= (const NTuple &rhs) |
The assignment operator is private to avoid use of it. | |
void | resizeColumns (size_t new_size) |
Resizes the the number of columns of the NTuple. | |
Private Attributes | |
std::vector< std::vector< double > * > | m_data |
The data columns of the data source table. | |
int | m_i_count |
The interval count. | |
int | m_i_current |
The current interval count. | |
bool | m_i_enabled |
The interval flag. | |
std::vector< double > | m_row |
A temporary vector corresponding to data elements of one row. |
typedef void( Observer::*) Action(const Observable *) [inherited] |
typedef std::list< Observer * > ObserverList_t [inherited] |
The type of STL container to maintain list of Observer objects.
Definition at line 45 of file Observable.h.
NTuple | ( | const std::string & | name | ) | [explicit] |
NTuple | ( | const char * | name | ) | [explicit] |
Constructs an NTuple object with name name.
Definition at line 51 of file NTuple.cxx.
NTuple | ( | const std::vector< std::string > & | labels | ) | [explicit] |
Constructor taking a vector of column labels as argument.
Definition at line 59 of file NTuple.cxx.
References NTuple::m_data, and num_util::size().
The copy constructor creates an ntuple that is a copy of an existing one.
Definition at line 72 of file NTuple.cxx.
References NTuple::copy().
NTuple | ( | const DataSource * | ds | ) | [explicit] |
A constructor that creates an ntuple from another DataSource object.
Definition at line 82 of file NTuple.cxx.
References NTuple::copy().
NTuple | ( | unsigned int | n | ) | [explicit] |
A constructor that creates an ntuple with n columns.
Creates an NTuple with n columns. The objects will be empty, i.e. 0 rows.
Definition at line 91 of file NTuple.cxx.
References NTuple::m_data, and NTuple::setLabels().
NTuple | ( | bool | dummy | ) | [explicit] |
A constructor for creating a null object.
A null NTuple is one that is a place holder for one that got deleted while other objects were referencing it. This can happen, for example, if a user deletes an NTuple before deleting other objects that use it. Classes that reference NTuple objects can be Observer of then in order to receive the Observer::willDelete signal. When received they can replace the referenced NTuple with a null one. They can then continue to function until a valid ntuple is given to them. The parameter dummy is not used.
Definition at line 115 of file NTuple.cxx.
NTuple | ( | ) |
The default constructor creating an ntuple with 0 columns.
Definition at line 107 of file NTuple.cxx.
~NTuple | ( | ) | [virtual] |
The destructor.
Definition at line 123 of file NTuple.cxx.
References NTuple::m_data, Observable::notifyObservers(), and Observer::willDelete().
int addColumn | ( | const std::string & | label, | |
const std::vector< double > & | data, | |||
const std::vector< intptr_t > & | shape | |||
) | [virtual, inherited] |
Adds column vector.
Adds a new column with label and returns its index. The number of rows, as defined by first element of the shape, must be the same as existing columns, if any. Not all derived classes support the notion of shape, therefore as convenience to developers, the implementation in this base class throws a std::runtime_error object.
Reimplemented in FitsNTuple.
Definition at line 400 of file DataSource.cxx.
int addColumn | ( | const std::string & | , | |
const std::vector< double > & | column | |||
) | [virtual] |
Adds a column to the end of the ntuple and returns the index to the added column.
If the size of the input vector is the same as the size of the existing columns adds a copy of the input vector to then end of the NTuple. Gives the column the label label. Returns the index of the newly created column. If the size of the input vector differs from the size of existing columns, then throws a std::runtime_error object.
Reimplemented from DataSource.
Reimplemented in PyNTuple.
Definition at line 404 of file NTuple.cxx.
References DataSource::addLabel(), hippodraw::String::convert(), DataSource::indexOf(), NTuple::m_data, NTuple::rows(), and num_util::size().
Referenced by PyNTuple::addColumn(), PyDataSource::addColumn(), DisplayController::createNTupleDiff(), and PyDataSource::saveColumnFromNumArray().
void addLabel | ( | const std::string & | label | ) | [protected, virtual, inherited] |
Adds a new label for a column.
Definition at line 154 of file DataSource.cxx.
References DataSource::m_labels.
Referenced by RootNTuple::addColumn(), NumArrayTuple::addColumn(), NTuple::addColumn(), ListTuple::addColumn(), and FitsNTuple::addColumn().
void addObserver | ( | Observer * | ) | [inherited] |
Adds an Observer to the Observer list.
Definition at line 52 of file Observable.cxx.
References Observable::m_list.
Referenced by XyPlotter::addDataRep(), FunctionRep::FunctionRep(), BinningProjector::normalizeTo(), DataRepController::setAxisBindings(), DisplayController::setNTuple(), CutPlotter::setNTuple(), and TextPlotter::setParentDataRep().
void addRow | ( | const std::vector< double > & | v | ) | [virtual] |
Adds a row to the end of the ntuple.
If the size of the input vector is the same as the width of the ntuple, adds the row to the end of the ntuple and notifies its Observer objects. Otherwise, throws a std::runtime_error object.
Reimplemented from DataSource.
Reimplemented in CircularBuffer, and PyNTuple.
Definition at line 266 of file NTuple.cxx.
References NTuple::m_data, NTuple::notifyObservers(), num_util::size(), and DataSource::throwIfInvalidRowSize().
Referenced by PyNTuple::addRow(), CircularBuffer::addRow(), and NTupleController::createNTuple().
void append | ( | const DataSource * | source | ) | [virtual] |
Appends the data from the source.
Reimplemented from DataSource.
Reimplemented in PyNTuple.
Definition at line 189 of file NTuple.cxx.
References DataSource::append(), DataSource::checkWidth(), and NTuple::m_data.
Referenced by PyNTuple::append().
void checkWidth | ( | const DataSource * | source | ) | [protected, virtual, inherited] |
Checks the number of columns.
Check that the number of columns of source is the same as the receiving object. Throws a std::runtime_error if they are different, otherwise does nothing.
Definition at line 565 of file DataSource.cxx.
References DataSource::columns(), and hippodraw::String::convert().
Referenced by NTuple::append(), and DataSource::append().
void clear | ( | ) | [virtual] |
Clears the NTuple.
Clears all the data elements of the NTuple. On return, the number of rows is zero. Does not change the other attributes or capacity.
Implements DataSource.
Reimplemented in CircularBuffer, and PyNTuple.
Definition at line 211 of file NTuple.cxx.
References NTuple::m_data, and NTuple::notifyObservers().
Referenced by PyNTuple::clear(), NTupleSorter::clear(), and CircularBuffer::clear().
double columnMax | ( | const std::string & | name | ) | const |
Returns minimum element in a column whose label is given by name.
Definition at line 566 of file NTuple.cxx.
References NTuple::getColumn().
double columnMin | ( | const std::string & | name | ) | const |
Returns minimum element in a column whose label is given by name.
Definition at line 560 of file NTuple.cxx.
References NTuple::getColumn().
unsigned int columns | ( | ) | const [inline, inherited] |
Returns the number of columns or data arrays available from this DataSource.
Reimplemented in QtRootNTuple.
Definition at line 458 of file DataSource.h.
References DataSource::m_labels.
Referenced by PyDataSource::addColumn(), ProfileProjector::changedNTuple(), Profile2DProjector::changedNTuple(), MeshProjector::changedNTuple(), MapMatrixProjector::changedNTuple(), Map3Projector::changedNTuple(), Map2Projector::changedNTuple(), Map1Projector::changedNTuple(), EqualEntriesHist1DProjector::changedNTuple(), DyHist2DProjector::changedNTuple(), DyHist1DProjector::changedNTuple(), DataSource::checkWidth(), QtRootNTuple::columns(), PyDataSource::columns(), NTupleSorter::columns(), NTuple::copy(), CreateNTuple::createButtonClicked(), NTupleXML::createChildren(), NTupleProjector::createEmptyNTuple(), NTupleProjector::dataRange(), NTupleProjector::dataRangeWithError(), hippodraw::Python::export_CircularBuffer(), hippodraw::Python::export_DataSource(), DataSource::fillRange(), NTuple::getColumn(), NumArrayTuple::getNumArray(), NTupleProjector::getPos(), NTupleProjector::getPosWithError(), NTuple::getRow(), DataSource::indexOfMaxElement(), DataSource::indexOfMinElement(), DataSource::isValidColumn(), RTuple::operator[](), RootNTuple::replaceColumn(), NumArrayTuple::replaceColumn(), NTuple::replaceColumn(), ListTuple::replaceColumn(), FitsNTuple::replaceColumn(), NTuple::setLabels(), DataSource::sum(), and DataSource::throwIfInvalidRowSize().
void copy | ( | const DataSource & | rhs | ) | [virtual] |
Copies rhs data.
Definition at line 151 of file NTuple.cxx.
References DataSource::columns(), DataSource::copyPrivate(), DataSource::getRow(), NTuple::m_data, NTuple::m_i_count, NTuple::m_i_current, NTuple::m_i_enabled, DataSource::rows(), and num_util::size().
Referenced by NTuple::NTuple().
void copyPrivate | ( | const DataSource & | other | ) | [protected, virtual, inherited] |
Copies the contents of the other DataSource.
For use by derived classes only.
Definition at line 114 of file DataSource.cxx.
References DataSource::m_ds_name, DataSource::m_is_null, DataSource::m_labels, DataSource::m_shape, and DataSource::m_title.
Referenced by RTuple::copy(), and NTuple::copy().
double * doubleArrayAt | ( | unsigned int | row, | |
unsigned int | column | |||
) | const [virtual, inherited] |
Returns an array at row and column.
If the DataSource is capable of containing an array in a column, then returns pointer to the array for a single row, otherwise throws std::runtime_error exception.
Reimplemented in FitsNTuple, and RootNTuple.
Definition at line 593 of file DataSource.cxx.
bool empty | ( | ) | const [virtual] |
Returns true
, if NTuple is empty, i.e.
has no rows.
Implements DataSource.
Definition at line 223 of file NTuple.cxx.
References NTuple::m_data.
Referenced by CircularBuffer::reserve(), and NTuple::rows().
void eraseRow | ( | unsigned int | index | ) | [virtual] |
Erases a row from the NTuple.
Removes the row index from the NTuple. Rows beyond the removal point move forward to fill the space. If index is out of range, and exception is thrown.
Reimplemented from DataSource.
Definition at line 308 of file NTuple.cxx.
References NTuple::m_data, NTuple::notifyObservers(), and NTuple::rows().
void expandIfNeeded | ( | const std::vector< std::string > & | labels | ) | const [virtual, inherited] |
Expand the multidimension column if needed.
Do nothing in base class. Reimplemented in RootNTuple.
Reimplemented in QtRootNTuple, and RootNTuple.
Definition at line 602 of file DataSource.cxx.
Referenced by DataRepController::createDataRep(), and DisplayController::createDisplay().
bool fillRange | ( | unsigned int | column, | |
Range & | ||||
) | const [virtual] |
Returns the Range of data in the column via the argument.
Always returns true, i.e. does not check for valid data.
Reimplemented from DataSource.
Definition at line 614 of file NTuple.cxx.
References NTuple::m_data, and Range::setRange().
void fillShape | ( | std::vector< int > & | v, | |
const std::string & | label | |||
) | const [virtual, inherited] |
Fills the vector with the shape of a column.
Returns via the vector v, the shape of the data at column column. Most derived classes will only support a vector in a column. Thus as convenience to implementers of derived classes the implementation of this base class returns a shape of size 1 containing the number of rows.
Definition at line 328 of file DataSource.cxx.
References DataSource::fillShape(), and DataSource::indexOf().
void fillShape | ( | std::vector< int > & | v, | |
unsigned int | column | |||
) | const [virtual, inherited] |
Fills the vector with the shape of a column.
Returns via the vector v, the shape of the data at column column. Most derived classes will only support a vector in a column. Thus as convenience to implementers of derived classes this base class implementation returns a shape of size 1 containing the number of rows.
Reimplemented in RootNTuple.
Definition at line 320 of file DataSource.cxx.
References DataSource::rows().
Referenced by DataSource::fillShape().
const vector< double > & getColumn | ( | const std::string & | name | ) | const [virtual] |
Returns the data in the column with label name.
Reimplemented from DataSource.
Definition at line 510 of file NTuple.cxx.
References DataSource::indexOf(), NTuple::m_data, and DataSource::throwIfInvalidLabel().
vector< double > & getColumn | ( | unsigned int | index | ) | [virtual] |
Returns a non-const reference to column at the index index.
index is in a valid range, returns a reference to the the column at index index. If index is not in a valid range, throws a DataSourceException object.
Definition at line 499 of file NTuple.cxx.
References DataSource::columns(), NTuple::m_data, and num_util::size().
const vector< double > & getColumn | ( | unsigned int | column | ) | const [virtual] |
Returns the data in the column with index column.
Reimplemented from DataSource.
Definition at line 492 of file NTuple.cxx.
References DataSource::isValidColumn(), and NTuple::m_data.
Referenced by NTupleSorter::addRow(), NTuple::columnMax(), NTuple::columnMin(), NTuple::indexOfMaxElement(), and NTuple::indexOfMinElement().
const vector< string > & getDuplicatedLabels | ( | ) | const [inherited] |
Returns the column labels that were duplicated, or an empty vector.
Definition at line 534 of file DataSource.cxx.
References DataSource::m_dups.
unsigned int getIntervalCount | ( | ) | const |
Returns the current interval count.
Definition at line 607 of file NTuple.cxx.
References NTuple::m_i_count.
Referenced by Inspector::updatePlotTab().
const string & getLabelAt | ( | unsigned int | index | ) | const [virtual, inherited] |
Returns the label for the column at index index.
Returns the label for the column at index index, or throws a DataSourceException if index is out of range.
Definition at line 179 of file DataSource.cxx.
References DataSource::isNull(), DataSource::m_labels, and DataSource::title().
Referenced by NTupleXML::createChildren2D(), hippodraw::Python::export_ListTuple(), hippodraw::Python::export_NTuple(), hippodraw::Python::export_NumArrayTuple(), NTupleProjector::getAxisBindings(), NTupleProjector::getXLabel(), NTupleProjector::getYLabel(), Map1Projector::getYLabel(), Profile2DProjector::getZLabel(), MeshProjector::getZLabel(), MapMatrixProjector::getZLabel(), and Map3Projector::getZLabel().
const vector< string > & getLabels | ( | ) | const [virtual, inherited] |
Returns the list of available labels.
Reimplemented in QtRootNTuple.
Definition at line 172 of file DataSource.cxx.
References DataSource::m_labels.
Referenced by Inspector::availPlotTypesActivated(), NTupleProjector::createEmptyNTuple(), hippodraw::Python::export_DataSource(), DisplayController::getDataSourceLabels(), QtRootNTuple::getLabels(), PyDataSource::getLabels(), RootNTuple::getRow(), PyDataSource::replaceColumn(), RootNTuple::smartExpandRootNTuple(), Inspector::updateCutVarGroupBox(), and NTupleController::writeNTupleToFile().
const string & getName | ( | ) | const [inherited] |
Returns the name of the data source.
Definition at line 136 of file DataSource.cxx.
References DataSource::m_ds_name.
Referenced by HiNTupleXML::createElement(), NTupleProjector::getNTupleName(), DataSourceController::registerNTuple(), and NTupleXML::setAttributes().
const Observable::ObserverList_t & getObservers | ( | ) | const [inherited] |
Returns the list of observers.
Definition at line 60 of file Observable.cxx.
References Observable::m_list.
unsigned int getRank | ( | ) | const [inherited] |
Returns the rank of the data source.
Returns the number of axes of the data source, i.e the rank.
Definition at line 343 of file DataSource.cxx.
References DataSource::m_shape.
Referenced by RTuple::operator[](), NTuple::operator[](), and RootNTuple::smartExpandRootNTuple().
const std::vector< double > & getRow | ( | unsigned int | index | ) | const [virtual] |
Returns a temporary vector of data elements in one row.
Returns a temporary vector with data elements copied from the NTuple row indexed by index. If index is out of range, throws a DataSourceException object.
Implements DataSource.
Definition at line 327 of file NTuple.cxx.
References DataSource::columns(), NTuple::m_data, NTuple::m_row, and NTuple::rows().
Referenced by hippodraw::Python::export_NTuple(), and NTupleSorter::getRow().
const vector< unsigned int > & getShape | ( | ) | const [virtual, inherited] |
Returns the shape of the data elements.
Reimplemented in FitsNTuple, NumArrayTuple, ListTuple, and RootNTuple.
Definition at line 313 of file DataSource.cxx.
References DataSource::m_shape.
Referenced by ProjectorBase::getShape().
int indexOf | ( | const std::string & | label | ) | const [virtual, inherited] |
Returns the index of the column whose label is label.
Returns the index of the data column whose label is label, or -1 if label does not exist.
Definition at line 193 of file DataSource.cxx.
References DataSource::m_labels.
Referenced by RootNTuple::addColumn(), NumArrayTuple::addColumn(), NTuple::addColumn(), ListTuple::addColumn(), NTupleController::createNTuple(), DataSource::fillShape(), RootNTuple::getColumn(), NTuple::getColumn(), DataSource::getColumn(), QtRootNTuple::getColumnAsArray(), QtRootNTuple::getColumnShape(), NumArrayTuple::getNumArray(), RootNTuple::getTBranch(), NTupleProjector::indexOf(), RootNTuple::initBranches(), FitsNTuple::initColumns(), RootNTuple::isMultiDimensional(), RootNTuple::isUseable(), NumArrayTuple::replaceColumn(), ListTuple::replaceColumn(), FitsNTuple::replaceColumn(), DataSource::replaceColumn(), NTupleProjector::setAxisBinding(), RootNTuple::setReleventIndex(), RootNTuple::smartExpandRootNTuple(), and QtRootNTuple::valueAt().
unsigned int indexOfMaxElement | ( | unsigned int | index | ) | const [virtual] |
Returns row index of the maximum element in a column for the given column.
Reimplemented from DataSource.
Definition at line 541 of file NTuple.cxx.
References NTuple::getColumn().
unsigned int indexOfMinElement | ( | unsigned int | index | ) | const [virtual] |
Returns row index of the minimum element in a column for the given column.
Reimplemented from DataSource.
Definition at line 520 of file NTuple.cxx.
References NTuple::getColumn().
void insertRow | ( | unsigned int | index, | |
const std::vector< double > & | v | |||
) | [virtual] |
Inserts a Row.
Adds a row before the existing row specified by index from the elements of v.
Definition at line 280 of file NTuple.cxx.
References NTuple::m_data, NTuple::notifyObservers(), and NTuple::rows().
Referenced by NTupleSorter::addRow().
bool isIntervalEnabled | ( | ) | const |
Returns true
if interval counting is enabled, otherwise returns false.
Definition at line 596 of file NTuple.cxx.
References NTuple::m_i_enabled.
bool isMultiDimensional | ( | const std::string & | column | ) | const [virtual, inherited] |
Returns true
if the column contains multidimensional data.
Returns false
. Derived classes should return true
if the column contains multidimensional data.
Reimplemented in QtRootNTuple, and RootNTuple.
Definition at line 451 of file DataSource.cxx.
bool isNull | ( | ) | const [inherited] |
Returns true
if the receiving objects is a null object.
Definition at line 125 of file DataSource.cxx.
References DataSource::m_is_null.
Referenced by ProfileProjector::execute(), Profile2DProjector::execute(), DataSource::getLabelAt(), NTupleProjector::NTupleProjector(), NTupleProjector::setNTuple(), and NTupleProjector::~NTupleProjector().
bool isUseable | ( | const std::string & | column | ) | const [virtual, inherited] |
Returns true
if the column is usable.
Returns true
. Derived classes should return false
if the column is not usable in the context of a DataSource.
Reimplemented in RootNTuple.
Definition at line 458 of file DataSource.cxx.
bool isValidColumn | ( | unsigned int | index | ) | const [protected, inherited] |
Returns true
if index is valid, otherwise throws a DataSourceException.
Definition at line 212 of file DataSource.cxx.
References DataSource::columns(), hippodraw::String::convert(), and num_util::size().
Referenced by RootNTuple::getColumn(), NTuple::getColumn(), FitsNTuple::getColumn(), and DataSource::getColumn().
bool isValidLabel | ( | const std::string & | label | ) | const [inherited] |
Returns true
if label is a valid label for a column in the DataSource.
The search is case sensitive. If the label is not found, returns false
.
Definition at line 257 of file DataSource.cxx.
References DataSource::m_labels.
Referenced by FitsNTuple::checkLabel(), and DataSource::throwIfInvalidLabel().
double maxElement | ( | unsigned int | index | ) | const [virtual] |
Returns the value of the maximum element of column index.
Definition at line 553 of file NTuple.cxx.
References NTuple::m_data.
double minElement | ( | unsigned int | index | ) | const [virtual] |
Returns the value of the minimum element of column index.
Definition at line 532 of file NTuple.cxx.
References NTuple::m_data.
void notifyObservers | ( | Action | action | ) | const [protected, inherited] |
An internal method to iterate over all observers and to send the message action.
Definition at line 72 of file Observable.cxx.
References Observable::m_list.
void notifyObservers | ( | ) | const [virtual] |
Notifies Observer objects of a change.
If interval counting is disabled, then Observer::Update is sent immediately. If interval counting is enabled, then the current count is incremented. If the current count is equal to the interval count, then the Observer::update message is sent and the current count reset to 0.
Reimplemented from Observable.
Definition at line 573 of file NTuple.cxx.
References NTuple::m_i_count, NTuple::m_i_current, NTuple::m_i_enabled, and Observable::notifyObservers().
Referenced by NTuple::addRow(), NTuple::clear(), NTuple::eraseRow(), NTuple::insertRow(), NTuple::replaceColumn(), NTuple::replaceRow(), NTuple::setIntervalEnabled(), and NTupleSorter::sort().
The assignment operator is private to avoid use of it.
double operator[] | ( | std::vector< unsigned int > & | indices | ) | const [virtual] |
Implements DataSource.
Definition at line 347 of file NTuple.cxx.
References DataSource::getRank(), NTuple::m_data, DataSource::m_shape, num_util::rank(), and num_util::size().
Referenced by NTuple::valueAt().
void removeObserver | ( | Observer * | ) | [inherited] |
Removes an Observer from the Observer list.
Definition at line 66 of file Observable.cxx.
References Observable::m_list.
Referenced by BinningProjector::normalizeTo(), CutPlotter::removeFromTarget(), DisplayController::removeTextObservers(), NTupleProjector::setNTuple(), FunctionRep::willDelete(), FunctionRep::~FunctionRep(), and NTupleProjector::~NTupleProjector().
void replaceColumn | ( | const std::string & | label, | |
const std::vector< double > & | data, | |||
const std::vector< intptr_t > & | shape | |||
) | [virtual, inherited] |
Replaces or adds column vector.
If column label exists, replaces that column with data, otherwise adds a new column with label. In both cases, the number of rows, as defined by first element of the shape, must be the same as existing columns, if any. Not all derived classes support the notion of shape, therefore as convenience to developers, the implementation in this base class throws a std::runtime_error object.
Reimplemented in FitsNTuple.
Definition at line 378 of file DataSource.cxx.
void replaceColumn | ( | const std::string & | label, | |
const std::vector< double > & | array | |||
) | [virtual, inherited] |
Replaces data in column label with contents of array.
If column label label exists, replace it contents with array, otherwise throw std::runtime_error.
Reimplemented in PyNTuple.
Definition at line 360 of file DataSource.cxx.
References DataSource::indexOf().
Referenced by hippodraw::Python::export_DataSource(), hippodraw::Python::export_FitsNTuple(), PyNTuple::replaceColumn(), and PyDataSource::saveColumnFromNumArray().
void replaceColumn | ( | unsigned int | index, | |
const std::vector< double > & | data | |||
) | [virtual] |
Replaces the data in column col.
If index is in a valid range and if the size of data is the same as the existing column, then replaces the elements of the specified column with a copy of @ data elements. If index is not a valid range or the sizes differ, then throws a std::runtime_error object.
Reimplemented from DataSource.
Reimplemented in PyNTuple.
Definition at line 439 of file NTuple.cxx.
References DataSource::columns(), hippodraw::String::convert(), NTuple::m_data, NTuple::notifyObservers(), NTuple::rows(), and num_util::size().
Referenced by PyNTuple::replaceColumn(), and PyDataSource::saveColumnFromNumArray().
void replaceRow | ( | unsigned int | i, | |
const std::vector< double > & | data | |||
) |
Replaces the data in the row i.
If index is in a valid range and if the size of data is the same as the existing column, then replaces the elements of the specified column with a copy of @ data elements. If index is not a valid range or the sizes differ, then throws a DataSourceException object
Definition at line 244 of file NTuple.cxx.
References NTuple::m_data, NTuple::notifyObservers(), NTuple::rows(), and DataSource::throwIfInvalidRowSize().
Referenced by CircularBuffer::addRow().
void reserve | ( | unsigned int | count | ) | [virtual] |
For each column, reserves enough space for the data source to grow to count rows.
Implements DataSource.
Reimplemented in CircularBuffer.
Definition at line 394 of file NTuple.cxx.
References NTuple::m_data.
Referenced by CircularBuffer::reserve().
void resizeColumns | ( | size_t | new_size | ) | [private] |
Resizes the the number of columns of the NTuple.
If new_size is greater then the current number of rows, then the appropriate number of columns containing empty vectors are added. If new_size is less then the current number of rows, then the appropriate number of columns are erased.
Definition at line 133 of file NTuple.cxx.
References NTuple::m_data.
Referenced by NTuple::setLabels().
unsigned int rows | ( | ) | const [virtual] |
Returns the number of rows.
Implements DataSource.
Definition at line 230 of file NTuple.cxx.
References NTuple::empty(), NTuple::m_data, and num_util::size().
Referenced by NTuple::addColumn(), CreateNTuple::createButtonClicked(), DisplayController::createDifferenceDisplay(), NTuple::eraseRow(), hippodraw::Python::export_CircularBuffer(), NTuple::getRow(), NTuple::insertRow(), NTuple::replaceColumn(), NTuple::replaceRow(), NTupleSorter::rows(), and NTuple::setLabels().
void setIntervalCount | ( | int | number | ) |
Sets the interval count.
One needs to call setIntervalEnabled for this to have effect. When interval counting is enabled, then only each number notifyObsevers messages will trigger an Observer::update message to the list of Observer objects.
Definition at line 601 of file NTuple.cxx.
References NTuple::m_i_count, and NTuple::m_i_current.
Referenced by hippodraw::Python::export_NTuple(), and DisplayController::setIntervalCount().
void setIntervalEnabled | ( | bool | yes = true |
) |
Sets interval counting to be enabled.
If yes is false
, then a notifyObservers is immediately issued.
Definition at line 588 of file NTuple.cxx.
References NTuple::m_i_current, NTuple::m_i_enabled, and NTuple::notifyObservers().
Referenced by hippodraw::Python::export_NTuple(), DisplayController::setAllIntervalEnabled(), and DisplayController::setIntervalEnabled().
bool setLabelAt | ( | const std::string & | s, | |
unsigned int | index | |||
) | [virtual, inherited] |
Changes the label of a data column to s.
s | the new label. | |
index | the column number starting at zero. |
Definition at line 161 of file DataSource.cxx.
References DataSource::m_labels, and Observable::notifyObservers().
void setLabels | ( | const std::vector< std::string > & | v | ) | [virtual] |
Assigns the label to each column from the vector of strings.
If the vector is the same size as the width of the ntuple, then it sets the label and returns true
; otherwise, it throws a DataSourceException. If the NTuple is empty, i.e. has no rows, then changes the NTuple's number of columns to the size of the vector.
Reimplemented from DataSource.
Definition at line 470 of file NTuple.cxx.
References DataSource::columns(), hippodraw::String::convert(), NTuple::resizeColumns(), NTuple::rows(), and DataSource::setLabels().
Referenced by NTupleProjector::createEmptyNTuple(), MeshProjector::createNTuple(), Map2Projector::createNTuple(), Map1Projector::createNTuple(), EqualEntriesHist1DProjector::createNTuple(), hippodraw::Python::export_NTuple(), NTuple::NTuple(), Bins1DBase::prepareNTuple(), and NTupleController::readAsciiNTuple().
void setName | ( | const std::string & | name | ) | [inherited] |
Sets the name of the data source.
Definition at line 130 of file DataSource.cxx.
References DataSource::m_ds_name, and Observable::notifyObservers().
Referenced by hippodraw::Python::export_DataSource(), PyDataSource::registerNTuple(), DataSourceController::registerNTuple(), and PyDataSource::setName().
bool setReleventIndex | ( | const std::string & | column, | |
const std::vector< unsigned int > & | index | |||
) | [virtual, inherited] |
In case we are dealing with multidimensional data in rows of this column we would like to deal with on one entry of this multidimensional data.
So here we set index of this relevant entry.
Reimplemented in RootNTuple.
Definition at line 465 of file DataSource.cxx.
void setShape | ( | std::vector< unsigned int > & | shape | ) | [virtual, inherited] |
Sets the shape of the data elements.
Sets the shape data elements from the vector shape. The rank is given by the size of the vector. A rank of 2 correspond to table. If the total number of elements in the DataSource is not equal to the product of the shape, then an assertion is raised.
Reimplemented in FitsNTuple, NumArrayTuple, ListTuple, and RootNTuple.
Definition at line 306 of file DataSource.cxx.
References DataSource::m_shape.
void setTitle | ( | const std::string & | title | ) | [virtual, inherited] |
Sets the title of the data source to title.
Reimplemented in PyNTuple.
Definition at line 146 of file DataSource.cxx.
References DataSource::m_title, and Observable::notifyObservers().
Referenced by hippodraw::Python::export_DataSource(), NTupleController::readAsciiNTuple(), PyNTuple::setTitle(), and PyDataSource::setTitle().
double sum | ( | unsigned int | column | ) | const [virtual] |
Returns the sum of all the elements in the sequence of column column.
Reimplemented from DataSource.
Definition at line 625 of file NTuple.cxx.
References num_util::data(), and NTuple::m_data.
void throwIfInvalidLabel | ( | const std::string & | label | ) | const [virtual, inherited] |
Throws a DataSourceException object if label is not a valid label for this DataSource.
The exception object contains a message that the label is invalid. Derived classes may over-ride this method with more information on why the label is invalid.
Definition at line 268 of file DataSource.cxx.
References DataSource::isValidLabel().
Referenced by RootNTuple::getColumn(), NTuple::getColumn(), QtRootNTuple::getColumnAsArray(), and QtRootNTuple::valueAt().
void throwIfInvalidRowSize | ( | const std::vector< double > & | row | ) | [inherited] |
Throws a DataSourceException if the size of the row is not equal to the number of columns, otherwise does nothing.
Definition at line 281 of file DataSource.cxx.
References DataSource::columns(), hippodraw::String::convert(), and num_util::size().
Referenced by RTuple::addRow(), NTuple::addRow(), and NTuple::replaceRow().
const string & title | ( | ) | const [inherited] |
Returns a const reference to the title of the data source.
Definition at line 141 of file DataSource.cxx.
References DataSource::m_title.
Referenced by hippodraw::Python::export_DataSource(), DataSource::getLabelAt(), PyDataSource::getTitle(), NTupleProjector::getTitle(), and NTupleController::writeNTupleToFile().
double valueAt | ( | unsigned int | row, | |
unsigned int | column | |||
) | const [virtual] |
Returns the value in the table in position given by the row and column indexes.
Implements DataSource.
Definition at line 387 of file NTuple.cxx.
References NTuple::m_data, and NTuple::operator[]().
double valueAtNoCache | ( | unsigned int | row, | |
unsigned int | column | |||
) | const [virtual, inherited] |
Returns the value in the table in position given by the row and column indexes without storing it into cache.
Reimplemented in RootNTuple.
Definition at line 541 of file DataSource.cxx.
References DataSource::valueAt().
Referenced by NTupleController::createNTuple().
std::vector< double > m_array [mutable, protected, inherited] |
A temporary array that can be returned by const reference.
Definition at line 88 of file DataSource.h.
Referenced by DataSource::getColumn(), RootNTuple::getRow(), and FitsNTuple::getRow().
std::vector< std::vector<double> *> m_data [private] |
The data columns of the data source table.
Note that the pointer to the columns is used so that when columns are added, the column data doesn't need to be relocated.
Definition at line 58 of file NTuple.h.
Referenced by NTuple::addColumn(), NTuple::addRow(), NTuple::append(), NTuple::clear(), NTuple::copy(), NTuple::empty(), NTuple::eraseRow(), NTuple::fillRange(), NTuple::getColumn(), NTuple::getRow(), NTuple::insertRow(), NTuple::maxElement(), NTuple::minElement(), NTuple::NTuple(), NTuple::operator[](), NTuple::replaceColumn(), NTuple::replaceRow(), NTuple::reserve(), NTuple::resizeColumns(), NTuple::rows(), NTuple::sum(), NTuple::valueAt(), and NTuple::~NTuple().
std::vector< std::string > m_dups [protected, inherited] |
A list of labels that duplicated others in a DataSource file.
Definition at line 100 of file DataSource.h.
Referenced by DataSource::getDuplicatedLabels(), RootNTuple::initBranches(), and FitsNTuple::initColumns().
int m_i_count [private] |
The interval count.
When used, the number of NotifyObserver messages that are received before an update is passed to this object's observers.
Definition at line 42 of file NTuple.h.
Referenced by NTuple::copy(), NTuple::getIntervalCount(), NTuple::notifyObservers(), and NTuple::setIntervalCount().
int m_i_current [mutable, private] |
The current interval count.
When used, this is the current count of NotifyObserver messages received since the last update was sent to Observer object of this object.
Definition at line 48 of file NTuple.h.
Referenced by NTuple::copy(), NTuple::notifyObservers(), NTuple::setIntervalCount(), and NTuple::setIntervalEnabled().
bool m_i_enabled [private] |
The interval flag.
When true, interval counting is enabled.
Definition at line 52 of file NTuple.h.
Referenced by NTuple::copy(), NTuple::isIntervalEnabled(), NTuple::notifyObservers(), and NTuple::setIntervalEnabled().
std::vector< double > m_row [mutable, private] |
A temporary vector corresponding to data elements of one row.
Definition at line 63 of file NTuple.h.
Referenced by NTuple::getRow().
std::vector< unsigned int > m_shape [protected, inherited] |
The shape of the data.
The elements the DataSource can have an arbitrary number of dimensions, called rank. An ordinary table has rank of 2 and the shape is number of columns and number of rows. That is m_shape[0] is number of columns and m_share[1] is number of rows.
Definition at line 96 of file DataSource.h.
Referenced by DataSource::copyPrivate(), DataSource::getRank(), RootNTuple::getShape(), NumArrayTuple::getShape(), ListTuple::getShape(), FitsNTuple::getShape(), DataSource::getShape(), RTuple::operator[](), NTuple::operator[](), RootNTuple::setShape(), NumArrayTuple::setShape(), ListTuple::setShape(), FitsNTuple::setShape(), and DataSource::setShape().