Import Geant4 10.7.1 source tree

This commit is contained in:
Gabriele Cosmo
2021-02-05 15:10:05 +01:00
parent dab42d2018
commit 3dfcdb544e
281 changed files with 37738 additions and 47638 deletions
+10
View File
@@ -16,6 +16,16 @@ committal in the SVN repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
February 2, 2021 I. Hrivnacova (analysis-V10-06-13)
- Fixed the problem with merging ntuples with columns of vector type
reported by Riccardo Pilato in G4 Forum.
January 5, 2021 I. Hrivnacova (analysis-V10-06-12)
- Updated to g4tools 5.2.3 (Guy Barrand):
Bug fix in tools/histo/h2,h3 : get_bin_content(): have '&' in "get" arguments.
Addressing the problem report #2306.
See History_tools for the complete list of modifications.
November 16, 2020 G. Cosmo (analysis-V10-06-11)
- Fixed typos in printed-out text. Addressing problem report #2285.
+10
View File
@@ -1,3 +1,13 @@
5.2.3 :
- tools/wroot/infos, branch, rroot/branch : Lenght => Length in comments.
- tools/hatcher.icc : pow, sqrt, tan => std::pow, std::sqrt, std::tan.
- tools/wps : retreive => retrieve.
- tools/wcsv_ntuple, value.icc, test/cpp/wcsv_ntuple.cpp : unknow => unkown.
5.2.2 :
- tools/histo/h2,h3 : get_bin_content : bugfix : have '&' in "get" arguments.
Thanks to Dmitri Konstantinov and Grigory Latyshev for the report.
5.2.1 :
- fonts : have lato_regular.ttf file and license_font_lato.txt, readme_font_lato.txt texts taken from :
https://www.latofonts.com/lato-free-fonts
@@ -606,10 +606,10 @@ inline bool hatcher::compute_single_polyline (vec3f* tabPoints,unsigned int aNum
fNormal[2]*AB[0]-fNormal[0]*AB[2],
fNormal[0]*AB[1]-fNormal[1]*AB[0]);
float normAB =(float)sqrt(std::pow(AB[0],2)+
float normAB =(float)std::sqrt(std::pow(AB[0],2)+
std::pow(AB[1],2)+
std::pow(AB[2],2));
float normABPerpVector =(float)sqrt(std::pow(ABPerpVector[0],2)+
float normABPerpVector =(float)std::sqrt(std::pow(ABPerpVector[0],2)+
std::pow(ABPerpVector[1],2)+
std::pow(ABPerpVector[2],2));
@@ -643,7 +643,7 @@ inline bool hatcher::compute_single_polyline (vec3f* tabPoints,unsigned int aNum
// normalize vector to match the shift size
float param = 1.0f;
param = (float)sqrt((std::pow(fShift,2))/(
param = (float)std::sqrt((std::pow(fShift,2))/(
std::pow(dirShiftVector[0],2)+
std::pow(dirShiftVector[1],2)+
std::pow(dirShiftVector[2],2)));
@@ -140,8 +140,9 @@ public:
}
bool get_bin_content(bn_t a_ibin,bn_t a_jbin,
TN a_entries,TW a_Sw,TW a_Sw2,
TC a_Sxw,TC a_Sx2w,TC a_Syw,TC a_Sy2w) {
TN& a_entries,TW& a_Sw,TW& a_Sw2,
TC& a_Sxw,TC& a_Sx2w,
TC& a_Syw,TC& a_Sy2w) {
if(parent::m_dimension!=2) {
a_entries = 0;a_Sw = 0;a_Sw2 = 0;
a_Sxw = 0;a_Sx2w = 0;
@@ -163,8 +163,10 @@ public:
}
bool get_bin_content(bn_t a_ibin,bn_t a_jbin,bn_t a_kbin,
TN a_entries,TW a_Sw,TW a_Sw2,
TC a_Sxw,TC a_Sx2w,TC a_Syw,TC a_Sy2w,TC a_Szw,TC a_Sz2w) {
TN& a_entries,TW& a_Sw,TW& a_Sw2,
TC& a_Sxw,TC& a_Sx2w,
TC& a_Syw,TC& a_Sy2w,
TC& a_Szw,TC& a_Sz2w) {
if(parent::m_dimension!=3) {
a_entries = 0;a_Sw = 0;a_Sw2 = 0;
a_Sxw = 0;a_Sx2w = 0;
@@ -6,12 +6,12 @@
#define TOOLS_MAJOR_VERSION 5
#define TOOLS_MINOR_VERSION 2
#define TOOLS_PATCH_VERSION 1
#define TOOLS_VERSION "5.2.1"
#define TOOLS_VERSION_VRP "v5r2p1"
#define TOOLS_PATCH_VERSION 3
#define TOOLS_VERSION "5.2.3"
#define TOOLS_VERSION_VRP "v5r2p3"
namespace tools {
inline unsigned int version() {return 50201;}
inline unsigned int version() {return 50203;}
}
#endif
@@ -586,7 +586,7 @@ protected:
uint64 m_tot_bytes;
uint64 m_zip_bytes;
uint32 m_max_baskets;
uint32* fBasketBytes; //[m_max_baskets] Lenght of baskets on file
uint32* fBasketBytes; //[m_max_baskets] Length of baskets on file
uint32* fBasketEntry; //[m_max_baskets] Table of first entry in eack basket
seek* fBasketSeek; //[m_max_baskets] Addresses of baskets on file
};
@@ -151,6 +151,7 @@ class G4RootPNtupleManager : public G4BaseNtupleManager
std::vector<tools::wroot::imt_ntuple*> fNtupleVector;
G4bool fRowWise;
G4bool fRowMode;
G4bool fCreateNtuples;
};
#include "G4RootPNtupleManager.icc"
@@ -31,6 +31,10 @@ template <>
inline G4bool G4RootPNtupleManager::FillNtupleTColumn(
G4int ntupleId, G4int columnId, const std::string& value)
{
if (fCreateNtuples) {
CreateNtuplesFromMain();
}
if ( fState.GetIsActivation() && ( ! GetActivation(ntupleId) ) ) {
G4cout << "Skipping FillNtupleIColumn for " << ntupleId << G4endl;
return false;
@@ -88,6 +92,10 @@ template <typename T>
G4bool G4RootPNtupleManager::FillNtupleTColumn(
G4int ntupleId, G4int columnId, const T& value)
{
if (fCreateNtuples) {
CreateNtuplesFromMain();
}
if ( fState.GetIsActivation() && ( ! GetActivation(ntupleId) ) ) {
G4cout << "Skipping FillNtupleIColumn for " << ntupleId << G4endl;
return false;
@@ -312,7 +312,7 @@ std::shared_ptr<G4VNtupleManager> G4RootNtupleFileManager::CreateNtupleManager()
= fNtupleManager->GetMainNtupleManager(GetNtupleFileNumber());
fSlaveNtupleManager
= make_shared<G4RootPNtupleManager>(
fState, fgMasterInstance->fBookingManager, mainNtupleManager, fNtupleRowWise, fNtupleRowMode);
fState, fBookingManager, mainNtupleManager, fNtupleRowWise, fNtupleRowMode);
activeNtupleManager = fSlaveNtupleManager;
break;
}
@@ -374,10 +374,11 @@ G4bool G4RootNtupleFileManager::ActionAtOpenFile(const G4String& /*fileName*/)
#endif
}
if ( fNtupleMergeMode == G4NtupleMergeMode::kSlave ) {
// G4cout << "Going to create slave ntuples from main" << G4endl;
fSlaveNtupleManager->CreateNtuplesFromMain();
}
// Creating ntuples from main is triggered from the first Fill call
// if ( fNtupleMergeMode == G4NtupleMergeMode::kSlave ) {
// // G4cout << "Going to create slave ntuples from main" << G4endl;
// fSlaveNtupleManager->CreateNtuplesFromMain();
// }
return finalResult;
}
@@ -63,7 +63,8 @@ G4RootPNtupleManager::G4RootPNtupleManager(const G4AnalysisManagerState& state,
fNtupleDescriptionVector(),
fNtupleVector(),
fRowWise(rowWise),
fRowMode(rowMode)
fRowMode(rowMode),
fCreateNtuples(true)
{}
//_____________________________________________________________________________
@@ -213,7 +214,7 @@ void G4RootPNtupleManager::CreateNtupleFromMain(
void G4RootPNtupleManager::CreateNtuplesFromMain()
{
// Create ntuple from booking (if not yet done) and main ntuple
// This function is called from G4RootNtupleFileManager::ActionAtOpenFile.
// This function is called from the first Fill call.
// Create pntuple descriptions from ntuple booking.
auto g4NtupleBookings = fBookingManager->GetNtupleBookingVector();
@@ -230,6 +231,8 @@ void G4RootPNtupleManager::CreateNtuplesFromMain()
auto& ntupleDescription = fNtupleDescriptionVector[lcounter++];
CreateNtupleFromMain(ntupleDescription, mainNtuple);
}
fCreateNtuples = false;
}
//_____________________________________________________________________________
@@ -272,6 +275,10 @@ G4bool G4RootPNtupleManager::FillNtupleSColumn(
//_____________________________________________________________________________
G4bool G4RootPNtupleManager::AddNtupleRow(G4int ntupleId)
{
if (fCreateNtuples) {
CreateNtuplesFromMain();
}
if ( fState.GetIsActivation() && ( ! GetActivation(ntupleId) ) ) {
//G4cout << "Skipping AddNtupleRow for " << ntupleId << G4endl;
return false;
@@ -287,7 +294,7 @@ G4bool G4RootPNtupleManager::AddNtupleRow(G4int ntupleId)
auto ntupleDescription = GetNtupleDescriptionInFunction(ntupleId, "AddNtupleRow");
if ( ! ntupleDescription ) return false;
auto rfile = std::get<0>(*ntupleDescription->fDescription.fFile);
G4AutoLock lock(&pntupleMutex);