Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4ENDFTapeRead.hh
Go to the documentation of this file.
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 * File: G4ENDFTapeRead.hh
28 * Author: B. Wendt (wendbryc@isu.edu)
29 *
30 * Created on September 6, 2011, 10:01 AM
31 */
32
33#ifndef G4ENDFTAPEREAD_HH
34#define G4ENDFTAPEREAD_HH
35
36#include "globals.hh"
37
39#include "G4FFGEnumerations.hh"
40#include "G4TableTemplate.hh"
41
42/** G4ENDFTapeRead is a class designed to read in data from unformatted ENDF data
43 * tapes for MT = 454 or MT = 459, which correspond to independent fission
44 * yields and cumulative fission yields, respectively. The data is stored
45 * internally and can be recalled one product at a time by calling
46 * G4GetNextYield().
47 */
49{
50public:
51// Constructor definition
52 /** Default constructor
53 * - Usage:
54 * - \p FileLocation: the absolute path to the file
55 * - \p FileName: the name of the data file
56 * - \p WhichYield: \p INDEPENDENT or \p CUMULATIVE
57 * - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
58 *
59 * - Notes: The data will be read in immediately upon construction.
60 */
61 G4ENDFTapeRead( G4String FileLocation,
62 G4String FileName,
65 /** Overloaded constructor
66 * - Usage:
67 * - \p FileLocation: the absolute path to the file
68 * - \p FileName: the name of the data file
69 * - \p WhichYield: \p INDEPENDENT or \p CUMULATIVE
70 * - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
71 * - \p Verbosity: Verbosity level
72 *
73 * - Notes: The data will be read in immediately upon construction.
74 */
75 G4ENDFTapeRead( G4String FileLocation,
76 G4String FileName,
79 G4int Verbosity );
80 /** Overloaded constructor
81 * - Usage:
82 * - \p DataFile: The absolute path to the data file
83 * - \p WhichYield: \p INDEPENDENT or \p CUMULATIVE
84 * - \p WhichCause: \p SPONTANEOUS or \p N_INDUCED
85 * - \p Verbosity: Verbosity level
86 *
87 * - Notes: The data will be read in immediately upon construction.
88 */
89 G4ENDFTapeRead( std::istringstream& dataStream,
92 G4int Verbosity );
93protected:
94 /** Initialize is a common function called by all constructors. */
95 void Initialize( G4String dataFile );
96 /** Initialize is a common function calles by all constructors */
97 void Initialize( std::istringstream& dataStream );
98
99public:
100// Functions
101 /** Returns and array containing the values of each of the energy groups
102 * - Usage: No arguments required
103 *
104 * - Notes:
105 */
107 /** Returns the number of energy yield groups that were extracted from the
108 * ENDF tape file
109 * - Usage: No arguments required
110 *
111 * - Notes:
112 */
114 /** Returns the number of fission products that were extracted from the
115 * ENDF tape file
116 * - Usage: No arguments required
117 *
118 * - Notes:
119 */
121 /** Returns the data for the requested fission product
122 * - Usage:
123 * - \p WhichYield: 0-based index of the fission product for which to
124 * get the yield data
125 *
126 * - Notes:
127 * - This will return a pointer to the next G4FissionYieldContainer.
128 * NULL will be returned if no more fission containers exist.
129 */
131 /** Sets the verbosity levels
132 * - Usage:
133 * - \p WhichVerbosity: Combination of levels
134 *
135 * - Notes:
136 * - \p SILENT: All verbose output is repressed
137 * - \p UPDATES: Only high-level internal changes are reported
138 * - \p DAUGHTER_INFO: Displays information about daughter product sampling
139 * - \p NEUTRON_INFO: Displays information about neutron sampling
140 * - \p GAMMA_INFO: Displays information about gamma sampling
141 * - \p ALPHA_INFO: Displays information about alpha sampling
142 * - \p MOMENTUM_INFO: Displays information about momentum balancing
143 * - \p EXTRAPOLATION_INTERPOLATION_INFO: Displays information about any data extrapolation or interpolation that occurs
144 * - \p DEBUG: Reports program flow as it steps through functions
145 * - \p PRINT_ALL: Displays any and all output
146 */
147 void G4SetVerbosity( G4int WhatVerbosity );
148
149private:
150// Functions
151 /** Read in the data from an ENDF data tape. */
152 void ReadInData( std::istringstream& dataStream );
153
154// Data members
155 /** Stores the number corresponding to the fission cause that will be extracted */
156 //const G4FFGEnumerations::FissionCause Cause_;
157 /** Counter for the number of energy groups that were extracted */
158 G4int EnergyGroups_;
159 /** Array containing the values of the extracted energy groups */
160 G4double* EnergyGroupValues_;
161 /** Verbosity level */
162 G4int Verbosity_;
163 /** Storage for the extracted data */
165 /** Stores the number corresponding to the yield type that will be extracted */
166 const G4FFGEnumerations::YieldType YieldType_;
167
168// Destructor function(s)
169public:
170 /** Default Deconstructor */
171 ~G4ENDFTapeRead( void );
172};
173
174#endif /* G4ENDFTAPEREAD_HH */
175
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
G4int G4GetNumberOfFissionProducts(void)
void Initialize(G4String dataFile)
void G4SetVerbosity(G4int WhatVerbosity)
G4double * G4GetEnergyGroupValues(void)
G4ENDFYieldDataContainer * G4GetYield(G4int WhichYield)
G4int G4GetNumberOfEnergyGroups(void)