Class BurstSelector
- java.lang.Object
-
- org.orekit.time.BurstSelector
-
- All Implemented Interfaces:
DatesSelector
public class BurstSelector extends Object implements DatesSelector
Selector generating high rate bursts of dates separated by some rest period.The dates can be aligned to whole steps in some time scale. So for example if a rest period of 3600s is used and the alignment time scale is set to
UTC
, the earliest date of each burst will occur at whole hours in UTC time.BEWARE! This class stores internally the last selected dates, so it is neither reusable across several
fixed step
orcontinuous
schedulers, nor thread-safe. A separate selector should be used for each scheduler and for each thread in multi-threading context.- Since:
- 9.3
- Author:
- Luc Maisonobe
-
-
Constructor Summary
Constructors Constructor Description BurstSelector(int maxBurstSize, double highRateStep, double burstPeriod, TimeScale alignmentTimeScale)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<AbsoluteDate>
selectDates(AbsoluteDate start, AbsoluteDate end)
Select dates within an interval.
-
-
-
Constructor Detail
-
BurstSelector
public BurstSelector(int maxBurstSize, double highRateStep, double burstPeriod, TimeScale alignmentTimeScale)
Simple constructor.The
burstPeriod
ignores the duration of the burst itself. This means that if burst ofmaxBurstSize=256
dates each separated byhighRateStep=100ms
should be selected withburstPeriod=300s
, then the first burst would contain 256 dates fromt0
tot0+25.5s
and the second burst would start att0+300s
, not att0+325.5s
.If alignment to some time scale is needed, it applies only to the first date in each burst.
- Parameters:
maxBurstSize
- maximum number of selected dates in a bursthighRateStep
- step between two consecutive dates within a burst (s)burstPeriod
- period between the start of each burst (s)alignmentTimeScale
- alignment time scale for first date in burst (null is alignment is not needed)
-
-
Method Detail
-
selectDates
public List<AbsoluteDate> selectDates(AbsoluteDate start, AbsoluteDate end)
Select dates within an interval.The
start
andend
date may be either in direct or reverse chronological order. The list is produced in the same order asstart
andend
, i.e. direct chronological order ifstart
is earlier thanend
or reverse chronological order ifstart
is later thanend
.The ordering (direct or reverse chronological order) should not be changed between calls, otherwise unpredictable results may occur.
- Specified by:
selectDates
in interfaceDatesSelector
- Parameters:
start
- interval startend
- interval end- Returns:
- selected dates within this interval
-
-