package hep.physics.event; import java.util.List; import java.util.Map; import java.util.Set; /** * A simple event structure. Designed to be used as a base class for experiment * specific event descriptions. * @author Tony Johnson */ public interface HEPEvent { /** * @return The event number */ public int getEventNumber(); /** * @return The run number for this event */ public int getRunNumber(); /** * Get the current timestamp. By convention this is measured in nS since * 1-jan-1970 GMT. * @return The timestamp. */ public long getTimeStamp(); /** * Puts an arbitrary object into the event * @param key The key for this object * @param component The object to add */ public void put(String key, Object component); /** * Get an object from the event * @param key The key for the object * @throws IllegalArgumentException if the specified object does not exist in the event. */ public Object get(String key) throws IllegalArgumentException; /** * An arbitrary set of tags that can be associated with the event. * Intended to be used for fast event selection. */ public Map getTags(); /** * @return The set of keys stored in the event */ public Set keys(); }