00001 00002 /* 00003 * 00004 * Copyright: Mathieu Trocme, mathieu.trocme@gmail.com (21 september 2009) 00005 * 00006 * This software is a computer program whose purpose is to: provide a universal Hit/SD output method in Geant4 with a proper Root coupling 00007 * 00008 * This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software. 00009 * You can use, modify and/or redistribute the software under the terms of the CeCILL license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info". 00010 * As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability. 00011 * In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. 00012 * Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security. 00013 * 00014 * The fact that you are presently reading this means that you have had knowledge of the CeCILL license and that you accept its terms. 00015 * 00016 */ 00017 00018 00019 // 00020 // Documentation : See doc.html (readme, main.cc, ...) 00021 // Convention : Root coding convention: TMyClass for classes, fMyVariable for class data members, kMyVariable for constants, gMyVariable for global variables 00022 // Help : http://www.lcsim.org/software/geant4/doxygen/html/classes.html 00023 // 00024 00025 00026 #include "TStandard_Analysis_Messenger.hh" 00027 00028 00029 // ********************************************************************************************************* 00030 00031 00032 TStandard_Analysis_Messenger::TStandard_Analysis_Messenger (TStandard_Analysis* aTStandard_Analysis) 00033 { 00034 00035 if (gMyDebug) { G4cout << "\n### In TStandard_Analysis_Messenger::TStandard_Analysis_Messenger() \n" ; } 00036 00037 fTStandard_Analysis = aTStandard_Analysis ; 00038 00039 fRootFoutName_command = new G4UIcmdWithAString ("/analysis/rootfilename",this) ; 00040 fRootFoutName_command->SetDefaultValue("") ; /// in that case, the file name will be computed from GPS information (See TStandard_Analysis::BeginOfRun()) 00041 00042 if (gMyDebug) { G4cout << "\n### Out of TStandard_Analysis_Messenger::TStandard_Analysis_Messenger() \n" ; } 00043 00044 } 00045 00046 00047 // ********************************************************************************************************* 00048 00049 00050 TStandard_Analysis_Messenger::~TStandard_Analysis_Messenger () 00051 { 00052 00053 if (gMyDebug) { G4cout << "\n### In TStandard_Analysis_Messenger::~TStandard_Analysis_Messenger() \n" ; } 00054 00055 delete fRootFoutName_command ; fRootFoutName_command = NULL ; 00056 00057 if (gMyDebug) { G4cout << "\n### Out of TStandard_Analysis_Messenger::~TStandard_Analysis_Messenger() \n" ; } 00058 00059 } 00060 00061 00062 // ********************************************************************************************************* 00063 00064 00065 void TStandard_Analysis_Messenger::SetNewValue (G4UIcommand* command, G4String newValue) 00066 { 00067 00068 if (gMyDebug) { G4cout << "\n### In TStandard_Analysis_Messenger::SetNewValue() \n" ; } 00069 00070 if ( command == fRootFoutName_command ) { fTStandard_Analysis->SetRootFileName(newValue) ; } 00071 00072 if (gMyDebug) { G4cout << "\n### Out of TStandard_Analysis_Messenger::SetNewValue() \n" ; } 00073 00074 return ; 00075 }