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;
49 /// Adds an object to the event.
50 /// \note This method takes ownership of the object.
51 void Add(TObject* obj) { fArray.Add(obj); }
53 /// Inherited method for printing information about all objects in the event.
54 virtual void Print(Option_t* option = NULL) const;
58 AliHLTEventID_t fEventId; ///< The event ID.
59 TObjArray fArray; ///< Array of event objects.
61 ClassDef(AliHLTMUONEvent, 2); // Container class for dHLT event results.
64 #endif // ALIHLTMUONEVENT_H