Line data Source code
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 :
23 : class 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 : */
36 : class 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 126 : ClassDef(AliHLTPluginBase, 0) // base class for the HLT reconstruction
65 : };
66 :
67 : #endif
|