YAP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Private Attributes | List of all members
DataSet Class Reference

Class holding a set of DataPoint objects. More...

#include <DataSet.h>

Inheritance diagram for DataSet:
DataPartitionBlock DataPartitionWeave DataPartition StatusManager

Public Types

using value_type = std::vector< FourVector< double > >
 

Public Member Functions

 DataSet (const Model &m)
 Constructor.
 
bool consistent (const DataPoint &d) const
 Check if data point is consisent with data set.
 
void addEmptyDataPoints (size_t n)
 
const DataPoint createDataPoint (const std::vector< FourVector< double > > &P, StatusManager &sm)
 
const DataPoint createDataPoint (const std::vector< FourVector< double > > &P)
 
void push_back (const std::vector< FourVector< double > > &P)
 
void push_back (const DataPoint &d)
 
void push_back (DataPoint &&d)
 
DataIterator insert (DataIterator pos, const std::vector< FourVector< double > > &P)
 
DataIterator insert (const DataIterator &pos, const DataPoint &d)
 
DataIterator insert (const DataIterator &pos, DataPoint &&d)
 
void clear ()
 clear the data set
 
void pop_back ()
 
DataIterator erase (const DataIterator &pos)
 
DataIterator erase (const DataIterator &first, const DataIterator &last)
 
const DataIteratorbegin () const override
 
const DataIteratorend () const override
 
DataPointoperator[] (size_t i)
 access by index
 
DataPointat (size_t i)
 access by index (with check)
 
const DataPointfront () const
 access front
 
const DataPointback () const
 access back
 
const unsigned bytes () const
 
const size_t size () const override
 
const size_t max_size () const
 
const size_t capacity () const
 
const bool empty () const
 
void reserve (size_t n)
 reserve storage space
 
void shrink_to_fit ()
 call shrink to fit on DataPoints_
 
const Modelmodel () const
 
- Public Member Functions inherited from DataPartitionWeave
 DataPartitionWeave (const StatusManager &sm, DataPointVector::iterator begin, DataPointVector::iterator end, unsigned spacing)
 
virtual const
DataIterator::difference_type 
difference (const DataPointVector::iterator &lhs, const DataPointVector::iterator &rhs) const override
 
- Public Member Functions inherited from DataPartition
virtual ~DataPartition ()=default
 virtual destructor (defaulted)
 
 DataPartition (const DataPartition &)=default
 copy constructor (defaulted)
 
 DataPartition (DataPartition &&)=default
 move constructor (defaulted)
 
DataPartitionoperator= (const DataPartition &)=default
 copy assignment operator (defaulted)
 
DataPartitionoperator= (DataPartition &&)=default
 move assignment operator (defaulted)
 
- Public Member Functions inherited from StatusManager
 StatusManager (const DataAccessorSet &sDA)
 
template<class T >
void set (const CachedValue &cdv, const T &stat)
 
template<class T >
void set (const DataAccessor &da, const T &stat)
 
template<class T >
void setAll (const T &stat)
 
void copyCalculationStatuses (const StatusManager &sm)
 
CachedValue::Statusstatus (size_t da_index, size_t cdv_index, size_t sym_index)
 
const CachedValue::Statusstatus (size_t da_index, size_t cdv_index, size_t sym_index) const
 
CachedValue::Statusstatus (const CachedValue &cdv, size_t sym_index)
 
const CachedValue::Statusstatus (const CachedValue &cdv, size_t sym_index) const
 

Public Attributes

friend DataPartition
 grant friend status to DataPartition to access non-const dataPoints()
 
- Public Attributes inherited from DataPartition
friend DataIterator
 grant friend status to DataIterator to call increment
 

Protected Member Functions

DataPointVector & dataPoints ()
 non-const access to DataPoints_
 
- Protected Member Functions inherited from DataPartitionBlock
 DataPartitionBlock (const StatusManager &sm, DataPointVector::iterator begin, DataPointVector::iterator end)
 
 DataPartitionBlock (const DataAccessorSet &sDA)
 
- Protected Member Functions inherited from DataPartitionWeave
 DataPartitionWeave (const DataAccessorSet &sDA, unsigned spacing)
 
virtual DataIteratorincrement (DataIterator &it, DataIterator::difference_type n) const override
 
- Protected Member Functions inherited from DataPartition
 DataPartition (const StatusManager &sm, DataPointVector::iterator begin, DataPointVector::iterator end)
 
 DataPartition (const DataAccessorSet &sDA)
 
DataPointVector::iterator & rawIterator (DataIterator &it) const
 
const DataPointVector::iterator & rawIterator (const DataIterator &it) const
 
DataIterator dataIterator (DataPointVector::iterator it, const DataPartition *part) const
 
const DataIteratorsetBegin (DataPointVector::iterator it)
 set begin
 
const DataIteratorsetEnd (DataPointVector::iterator it)
 set end
 

Private Attributes

DataPointVector DataPoints_
 vector of data points contained in set
 
const ModelModel_
 Associated model.
 

Additional Inherited Members

- Static Public Member Functions inherited from DataPartitionBlock
static DataPartitionVector create (DataSet &dataSet, unsigned n)
 
static DataPartitionVector createBySize (DataSet &dataSet, size_t s)
 
- Static Public Member Functions inherited from DataPartitionWeave
static DataPartitionVector create (DataSet &dataSet, unsigned n)
 
- Static Protected Member Functions inherited from DataPartition
static DataPointVector::iterator begin (DataSet &ds)
 get non-const begin from DataSet
 
static DataPointVector::iterator end (DataSet &ds)
 get non-const end from DataSet
 
- Protected Attributes inherited from DataPartitionWeave
unsigned Spacing_
 spacing between data points for the weaving
 

Detailed Description

Class holding a set of DataPoint objects.

Author
Johannes Rauch, Daniel Greenwald

Member Typedef Documentation

needed by std::back_inserter and std::inserter

Member Function Documentation

void addEmptyDataPoints ( size_t  n)

add empty data points

Parameters
nnumber of points to add
const DataIterator& begin ( ) const
inlineoverridevirtual
Returns
iterator to front of set

Reimplemented from DataPartition.

const unsigned bytes ( ) const
Returns
size of data set in bytes
const size_t capacity ( ) const
inline
Returns
number of data points that can be held in currently allocated storage
const DataPoint createDataPoint ( const std::vector< FourVector< double > > &  P,
StatusManager sm 
)

creates a new #DataPoint and calls #Model::setFinalStateMomenta on it

Parameters
Pthe momenta to be set
smStatusManager to use when calling #Model::setFinalStateMomenta
Returns
the created #DataPoint
const DataPoint createDataPoint ( const std::vector< FourVector< double > > &  P)
inline

creates a new #DataPoint and #setFinalStateMomenta to P

Parameters
Pthe momenta to be set
Returns
the created #DataPoint
const bool empty ( ) const
inline
Returns
whether DataPoints_ is empty
const DataIterator& end ( ) const
inlineoverridevirtual
Returns
iterator to end of set

Reimplemented from DataPartition.

DataIterator erase ( const DataIterator pos)
inline

remove specified element from data set.

Warning
DataIterator's and DataPartition's referring to this DataSet will most likely be invalidated
Parameters
positerator to element to remove
DataIterator erase ( const DataIterator first,
const DataIterator last 
)

remove specified elements from data set

Warning
DataIterator's and DataPartition's referring to this DataSet will most likely be invalidated
Parameters
firstiterator to first element to remove
lastiterator beyond last element to remove
DataIterator insert ( DataIterator  pos,
const std::vector< FourVector< double > > &  P 
)
inline

creates a DataPoint from a vector of FourVector's using createDataPoint and inserts it into the vector of DataPoint's at a specified position

Parameters
posDataIterator of position in DataSet to insert into
Pvector of FourVector to create DataPoint from
DataIterator insert ( const DataIterator pos,
const DataPoint d 
)

checks consistency of DataPoint and inserts it into vector of data points at specifief position

Parameters
posDataIterator of position in DataSet to insert into
dDataPoint to copy into DataSet
DataIterator insert ( const DataIterator pos,
DataPoint &&  d 
)

checks consistency of DataPoint and inserts it into vector of data points at specifief position

Parameters
posDataIterator of position in DataSet to insert into
dDataPoint to move into DataSet
const size_t max_size ( ) const
inline
Returns
maximum possible number data points that can be stored
const Model* model ( ) const
inline
Returns
raw pointer to associated model
void pop_back ( )
inline

removes last element added to data set

Warning
DataIterator's and DataPartition's referring to this DataSet will most likely be invalidated
void push_back ( const std::vector< FourVector< double > > &  P)
inline

creates a DataPoint from a vector of FourVector's using createDataPoint and pushes it back in the vector data points

Parameters
Pvector of FourVector's to create DataPoint from
void push_back ( const DataPoint d)

checks consistency of DataPoint, and pushes it back in the vector of data points

Parameters
dDataPoint to copy into DataSet
void push_back ( DataPoint &&  d)

checks consistency of DataPoint, and pushes it back in the vector of data points

Parameters
dDataPoint to move into DataSet
const size_t size ( ) const
inlineoverridevirtual
Returns
number of data points

Reimplemented from DataPartition.


The documentation for this class was generated from the following files: