Import Geant4 10.7.1 source tree
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user