first sketch of the HLTOUT handler
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTOUTHandler.h
1 //-*- Mode: C++ -*-
2 // @(#) $Id$
3
4 #ifndef ALIHLTOUTHANDLER_H
5 #define ALIHLTOUTHANDLER_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   AliHLTOUTHandler.h
11     @author Matthias Richter
12     @date   
13     @brief  Base class declaration of HLTOUT handlers
14
15 // see below for class documentation
16 // or
17 // refer to README to build package
18 // or
19 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
20                                                                           */
21 #include "AliHLTLogging.h"
22
23 class AliHLTOUT;
24
25 /**
26  * @class AliHLTOUTHandler
27  * Base class declaration of HLT output handlers.
28  * The library implementation of the AliHLTModuleAgent allows to generate
29  * handlers for data blocks of the HLT output. This can be the output of
30  * the real HLT coming from the HLTOUT nodes, or simulated HLT output.   <br>
31  * \em Note: The created instance of AliHLTOUTHandler is
32  * deleted by the framework.
33  */
34 class AliHLTOUTHandler : public AliHLTLogging {
35  public:
36   /** standard constructor */
37   AliHLTOUTHandler();
38   /** standard destructor */
39   virtual ~AliHLTOUTHandler();
40
41  protected:
42
43   /**
44    * Process the data.
45    */
46   virtual int ProcessData(AliHLTOUT* pData) = 0;
47
48  private:
49   /** copy constructor prohibited */
50   AliHLTOUTHandler(const AliHLTOUTHandler&);
51   /** assignment operator prohibited */
52   AliHLTOUTHandler& operator=(const AliHLTOUTHandler&);
53
54   ClassDef(AliHLTOUTHandler, 0)
55 };
56 #endif