Implementation of possibility to run the preprocessors to test the DAs.
[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>
eba76848 15#include <TString.h>
16#include <TMap.h>
2bb7b766 17
eba76848 18#include "AliShuttleInterface.h"
2bb7b766 19
eba76848 20class AliShuttleLogbookEntry : public TObject {
2bb7b766 21
22public:
23 enum Status {
24 kUnprocessed = 0,
25 kInactive,
26 kFailed, // final
27 kDone // final
28 };
29
30 AliShuttleLogbookEntry();
eba76848 31 AliShuttleLogbookEntry(Int_t run, Status* status=0);
2bb7b766 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;}
89bcf3b4 39 UInt_t GetStartTime() const {TString tmp(GetRunParameter("DAQ_time_start")); return tmp.Atoi();}
40 UInt_t GetEndTime() const {TString tmp(GetRunParameter("DAQ_time_end")); return tmp.Atoi();}
5f3fe74e 41 UInt_t GetTimeCreated() const {TString tmp(GetRunParameter("time_created")); return tmp.Atoi();}
89bcf3b4 42 Bool_t GetECSSuccess() const {TString tmp(GetRunParameter("ecs_success")); return (Bool_t) tmp.Atoi();}
728290a4 43 Bool_t GetDATestMode() const {return fDATestMode;}
2bb7b766 44
eba76848 45// void SetRun(Int_t run) {fRun=run;}
46
47 void SetRunParameter(const char* key, const char* value);
48 const char* GetRunParameter(const char* key) const;
2bb7b766 49
441b0e9c 50 Status GetDetectorStatus(const char* detCode) const
51 {return GetDetectorStatus(AliShuttleInterface::GetDetPos(detCode));}
2bb7b766 52 Status GetDetectorStatus(Int_t detPos) const;
53 Status* GetDetectorStatus() const {return (Status*) fDetectorStatus;}
54
55 void SetDetectorStatus(const char* detCode, Status status);
56 void SetDetectorStatus(Status* status);
57 void SetDetectorStatus(UInt_t detPos, Status status);
eba76848 58 void SetDetectorStatus(const char* detCode, const char* statusName);
59 void SetDetectorStatus(UInt_t detPos, const char* statusName);
728290a4 60 void SetDATestMode(Bool_t daTestMode) {fDATestMode = daTestMode;}
2bb7b766 61
9827400b 62 const char* GetRunType() const { return GetRunParameter("run_type"); }
441b0e9c 63
2bb7b766 64 Bool_t IsDone() const;
65
66 static const char* GetDetectorStatusName(Status status);
67 void Print(Option_t *option) const;
68
2bb7b766 69private:
70
71 Int_t fRun; // Run number
eba76848 72 TMap fRunParameters; // run parameters written in DAQ logbook
73 Status fDetectorStatus[AliShuttleInterface::kNDetectors]; // Detector status array
728290a4 74 Bool_t fDATestMode; // flag to set whether we are in the DA Test Mode for the current run
2bb7b766 75
76 ClassDef(AliShuttleLogbookEntry, 0)
77};
78
79#endif
80