stella
Interface Meriting

All Known Subinterfaces:
EndpointDefining
All Known Implementing Classes:
AbstractMerit, AbstractPhaseMerit, AfterPickMerit, AirmassMerit, AtTimeMerit, AvoidanceMerit, BeforeAfterMerit, BlockMerit, ConsecutiveMerit, ConstantMerit, DarkSkyMerit, DawnMerit, EvenlySpacedMerit, ExpressionMerit, FixedDelayMerit, FixedRateMerit, FollowingProgramMerit, ForcedSwitchOnMerit, ForcedTimeoutMerit, JdModulusMerit, MeridianMerit, MiddayMerit, MidnightMerit, MoonAvoidanceMerit, NightlyMerit, NightStretchMerit, NumberMerit, OneObservationMerit, OppositionMerit, PatternMerit, PerNightMerit, PhaseAvoidanceMerit, PhaseCoherentMerit, PhaseFillerMerit, PhaseMerit, PickRaiseMerit, PriorityMerit, RandomMerit, RepetitiveMerit, SlewTimeMerit, SuccessorCloseMerit, SuccessorMerit, SunAvoidanceMerit, TerminalMerit, UserMerit, WindowMerit, ZenithMerit

public interface Meriting

The interface defining merits of observations. Implementations of this class are used for guiding the dispatch scheduling of observations. In an Sequencing instance, merits may be defined using xml-definitions. The overall merit function of a targat may be composed of multiple merit instances.
Concrete implementation must support constructorless construction. Initialization may be done with the initMerit(java.lang.Object) method.


Method Summary
 Object getInitializer()
          Returns the intializer used in this merit.
 double getMerit(ParameterClustering set, TargetDefinition target, Collection oftargets, long within)
          Calculates the maximal merit for a special target within the stated amount of time.
 void initMerit(Object init)
          Initializes this merit.
 

Method Detail

initMerit

void initMerit(Object init)
Initializes this merit. There is no guarantee that this method is ever called. If called, however, even a null argument may be a valid argument, depending on the concrete meriting type.

Parameters:
init - An object used for initialization.

getInitializer

Object getInitializer()
Returns the intializer used in this merit. Only a few instances will need this.

Returns:
null if no initializer is needed.

getMerit

double getMerit(ParameterClustering set,
                TargetDefinition target,
                Collection oftargets,
                long within)
Calculates the maximal merit for a special target within the stated amount of time. Non-time dependandt merits may readily ignore the time-span parameter. The provided list of targets should give all relevant targets, i.e. for subsets only the daughters. If the set of parameters is not sufficient for calculating a merit, zero should be returned.

Parameters:
set - Current observing conditions.
target - The actual target.
oftargets - The list of targetes relevant to the actual target.
within - The relevant time span in ms.