]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/BASE/AliHLTPluginBase.h
Changes needed for new HLT output DDLs.
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTPluginBase.h
CommitLineData
7bf6c76d 1// $Id$
2
3#ifndef ALIHLTPLUGINBASE_H
4#define ALIHLTPLUGINBASE_H
5//* This file is property of and copyright by the ALICE HLT Project *
6//* ALICE Experiment at CERN, All rights reserved. *
7//* See cxx source for full Copyright notice *
8
9/** @file AliHLTPluginBase.h
10 @author Matthias Richter
11 @date
12 @brief Base class for AliRoot HLT plugins.
13*/
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 "TObject.h"
22
23class AliHLTSystem;
24
25/**
26 * @class AliHLTPluginBase
27 * Base class for AliRoot HLT plugins.
28 *
29 * In order to allow definitions of HLT chains in the same macro as
30 * the simulation/reconstruction, a global instance of AliHLTSystem
31 * is required to make the registration of configurations work.
32 *
33 * AliHLTPlugin, AliRawReaderHLT and AliHLTSimulation all use
34 * the global AliHLTSystem instance hosted by this base class.
35 */
36class AliHLTPluginBase {
37 public:
38 AliHLTPluginBase();
39 /** destructor */
40 virtual ~AliHLTPluginBase();
41
42 /**
43 * Init the global AliHLTSystem instance.
44 */
45 static void InitInstance();
46
47 /**
48 * Get the global AliHLTSystem instance.
49 */
50 static AliHLTSystem* GetInstance();
51
52 protected:
53
54 private:
55 /** copy constructor prohibited */
56 AliHLTPluginBase(const AliHLTPluginBase& src);
57 /** assignment operator prohibited */
58 AliHLTPluginBase& operator=(const AliHLTPluginBase& src);
59
60 static AliHLTSystem* fpSystem; //! HLT steering object
61
62 static int fNofInstances;
63
64 ClassDef(AliHLTPluginBase, 0) // base class for the HLT reconstruction
65};
66
67#endif