]>
Commit | Line | Data |
---|---|---|
2bb7b766 | 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 "AliShuttle.h" | |
16 | ||
17 | class TSQLServer; | |
18 | ||
19 | class AliShuttleLogbookEntry: public TObject { | |
20 | ||
21 | public: | |
22 | enum Status { | |
23 | kUnprocessed = 0, | |
24 | kInactive, | |
25 | kFailed, // final | |
26 | kDone // final | |
27 | }; | |
28 | ||
29 | AliShuttleLogbookEntry(); | |
30 | AliShuttleLogbookEntry(Int_t run, UInt_t startTime, UInt_t endTime, Status* status=0); | |
31 | ~AliShuttleLogbookEntry(); | |
32 | ||
33 | AliShuttleLogbookEntry& operator=(const AliShuttleLogbookEntry& c); | |
34 | AliShuttleLogbookEntry(const AliShuttleLogbookEntry& c); | |
35 | virtual void Copy(TObject& c) const; | |
36 | ||
37 | Int_t GetRun() const {return fRun;} | |
38 | UInt_t GetStartTime() const {return fStartTime;} | |
39 | UInt_t GetEndTime() const {return fEndTime;} | |
40 | ||
41 | void SetRun(Int_t run) {fRun=run;} | |
42 | void SetStartTime(UInt_t startTime) {fStartTime=startTime;} | |
43 | void SetEndTime(UInt_t endTime) {fEndTime=endTime;} | |
44 | ||
45 | Status GetDetectorStatus(const char* detCode) const; | |
46 | Status GetDetectorStatus(Int_t detPos) const; | |
47 | Status* GetDetectorStatus() const {return (Status*) fDetectorStatus;} | |
48 | ||
49 | void SetDetectorStatus(const char* detCode, Status status); | |
50 | void SetDetectorStatus(Status* status); | |
51 | void SetDetectorStatus(UInt_t detPos, Status status); | |
52 | ||
53 | Bool_t IsDone() const; | |
54 | ||
55 | static const char* GetDetectorStatusName(Status status); | |
56 | void Print(Option_t *option) const; | |
57 | ||
58 | // TODO Test only, remove later! | |
59 | Bool_t Connect(); | |
60 | Bool_t QueryShuttleLogbook(Int_t runNumber=-1); | |
61 | Bool_t UpdateShuttleLogbook(); | |
62 | Bool_t UpdateShuttleLogbook(const char* detCode, Status status); | |
63 | Bool_t InsertNewRun(Int_t runNumber=-1); | |
64 | ||
65 | ||
66 | private: | |
67 | ||
68 | Int_t fRun; // Run number | |
69 | UInt_t fStartTime; // Run start time | |
70 | UInt_t fEndTime; // Run end time | |
71 | Status fDetectorStatus[AliShuttle::kNDetectors]; // Detector status array | |
72 | ||
73 | // TODO Test only, remove later! | |
74 | TSQLServer* fServer; // pointer to the MySQLServer which handles the DAQ logbook | |
75 | ||
76 | ClassDef(AliShuttleLogbookEntry, 0) | |
77 | }; | |
78 | ||
79 | #endif | |
80 |