]> git.uio.no Git - u/mrichter/AliRoot.git/blame - SHUTTLE/AliShuttleLogbookEntry.h
track matching macros from Alberto
[u/mrichter/AliRoot.git] / SHUTTLE / AliShuttleLogbookEntry.h
CommitLineData
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
17class TSQLServer;
18
19class AliShuttleLogbookEntry: public TObject {
20
21public:
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
66private:
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