1 #ifndef ALIMONITORPROCESS_H
2 #define ALIMONITORPROCESS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
13 #include <TObjArray.h>
14 #include <TServerSocket.h>
18 #include "AliRunLoader.h"
19 #include "AliRawReader.h"
20 #include "AliTPCParam.h"
21 #include "AliITSgeom.h"
23 #include "AliLevel3.h"
27 class AliMonitorProcess : public TObject {
29 AliMonitorProcess(const char* alienDir,
30 const char* fileNameGalice = "galice.root");
31 virtual ~AliMonitorProcess();
33 static const char* GetRevision();
39 void ProcessFile(const char* fileName);
41 UInt_t GetRunNumber() {return fRunNumber;};
42 UInt_t GetEventPeriodNumber();
43 UInt_t GetEventOrbitNumber();
44 UInt_t GetEventBunchNumber();
46 enum EStatus {kStopped, kWaiting, kReading, kRecTPC, kRecITS, kRecV0s,
47 kRecHLT, kFilling, kUpdating, kWriting, kResetting,
48 kConnecting, kBroadcasting};
49 EStatus GetStatus() {gSystem->ProcessEvents();return fStatus;};
50 Bool_t WillStop() {return fStopping;};
51 Bool_t IsStopped() {return (fStatus == kStopped);};
53 Int_t GetNumberOfEvents() {return fNEvents;};
54 Int_t GetNumberOfClients() {return fSockets.GetEntriesFast();};
55 TObjArray* GetListOfClients() {return &fSockets;};
56 Int_t GetNEventsMin() {return fNEventsMin;};
57 void SetNEventsMin(Int_t nEventsMin) {fNEventsMin = nEventsMin;};
58 void SetWriteHistoList(Bool_t writeHistoList = kTRUE)
59 {fWriteHistoList = writeHistoList;};
61 static const Int_t kgPort;
64 Bool_t CheckForNewFile();
66 Int_t GetNumberOfEvents(const char* fileName);
67 Bool_t ReconstructTPC(AliRawReader* rawReader);
68 Bool_t ReconstructITS(AliRawReader* rawReader);
69 Bool_t ReconstructV0s();
71 void CreateHLT(const char* fileName);
73 Bool_t ReconstructHLT(Int_t iEvent);
78 void CheckForConnections();
79 void BroadcastHistos();
80 void SetStatus(EStatus);
83 AliRunLoader* fRunLoader;
84 AliTPCParam* fTPCParam;
86 TString fLogicalFileName;
94 UInt_t fEventNumber[2];
97 Bool_t fWriteHistoList;
104 TServerSocket* fServerSocket;
106 TSocket* fDisplaySocket;
111 ClassDef(AliMonitorProcess, 0) // class for performing the monitoring