G4EvaporationDefaultGEMFactory.cc

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

Generated on Mon May 27 17:48:12 2013 for Geant4 by  doxygen 1.4.7