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 *
9 /** @file AliHLTPluginBase.h
10 @author Matthias Richter
12 @brief Base class for AliRoot HLT plugins.
15 // see below for class documentation
17 // refer to README to build package
19 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
26 * @class AliHLTPluginBase
27 * Base class for AliRoot HLT plugins.
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.
33 * AliHLTPlugin, AliRawReaderHLT and AliHLTSimulation all use
34 * the global AliHLTSystem instance hosted by this base class.
36 class AliHLTPluginBase {
40 virtual ~AliHLTPluginBase();
43 * Init the global AliHLTSystem instance.
45 static void InitInstance();
48 * Get the global AliHLTSystem instance.
50 static AliHLTSystem* GetInstance();
55 /** copy constructor prohibited */
56 AliHLTPluginBase(const AliHLTPluginBase& src);
57 /** assignment operator prohibited */
58 AliHLTPluginBase& operator=(const AliHLTPluginBase& src);
60 static AliHLTSystem* fpSystem; //! HLT steering object
62 static int fNofInstances;
64 ClassDef(AliHLTPluginBase, 0) // base class for the HLT reconstruction