Adding example how to fill the list of run types in the preprocessor
[u/mrichter/AliRoot.git] / SHUTTLE / AliShuttleStatus.h
CommitLineData
4a6b108b 1#ifndef ALISHUTTLESTATUS_H
2#define ALISHUTTLESTATUS_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9//
10// This class stores the status of the Shuttle processing for a given run and a given detector
11//
12
13#include <TObject.h>
14
15class AliShuttleStatus : public TObject
16{
17public:
18 enum Status {
19 kInvalid = 0,
20 kStarted,
21 kDCSStarted,
22 kDCSError,
23 kPPStarted,
3301427a 24 kPPTimeOut,
25 kPPOutOfMemory,
4a6b108b 26 kPPError,
3301427a 27 kPPDone,
28 kStoreStarted,
29 kStoreError,
4a6b108b 30 kDone, // final
5e993b6f 31 kFailed, // final
32 kStoreDelayed,
33 kFXSError
4a6b108b 34 };
35
36 AliShuttleStatus();
37 AliShuttleStatus(const AliShuttleStatus& c);
38
39 ~AliShuttleStatus();
40
41 AliShuttleStatus& operator=(const AliShuttleStatus& c);
42 virtual void Copy(TObject& c) const;
43
44 AliShuttleStatus(Status status);
45
46 UInt_t GetTimeStamp() const { return fTimeStamp; }
47 void SetTimeStamp(UInt_t timeStamp) { fTimeStamp = timeStamp; }
48
49 Status GetStatus() const { return fStatus; }
50 const char* GetStatusName() const { return GetStatusName(fStatus); }
51 void SetStatus(Status status);
52
53 Int_t GetCount() const { return fCount; }
54 void SetCount(Int_t count) { fCount = count; }
55 void IncreaseCount() { fCount++; }
56
57 static const char* GetStatusName(Status status);
58
59protected:
60 UInt_t fTimeStamp; // timestamp of the last change
61 Status fStatus; // status of the processing
62 Int_t fCount; // number of retries
63
64 ClassDef(AliShuttleStatus, 1);
65};
66
67#endif