4 // Author: I. Hrivnacova
6 // Class TG4VerboseMessenger
8 // Messenger class that defines commands for
9 // the verbose classes.
11 #ifndef TG4_VERBOSE_MESSENGER_H
12 #define TG4_VERBOSE_MESSENGER_H
14 #include <G4UImessenger.hh>
16 #include <g4std/vector>
21 class G4UIcmdWithAnInteger;
23 class TG4VerboseMessenger: public G4UImessenger
25 typedef G4std::vector<TG4VVerbose*> VerboseVector;
26 typedef G4std::vector<G4UIcmdWithAnInteger*> CommandVector;
29 TG4VerboseMessenger(const G4String& directoryName);
31 // TG4VerboseMessenger();
32 // TG4VerboseMessenger(const TG4VerboseMessenger& right);
33 virtual ~TG4VerboseMessenger();
36 virtual void AddCommand(TG4VVerbose* verbose, const G4String& cmdName);
37 virtual void SetNewValue(G4UIcommand* command, G4String string);
40 TG4VerboseMessenger();
41 TG4VerboseMessenger(const TG4VerboseMessenger& right);
44 TG4VerboseMessenger& operator=(const TG4VerboseMessenger& right);
48 void SetNewValueToAll(const G4String value) const;
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
58 #endif //TG4_VERBOSE_MESSENGER_H