EpIC 1.1.0
Monte Carlo generator for exclusive processes
Loading...
Searching...
No Matches
KinematicRange.h
1/*
2 * KinematicRange.h
3 *
4 * Created on: Feb 8, 2021
5 * Author: Pawel Sznajder (NCBJ)
6 */
7
8#ifndef BEANS_KINEMATICRANGE_H_
9#define BEANS_KINEMATICRANGE_H_
10
11#include <partons/BaseObject.h>
12#include <string>
13#include <utility>
14#include <vector>
15
16namespace EPIC {
17class MonteCarloTask;
18} /* namespace EPIC */
19
20namespace EPIC {
21
29class KinematicRange: public PARTONS::BaseObject {
30
31public:
36
40 KinematicRange(double min, double max);
41
45 KinematicRange(const std::pair<double, double> &minMax);
46
50 KinematicRange(const std::vector<double> &minMax);
51
56
60 virtual ~KinematicRange();
61
62 virtual std::string toString() const;
63
67 bool inRange(double value) const;
68
69//********************************************************
70//*** SETTERS AND GETTERS ********************************
71//********************************************************
72
76 const std::pair<double, double> &getMinMax() const;
77
81 double getMin() const;
82
86 double getMax() const;
87
91 void setMinMax(double min, double max);
92
96 void setMinMax(const std::pair<double, double> &minMax);
97
101 void setMinMax(const std::vector<double> &minMax);
102
103private:
104
108 void checkIfValid() const;
109
110 std::pair<double, double> m_minMax;
111};
112
113} /* namespace EPIC */
114
115#endif /* BEANS_KINEMATICRANGE_H_ */
Container to store a single kinematic range.
Definition: KinematicRange.h:29
KinematicRange(double min, double max)
const std::pair< double, double > & getMinMax() const
virtual ~KinematicRange()
double getMin() const
KinematicRange(const std::pair< double, double > &minMax)
void setMinMax(const std::vector< double > &minMax)
void setMinMax(double min, double max)
KinematicRange(const std::vector< double > &minMax)
KinematicRange(const KinematicRange &other)
bool inRange(double value) const
void setMinMax(const std::pair< double, double > &minMax)
double getMax() const