43 ,USE_ONLY_PHOTONEVAPORATION(false)
44 ,SKIP_MISSING_ISOTOPES(false)
45 ,NEGLECT_DOPPLER(false)
46 ,DO_NOT_ADJUST_FINAL_STATE(false)
47 ,PRODUCE_FISSION_FRAGMENTS(false)
48 ,USE_NRESP71_MODEL(false)
49 ,theElasticCrossSections(NULL)
50 ,theCaptureCrossSections(NULL)
52 ,theFissionCrossSections(NULL)
57 ,theTSCoherentCrossSections(NULL)
58 ,theTSIncoherentCrossSections(NULL)
59 ,theTSInelasticCrossSections(NULL)
60 ,theTSCoherentFinalStates(NULL)
61 ,theTSIncoherentFinalStates(NULL)
62 ,theTSInelasticFinalStates(NULL)
65 if ( getenv(
"G4NEUTRONHP_DO_NOT_ADJUST_FINAL_STATE" ) || getenv(
"G4PHP_DO_NOT_ADJUST_FINAL_STATE") )
DO_NOT_ADJUST_FINAL_STATE =
true;
67 if ( getenv(
"G4NEUTRONHP_NEGLECT_DOPPLER" ) || getenv(
"G4PHP_NEGLECT_DOPPLER") )
NEGLECT_DOPPLER =
true;
107 compfilename +=
".z";
108 std::ifstream*
in =
new std::ifstream ( compfilename , std::ios::binary | std::ios::ate );
112 G4int file_size = in->tellg();
113 in->seekg( 0 , std::ios::beg );
114 Bytef* compdata =
new Bytef[ file_size ];
117 in->read( (
char*)compdata , file_size );
120 uLongf complen = (uLongf) ( file_size*4 );
121 Bytef* uncompdata =
new Bytef[complen];
123 while (
Z_OK != uncompress ( uncompdata , &complen , compdata , file_size ) ) {
127 uncompdata =
new Bytef[complen];
132 delete [] uncompdata;
135 std::ifstream thefData( filename ,
std::ios::in | std::ios::ate );
136 if ( thefData.good() ) {
137 G4int file_size = thefData.tellg();
138 thefData.seekg( 0 , std::ios::beg );
139 char* filedata =
new char[ file_size ];
141 thefData.read( filedata , file_size );
144 data =
new G4String ( filedata , file_size );
149 iss.setstate( std::ios::badbit );
152 if ( data != NULL ) {
156 if (
id ==
"G4NDL" ) {
162 iss.seekg( 0 , std::ios::beg );
166 in->close();
delete in;
173 compfilename +=
".z";
174 std::ifstream*
in =
new std::ifstream ( compfilename , std::ios::binary | std::ios::ate );
180 std::ifstream thefData( filename ,
std::ios::in | std::ios::ate );
181 if ( thefData.good() ) {
187 iss.setstate( std::ios::badbit );
195 G4cout <<
"You are setting a new verbose level for Particle HP package." <<
G4endl;
196 G4cout <<
"the new value will be used in whole of the Particle HP package, i.e., models and cross sections for Capture, Elastic, Fission and Inelastic interaction." <<
G4endl;
202 mDataEvaluation.insert( std::pair < G4String , G4String > ( filename , source ) );
208 G4cout <<
"Data source of this Partile HP calculation are " <<
G4endl;
209 for ( std::map< G4String , G4String >::iterator
static G4ParticleHPManager * instance
void CloseReactionWhiteBoard()
void register_data_file(G4String, G4String)
static G4ParticleHPManager * GetInstance()
G4bool SKIP_MISSING_ISOTOPES
void CloseReactionWhiteBoard()
void SetVerboseLevel(G4int i)
G4bool DO_NOT_ADJUST_FINAL_STATE
std::map< const G4ParticleDefinition *, std::vector< G4ParticleHPChannelList * > * > theInelasticFSs
G4PhysicsTable * GetInelasticCrossSections(const G4ParticleDefinition *)
static G4ParticleHPThreadLocalManager * GetInstance()
const XML_Char const XML_Char * data
void GetDataStream(G4String, std::istringstream &iss)
std::map< G4String, G4String > mDataEvaluation
G4ParticleHPReactionWhiteBoard * GetReactionWhiteBoard()
void OpenReactionWhiteBoard()
G4ParticleHPReactionWhiteBoard * GetReactionWhiteBoard()
void RegisterInelasticCrossSections(const G4ParticleDefinition *, G4PhysicsTable *)
G4ParticleHPMessenger * messenger
std::vector< G4ParticleHPChannelList * > * GetInelasticFinalStates(const G4ParticleDefinition *)
G4GLOB_DLL std::ostream G4cout
std::map< const G4ParticleDefinition *, G4PhysicsTable * > theInelasticCrossSections
G4bool PRODUCE_FISSION_FRAGMENTS
void RegisterInelasticFinalStates(const G4ParticleDefinition *, std::vector< G4ParticleHPChannelList * > *)
G4bool USE_ONLY_PHOTONEVAPORATION
void OpenReactionWhiteBoard()
void GetDataStream2(G4String, std::istringstream &iss)