]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONLogger.h
Avoid names that only differ in use of capital/small letters
[u/mrichter/AliRoot.git] / MUON / AliMUONLogger.h
... / ...
CommitLineData
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
25class AliMUONStringIntMap;
26
27using std::ofstream;
28
29class AliMUONLogger : public TObject
30{
31public:
32 AliMUONLogger(Int_t maxNumberOfEntries=-1);
33 virtual ~AliMUONLogger();
34
35 Int_t Log(const char* message);
36
37 void Print(Option_t* opt="") const;
38
39 void Print(TString& key, ofstream& out) const;
40
41 void Clear(Option_t* /*option*/ ="");
42
43 Bool_t Next(TString& msg, Int_t& occurance);
44
45 void ResetItr();
46
47 Int_t NumberOfEntries() const;
48
49private:
50 /// Not implemented
51 AliMUONLogger(const AliMUONLogger& rhs); // not implemented
52 /// Not implemented
53 AliMUONLogger& operator=(const AliMUONLogger& rhs); // not implemented
54
55private:
56
57 Int_t fMaxNumberOfEntries; //!< after this number, print and reset
58 AliMUONStringIntMap* fLog; //!< map from message to number of times the message was issued
59
60 ClassDef(AliMUONLogger,1) // A logger that keeps track of the number of times a message appeared
61};
62
63#endif