ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4EvaporationDefaultGEMFactory.cc
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4EvaporationDefaultGEMFactory.cc
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 // Hadronic Process: Nuclear De-excitations
27 // by J. M. Quesada (July 2009) on base of V. Lara code
28 // V.Ivanchenko cleanup
29 //
30 // new hybrid Default-GEM evaoration model:
31 // - default evaporation for n,p,d,t and alpha particles
32 // - GEM evaporation for light nuclei evaporation (2<Z<13,4<A<29)
33 //
34 //
35 // Modifications:
36 //
37 // 23 January 2012 V.Ivanchenko added pointer of G4VPhotonEvaporation
38 
40 
47 //JMQ 220709 new GEM channels
48 #include "G4He6GEMChannel.hh"
49 #include "G4He8GEMChannel.hh"
50 #include "G4Li6GEMChannel.hh"
51 #include "G4Li7GEMChannel.hh"
52 #include "G4Li8GEMChannel.hh"
53 #include "G4Li9GEMChannel.hh"
54 #include "G4Be7GEMChannel.hh"
55 #include "G4Be9GEMChannel.hh"
56 #include "G4Be10GEMChannel.hh"
57 #include "G4Be11GEMChannel.hh"
58 #include "G4Be12GEMChannel.hh"
59 #include "G4B8GEMChannel.hh"
60 #include "G4B10GEMChannel.hh"
61 #include "G4B11GEMChannel.hh"
62 #include "G4B12GEMChannel.hh"
63 #include "G4B13GEMChannel.hh"
64 #include "G4C10GEMChannel.hh"
65 #include "G4C11GEMChannel.hh"
66 #include "G4C12GEMChannel.hh"
67 #include "G4C13GEMChannel.hh"
68 #include "G4C14GEMChannel.hh"
69 #include "G4C15GEMChannel.hh"
70 #include "G4C16GEMChannel.hh"
71 #include "G4N12GEMChannel.hh"
72 #include "G4N13GEMChannel.hh"
73 #include "G4N14GEMChannel.hh"
74 #include "G4N15GEMChannel.hh"
75 #include "G4N16GEMChannel.hh"
76 #include "G4N17GEMChannel.hh"
77 #include "G4O14GEMChannel.hh"
78 #include "G4O15GEMChannel.hh"
79 #include "G4O16GEMChannel.hh"
80 #include "G4O17GEMChannel.hh"
81 #include "G4O18GEMChannel.hh"
82 #include "G4O19GEMChannel.hh"
83 #include "G4O20GEMChannel.hh"
84 #include "G4F17GEMChannel.hh"
85 #include "G4F18GEMChannel.hh"
86 #include "G4F19GEMChannel.hh"
87 #include "G4F20GEMChannel.hh"
88 #include "G4F21GEMChannel.hh"
89 #include "G4Ne18GEMChannel.hh"
90 #include "G4Ne19GEMChannel.hh"
91 #include "G4Ne20GEMChannel.hh"
92 #include "G4Ne21GEMChannel.hh"
93 #include "G4Ne22GEMChannel.hh"
94 #include "G4Ne23GEMChannel.hh"
95 #include "G4Ne24GEMChannel.hh"
96 #include "G4Na21GEMChannel.hh"
97 #include "G4Na22GEMChannel.hh"
98 #include "G4Na23GEMChannel.hh"
99 #include "G4Na24GEMChannel.hh"
100 #include "G4Na25GEMChannel.hh"
101 #include "G4Mg22GEMChannel.hh"
102 #include "G4Mg23GEMChannel.hh"
103 #include "G4Mg24GEMChannel.hh"
104 #include "G4Mg25GEMChannel.hh"
105 #include "G4Mg26GEMChannel.hh"
106 #include "G4Mg27GEMChannel.hh"
107 #include "G4Mg28GEMChannel.hh"
108 
109 #include "G4CompetitiveFission.hh"
110 
112  : G4VEvaporationFactory(ptr)
113 {}
114 
116 {}
117 
118 std::vector<G4VEvaporationChannel*>* G4EvaporationDefaultGEMFactory::GetChannel()
119 {
120  std::vector<G4VEvaporationChannel*> * theChannel =
121  new std::vector<G4VEvaporationChannel*>;
122  theChannel->reserve(68);
123 
124  theChannel->push_back( thePhotonEvaporation ); // 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