Run type field added in SHUTTLE framework. Run type is read from "run type" logbook...
[u/mrichter/AliRoot.git] / SHUTTLE / AliShuttleLogbookEntry.h
1 #ifndef ALI_SHUTTLE_LOGBOOK_ENTRY_H
2 #define ALI_SHUTTLE_LOGBOOK_ENTRY_H
3
4
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /* $Id$ */
9
10 //
11 // This class is a container for the data queried from DAQ's logbook and logbook_shuttle tables.
12 //
13
14 #include <TObject.h>
15 #include <TString.h>
16 #include <TMap.h>
17
18 #include "AliShuttleInterface.h"
19
20 class AliShuttleLogbookEntry : public TObject {
21
22 public:
23         enum Status {
24                 kUnprocessed = 0,
25                 kInactive,
26                 kFailed,  // final
27                 kDone // final
28         };
29
30         AliShuttleLogbookEntry();
31         AliShuttleLogbookEntry(Int_t run, Status* status=0);
32         ~AliShuttleLogbookEntry();
33
34         AliShuttleLogbookEntry& operator=(const AliShuttleLogbookEntry& c);
35         AliShuttleLogbookEntry(const AliShuttleLogbookEntry& c);
36         virtual void Copy(TObject& c) const;
37
38         Int_t GetRun() const {return fRun;}
39         UInt_t GetStartTime() const  {TString tmp(GetRunParameter("time_start")); return tmp.Atoi();}
40         UInt_t GetEndTime() const {TString tmp(GetRunParameter("time_end")); return tmp.Atoi();}
41
42 //      void SetRun(Int_t run) {fRun=run;}
43
44         void SetRunParameter(const char* key, const char* value);
45         const char* GetRunParameter(const char* key) const;
46
47         Status GetDetectorStatus(const char* detCode) const
48                         {return GetDetectorStatus(AliShuttleInterface::GetDetPos(detCode));}
49         Status GetDetectorStatus(Int_t detPos) const;
50         Status* GetDetectorStatus() const {return (Status*) fDetectorStatus;}
51
52         void SetDetectorStatus(const char* detCode, Status status);
53         void SetDetectorStatus(Status* status);
54         void SetDetectorStatus(UInt_t detPos, Status status);
55         void SetDetectorStatus(const char* detCode, const char* statusName);
56         void SetDetectorStatus(UInt_t detPos, const char* statusName);
57
58         const char*     GetRunType(const char* detCode) const
59                                 {return GetRunType(AliShuttleInterface::GetDetPos(detCode));}
60         const char*     GetRunType(Int_t detPos) const;
61         TString*        GetRunType() const {return (TString*) fRunType;}
62
63         void SetRunType(const char* detCode, const char* runType);
64         void SetRunType(UInt_t detPos, const char* runType);
65         void SetRunType(const TString* runType);
66
67
68         Bool_t IsDone() const;
69
70         static const char* GetDetectorStatusName(Status status);
71         void Print(Option_t *option) const;
72
73 private:
74
75         Int_t fRun;                     // Run number
76         TMap fRunParameters;            // run parameters written in DAQ logbook
77         Status fDetectorStatus[AliShuttleInterface::kNDetectors];       // Detector status array
78         TString fRunType[AliShuttleInterface::kNDetectors];             // Run type array
79
80         ClassDef(AliShuttleLogbookEntry, 0)
81 };
82
83 #endif
84