71 bool rotateWheels( std::vector< int > & wheels,
72 const std::vector < int > & sz,
86 int addColumn (
const std::string & label,
RootBranch * );
118 virtual void notifyObservers ( )
const;
122 virtual unsigned int rows ()
const;
126 virtual bool empty ()
const;
131 virtual void clear ();
135 virtual void reserve (
unsigned int );
141 operator [] ( std::vector < unsigned int > & indices )
const;
143 virtual double valueAt (
unsigned int row,
unsigned int column )
const;
145 virtual double valueAtNoCache (
unsigned int row,
146 unsigned int column )
const;
154 virtual double * doubleArrayAt (
unsigned int row,
155 unsigned int column )
const;
159 virtual float * floatArrayAt (
unsigned int row,
160 unsigned int column )
const;
164 virtual int * intArrayAt (
unsigned int row,
165 unsigned int column )
const;
170 virtual unsigned int * uintArrayAt (
unsigned int row,
171 unsigned int column )
const;
181 int addColumn (
const std::string & label,
182 const std::vector < double > &
column );
191 void replaceColumn (
unsigned int index,
192 const std::vector < double > &
data );
194 virtual const std::vector < double > &
195 getColumn (
const std::string & name )
const;
201 virtual const std::vector < double > &
202 getColumn (
const std::string & name,
203 const std::vector < int > & indices )
const;
205 virtual const std::vector < double > &
206 getColumn (
unsigned int index )
const;
212 virtual const std::vector < double > & getRow (
unsigned int i )
const;
220 virtual void setShape ( std::vector < unsigned int > &
shape );
224 const std::vector < unsigned int > & getShape ()
const;
228 virtual bool isMultiDimensional (
const std::string &
column )
const;
234 virtual bool isUseable (
const std::string & label )
const;
239 virtual bool setReleventIndex(
const std::string &
column,
240 const std::vector< unsigned int >&
index );
248 virtual void fillShape ( std::vector < int > &
v,
249 unsigned int column )
const;
257 void smartExpandRootNTuple(
const std::string &
column )
const;
266 void expandIfNeeded (
const std::vector < std::string > & labels )
const;
272 createBinding (
const std::string & name,
273 const std::vector < int > & indices )
const;
277 void expandIfNeeded (
const std::string & label )
const;
281 void initBranches ();
285 void fillDataCache (
unsigned int column );
291 #endif // RootNTuple_H
#define MDL_HIPPOPLOT_API
Type
The type of data on the branch.
TTree * m_tree
The ROOT TTree object which is the source of the data.
A DataSource class implemented with a ROOT TBranch objects from a ROOT TTree to store the column data...
void * data(numeric::array arr)
A class to read data from a ROOT TBranch.
column
The column indices for 2 dimension data point tuple.
std::vector< intptr_t > shape(numeric::array arr)
hippodraw::DataSource class interface.
std::vector< bool > m_multiDimensional
Answers if rows of column are composed of the multidimensional data.
CacheList_t m_data_cache
A cache of data already read.
The namespace for ROOT data types.
std::vector< RootBranch * > BranchList_t
The type of container holding pointers to the ROOT branches.
std::vector< std::vector< double > * > CacheList_t
The type of container holding pointers to the cached data vectors.
unsigned int m_cur_entry
Index into the current position in the branches.
BranchList_t m_data
The RootBranch objects that contains the data.
Base class for DataSource.