4 #ifndef ALIHLTONLINECONFIGURATION_H
5 #define ALIHLTONLINECONFIGURATION_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 *
10 // @file AliHLTOnlineConfiguration.h
20 * @class AliHLTOnlineConfiguration
21 * @brief Description of the HLT online configuration
22 * This class wraps an online HLT configuration file for storage in a
26 * The class provides easy access to the XML tags of the configuration through
29 * The online configuration is translated into a tree like configuration
30 * structure. The Draw function can be used to create a graph.
32 * The xml configuration is loaded into an internal TArrayC buffer, which
33 * is automatically compressed depending on the compression level used for
34 * root file storage. Later extension will be the implementation of a custom
35 * Streamer function implementing the most efficient compression.
37 class AliHLTOnlineConfiguration : public TObject {
39 /// standard constructor
40 AliHLTOnlineConfiguration();
42 virtual ~AliHLTOnlineConfiguration();
44 /// load configuration from file
45 int LoadConfiguration(const char* filename);
47 /// compress the xml buffer
50 /// compress the xml buffer
53 /// overloaded from TObject, print info
54 virtual void Print(const char* options) const;
56 /// overloaded from TObject, more crude data dump
57 virtual void Dump() const;
59 /// overloaded from TObject, clear object
60 virtual void Clear(Option_t * option="");
62 /// overloaded from TObject, clone object
63 virtual TObject *Clone(const char *newname="") const;
65 /// overloaded from TObject, copy object
66 virtual void Copy(TObject &object) const;
68 /// overloaded from TObject, draw graph of the configuration
69 virtual void Draw(Option_t *option="");
71 /// custom status bits of TObject
72 /// bit 14 to 23 can be freely used
73 /// use functions SetBit, ResetBit, TestBit
75 kLoaded = BIT(14), // xml buffer is loaded
76 kCompressed = BIT(15), // xml buffer is compressed
77 kParsed = BIT(16), // already parsed
81 TArrayC fXMLBuffer; // buffer for XML configuration
84 ClassDef(AliHLTOnlineConfiguration, 1); // description of HLT online configuration