1 #ifndef __bbstdGetIntervalNumberFromIntervalList_h_INCLUDED__
2 #define __bbstdGetIntervalNumberFromIntervalList_h_INCLUDED__
3 #include "bbstd_EXPORT.h"
4 #include "bbtkAtomicBlackBox.h"
9 class bbstd_EXPORT GetIntervalNumberFromIntervalList
11 public bbtk::AtomicBlackBox
13 BBTK_BLACK_BOX_INTERFACE(GetIntervalNumberFromIntervalList,bbtk::AtomicBlackBox);
15 BBTK_DECLARE_INPUT(Value, double);
16 BBTK_DECLARE_INPUT(IntervalList, std::vector<double>);
17 BBTK_DECLARE_INPUT(ErrorValue, double);
19 BBTK_DECLARE_OUTPUT(IntervalNumber, int);
21 BBTK_PROCESS(Process);
25 BBTK_BEGIN_DESCRIBE_BLACK_BOX(GetIntervalNumberFromIntervalList,bbtk::AtomicBlackBox);
26 BBTK_NAME("GetIntervalNumberFromIntervalList");
27 BBTK_AUTHOR("Claire Mouton");
28 BBTK_DESCRIPTION("Providing a value and a list of intervals, the box returns the first interval number containing the input value. Interval numbers start at 0.");
30 BBTK_INPUT(GetIntervalNumberFromIntervalList,Value,"The value to be looked for in the interval list.",double,"");
31 BBTK_INPUT(GetIntervalNumberFromIntervalList,IntervalList,"Interval List provided as a list of double values corresponding to intervals. For example, '0 10 20 50' corresponds to the three following intervals 0/[0; 10[ 1/[10; 20[ 2/[20; 50[.",std::vector<double>,"");
32 BBTK_INPUT(GetIntervalNumberFromIntervalList,ErrorValue,"The output value returned if the value is not in any interval (default is -1).",double,"");
33 BBTK_OUTPUT(GetIntervalNumberFromIntervalList,IntervalNumber,"The (first) interval number containing the input value. If the value is not in any interval, the output is set to the ErrorValue (default is -1).",int,"");
35 BBTK_END_DESCRIBE_BLACK_BOX(GetIntervalNumberFromIntervalList);
39 #endif // __bbstdGetIntervalNumberFromIntervalList_h_INCLUDED__