1 #ifndef ALIHLTMUONEVENT_H
2 #define ALIHLTMUONEVENT_H
3 /* This file is property of and copyright by the ALICE HLT Project *
4 * ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// @file AliHLTMUONRootifierComponent.h
11 /// @author Artur Szostak <artursz@iafrica.com>
13 /// @brief Declaration of class for storing ROOTified data objects for one event.
16 #include "TObjArray.h"
17 #include "AliHLTMUONDataTypes.h"
19 class AliHLTMUONDecision;
22 class AliHLTMUONEvent : public TObject
26 /// AliHLTMUONEvent class contructor.
27 /// \param eventId The event identifier number for this event. Set to -1 by default.
28 AliHLTMUONEvent(AliHLTEventID_t eventId = AliHLTEventID_t(-1))
29 : fEventId(eventId), fArray()
31 fArray.SetOwner(kTRUE);
34 /// Default destructor.
35 virtual ~AliHLTMUONEvent() {}
37 /// Returns the corresponding event ID for the data objects.
38 AliHLTEventID_t EventID() const { return fEventId; }
40 /// Returns the array of data objects for this event.
41 const TObjArray& Array() const { return fArray; }
43 /// Returns the array of data objects for this event.
44 const TObjArray& DataObjects() const { return fArray; }
46 /// Finds the decision object in the array of dHLT objects.
47 const AliHLTMUONDecision* FindDecision() const;
50 * Overloaded to find the object given by name in the array of event objects.
51 * \param name The name of the object to find. This will be the class
52 * name if the object in the array does not overload the GetName
54 * \returns The pointer to the found object or NULL if none was found.
56 virtual TObject* FindObject(const char* name) const
58 return fArray.FindObject(name);
62 * Overloaded to find the object for which obj->IsEqual() is true in
63 * the array of event objects.
64 * \param obj The object to compare to.
65 * \returns The pointer to the found object or NULL if none was found.
67 virtual TObject* FindObject(const TObject* obj) const
69 return fArray.FindObject(obj);
72 /// Adds an object to the event.
73 /// \note This method takes ownership of the object.
74 void Add(TObject* obj) { fArray.Add(obj); }
76 /// Inherited method for printing information about all objects in the event.
77 virtual void Print(Option_t* option = NULL) const;
81 AliHLTEventID_t fEventId; ///< The event ID.
82 TObjArray fArray; ///< Array of event objects.
84 ClassDef(AliHLTMUONEvent, 2); // Container class for dHLT event results.
87 #endif // ALIHLTMUONEVENT_H