|
Go to the documentation of this file. 1 #ifndef NPSTAT_NTRECTANGULARCUT_HH_
2 #define NPSTAT_NTRECTANGULARCUT_HH_
29 template< typename Numeric>
54 unsigned long c1, const T& min1, const T& max1);
58 unsigned long c1, const T& min1, const T& max1,
59 unsigned long c2, const T& min2, const T& max2);
63 unsigned long c1, const T& min1, const T& max1,
64 unsigned long c2, const T& min2, const T& max2,
65 unsigned long c3, const T& min3, const T& max3);
69 unsigned long c1, const T& min1, const T& max1,
70 unsigned long c2, const T& min2, const T& max2,
71 unsigned long c3, const T& min3, const T& max3,
72 unsigned long c4, const T& min4, const T& max4);
76 unsigned long c1, const T& min1, const T& max1,
77 unsigned long c2, const T& min2, const T& max2,
78 unsigned long c3, const T& min3, const T& max3,
79 unsigned long c4, const T& min4, const T& max4,
80 unsigned long c5, const T& min5, const T& max5);
84 unsigned long c1, const T& min1, const T& max1,
85 unsigned long c2, const T& min2, const T& max2,
86 unsigned long c3, const T& min3, const T& max3,
87 unsigned long c4, const T& min4, const T& max4,
88 unsigned long c5, const T& min5, const T& max5,
89 unsigned long c6, const T& min6, const T& max6);
93 unsigned long c1, const T& min1, const T& max1,
94 unsigned long c2, const T& min2, const T& max2,
95 unsigned long c3, const T& min3, const T& max3,
96 unsigned long c4, const T& min4, const T& max4,
97 unsigned long c5, const T& min5, const T& max5,
98 unsigned long c6, const T& min6, const T& max6,
99 unsigned long c7, const T& min7, const T& max7);
103 unsigned long c1, const T& min1, const T& max1,
104 unsigned long c2, const T& min2, const T& max2,
105 unsigned long c3, const T& min3, const T& max3,
106 unsigned long c4, const T& min4, const T& max4,
107 unsigned long c5, const T& min5, const T& max5,
108 unsigned long c6, const T& min6, const T& max6,
109 unsigned long c7, const T& min7, const T& max7,
110 unsigned long c8, const T& min8, const T& max8);
114 unsigned long c1, const T& min1, const T& max1,
115 unsigned long c2, const T& min2, const T& max2,
116 unsigned long c3, const T& min3, const T& max3,
117 unsigned long c4, const T& min4, const T& max4,
118 unsigned long c5, const T& min5, const T& max5,
119 unsigned long c6, const T& min6, const T& max6,
120 unsigned long c7, const T& min7, const T& max7,
121 unsigned long c8, const T& min8, const T& max8,
122 unsigned long c9, const T& min9, const T& max9);
139 const T& min, const T& max,
140 bool inverted= false);
150 inline unsigned long dim() const { return nCuts_;}
153 inline unsigned long cutColumn( const unsigned long cutNumber) const
154 { return cutData_.at(cutNumber).col;}
161 Numeric* minValue, Numeric* maxValue) const;
185 const Numeric* row, unsigned long nCols) const;
192 { return !(* this == r);}
196 inline gs::ClassId classId() const { return gs::ClassId(* this);}
197 bool write(std::ostream& of) const;
200 static const char* classname();
201 static inline unsigned version() { return 1;}
202 static void restore( const gs::ClassId& id, std::istream& in,
203 NtRectangularCut* cut);
207 inline RCut( unsigned long icol, Numeric imin,
208 Numeric imax, bool inv)
209 : col(icol), min(imin), max(imax), inverted(inv) {}
212 { return col == r.col && min == r.min &&
213 inverted == r.inverted &&
214 (max == r.max || (max <= min && r.max <= min));}
222 std::vector<RCut> cutData_;
223 unsigned long nCuts_;
227 inline void addCut2( unsigned long cutColumn,
228 const Numeric& min, const Numeric& max,
232 inline void addCut2( const NtRectangularCut<Numeric>& another)
238 #include "npstat/stat/NtRectangularCut.icc"
Template to represent rectangles, boxes, and hyperboxes.
Definition: NtRectangularCut.hh:31
bool isInverted(unsigned long cutNumber) const
NtRectangularCut(const std::vector< unsigned long > &ntupleColumns, const BoxND< T > &acceptedBox)
NtRectangularCut & addCut(unsigned long cutColumn, const T &min, const T &max, bool inverted=false)
bool operator==(const NtRectangularCut< Numeric > &r) const
std::vector< unsigned long > ntupleColumns() const
NtRectangularCut & addCut(const NtRectangularCut< T > &another)
gs::ClassId classId() const Definition: NtRectangularCut.hh:196
unsigned long dim() const Definition: NtRectangularCut.hh:150
bool operator()(unsigned long rowNumber, const Numeric *row, unsigned long nCols) const
unsigned long nUniqueColumns() const
NtRectangularCut(unsigned long c0, const T &min0, const T &max0)
unsigned long cutColumn(const unsigned long cutNumber) const Definition: NtRectangularCut.hh:153
bool operator!=(const NtRectangularCut< Numeric > &r) const Definition: NtRectangularCut.hh:191
void cutInterval(unsigned long cutNumber, Numeric *minValue, Numeric *maxValue) const
NtRectangularCut() Definition: NtRectangularCut.hh:36
Definition: AbsArrayProjector.hh:14
|