]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIMUONLOGGER_H | |
2 | #define ALIMUONLOGGER_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 | /// \ingroup core | |
10 | /// \class AliMUONLogger | |
11 | /// \brief A logger that keeps track of the number of times a message appeared | |
12 | /// | |
13 | // Author Laurent Aphecetche | |
14 | ||
15 | #include <Riostream.h> | |
16 | ||
17 | #ifndef ROOT_TObject | |
18 | # include "TObject.h" | |
19 | #endif | |
20 | ||
21 | #ifndef ROOT_TString | |
22 | # include "TString.h" | |
23 | #endif | |
24 | ||
25 | class AliMUONStringIntMap; | |
26 | ||
27 | class AliMUONLogger : public TObject | |
28 | { | |
29 | public: | |
30 | AliMUONLogger(Int_t maxNumberOfEntries=-1); | |
31 | virtual ~AliMUONLogger(); | |
32 | ||
33 | Int_t Log(const char* message); | |
34 | ||
35 | void Print(Option_t* opt="") const; | |
36 | ||
37 | void Print(TString& key, ofstream& out) const; | |
38 | ||
39 | void Clear(Option_t* /*option*/ =""); | |
40 | ||
41 | Bool_t Next(TString& msg, Int_t& occurance); | |
42 | void ResetItr(); | |
43 | ||
44 | private: | |
45 | /// Not implemented | |
46 | AliMUONLogger(const AliMUONLogger& rhs); // not implemented | |
47 | /// Not implemented | |
48 | AliMUONLogger& operator=(const AliMUONLogger& rhs); // not implemented | |
49 | ||
50 | private: | |
51 | ||
52 | Int_t fMaxNumberOfEntries; //!< after this number, print and reset | |
53 | AliMUONStringIntMap* fLog; //!< map from message to number of times the message was issued | |
54 | ||
55 | ClassDef(AliMUONLogger,1) // A logger that keeps track of the number of times a message appeared | |
56 | }; | |
57 | ||
58 | #endif |