]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTGlobalTriggerDecision.h
Installation of additional header
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTGlobalTriggerDecision.h
index 0ce2aa5d63bfec05380586ad552c38ace90d91ea..96a89cd08c83b5de2a22be6c3ba09180d50e1056 100644 (file)
@@ -171,6 +171,10 @@ class AliHLTGlobalTriggerDecision : public AliHLTTriggerDecision
    *   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);
   
@@ -213,8 +217,35 @@ class AliHLTGlobalTriggerDecision : public AliHLTTriggerDecision
    * \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:
   
   /**
@@ -223,6 +254,7 @@ class AliHLTGlobalTriggerDecision : public AliHLTTriggerDecision
    */
   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.