Raw2SDigits() implemented
[u/mrichter/AliRoot.git] / STEER / AliShuttleInterface.h
CommitLineData
57459306 1#ifndef ALI_SHUTTLE_INTERFACE_H
2#define ALI_SHUTTLE_INTERFACE_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9//
10// abstract interface class to AliShuttle
11//
12
13#include <TObject.h>
14
15class TList;
16class AliCDBMetaData;
b88146b7 17class AliPreprocessor;
84090f85 18class AliCDBPath;
57459306 19
20class AliShuttleInterface : public TObject
21{
22 public:
1b82b32d 23 enum System { kDAQ = 0, kDCS, kHLT };
a4e34333 24 enum { kNDetectors = 18 }; // number of subdetectors in ALICE
57459306 25
84090f85 26 virtual UInt_t Store(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData,
27 Int_t validityStart = 0, Bool_t validityInfinite = kFALSE) = 0;
3c78eaa5 28 virtual UInt_t StoreReferenceData(const AliCDBPath& path, TObject* object, AliCDBMetaData* metaData) = 0;
57459306 29 virtual const char* GetFile(Int_t system, const char* detector, const char* id, const char* source) = 0;
30 virtual TList* GetFileSources(Int_t system, const char* detector, const char* id) = 0;
1b82b32d 31 virtual const char* GetRunParameter(const char* lbEntry) = 0;
57459306 32 virtual void Log(const char* detector, const char* message) = 0;
33
b88146b7 34 virtual void RegisterPreprocessor(AliPreprocessor* preprocessor) = 0;
35
1b82b32d 36 static const char* GetSystemName(UInt_t system) {return (system < 3) ? fkSystemNames[system] : 0;}
37
38 static const char* GetOfflineDetName(const char* detName);
39 static const char* GetDetName(UInt_t detPos);
40 static const Int_t GetDetPos(const char* detName);
41 static const UInt_t NDetectors() {return kNDetectors;}
42
43 protected:
44 static const char* fkSystemNames[3]; // names of the systems providing data to the shuttle
45 static const char* fgkDetName[kNDetectors]; //! names of detectors' preprocessors (3-letter code convention)
46 static const char* fgkOfflineDetName[kNDetectors]; //! names of detectors in OCDB (AliRoot naming convention)
47
57459306 48 private:
49 ClassDef(AliShuttleInterface, 0);
50};
51
52#endif