MURE
Loading...
Searching...
No Matches
SpecialIsomer.hxx
Go to the documentation of this file.
1/*
2 This file is part of MURE,
3 Copyright (C) 2007-2021 MURE developers.
4
5 MURE is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 MURE is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with MURE. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef _SPECIALISOMER_
20#define _SPECIALISOMER_
21
22#include <vector>
23#include <string>
24#include <sstream>
25#include <iostream>
26#include <map>
27
28#include "ZAI.hxx"
29
30class ZAI;
31
32using namespace std;
39
55{
56 public:
58
72 //SpecialIsomer(int z, int a,string Reaction, double ThermalBR, double FastBR,string CutFlag);
73 SpecialIsomer(int Zt, int At, int It, int aZp, int aAp, int aIp,
74 int ReactionMT, double ThermalBR, double FastBR, string CutFlag);
75
77 // SpecialIsomer(const SpecialIsomer& is);//!< copy constructor
78 // ~SpecialIsomer(); //!< default desctructor
79
80
81 void SetThermalBR(double br)
82 {
83 fBRthermal = br;
84 }
85 void SetFastBR(double br)
86 {
87 fBRfast = br;
88 }
89 void SetProductionReaction(int reaction_type);
90 double GetThermalBR()
91 {
92 return fBRthermal;
93 }
94 double GetFastBR()
95 {
96 return fBRfast;
97 }
99 {
100 return fReactionCode;
101 }
102 int Z()
103 {
104 return fZt;
105 }
106 int A()
107 {
108 return fAt;
109 }
110 int I()
111 {
112 return fIt;
113 }
114 int Zp()
115 {
116 return fZp;
117 }
118 int Ap()
119 {
120 return fAp;
121 }
122 int Ip()
123 {
124 return fIp;
125 }
126 void Z(int z)
127 {
128 fZt = z;
129 }
130 void A(int a)
131 {
132 fAt = a;
133 }
134 void I(int i)
135 {
136 fIt = i;
137 }
138 void Zp(int z)
139 {
140 fZp = z;
141 }
142 void Ap(int a)
143 {
144 fAp = a;
145 }
146 void Ip(int i)
147 {
148 fIp = i;
149 }
151
157 void AddDaughter(int Zd, int Ad, int Id, double DecayBR);
158
160
164 bool NGammaProduction(map<int, map<int, map<int, ZAI *> > > &TheChart, ZAI *zai);
165
167
171 bool N2NProduction(map<int, map<int, map<int, ZAI *> > > &TheChart, ZAI *zai);
172
174
178 double GetBranchingRatio();
179 string GetCutFlag()
180 {
181 return fCutFlag;
182 }
183
184 private:
185 int fZt;
186 int fAt;
187 int fIt;
188 int fZp;
189 int fAp;
190 int fIp;
192 double fBRthermal;
193 double fBRfast;
194 string fCutFlag;
195 vector<int> fZd;
196 vector<int> fAd;
197 vector<int> fId;
198 vector<double> fDecayBR;
199
200};
201#endif
Header file for ZAI and ZAIReaction classes.
Class to define special treatment for some isomers.
Definition SpecialIsomer.hxx:55
vector< int > fAd
A of the decay daughter.
Definition SpecialIsomer.hxx:196
double fBRthermal
Thermal Branching Ratio.
Definition SpecialIsomer.hxx:192
int fAp
A of the product.
Definition SpecialIsomer.hxx:189
double GetFastBR()
Definition SpecialIsomer.hxx:94
void Ip(int i)
Definition SpecialIsomer.hxx:146
int fIp
I of the product.
Definition SpecialIsomer.hxx:190
int fZp
Z of the product.
Definition SpecialIsomer.hxx:188
int fAt
A of the target.
Definition SpecialIsomer.hxx:186
void SetProductionReaction(int reaction_type)
Set reaction type (N_2N, N_GAMMA, ...)
Definition SpecialIsomer.cxx:101
int fZt
Z of the target.
Definition SpecialIsomer.hxx:185
int I()
Definition SpecialIsomer.hxx:110
double GetThermalBR()
Definition SpecialIsomer.hxx:90
void SetThermalBR(double br)
Definition SpecialIsomer.hxx:81
int Ap()
Definition SpecialIsomer.hxx:118
int Z()
Definition SpecialIsomer.hxx:102
void Ap(int a)
Definition SpecialIsomer.hxx:142
double GetBranchingRatio()
Return the Branching Ratio to product ground state.
Definition SpecialIsomer.cxx:92
int GetReactionType()
Definition SpecialIsomer.hxx:98
string GetCutFlag()
Definition SpecialIsomer.hxx:179
bool NGammaProduction(map< int, map< int, map< int, ZAI * > > > &TheChart, ZAI *zai)
The (n,g) production of Ground state and Isomer method.
void AddDaughter(int Zd, int Ad, int Id, double DecayBR)
Add decay daughters of the (n,g) produced ground state.
Definition SpecialIsomer.cxx:84
bool N2NProduction(map< int, map< int, map< int, ZAI * > > > &TheChart, ZAI *zai)
The (n,2n) production of Ground state and Isomer method.
vector< double > fDecayBR
Branching ratio for the decay.
Definition SpecialIsomer.hxx:198
string fCutFlag
"M" or "X" to know if MURE or user choose what to do with GS
Definition SpecialIsomer.hxx:194
vector< int > fZd
Z of the decay daughter.
Definition SpecialIsomer.hxx:195
int fIt
I of the target.
Definition SpecialIsomer.hxx:187
int A()
Definition SpecialIsomer.hxx:106
void I(int i)
Definition SpecialIsomer.hxx:134
vector< int > fId
A of the decay daughter.
Definition SpecialIsomer.hxx:197
void Z(int z)
Definition SpecialIsomer.hxx:126
void Zp(int z)
Definition SpecialIsomer.hxx:138
void SetFastBR(double br)
Definition SpecialIsomer.hxx:85
int Ip()
Definition SpecialIsomer.hxx:122
SpecialIsomer()
default constructor
Definition SpecialIsomer.cxx:50
int Zp()
Definition SpecialIsomer.hxx:114
void A(int a)
Definition SpecialIsomer.hxx:130
int fReactionCode
Reaction code (mcnp type: 102=n_gamma,...)
Definition SpecialIsomer.hxx:191
double fBRfast
Fast Branching Ratio.
Definition SpecialIsomer.hxx:193
A ZAI defined a (Z, A, Isomere) for a Nucleus.
Definition ZAI.hxx:118
the namespace of the Standard C++

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024