activating individual HLT simulations from digits and raw data
[u/mrichter/AliRoot.git] / HLT / rec / AliHLTESDEvent.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTESDEVENT_H
5 #define ALIHLTESDEVENT_H
6 //* This file is property of and copyright by the ALICE HLT Project        * 
7 //* ALICE Experiment at CERN, All rights reserved.                         *
8 //* See cxx source for full Copyright notice                               *
9
10 /// @file   AliHLTESDEvent.h
11 /// @author Matthias Richter
12 /// @date   2010-10-29
13 /// @brief  A streamlined container class for AliESDEvent.
14 /// @note   
15
16 #include "AliESDEvent.h"
17
18 /**
19  * @class AliHLTESDEvent
20  * @brief A streamlined container class for AliESDEvent.
21  *
22  * The class inherits from AliESDEvent and can be used like that, it only
23  * implements customized streamers to treat some of the objects in the list
24  * specifically.
25  */
26 class AliHLTESDEvent : public AliESDEvent {
27  public:
28   /// standard constructor
29   AliHLTESDEvent();
30   /// copy constructor
31   AliHLTESDEvent(const AliHLTESDEvent& src);
32   /// assignement operator
33   AliHLTESDEvent& operator=(const AliHLTESDEvent& src);
34   /// destructor
35   virtual ~AliHLTESDEvent();
36
37   AliHLTESDEvent& operator=(const AliESDEvent& esd) {
38     if (this!=&esd) AliESDEvent::operator=(esd);
39     return *this;
40   }
41
42   /// overloaded from TObject, print info
43   virtual void        Print(const char* options) const;
44
45   /// overloaded from TObject, more crude data dump
46   virtual void        Dump() const;
47
48   /// overloaded from TObject, clear object
49   virtual void        Clear(Option_t * option="");
50
51   /// overloaded from TObject, clone object
52   virtual TObject    *Clone(const char *newname="") const;
53
54   /// overloaded from TObject, copy object
55   virtual void        Copy(TObject &object) const;
56
57   /// overloaded from TObject, execute custum function
58   /// implemented: LoadTemplate
59   virtual void        Execute(const char *method,  const char *params, Int_t *error=0);
60
61   /// load a template from OCDB or create the default template
62   int LoadTemplate(const char* cdbPath=NULL);
63
64 private:
65   /// the template instance
66   AliESDEvent* fTemplateEsd; //!
67
68   ClassDef(AliHLTESDEvent, 1); // AliESDEvent instance optimized for HLT
69 };
70
71 #endif