G4ParticleMessenger.hh

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // $Id$
00028 //
00029 //
00030 //---------------------------------------------------------------
00031 //
00032 //  G4ParticleMessenger.hh
00033 //
00034 //  Class Description:
00035 //    This is a messenger class to interface to exchange information
00036 //    between Particle related classes and UI.
00037 //
00038 // ------------------------------------------------------
00039 //  the List of Directory and Commands
00040 // ------------------------------------------------------
00041 // G4ParticleMessenger
00042 //  /particle/   Paricle control commands.
00043 //   Commands : 
00044 //    select * Select particle 
00045 //    list * List name of particles.
00046 //    find * find particle by PDG encoding.
00047 //    verbose * Set Verbose level of Particle Table
00048 //
00049 // G4ParticlePropertyMessenger
00050 //  /particle/property/   Paricle Table control commands.
00051 //   Commands : 
00052 //     dump * dump particle properties.
00053 //     stable * Set stable flag.
00054 //     lifetime * Set life time.
00055 //     verbose * Set Verbose level
00056 //
00057 // G4DecayTableMessenger
00058 //  /particle/property/decay/   Decay Table control commands.
00059 //   Commands : 
00060 //     select * Enter index of decay mode.
00061 //     dump * Dump decay mode information.
00062 //     br * Set branching ratio. [0< BR <1.0]
00063 //
00064 //
00065 //  History:
00066 //    13 June 1997, H. Kurashige   : The 1st version created.
00067 //    10 Nov 1997,  H.Kurashige    : add /particle/property/Verbose 
00068 //    08 Jan. 1998, H. Kurashige   : new UIcommand
00069 //    08 June 1998, H. Kurashige   : remove fProcessManagerMessenger
00070 //    25 Nov. 1998, H. Kurashige   : add /particle/find
00071 //    08 Jun. 2008, H. Kurashige   : add /particle/verbose
00072 //    30 Jul. 2009, H. Kurashige   : add /particle/createAllIon
00073 //---------------------------------------------------------------
00074 
00075 #ifndef G4ParticleMessenger_h
00076 #define G4ParticleMessenger_h 1
00077 
00078 class G4ParticleDefinition;
00079 class G4ParticleTable;
00080 class G4ParticlePropertyMessenger;
00081 
00082 
00083 class G4UIdirectory;
00084 class G4UIcmdWithAString; 
00085 class G4UIcmdWithAnInteger; 
00086 class G4UIcmdWithoutParameter; 
00087 
00088 #include "G4UImessenger.hh"
00089 #include "globals.hh"
00090 
00091 
00092 class G4ParticleMessenger: public G4UImessenger
00093 {
00094   public: 
00095     G4ParticleMessenger(G4ParticleTable* pTable = 0);
00096     virtual ~G4ParticleMessenger();
00097 
00098   public: // With Description
00099     void SetNewValue(G4UIcommand * command,G4String newValues);
00100     G4String GetCurrentValue(G4UIcommand * command);
00101 
00102   private:
00103   //  !!!  can not use "copy constructor" !!!!
00104     G4ParticleMessenger(const G4ParticleMessenger&):G4UImessenger(){};
00105 
00106   private:
00107     G4UIdirectory *             thisDirectory;
00108     G4UIcmdWithAString *        listCmd;
00109     G4UIcmdWithAString *        selectCmd;
00110     G4UIcmdWithAnInteger *      findCmd;
00111     G4UIcmdWithoutParameter *   createAllCmd;
00112     G4UIcmdWithAnInteger *      verboseCmd;
00113 
00114     G4ParticleTable* theParticleTable;
00115     G4ParticleDefinition* currentParticle;
00116 
00117     G4ParticlePropertyMessenger* fParticlePropertyMessenger;
00118 };
00119 
00120 #endif
00121 
00122 
00123 
00124 
00125 
00126 
00127 
00128 
00129 

Generated on Mon May 27 17:49:16 2013 for Geant4 by  doxygen 1.4.7