* a deep copy of the object. This means that the added object can only be deleted
* after this global trigger object is no longer using the object, unless <i>own</i>
* is true. If <i>own</i> is true then the object must not be deleted by the caller.
+ * \note The kCanDelete bit of the object is modified by this method call and is
+ * used to track who the object belongs to. This bit should not be modified for
+ * the object after a call to this method, until the decision object is cleared
+ * or destroyed.
*/
void AddInputObjectRef(TObject* object, bool own = false);
* \param option This is passed onto the internal array clear methods.
* The method is inherited from TObject.
*/
- virtual void Clear(Option_t* option = "");
+ virtual void Clear(Option_t* option = "C");
+ /**
+ * Finds a named input object from the list of contributing triggers and other input objects.
+ * i.e. Both the arrays returned by TriggerInputs() and InputObjects() will be searched,
+ * but the contributing triggers will be searched first.
+ * \param name The name of the object to match as returned by the objects GetName() method.
+ * \returns a pointer to the object found or NULL if none was found.
+ * The method is inherited from TObject.
+ */
+ virtual /*const*/ TObject* FindObject(const char* name) const;
+
+ /**
+ * Finds a matching object from the list of contributing triggers and other input objects
+ * by comparing the given object to objects in the lists with the IsEqual() method.
+ * i.e. Both the arrays returned by TriggerInputs() and InputObjects() will be searched,
+ * but the contributing triggers will be searched first.
+ * \param obj The object to match to with the IsEqual() method.
+ * \returns a pointer to the object found or NULL if none was found.
+ * The method is inherited from TObject.
+ */
+ virtual /*const*/ TObject* FindObject(const TObject* obj) const;
+
+ /**
+ * This method is called in the streamer to mark the entries in
+ * fInputObjects as owned and deletable. MUST be public for
+ * streamer evolution to work.
+ */
+ void MarkInputObjectsAsOwned();
private:
/**
*/
void DeleteInputObjects();
+
TClonesArray fContributingTriggers; /// The list of contributing trigger decisions from all AliHLTTrigger components that were considered.
TObjArray fInputObjects; /// The list of other input objects.
TArrayL64 fCounters; /// Event trigger counters. One counter for each trigger class in the global trigger.