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 | |