yoda is hosted by Hepforge, IPPP Durham
YODA - Yet more Objects for Data Analysis  1.9.0
YODA::Scatter1D Class Reference

#include <Scatter1D.h>

Inheritance diagram for YODA::Scatter1D:
YODA::AnalysisObject YODA::Scatter< N > YODA::AnalysisObject

Public Types

typedef Point1D Point
 Type of the native Point1D collection. More...
 
typedef Utils::sortedvector< Point1DPoints
 
typedef std::shared_ptr< Scatter1DPtr
 
- Public Types inherited from YODA::AnalysisObject
typedef std::map< std::string, std::string > Annotations
 Collection type for annotations, as a string-string map. More...
 
- Public Types inherited from YODA::Scatter< N >
typedef Utils::ndarray< double, N > NdVal
 
typedef Utils::ndarray< std::pair< double, double >, N > NdValPair
 
typedef Utils::sortedvector< Point< N > > Points
 
typedef std::shared_ptr< ScatterPtr
 

Public Member Functions

size_t dim () const
 Dimension of this data object. More...
 
void parseVariations ()
 
std::vector< std::string > variations () const
 Get the list of variations stored in the points. More...
 
bool operator== (const Scatter1D &other)
 Equality operator. More...
 
bool operator!= (const Scatter1D &other)
 Non-equality operator. More...
 
Constructors
 Scatter1D (const std::string &path="", const std::string &title="")
 Empty constructor. More...
 
 Scatter1D (const Points &points, const std::string &path="", const std::string &title="")
 Constructor from a set of points. More...
 
 Scatter1D (const std::vector< double > &x, const std::string &path="", const std::string &title="")
 Constructor from a vector of x values with no errors. More...
 
 Scatter1D (const std::vector< double > &x, const std::vector< double > &ex, const std::string &path="", const std::string &title="")
 Constructor from vectors of x values with symmetric errors. More...
 
 Scatter1D (const std::vector< double > &x, const std::vector< std::pair< double, double > > &ex, const std::string &path="", const std::string &title="")
 Constructor from x values with asymmetric errors. More...
 
 Scatter1D (const std::vector< double > &x, const std::vector< double > &exminus, const std::vector< double > &explus, const std::string &path="", const std::string &title="")
 Constructor from values with completely explicit asymmetric errors. More...
 
 Scatter1D (const Scatter1D &s1, const std::string &path="")
 
Scatter1Doperator= (const Scatter1D &s1)
 Assignment operator. More...
 
Scatter1D clone () const
 Make a copy on the stack. More...
 
Scatter1Dnewclone () const
 Make a copy on the heap, via 'new'. More...
 
Modifiers
void reset ()
 Clear all points. More...
 
void scaleX (double scalex)
 Scaling of x axis. More...
 
void scale (size_t i, double scale)
 Scaling along direction i. More...
 
Point accessors
size_t numPoints () const
 Number of points in the scatter. More...
 
Pointspoints ()
 Get the collection of points (non-const) More...
 
const Pointspoints () const
 Get the collection of points (const) More...
 
Point1Dpoint (size_t index)
 Get a reference to the point with index index (non-const) More...
 
const Point1Dpoint (size_t index) const
 Get a reference to the point with index index (const) More...
 
Point inserters
void addPoint (const Point1D &pt)
 Insert a new point. More...
 
void addPoint (double x)
 Insert a new point, defined as the x value and no errors. More...
 
void addPoint (double x, double ex)
 Insert a new point, defined as the x value and symmetric errors. More...
 
void addPoint (double x, const std::pair< double, double > &ex)
 Insert a new point, defined as the x value and an asymmetric error pair. More...
 
void addPoint (double x, double exminus, double explus)
 Insert a new point, defined as the x value and explicit asymmetric errors. More...
 
void addPoints (const Points &pts)
 Insert a collection of new points. More...
 
Point removers
void rmPoint (size_t index)
 Remove the point with index index. More...
 
Combining sets of scatter points
void combineWith (const Scatter1D &other)
 
void combineWith (const std::vector< Scatter1D > &others)
 
- Public Member Functions inherited from YODA::AnalysisObject
 AnalysisObject ()
 Default constructor. More...
 
 AnalysisObject (const std::string &type, const std::string &path, const std::string &title="")
 Constructor giving a type, a path and an optional title. More...
 
 AnalysisObject (const std::string &type, const std::string &path, const AnalysisObject &ao, const std::string &title="")
 Constructor giving a type, a path, another AO to copy annotation from, and an optional title. More...
 
virtual ~AnalysisObject ()
 Default destructor. More...
 
virtual AnalysisObjectoperator= (const AnalysisObject &ao)
 Default copy assignment operator. More...
 
void parseVariations ()
 
std::vector< std::string > annotations () const
 
bool hasAnnotation (const std::string &name) const
 Check if an annotation is defined. More...
 
const std::string & annotation (const std::string &name) const
 Get an annotation by name (as a string) More...
 
const std::string & annotation (const std::string &name, const std::string &defaultreturn) const
 Get an annotation by name (as a string) with a default in case the annotation is not found. More...
 
template<typename T >
const T annotation (const std::string &name) const
 Get an annotation by name (copied to another type) More...
 
template<typename T >
const T annotation (const std::string &name, const T &defaultreturn) const
 Get an annotation by name (copied to another type) with a default in case the annotation is not found. More...
 
void setAnnotation (const std::string &name, const std::string &value)
 Add or set a string-valued annotation by name. More...
 
void setAnnotation (const std::string &name, double value)
 Add or set a double-valued annotation by name. More...
 
void setAnnotation (const std::string &name, float value)
 Add or set a float-valued annotation by name. More...
 
void setAnnotation (const std::string &name, long double value)
 Add or set a long-double-valued annotation by name. More...
 
template<typename T >
void setAnnotation (const std::string &name, const T &value)
 Add or set an annotation by name (templated for remaining types) More...
 
void setAnnotations (const Annotations &anns)
 Set all annotations at once. More...
 
template<typename T >
void addAnnotation (const std::string &name, const T &value)
 Add or set an annotation by name. More...
 
void rmAnnotation (const std::string &name)
 Delete an annotation by name. More...
 
void clearAnnotations ()
 Delete an annotation by name. More...
 
const std::string title () const
 Get the AO title. More...
 
void setTitle (const std::string &title)
 Set the AO title. More...
 
const std::string path () const
 Get the AO path. More...
 
void setPath (const std::string &path)
 
const std::string name () const
 
virtual std::string type () const
 Get name of the analysis object type. More...
 
- Public Member Functions inherited from YODA::Scatter< N >
virtual ~Scatter ()
 Virtual destructor for inheritance. More...
 
void reset ()
 Clear all points. More...
 
void scale (const NdVal &scales)
 Scaling. More...
 
virtual void rmPoints (std::vector< size_t > indices)
 Safely remove the points with indices indices. More...
 
 Scatter (const std::string &path="", const std::string &title="")
 Empty constructor. More...
 
 Scatter (const Points &points, const std::string &path="", const std::string &title="")
 Constructor from a set of points. More...
 
 Scatter (const std::vector< NdVal > &positions, const std::string &path="", const std::string &title="")
 Constructor from a vector of position values with no errors. More...
 
 Scatter (const std::vector< NdVal > &positions, const std::vector< NdVal > &errors, const std::string &path="", const std::string &title="")
 Constructor from vectors of values for positions and a single set of symmetric errors. More...
 
 Scatter (const Scatter< N > &s, const std::string &path="")
 Copy constructor with optional new path. More...
 
Scatter< N > & operator= (const Scatter< N > &s)
 Assignment operator. More...
 
Scatter< N > clone () const
 Make a copy on the stack. More...
 
Scatter< N > * newclone () const
 Make a copy on the heap, via 'new'. More...
 
size_t numPoints () const
 Number of points in the scatter. More...
 
Pointspoints ()
 Get the collection of points. More...
 
const Pointspoints () const
 Get the collection of points (const version) More...
 
Point< N > & point (size_t index)
 Get a reference to the point with index index. More...
 
const Point< N > & point (size_t index) const
 Get the point with index index (const version) More...
 
Scatter< N > & addPoint (const Point< N > &pt)
 Insert a new point. More...
 
Scatter< N > & addPoint (const NdVal &pos)
 Insert a new point, from a position array. More...
 
Scatter< N > & addPoints (Points pts)
 Insert a collection of new points. More...
 
Scatter< N > & combineWith (const Scatter< N > &other)
 
Scatter< N > & combineWith (const std::vector< Scatter< N > > &others)
 

Detailed Description

A very generic data type which is just a collection of 1D data points with errors

Todo:
Add a generic Scatter base class, providing reset(), rmPoint(), etc.

Definition at line 26 of file Scatter1D.h.

Member Typedef Documentation

◆ Point

Type of the native Point1D collection.

Definition at line 30 of file Scatter1D.h.

◆ Points

typedef Utils::sortedvector<Point1D> YODA::Scatter1D::Points

Definition at line 31 of file Scatter1D.h.

◆ Ptr

typedef std::shared_ptr<Scatter1D> YODA::Scatter1D::Ptr

Definition at line 32 of file Scatter1D.h.

Constructor & Destructor Documentation

◆ Scatter1D() [1/7]

YODA::Scatter1D::Scatter1D ( const std::string &  path = "",
const std::string &  title = "" 
)
inline

Empty constructor.

Definition at line 39 of file Scatter1D.h.

Referenced by clone(), YODA::mkScatter(), and newclone().

40  : AnalysisObject("Scatter1D", path, title)
41  { }
AnalysisObject()
Default constructor.
const std::string path() const
Get the AO path.
const std::string title() const
Get the AO title.

◆ Scatter1D() [2/7]

YODA::Scatter1D::Scatter1D ( const Points points,
const std::string &  path = "",
const std::string &  title = "" 
)
inline

Constructor from a set of points.

Definition at line 45 of file Scatter1D.h.

47  : AnalysisObject("Scatter1D", path, title),
48  _points(points)
49  { }
AnalysisObject()
Default constructor.
const std::string path() const
Get the AO path.
const std::string title() const
Get the AO title.
Points & points()
Get the collection of points (non-const)
Definition: Scatter1D.h:170

◆ Scatter1D() [3/7]

YODA::Scatter1D::Scatter1D ( const std::vector< double > &  x,
const std::string &  path = "",
const std::string &  title = "" 
)
inline

Constructor from a vector of x values with no errors.

Definition at line 53 of file Scatter1D.h.

References addPoint().

55  : AnalysisObject("Scatter1D", path, title)
56  {
57  for (size_t i = 0; i < x.size(); ++i) addPoint(x[i]);
58  }
AnalysisObject()
Default constructor.
const std::string path() const
Get the AO path.
void addPoint(const Point1D &pt)
Insert a new point.
Definition: Scatter1D.h:201
const std::string title() const
Get the AO title.

◆ Scatter1D() [4/7]

YODA::Scatter1D::Scatter1D ( const std::vector< double > &  x,
const std::vector< double > &  ex,
const std::string &  path = "",
const std::string &  title = "" 
)
inline

Constructor from vectors of x values with symmetric errors.

Definition at line 62 of file Scatter1D.h.

References addPoint().

64  : AnalysisObject("Scatter1D", path, title)
65  {
66  if (x.size() != ex.size()) throw UserError("x and ex vectors must have same length");
67  for (size_t i = 0; i < x.size(); ++i) addPoint(x[i], ex[i]);
68  }
AnalysisObject()
Default constructor.
const std::string path() const
Get the AO path.
void addPoint(const Point1D &pt)
Insert a new point.
Definition: Scatter1D.h:201
const std::string title() const
Get the AO title.

◆ Scatter1D() [5/7]

YODA::Scatter1D::Scatter1D ( const std::vector< double > &  x,
const std::vector< std::pair< double, double > > &  ex,
const std::string &  path = "",
const std::string &  title = "" 
)
inline

Constructor from x values with asymmetric errors.

Definition at line 71 of file Scatter1D.h.

References addPoint().

73  : AnalysisObject("Scatter1D", path, title)
74  {
75  if (x.size() != ex.size()) throw UserError("x and ex vectors must have same length");
76  for (size_t i = 0; i < x.size(); ++i) addPoint(Point1D(x[i], ex[i]));
77  }
AnalysisObject()
Default constructor.
const std::string path() const
Get the AO path.
void addPoint(const Point1D &pt)
Insert a new point.
Definition: Scatter1D.h:201
const std::string title() const
Get the AO title.

◆ Scatter1D() [6/7]

YODA::Scatter1D::Scatter1D ( const std::vector< double > &  x,
const std::vector< double > &  exminus,
const std::vector< double > &  explus,
const std::string &  path = "",
const std::string &  title = "" 
)
inline

Constructor from values with completely explicit asymmetric errors.

Definition at line 81 of file Scatter1D.h.

References addPoint().

85  : AnalysisObject("Scatter1D", path, title)
86  {
87  if (x.size() != exminus.size()) throw UserError("x and ex vectors must have same length");
88  if (exminus.size() != explus.size()) throw UserError("ex plus and minus vectors must have same length");
89  for (size_t i = 0; i < x.size(); ++i) addPoint(Point1D(x[i], exminus[i], explus[i]));
90  }
AnalysisObject()
Default constructor.
const std::string path() const
Get the AO path.
void addPoint(const Point1D &pt)
Insert a new point.
Definition: Scatter1D.h:201
const std::string title() const
Get the AO title.

◆ Scatter1D() [7/7]

YODA::Scatter1D::Scatter1D ( const Scatter1D s1,
const std::string &  path = "" 
)
inline

Copy constructor with optional new path

Todo:
Also allow title setting from the constructor?

Definition at line 95 of file Scatter1D.h.

References YODA::AnalysisObject::annotation(), YODA::AnalysisObject::annotations(), and YODA::AnalysisObject::setAnnotation().

96  : AnalysisObject("Scatter1D", (path.size() == 0) ? s1.path() : path, s1, s1.title()),
97  _points(s1._points)
98  {
99  for ( auto &ann : annotations()){
100  setAnnotation(ann, annotation(ann));
101  }
102  }
AnalysisObject()
Default constructor.
const std::string path() const
Get the AO path.
const std::string & annotation(const std::string &name) const
Get an annotation by name (as a string)
void setAnnotation(const std::string &name, const std::string &value)
Add or set a string-valued annotation by name.
std::vector< std::string > annotations() const

Member Function Documentation

◆ addPoint() [1/5]

void YODA::Scatter1D::addPoint ( const Point1D pt)
inline

Insert a new point.

Definition at line 201 of file Scatter1D.h.

Referenced by addPoints(), YODA::divide(), YODA::mkScatter(), and Scatter1D().

201  {
202  _points.insert(pt);
203  }

◆ addPoint() [2/5]

void YODA::Scatter1D::addPoint ( double  x)
inline

Insert a new point, defined as the x value and no errors.

Definition at line 206 of file Scatter1D.h.

References YODA::Point< N >::setParent().

206  {
207  Point1D thisPoint = Point1D(x);
208  thisPoint.setParent(this);
209  _points.insert(thisPoint);
210  }

◆ addPoint() [3/5]

void YODA::Scatter1D::addPoint ( double  x,
double  ex 
)
inline

Insert a new point, defined as the x value and symmetric errors.

Definition at line 213 of file Scatter1D.h.

References YODA::Point< N >::setParent().

213  {
214  Point1D thisPoint = Point1D(x, ex);
215  thisPoint.setParent(this);
216  _points.insert(thisPoint);
217  }

◆ addPoint() [4/5]

void YODA::Scatter1D::addPoint ( double  x,
const std::pair< double, double > &  ex 
)
inline

Insert a new point, defined as the x value and an asymmetric error pair.

Definition at line 220 of file Scatter1D.h.

References YODA::Point< N >::setParent().

220  {
221  Point1D thisPoint = Point1D(x, ex);
222  thisPoint.setParent(this);
223  _points.insert(thisPoint);
224  }

◆ addPoint() [5/5]

void YODA::Scatter1D::addPoint ( double  x,
double  exminus,
double  explus 
)
inline

Insert a new point, defined as the x value and explicit asymmetric errors.

Definition at line 227 of file Scatter1D.h.

References YODA::Point< N >::setParent().

227  {
228  Point1D thisPoint = Point1D(x, exminus, explus);
229  thisPoint.setParent(this);
230  _points.insert(thisPoint);
231  }

◆ addPoints()

void YODA::Scatter1D::addPoints ( const Points pts)
inline

Insert a collection of new points.

Definition at line 234 of file Scatter1D.h.

References addPoint().

Referenced by combineWith().

234  {
235  for (const Point1D& pt : pts) addPoint(pt);
236  }
void addPoint(const Point1D &pt)
Insert a new point.
Definition: Scatter1D.h:201

◆ clone()

Scatter1D YODA::Scatter1D::clone ( ) const
inline

Make a copy on the stack.

Definition at line 113 of file Scatter1D.h.

References Scatter1D().

113  {
114  return Scatter1D(*this);
115  }
Scatter1D(const std::string &path="", const std::string &title="")
Empty constructor.
Definition: Scatter1D.h:39

◆ combineWith() [1/2]

void YODA::Scatter1D::combineWith ( const Scatter1D other)
inline
Todo:
Better name?

Definition at line 263 of file Scatter1D.h.

References addPoints(), and points().

Referenced by YODA::combine(), and combineWith().

263  {
264  addPoints(other.points());
265  }
void addPoints(const Points &pts)
Insert a collection of new points.
Definition: Scatter1D.h:234

◆ combineWith() [2/2]

void YODA::Scatter1D::combineWith ( const std::vector< Scatter1D > &  others)
inline
Todo:

Better name? Make this the add operation?

Convert/extend to accept a Range or generic

Definition at line 269 of file Scatter1D.h.

References combineWith().

269  {
270  for (const Scatter1D& s : others) combineWith(s);
271  }
Scatter1D(const std::string &path="", const std::string &title="")
Empty constructor.
Definition: Scatter1D.h:39
void combineWith(const Scatter1D &other)
Definition: Scatter1D.h:263

◆ dim()

size_t YODA::Scatter1D::dim ( ) const
inlinevirtual

Dimension of this data object.

Implements YODA::AnalysisObject.

Definition at line 126 of file Scatter1D.h.

126 { return 1; }

◆ newclone()

Scatter1D* YODA::Scatter1D::newclone ( ) const
inlinevirtual

Make a copy on the heap, via 'new'.

Implements YODA::AnalysisObject.

Definition at line 118 of file Scatter1D.h.

References Scatter1D().

118  {
119  return new Scatter1D(*this);
120  }
Scatter1D(const std::string &path="", const std::string &title="")
Empty constructor.
Definition: Scatter1D.h:39

◆ numPoints()

size_t YODA::Scatter1D::numPoints ( ) const
inlinevirtual

Number of points in the scatter.

Implements YODA::Scatter< N >.

Definition at line 164 of file Scatter1D.h.

Referenced by YODA::efficiency(), parseVariations(), point(), and YODA::transformX().

164  {
165  return _points.size();
166  }

◆ operator!=()

bool YODA::Scatter1D::operator!= ( const Scatter1D other)
inline

Non-equality operator.

Definition at line 282 of file Scatter1D.h.

References operator==().

282  {
283  return ! operator == (other);
284  }
bool operator==(const Scatter1D &other)
Equality operator.
Definition: Scatter1D.h:277

◆ operator=()

Scatter1D& YODA::Scatter1D::operator= ( const Scatter1D s1)
inline

Assignment operator.

Definition at line 106 of file Scatter1D.h.

References YODA::AnalysisObject::operator=().

106  {
107  AnalysisObject::operator = (s1); //< AO treatment of paths etc.
108  _points = s1._points;
109  return *this;
110  }
virtual AnalysisObject & operator=(const AnalysisObject &ao)
Default copy assignment operator.

◆ operator==()

bool YODA::Scatter1D::operator== ( const Scatter1D other)
inline

Equality operator.

Definition at line 277 of file Scatter1D.h.

Referenced by operator!=().

277  {
278  return _points == other._points;
279  }

◆ parseVariations()

void YODA::Scatter1D::parseVariations ( )

Definition at line 25 of file Scatter1D.cc.

References YODA::AnalysisObject::annotation(), YODA::AnalysisObject::hasAnnotation(), numPoints(), YODA::Point1D::setXErrs(), and variations().

Referenced by scale().

25  {
26  if (this->_variationsParsed) { return;}
27  if (!(this->hasAnnotation("ErrorBreakdown"))) { return; }
28  YAML::Node errorBreakdown;
29  errorBreakdown = YAML::Load(this->annotation("ErrorBreakdown"));
30 
31  if (errorBreakdown.size()) {
32  for (size_t thisPointIndex = 0; thisPointIndex < this->numPoints(); ++thisPointIndex) {
33  Point1D &thispoint = this->_points[thisPointIndex];
34  YAML::Node variations = errorBreakdown[thisPointIndex];
35  for (const auto& variation : variations) {
36  const std::string variationName = variation.first.as<std::string>();
37  double eyp = variation.second["up"].as<double>();
38  double eym = variation.second["dn"].as<double>();
39  thispoint.setXErrs(eym,eyp,variationName);
40  }
41  }
42  this-> _variationsParsed =true;
43  }
44  }
size_t numPoints() const
Number of points in the scatter.
Definition: Scatter1D.h:164
const std::string & annotation(const std::string &name) const
Get an annotation by name (as a string)
std::vector< std::string > variations() const
Get the list of variations stored in the points.
Definition: Scatter1D.cc:48
bool hasAnnotation(const std::string &name) const
Check if an annotation is defined.

◆ point() [1/2]

Point1D& YODA::Scatter1D::point ( size_t  index)
inline

Get a reference to the point with index index (non-const)

Definition at line 182 of file Scatter1D.h.

References numPoints().

Referenced by YODA::efficiency(), YODA::transformX(), and variations().

182  {
183  if (index >= numPoints()) throw RangeError("There is no point with this index");
184  return _points.at(index);
185  }
size_t numPoints() const
Number of points in the scatter.
Definition: Scatter1D.h:164

◆ point() [2/2]

const Point1D& YODA::Scatter1D::point ( size_t  index) const
inline

Get a reference to the point with index index (const)

Definition at line 189 of file Scatter1D.h.

References numPoints().

189  {
190  if (index >= numPoints()) throw RangeError("There is no point with this index");
191  return _points.at(index);
192  }
size_t numPoints() const
Number of points in the scatter.
Definition: Scatter1D.h:164

◆ points() [1/2]

Points& YODA::Scatter1D::points ( )
inline

Get the collection of points (non-const)

Definition at line 170 of file Scatter1D.h.

Referenced by combineWith(), and YODA::WriterFLAT::writeScatter1D().

170  {
171  return _points;
172  }

◆ points() [2/2]

const Points& YODA::Scatter1D::points ( ) const
inline

Get the collection of points (const)

Definition at line 176 of file Scatter1D.h.

176  {
177  return _points;
178  }

◆ reset()

void YODA::Scatter1D::reset ( )
inlinevirtual

Clear all points.

Implements YODA::AnalysisObject.

Definition at line 133 of file Scatter1D.h.

133  {
134  _points.clear();
135  }

◆ rmPoint()

void YODA::Scatter1D::rmPoint ( size_t  index)
inlinevirtual

Remove the point with index index.

Implements YODA::Scatter< N >.

Definition at line 245 of file Scatter1D.h.

245  {
246  _points.erase(_points.begin()+index);
247  }

◆ scale()

void YODA::Scatter1D::scale ( size_t  i,
double  scale 
)
inlinevirtual

Scaling along direction i.

Implements YODA::Scatter< N >.

Definition at line 143 of file Scatter1D.h.

References parseVariations(), scaleX(), and variations().

143  {
144  switch (i) {
145  case 1: scaleX(scale); break;
146  default: throw RangeError("Invalid axis int, must be in range 1..dim");
147  }
148  }
void scale(size_t i, double scale)
Scaling along direction i.
Definition: Scatter1D.h:143
void scaleX(double scalex)
Scaling of x axis.
Definition: Scatter1D.h:138

◆ scaleX()

void YODA::Scatter1D::scaleX ( double  scalex)
inline

Scaling of x axis.

Definition at line 138 of file Scatter1D.h.

Referenced by scale().

138  {
139  for (Point1D& p : _points) p.scaleX(scalex);
140  }

◆ variations()

std::vector< std::string > YODA::Scatter1D::variations ( ) const
virtual

Get the list of variations stored in the points.

Todo:
Reduce duplication between Scatter types
Todo:
Auto-run parseVariations? Why expose the machinery to the user?

Implements YODA::Scatter< N >.

Definition at line 48 of file Scatter1D.cc.

References YODA::Point1D::errMap(), and point().

Referenced by parseVariations(), and scale().

48  {
50  std::vector<std::string> vecvariations;
51  for (auto& point : this->_points) {
52  for (auto& it : point.errMap()) {
53  // if the variation is not already in the vector, add it!
54  if (std::find(vecvariations.begin(), vecvariations.end(), it.first) == vecvariations.end()) {
55  vecvariations.push_back(it.first);
56  }
57  }
58  }
59  return vecvariations;
60  }
Point1D & point(size_t index)
Get a reference to the point with index index (non-const)
Definition: Scatter1D.h:182
const std::map< std::string, std::pair< double, double > > & errMap() const
Get error map for direction i.
Definition: Point1D.h:234

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