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 // $Id$ 00027 // 00028 // Hadronic Process: Nuclear De-excitations 00029 // by V. Lara 00030 // 00031 // Modifications: 00032 // 00033 // 23 January 2012 V.Ivanchenko added pointer of G4VPhotonEvaporation 00034 00035 #include "G4EvaporationGEMFactory.hh" 00036 00037 #include "G4NeutronGEMChannel.hh" 00038 #include "G4ProtonGEMChannel.hh" 00039 #include "G4DeuteronGEMChannel.hh" 00040 #include "G4TritonGEMChannel.hh" 00041 #include "G4He3GEMChannel.hh" 00042 #include "G4AlphaGEMChannel.hh" 00043 #include "G4He6GEMChannel.hh" 00044 #include "G4He8GEMChannel.hh" 00045 #include "G4Li6GEMChannel.hh" 00046 #include "G4Li7GEMChannel.hh" 00047 #include "G4Li8GEMChannel.hh" 00048 #include "G4Li9GEMChannel.hh" 00049 #include "G4Be7GEMChannel.hh" 00050 #include "G4Be9GEMChannel.hh" 00051 #include "G4Be10GEMChannel.hh" 00052 #include "G4Be11GEMChannel.hh" 00053 #include "G4Be12GEMChannel.hh" 00054 #include "G4B8GEMChannel.hh" 00055 #include "G4B10GEMChannel.hh" 00056 #include "G4B11GEMChannel.hh" 00057 #include "G4B12GEMChannel.hh" 00058 #include "G4B13GEMChannel.hh" 00059 #include "G4C10GEMChannel.hh" 00060 #include "G4C11GEMChannel.hh" 00061 #include "G4C12GEMChannel.hh" 00062 #include "G4C13GEMChannel.hh" 00063 #include "G4C14GEMChannel.hh" 00064 #include "G4C15GEMChannel.hh" 00065 #include "G4C16GEMChannel.hh" 00066 #include "G4N12GEMChannel.hh" 00067 #include "G4N13GEMChannel.hh" 00068 #include "G4N14GEMChannel.hh" 00069 #include "G4N15GEMChannel.hh" 00070 #include "G4N16GEMChannel.hh" 00071 #include "G4N17GEMChannel.hh" 00072 #include "G4O14GEMChannel.hh" 00073 #include "G4O15GEMChannel.hh" 00074 #include "G4O16GEMChannel.hh" 00075 #include "G4O17GEMChannel.hh" 00076 #include "G4O18GEMChannel.hh" 00077 #include "G4O19GEMChannel.hh" 00078 #include "G4O20GEMChannel.hh" 00079 #include "G4F17GEMChannel.hh" 00080 #include "G4F18GEMChannel.hh" 00081 #include "G4F19GEMChannel.hh" 00082 #include "G4F20GEMChannel.hh" 00083 #include "G4F21GEMChannel.hh" 00084 #include "G4Ne18GEMChannel.hh" 00085 #include "G4Ne19GEMChannel.hh" 00086 #include "G4Ne20GEMChannel.hh" 00087 #include "G4Ne21GEMChannel.hh" 00088 #include "G4Ne22GEMChannel.hh" 00089 #include "G4Ne23GEMChannel.hh" 00090 #include "G4Ne24GEMChannel.hh" 00091 #include "G4Na21GEMChannel.hh" 00092 #include "G4Na22GEMChannel.hh" 00093 #include "G4Na23GEMChannel.hh" 00094 #include "G4Na24GEMChannel.hh" 00095 #include "G4Na25GEMChannel.hh" 00096 #include "G4Mg22GEMChannel.hh" 00097 #include "G4Mg23GEMChannel.hh" 00098 #include "G4Mg24GEMChannel.hh" 00099 #include "G4Mg25GEMChannel.hh" 00100 #include "G4Mg26GEMChannel.hh" 00101 #include "G4Mg27GEMChannel.hh" 00102 #include "G4Mg28GEMChannel.hh" 00103 00104 #include "G4CompetitiveFission.hh" 00105 00106 G4EvaporationGEMFactory::G4EvaporationGEMFactory(G4VEvaporationChannel* ptr) 00107 : G4VEvaporationFactory(ptr) 00108 {} 00109 00110 G4EvaporationGEMFactory::~G4EvaporationGEMFactory() 00111 {} 00112 00113 std::vector<G4VEvaporationChannel*> * G4EvaporationGEMFactory::GetChannel() 00114 { 00115 std::vector<G4VEvaporationChannel*> * theChannel = 00116 new std::vector<G4VEvaporationChannel*>; 00117 theChannel->reserve(68); 00118 00119 theChannel->push_back( thePhotonEvaporation ); // Photon Channel 00120 theChannel->push_back( new G4CompetitiveFission() ); // Fission Channel 00121 00122 theChannel->push_back( new G4NeutronGEMChannel() ); // n 00123 theChannel->push_back( new G4ProtonGEMChannel() ); // p 00124 theChannel->push_back( new G4DeuteronGEMChannel() ); // Deuteron 00125 theChannel->push_back( new G4TritonGEMChannel() ); // Triton 00126 theChannel->push_back( new G4He3GEMChannel() ); // He3 00127 theChannel->push_back( new G4AlphaGEMChannel() ); // Alpha 00128 theChannel->push_back( new G4He6GEMChannel() ); // He6 00129 theChannel->push_back( new G4He8GEMChannel() ); // He8 00130 theChannel->push_back( new G4Li6GEMChannel() ); // Li6 00131 theChannel->push_back( new G4Li7GEMChannel() ); // Li7 00132 theChannel->push_back( new G4Li8GEMChannel() ); // Li8 00133 theChannel->push_back( new G4Li9GEMChannel() ); // Li9 00134 theChannel->push_back( new G4Be7GEMChannel() ); // Be7 00135 theChannel->push_back( new G4Be9GEMChannel() ); // Be9 00136 theChannel->push_back( new G4Be10GEMChannel() ); // Be10 00137 theChannel->push_back( new G4Be11GEMChannel() ); // Be11 00138 theChannel->push_back( new G4Be12GEMChannel() ); // Be12 00139 theChannel->push_back( new G4B8GEMChannel() ); // B8 00140 theChannel->push_back( new G4B10GEMChannel() ); // B10 00141 theChannel->push_back( new G4B11GEMChannel() ); // B11 00142 theChannel->push_back( new G4B12GEMChannel() ); // B12 00143 theChannel->push_back( new G4B13GEMChannel() ); // B13 00144 theChannel->push_back( new G4C10GEMChannel() ); // C10 00145 theChannel->push_back( new G4C11GEMChannel() ); // C11 00146 theChannel->push_back( new G4C12GEMChannel() ); // C12 00147 theChannel->push_back( new G4C13GEMChannel() ); // C13 00148 theChannel->push_back( new G4C14GEMChannel() ); // C14 00149 theChannel->push_back( new G4C15GEMChannel() ); // C15 00150 theChannel->push_back( new G4C16GEMChannel() ); // C16 00151 theChannel->push_back( new G4N12GEMChannel() ); // N12 00152 theChannel->push_back( new G4N13GEMChannel() ); // N13 00153 theChannel->push_back( new G4N14GEMChannel() ); // N14 00154 theChannel->push_back( new G4N15GEMChannel() ); // N15 00155 theChannel->push_back( new G4N16GEMChannel() ); // N16 00156 theChannel->push_back( new G4N17GEMChannel() ); // N17 00157 theChannel->push_back( new G4O14GEMChannel() ); // O14 00158 theChannel->push_back( new G4O15GEMChannel() ); // O15 00159 theChannel->push_back( new G4O16GEMChannel() ); // O16 00160 theChannel->push_back( new G4O17GEMChannel() ); // O17 00161 theChannel->push_back( new G4O18GEMChannel() ); // O18 00162 theChannel->push_back( new G4O19GEMChannel() ); // O19 00163 theChannel->push_back( new G4O20GEMChannel() ); // O20 00164 theChannel->push_back( new G4F17GEMChannel() ); // F17 00165 theChannel->push_back( new G4F18GEMChannel() ); // F18 00166 theChannel->push_back( new G4F19GEMChannel() ); // F19 00167 theChannel->push_back( new G4F20GEMChannel() ); // F20 00168 theChannel->push_back( new G4F21GEMChannel() ); // F21 00169 theChannel->push_back( new G4Ne18GEMChannel() ); // Ne18 00170 theChannel->push_back( new G4Ne19GEMChannel() ); // Ne19 00171 theChannel->push_back( new G4Ne20GEMChannel() ); // Ne20 00172 theChannel->push_back( new G4Ne21GEMChannel() ); // Ne21 00173 theChannel->push_back( new G4Ne22GEMChannel() ); // Ne22 00174 theChannel->push_back( new G4Ne23GEMChannel() ); // Ne23 00175 theChannel->push_back( new G4Ne24GEMChannel() ); // Ne24 00176 theChannel->push_back( new G4Na21GEMChannel() ); // Na21 00177 theChannel->push_back( new G4Na22GEMChannel() ); // Na22 00178 theChannel->push_back( new G4Na23GEMChannel() ); // Na23 00179 theChannel->push_back( new G4Na24GEMChannel() ); // Na24 00180 theChannel->push_back( new G4Na25GEMChannel() ); // Na25 00181 theChannel->push_back( new G4Mg22GEMChannel() ); // Mg22 00182 theChannel->push_back( new G4Mg23GEMChannel() ); // Mg23 00183 theChannel->push_back( new G4Mg24GEMChannel() ); // Mg24 00184 theChannel->push_back( new G4Mg25GEMChannel() ); // Mg25 00185 theChannel->push_back( new G4Mg26GEMChannel() ); // Mg26 00186 theChannel->push_back( new G4Mg27GEMChannel() ); // Mg27 00187 theChannel->push_back( new G4Mg28GEMChannel() ); // Mg28 00188 00189 return theChannel; 00190 }