G4DataQuestionnair =================== A quick survey to collect information about usage patterns of "Data Libraries"(*) in Geant4. Goal is to: 1. Ease setup and use by clients of Geant4 (currently require   1 environment variable per library), whilst supporting developers. 2. Identify and reduce any bottlenecks caused by reading of the many   ASCII based files, in both single and multi threaded modes. (*) A directory containing 1-N file(s), possible organized hierarchically, that are read by code in Geant4 for the purposes of physics modelling. Currently known/used Data Libraries, plus listed purpose are: - G4NDL4.5, Neutron data files with thermal cross-sections - version 4.5 - G4EMLOW7.3, data files for low energy electromagnetic processes - version 7.3 - G4PhotonEvaporation5.2, data files for photon evaporation - version 5.2 - G4RadioactiveDecay5.2, data files for radioactive decay hadronic processes - version 5.2 - G4SAIDDATA1.1, data files from evaluated cross-sections in SAID data-base - version 1.1 - G4NEUTRONXS1.4, data files for evaluated neutron cross-sections on natural composition of elements - version 1.4 - G4ABLA3.1, data files for nuclear shell effects in INCL/ABLA hadronic mode - version 3.1 - G4PII1.3, data files for shellSTATE2.2, data files for nuclides properties - version 2.2 - G4RealSurface2.1.1, Optional data files for measured optical surface reflectance - version 2.1.1 - G4TENDL1.3.2, Optional data files for incident particles - version 1.3.2 Questions ========= ionisation cross-sections - version 1.3 - G4ENSDF If any question does not apply, just enter "N/A". 1. For the Geant4 categories your Working Group maintains, please list:   i. The subcategories (if appropriate) and files/classes which access data libraries. Data Library: G4EMLOW7.3 a) subcategory processes/electromagnetic/lowenery files using getenv are: G4AugerData.cc G4BoldyshevTripletModel.cc G4BremsstrahlungParameters.cc G4CrossSectionDataSet.cc G4DopplerProfile.cc G4ecpssrBaseKxsModel.cc G4ecpssrBaseLixsModel.cc G4eIonisationParameters.cc G4eIonisationSpectrum.cc G4EMDataSet.cc G4FluoData.cc G4IonParametrisedLossModel.cc G4LivermoreBremsstrahlungModel.cc G4LivermoreComptonModel.cc G4LivermoreGammaConversionModel.cc G4LivermoreGammaConversionModelRC.cc G4LivermoreNuclearGammaConversionModel.cc G4LivermorePhotoElectricModel.cc G4LivermorePolarizedComptonModel.cc G4LivermorePolarizedGammaConversionModel.cc G4LivermorePolarizedPhotoElectricGDModel.cc G4LivermorePolarizedPhotoElectricModel.cc G4LivermorePolarizedRayleighModel.cc G4LivermoreRayleighModel.cc G4LowEPComptonModel.cc G4LowEPPolarizedComptonModel.cc G4MicroElecCrossSectionDataSet.cc G4MicroElecElasticModel.cc G4MicroElecInelasticModel.cc G4MuElecCrossSectionDataSet.cc G4MuElecElasticModel.cc G4MuElecInelasticModel.cc G4PenelopeBremsstrahlungAngular.cc G4PenelopeBremsstrahlungFS.cc G4PenelopeGammaConversionModel.cc G4PenelopeOscillatorManager.cc G4PenelopePhotoElectricModel.cc G4PenelopeRayleighModel.cc G4PhotoElectricAngularGeneratorPolarized.cc G4ShellData.cc G4ShellEMDataSet.cc G4VCrossSectionHandler.cc b) subcategory processes/electromagnetic/dna files accessing data are - in models/src G4DNABornExcitationModel1.cc G4DNABornExcitationModel2.cc G4DNABornIonisationModel1.cc G4DNABornIonisationModel2.cc G4DNAChampionElasticModel.cc G4DNACPA100ElasticModel.cc G4DNACPA100ExcitationModel.cc G4DNACPA100IonisationModel.cc G4DNAEmfietzoglouExcitationModel.cc G4DNAEmfietzoglouIonisationModel.cc G4DNAIonElasticModel.cc G4DNAMeltonAttachmentModel.cc G4DNAPTBElasticModel.cc G4DNAPTBIonisationModel.cc G4DNARuddIonisationExtendedModel.cc G4DNARuddIonisationModel.cc G4DNASancheExcitationModel.cc G4VDNAModel.cc - in utils/src G4DNACrossSectionDataSet.cc  ii. In these files/classes, how is the data accessed?      a) directly via `getenv`? yes      b) indirectly via C++ objects, if so which ones? N/A iii. For each access use above, please list the Geant4 states in which data may be accessed,      e.g. on Physics List creation, once per event, during tracking. - for majority via BuildPhysicsTable(..) method  iv. What method is used to parse the data? >>   v. What C++ object(s) are used to hold the read/parsed data in memory? - for a) subcategory G4DataVector G4EMDataSet G4LPhysicsFreeVector G4MicroElecCrossSectionDataSet G4MuElecCrossSectionDataSet G4PhysicsFreeVector G4ShellData G4ShellEMDataSet - for b) subcategory G4DataVector G4DNACrossSectionDataSet G4EmDataSet std::map std::vector  vi. Do you check or otherwise use the Data Library version? If so, give use cases      (e.g new features added, file format/interface changes). N/A 2. Please list any Data Libraries your Working Group maintains/develops/contributes to. G4EMLOW   For each library in this list, please provide   i. How data is added/edited/removed? by hand (addition/edition/removal of ASCII files by hand)  ii. Under what circumstances are the Major, Minor and Patch elements of the version number changed? -only Minor numbering update -Major when no backward compatibility due to removal of old files