public class TransitMerit extends AbstractPhaseMerit implements EndpointDefining, Initializable
AbstractPhaseMerit.KEY_ZEROPHASE of its parental class along
with the period. The duration t_d of the transit has to be set with
KEY_TRANSITDURATION. It is the time between first and fourth
contact. If a list of transit numbers, KEY_TRANSITS is stated, the
merit is only active around these transits, with the transit at jd0 being
transit number zero. It is good practice to also state an
KEY_INGRESS and KEY_OVER time, but if these times are not
given, they are calculated from the transit time. The merit now is zero,
except for the brief period (n is a non-forbidden transit number):
t_0 = jd_0+n*P<br>t_0-td/2-ingress<t<t_0-td/2-overIt is endpoint defining, but only if the
KEY_UNCERTAINTY is set,
then it ends when the phase error extends #KEY_PHASESHIFT. The phase
error is:
δφ=δP/P*(φ+int((t-t0)/P)/P)+1/P*int((t-t0)δP/P² ;)This merit can be combined with a
ConstantMerit or a
OneObservationMerit to further constrain target picking.EndpointDefining interface. The
isCompleted(globals.GlobalGrouping, stella.Appointable) method returns true as soon as all phase-requested
observations have been made or no further prediction on the first contact.| Modifier and Type | Field and Description |
|---|---|
private static double |
DEFINGRESS
Default ingress time.
|
private static double |
DEFOVER
Default over time.
|
static String |
KEY_INGRESS
Observe start this time before first contact.
|
static String |
KEY_OVER
Observe may not start later than this time before first contact.
|
static String |
KEY_TRANSITDURATION
The duration of the transit in seconds.
|
static String |
KEY_TRANSITS
The number of phase points to observe.
|
static String |
KEY_UNCERTAINTY
If set, the uncertainty in the period as a fraction of the period.
|
private List<Integer> |
nr
If not null, the allowed transit numbers.
|
KEY_HJDCORRECTION, KEY_JD, KEY_PERIODDAY, KEY_USEHJD, KEY_ZEROPHASEKEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATORCONFIG, KEY_CLASS| Constructor and Description |
|---|
TransitMerit(Map<String,String> prop)
Constructs a phase-coherent merit.
|
| Modifier and Type | Method and Description |
|---|---|
protected double |
forPhase(double phi,
long within) |
double |
getMerit(GlobalGrouping set,
Appointable target,
Collection<Appointable> ignore,
long within)
Calculates the actual time slot merit.
|
void |
init()
Generates the list of phases we want to observe.
|
boolean |
isCompleted(GlobalGrouping set,
Appointable target)
Check, if the observation is complete.
|
getDaysSinceT0, getHjd, getHjd, getPeriodsSinceT0, getPhase, getPhase, getT0createMerit, getInitializer, initMeritaugment, augment, augment, augment, augment, clone, defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsEnums, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, initProperties, isNew, parseObject, parseObject, reload, reload, removeProperty, requires, rescanned, setObject, setProperties, setProperty, stringProperties, toStringpublic static final String KEY_TRANSITS
public static final String KEY_TRANSITDURATION
public static final String KEY_INGRESS
public static final String KEY_OVER
public static final String KEY_UNCERTAINTY
private static final double DEFINGRESS
private static final double DEFOVER
public TransitMerit(Map<String,String> prop)
AbstractMerit.createMerit(java.util.Map<java.lang.String, java.lang.String>) method. This create method
also takes care of proper parameter overloading.public void init()
init in interface Initializableinit in class AbstractPhaseMeritpublic double getMerit(GlobalGrouping set, Appointable target, Collection<Appointable> ignore, long within)
protected double forPhase(double phi,
long within)
public boolean isCompleted(GlobalGrouping set, Appointable target)
isCompleted in interface EndpointDefining