source: trunk/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationDefaultGEMFactory.cc @ 1347

Last change on this file since 1347 was 1347, checked in by garnier, 13 years ago

geant4 tag 9.4

File size: 9.0 KB
Line 
1//
2// ********************************************************************
3// * License and Disclaimer                                           *
4// *                                                                  *
5// * The  Geant4 software  is  copyright of the Copyright Holders  of *
6// * the Geant4 Collaboration.  It is provided  under  the terms  and *
7// * conditions of the Geant4 Software License,  included in the file *
8// * LICENSE and available at  http://cern.ch/geant4/license .  These *
9// * include a list of copyright holders.                             *
10// *                                                                  *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work  make  any representation or  warranty, express or implied, *
14// * regarding  this  software system or assume any liability for its *
15// * use.  Please see the license in the file  LICENSE  and URL above *
16// * for the full disclaimer and the limitation of liability.         *
17// *                                                                  *
18// * This  code  implementation is the result of  the  scientific and *
19// * technical work of the GEANT4 collaboration.                      *
20// * By using,  copying,  modifying or  distributing the software (or *
21// * any work based  on the software)  you  agree  to acknowledge its *
22// * use  in  resulting  scientific  publications,  and indicate your *
23// * acceptance of all terms of the Geant4 Software license.          *
24// ********************************************************************
25//
26//
27// $Id: G4EvaporationDefaultGEMFactory.cc,v 1.2 2010/04/27 11:43:16 vnivanch Exp $
28// GEANT4 tag $Name: geant4-09-04-ref-00 $
29//
30// Hadronic Process: Nuclear De-excitations
31// by J. M. Quesada (July 2009) on base of V. Lara code
32// V.Ivanchenko cleanup
33//
34// new hybrid Default-GEM evaoration model:
35//      - default evaporation for n,p,d,t and alpha particles
36//      - GEM evaporation for light nuclei evaporation (2<Z<13,4<A<29)
37
38#include "G4EvaporationDefaultGEMFactory.hh"
39
40#include "G4NeutronEvaporationChannel.hh"
41#include "G4ProtonEvaporationChannel.hh"
42#include "G4DeuteronEvaporationChannel.hh"
43#include "G4TritonEvaporationChannel.hh"
44#include "G4He3EvaporationChannel.hh"
45#include "G4AlphaEvaporationChannel.hh"
46//JMQ 220709 new GEM channels
47#include "G4He6GEMChannel.hh"
48#include "G4He8GEMChannel.hh"
49#include "G4Li6GEMChannel.hh"
50#include "G4Li7GEMChannel.hh"
51#include "G4Li8GEMChannel.hh"
52#include "G4Li9GEMChannel.hh"
53#include "G4Be7GEMChannel.hh"
54#include "G4Be9GEMChannel.hh"
55#include "G4Be10GEMChannel.hh"
56#include "G4Be11GEMChannel.hh"
57#include "G4Be12GEMChannel.hh"
58#include "G4B8GEMChannel.hh"
59#include "G4B10GEMChannel.hh"
60#include "G4B11GEMChannel.hh"
61#include "G4B12GEMChannel.hh"
62#include "G4B13GEMChannel.hh"
63#include "G4C10GEMChannel.hh"
64#include "G4C11GEMChannel.hh"
65#include "G4C12GEMChannel.hh"
66#include "G4C13GEMChannel.hh"
67#include "G4C14GEMChannel.hh"
68#include "G4C15GEMChannel.hh"
69#include "G4C16GEMChannel.hh"
70#include "G4N12GEMChannel.hh"
71#include "G4N13GEMChannel.hh"
72#include "G4N14GEMChannel.hh"
73#include "G4N15GEMChannel.hh"
74#include "G4N16GEMChannel.hh"
75#include "G4N17GEMChannel.hh"
76#include "G4O14GEMChannel.hh"
77#include "G4O15GEMChannel.hh"
78#include "G4O16GEMChannel.hh"
79#include "G4O17GEMChannel.hh"
80#include "G4O18GEMChannel.hh"
81#include "G4O19GEMChannel.hh"
82#include "G4O20GEMChannel.hh"
83#include "G4F17GEMChannel.hh"
84#include "G4F18GEMChannel.hh"
85#include "G4F19GEMChannel.hh"
86#include "G4F20GEMChannel.hh"
87#include "G4F21GEMChannel.hh"
88#include "G4Ne18GEMChannel.hh"
89#include "G4Ne19GEMChannel.hh"
90#include "G4Ne20GEMChannel.hh"
91#include "G4Ne21GEMChannel.hh"
92#include "G4Ne22GEMChannel.hh"
93#include "G4Ne23GEMChannel.hh"
94#include "G4Ne24GEMChannel.hh"
95#include "G4Na21GEMChannel.hh"
96#include "G4Na22GEMChannel.hh"
97#include "G4Na23GEMChannel.hh"
98#include "G4Na24GEMChannel.hh"
99#include "G4Na25GEMChannel.hh"
100#include "G4Mg22GEMChannel.hh"
101#include "G4Mg23GEMChannel.hh"
102#include "G4Mg24GEMChannel.hh"
103#include "G4Mg25GEMChannel.hh"
104#include "G4Mg26GEMChannel.hh"
105#include "G4Mg27GEMChannel.hh"
106#include "G4Mg28GEMChannel.hh"
107
108#include "G4CompetitiveFission.hh"
109#include "G4PhotonEvaporation.hh"
110
111G4EvaporationDefaultGEMFactory::G4EvaporationDefaultGEMFactory()
112{}
113
114G4EvaporationDefaultGEMFactory::~G4EvaporationDefaultGEMFactory()
115{}
116
117std::vector<G4VEvaporationChannel*> * 
118G4EvaporationDefaultGEMFactory::CreateChannel()
119{
120  std::vector<G4VEvaporationChannel*> * theChannel = 
121    new std::vector<G4VEvaporationChannel*>;
122  theChannel->reserve(68);
123
124  theChannel->push_back( new G4PhotonEvaporation() );          // Photon Channel
125  theChannel->push_back( new G4CompetitiveFission() );         // Fission Channel
126
127  // JMQ 220709 standard particle evaporation channels (Z<3,A<5)
128  theChannel->push_back( new G4NeutronEvaporationChannel() );  // n
129  theChannel->push_back( new G4ProtonEvaporationChannel() );   // p
130  theChannel->push_back( new G4DeuteronEvaporationChannel() ); // Deuteron
131  theChannel->push_back( new G4TritonEvaporationChannel() );   // Triton
132  theChannel->push_back( new G4He3EvaporationChannel() );      // He3
133  theChannel->push_back( new G4AlphaEvaporationChannel() );    // Alpha
134
135  //JMQ 220709 new GEM particle avaporation channels channels (2<Z<13,4<A<29)
136  theChannel->push_back( new G4He6GEMChannel() );      // He6
137  theChannel->push_back( new G4He8GEMChannel() );      // He8
138  theChannel->push_back( new G4Li6GEMChannel() );      // Li6
139  theChannel->push_back( new G4Li7GEMChannel() );      // Li7
140  theChannel->push_back( new G4Li8GEMChannel() );      // Li8
141  theChannel->push_back( new G4Li9GEMChannel() );      // Li9
142  theChannel->push_back( new G4Be7GEMChannel() );      // Be7
143  theChannel->push_back( new G4Be9GEMChannel() );      // Be9
144  theChannel->push_back( new G4Be10GEMChannel() );     // Be10
145  theChannel->push_back( new G4Be11GEMChannel() );     // Be11
146  theChannel->push_back( new G4Be12GEMChannel() );     // Be12
147  theChannel->push_back( new G4B8GEMChannel() );       // B8
148  theChannel->push_back( new G4B10GEMChannel() );      // B10
149  theChannel->push_back( new G4B11GEMChannel() );      // B11
150  theChannel->push_back( new G4B12GEMChannel() );      // B12
151  theChannel->push_back( new G4B13GEMChannel() );      // B13
152  theChannel->push_back( new G4C10GEMChannel() );      // C10
153  theChannel->push_back( new G4C11GEMChannel() );      // C11
154  theChannel->push_back( new G4C12GEMChannel() );      // C12
155  theChannel->push_back( new G4C13GEMChannel() );      // C13
156  theChannel->push_back( new G4C14GEMChannel() );      // C14
157  theChannel->push_back( new G4C15GEMChannel() );      // C15
158  theChannel->push_back( new G4C16GEMChannel() );      // C16
159  theChannel->push_back( new G4N12GEMChannel() );      // N12
160  theChannel->push_back( new G4N13GEMChannel() );      // N13
161  theChannel->push_back( new G4N14GEMChannel() );      // N14
162  theChannel->push_back( new G4N15GEMChannel() );      // N15
163  theChannel->push_back( new G4N16GEMChannel() );      // N16
164  theChannel->push_back( new G4N17GEMChannel() );      // N17
165  theChannel->push_back( new G4O14GEMChannel() );      // O14
166  theChannel->push_back( new G4O15GEMChannel() );      // O15
167  theChannel->push_back( new G4O16GEMChannel() );      // O16
168  theChannel->push_back( new G4O17GEMChannel() );      // O17
169  theChannel->push_back( new G4O18GEMChannel() );      // O18
170  theChannel->push_back( new G4O19GEMChannel() );      // O19
171  theChannel->push_back( new G4O20GEMChannel() );      // O20
172  theChannel->push_back( new G4F17GEMChannel() );      // F17
173  theChannel->push_back( new G4F18GEMChannel() );      // F18
174  theChannel->push_back( new G4F19GEMChannel() );      // F19
175  theChannel->push_back( new G4F20GEMChannel() );      // F20
176  theChannel->push_back( new G4F21GEMChannel() );      // F21
177  theChannel->push_back( new G4Ne18GEMChannel() );     // Ne18
178  theChannel->push_back( new G4Ne19GEMChannel() );     // Ne19
179  theChannel->push_back( new G4Ne20GEMChannel() );     // Ne20
180  theChannel->push_back( new G4Ne21GEMChannel() );     // Ne21
181  theChannel->push_back( new G4Ne22GEMChannel() );     // Ne22
182  theChannel->push_back( new G4Ne23GEMChannel() );     // Ne23
183  theChannel->push_back( new G4Ne24GEMChannel() );     // Ne24
184  theChannel->push_back( new G4Na21GEMChannel() );     // Na21
185  theChannel->push_back( new G4Na22GEMChannel() );     // Na22
186  theChannel->push_back( new G4Na23GEMChannel() );     // Na23
187  theChannel->push_back( new G4Na24GEMChannel() );     // Na24
188  theChannel->push_back( new G4Na25GEMChannel() );     // Na25
189  theChannel->push_back( new G4Mg22GEMChannel() );     // Mg22
190  theChannel->push_back( new G4Mg23GEMChannel() );     // Mg23
191  theChannel->push_back( new G4Mg24GEMChannel() );     // Mg24
192  theChannel->push_back( new G4Mg25GEMChannel() );     // Mg25
193  theChannel->push_back( new G4Mg26GEMChannel() );     // Mg26
194  theChannel->push_back( new G4Mg27GEMChannel() );     // Mg27
195  theChannel->push_back( new G4Mg28GEMChannel() );     // Mg28
196
197  return theChannel;
198
199}
200
201
202
Note: See TracBrowser for help on using the repository browser.