]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4VerboseMessenger.h
Moved from AliTransbit to AliL3Transbit.
[u/mrichter/AliRoot.git] / TGeant4 / TG4VerboseMessenger.h
1 // $Id$
2 // Category: global
3 //
4 // Author: I. Hrivnacova
5 //
6 // Class TG4VerboseMessenger
7 // ------------------
8 // Messenger class that defines commands for 
9 // the verbose classes.
10
11 #ifndef TG4_VERBOSE_MESSENGER_H
12 #define TG4_VERBOSE_MESSENGER_H 
13
14 #include <G4UImessenger.hh>
15 #include <globals.hh>
16 #include <g4std/vector>
17
18 class TG4VVerbose;
19
20 class G4UIdirectory;
21 class G4UIcmdWithAnInteger;
22
23 class TG4VerboseMessenger: public G4UImessenger
24 {
25   typedef G4std::vector<TG4VVerbose*>           VerboseVector;
26   typedef G4std::vector<G4UIcmdWithAnInteger*>  CommandVector;
27
28   public:
29     TG4VerboseMessenger(const G4String& directoryName);
30     // --> protected   
31     // TG4VerboseMessenger();
32     // TG4VerboseMessenger(const TG4VerboseMessenger& right);
33     virtual ~TG4VerboseMessenger();
34    
35     // methods 
36     virtual void AddCommand(TG4VVerbose* verbose, const G4String& cmdName);
37     virtual void SetNewValue(G4UIcommand* command, G4String string);
38     
39   protected:
40     TG4VerboseMessenger();  
41     TG4VerboseMessenger(const TG4VerboseMessenger& right);
42
43     // operators
44     TG4VerboseMessenger& operator=(const TG4VerboseMessenger& right);
45
46   private:
47     // methods
48     void SetNewValueToAll(const G4String value) const;
49   
50     // data members
51     const G4String        fkDirectoryName;  //command directory name
52     G4UIdirectory*        fDirectory;       //command directory
53     G4UIcmdWithAnInteger* fGlobalVerboseCmd;//global verbose command 
54     VerboseVector         fVerboseVector;   //associated verbose instances
55     CommandVector         fCommandVector;   //verbose commands
56 };
57
58 #endif //TG4_VERBOSE_MESSENGER_H