Import Geant4 10.7.0 source tree

This commit is contained in:
Gabriele Cosmo
2020-12-04 12:30:43 +01:00
parent 67ba86d073
commit dab42d2018
3770 changed files with 226369 additions and 286486 deletions
@@ -23,8 +23,8 @@ namespace waxml {
a_writer << "<aida version=" << sout(sAIDA_VERSION) << ">"
<< std::endl;
a_writer << " <implementation package=" << sout("tools")
<< " version=" << sout(TOOLS_VERSION) << "/>"
a_writer << " <implementation package=" << sout("tools")
<< " version=" << sout(TOOLS_VERSION) << "/>"
<< std::endl;
}
@@ -39,7 +39,7 @@ namespace waxml {
return a_oss.str();
}
}
typedef std::map<std::string,std::string> annotations_t;
inline void write_annotations(
@@ -51,7 +51,7 @@ namespace waxml {
std::string spaces;
for(int i=0;i<aShift;i++) spaces += " ";
a_writer << spaces << " <annotation>" << std::endl;
annotations_t::const_iterator it;
@@ -63,7 +63,7 @@ namespace waxml {
}
a_writer << spaces << " </annotation>" << std::endl;
}
inline void write_axis(
const histo::axis<double,unsigned int>& aAxis
,const std::string& aDirection
@@ -75,17 +75,17 @@ namespace waxml {
std::string spaces;
for(int i=0;i<aShift;i++) spaces += " ";
if(aAxis.is_fixed_binning()) {
a_writer << spaces << " <axis"
<< " direction=" << sout(aDirection)
<< " direction=" << sout(aDirection)
<< " numberOfBins=" << num_out<bn_t>(aAxis.bins())
<< " min=" << soutd(a_oss,aAxis.lower_edge())
<< " max=" << soutd(a_oss,aAxis.upper_edge())
<< "/>" << std::endl;
} else {
a_writer << spaces << " <axis"
<< " direction=" << sout(aDirection)
<< " direction=" << sout(aDirection)
<< " numberOfBins=" << num_out<bn_t>(aAxis.bins())
<< " min=" << soutd(a_oss,aAxis.lower_edge())
<< " max=" << soutd(a_oss,aAxis.upper_edge())
@@ -99,7 +99,7 @@ namespace waxml {
a_writer << spaces << " </axis>" << std::endl;
}
}
inline void write_bin(
std::ostream& a_writer
,std::ostringstream& a_oss
@@ -114,21 +114,21 @@ namespace waxml {
<< " entries=" << num_out<unsigned int>(entries)
<< " height=" << soutd(a_oss,aObject.bin_height(aIndex))
<< " error=" << soutd(a_oss,aObject.bin_error(aIndex));
double mean = aObject.bin_mean(aIndex);
if(mean!=0) {
a_writer << " weightedMean=" << soutd(a_oss,mean);
}
double stddev = aObject.bin_rms(aIndex);
if(stddev!=0) {
a_writer << " weightedRms=" << soutd(a_oss,stddev);
}
a_writer << "/>" << std::endl;
}
}
inline void write_bin(
std::ostream& a_writer
,std::ostringstream& a_oss
@@ -145,7 +145,7 @@ namespace waxml {
<< " entries=" << num_out<unsigned int>(entries)
<< " height=" << soutd(a_oss,aObject.bin_height(aIndexX,aIndexY))
<< " error=" << soutd(a_oss,aObject.bin_error(aIndexX,aIndexY));
double mean_x = aObject.bin_mean_x(aIndexX,aIndexY);
if(mean_x!=0) {
a_writer << " weightedMeanX=" << soutd(a_oss,mean_x);
@@ -154,7 +154,7 @@ namespace waxml {
if(mean_y!=0) {
a_writer << " weightedMeanY=" << soutd(a_oss,mean_y);
}
double stddevX = aObject.bin_rms_x(aIndexX,aIndexY);
if(stddevX!=0) {
a_writer << " weightedRmsX=" << soutd(a_oss,stddevX);
@@ -163,11 +163,11 @@ namespace waxml {
if(stddevY!=0) {
a_writer << " weightedRmsY=" << soutd(a_oss,stddevY);
}
a_writer << "/>" << std::endl;
}
}
inline void write_bin(
std::ostream& a_writer
,std::ostringstream& a_oss
@@ -186,8 +186,8 @@ namespace waxml {
<< " entries=" << num_out<unsigned int>(entries)
<< " height=" << soutd(a_oss,aObject.bin_height(aIndexX,aIndexY,aIndexZ))
<< " error=" << soutd(a_oss,aObject.bin_error(aIndexX,aIndexY,aIndexZ));
double mean_x = aObject.bin_mean_x(aIndexX,aIndexY,aIndexZ);
if(mean_x!=0) {
a_writer << " weightedMeanX=" << soutd(a_oss,mean_x);
@@ -200,7 +200,7 @@ namespace waxml {
if(mean_y!=0) {
a_writer << " weightedMeanZ=" << soutd(a_oss,mean_z);
}
double stddevX = aObject.bin_rms_x(aIndexX,aIndexY,aIndexZ);
if(stddevX!=0) {
a_writer << " weightedRmsX=" << soutd(a_oss,stddevX);
@@ -213,11 +213,11 @@ namespace waxml {
if(stddevZ!=0) {
a_writer << " weightedRmsZ=" << soutd(a_oss,stddevZ);
}
a_writer << "/>" << std::endl;
}
}
inline void write_bin(
std::ostream& a_writer
,std::ostringstream& a_oss
@@ -232,17 +232,17 @@ namespace waxml {
<< " height=" << soutd(a_oss,aObject.bin_height(aIndex))
<< " error=" << soutd(a_oss,aObject.bin_error(aIndex))
<< " weightedMean=" << soutd(a_oss,aObject.bin_mean(aIndex));
double stddev = aObject.bin_rms(aIndex);
if(stddev!=0) {
a_writer << " weightedRms=" << soutd(a_oss,stddev);
}
a_writer << " rms=" << soutd(a_oss,aObject.bin_rms_value(aIndex));
a_writer << "/>" << std::endl;
}
}
inline void write_bin(
std::ostream& a_writer
,std::ostringstream& a_oss
@@ -260,7 +260,7 @@ namespace waxml {
<< " error=" << soutd(a_oss,aObject.bin_error(aIndexX,aIndexY))
<< " weightedMeanX=" << soutd(a_oss,aObject.bin_mean_x(aIndexX,aIndexY))
<< " weightedMeanY=" << soutd(a_oss,aObject.bin_mean_y(aIndexX,aIndexY));
double stddevX = aObject.bin_rms_x(aIndexX,aIndexY);
if(stddevX!=0) {
a_writer << " weightedRmsX=" << soutd(a_oss,stddevX);
@@ -269,7 +269,7 @@ namespace waxml {
if(stddevY!=0) {
a_writer << " weightedRmsY=" << soutd(a_oss,stddevY);
}
a_writer << " rms=" << soutd(a_oss,aObject.bin_rms_value(aIndexX,aIndexY));
a_writer << "/>" << std::endl;
}
@@ -288,50 +288,50 @@ namespace waxml {
typedef histo::axis<double,unsigned int>::bn_t bn_t;
std::ostream& writer = a_writer;
std::string spaces;
for(int i=0;i<aShift;i++) spaces += " ";
// <histogram1d> :
writer << spaces << " <histogram1d"
<< " path=" << sout(to_xml(aPath))
<< " name=" << sout(to_xml(aName))
<< " title=" << sout(to_xml(aObject.title()))
<< ">" << std::endl;
// <annotations> :
write_annotations(aObject.annotations(),writer,aShift);
// <axis> :
write_axis(aObject.axis(),"x",writer,ossd,aShift);
// <statistics> :
// <statistics> :
writer << spaces << " <statistics"
<< " entries=" << num_out<unsigned int>(aObject.entries())
<< ">" << std::endl;
writer << spaces << " <statistic"
<< " direction=" << sout("x")
<< " mean=" << soutd(ossd,aObject.mean())
<< " direction=" << sout("x")
<< " mean=" << soutd(ossd,aObject.mean())
<< " rms=" << soutd(ossd,aObject.rms())
<< "/>" << std::endl;
writer << spaces << " </statistics>" << std::endl;
// bins :
writer << spaces << " <data1d>" << std::endl;
bn_t xbins = aObject.axis().bins();
for(bn_t index=0;index<xbins;index++)
write_bin(writer,ossd,aObject,spaces,index);
write_bin(writer,ossd,aObject,spaces,histo::axis_UNDERFLOW_BIN);
write_bin(writer,ossd,aObject,spaces,histo::axis_OVERFLOW_BIN);
writer << spaces << " </data1d>" << std::endl;
writer << spaces << " </histogram1d>" << std::endl;
return true;
return true;
}
inline bool write(
std::ostream& a_writer
,const histo::h2d& aObject
@@ -345,7 +345,7 @@ namespace waxml {
typedef histo::axis<double,unsigned int>::bn_t bn_t;
std::ostream& writer = a_writer;
std::string spaces;
for(int i=0;i<aShift;i++) spaces += " ";
@@ -355,33 +355,33 @@ namespace waxml {
<< " name=" << sout(to_xml(aName))
<< " title=" << sout(to_xml(aObject.title()))
<< ">" << std::endl;
// <annotations> :
write_annotations(aObject.annotations(),writer,aShift);
// <axis> :
write_axis(aObject.axis_x(),"x",writer,ossd,aShift);
write_axis(aObject.axis_y(),"y",writer,ossd,aShift);
// <statistics> :
// <statistics> :
writer << spaces << " <statistics"
<< " entries=" << num_out<unsigned int>(aObject.entries())
<< ">" << std::endl;
writer << spaces << " <statistic"
<< " direction=" << sout("x")
<< " mean=" << soutd(ossd,aObject.mean_x())
<< " rms=" << soutd(ossd,aObject.rms_x())
<< " rms=" << soutd(ossd,aObject.rms_x())
<< "/>" << std::endl;
writer << spaces << " <statistic"
<< " direction=" << sout("y")
<< " mean=" << soutd(ossd,aObject.mean_y())
<< " rms=" << soutd(ossd,aObject.rms_y())
<< " rms=" << soutd(ossd,aObject.rms_y())
<< "/>" << std::endl;
writer << spaces << " </statistics>" << std::endl;
// bins :
writer << spaces << " <data2d>" << std::endl;
bn_t xbins = aObject.axis_x().bins();
bn_t ybins = aObject.axis_y().bins();
bn_t indexX,indexY;
@@ -390,28 +390,28 @@ namespace waxml {
write_bin(writer,ossd,aObject,spaces,indexX,indexY);
}
}
write_bin(writer,ossd,aObject,spaces,histo::axis_UNDERFLOW_BIN,histo::axis_UNDERFLOW_BIN);
write_bin(writer,ossd,aObject,spaces,histo::axis_OVERFLOW_BIN,histo::axis_UNDERFLOW_BIN);
write_bin(writer,ossd,aObject,spaces,histo::axis_UNDERFLOW_BIN,histo::axis_OVERFLOW_BIN);
write_bin(writer,ossd,aObject,spaces,histo::axis_OVERFLOW_BIN,histo::axis_OVERFLOW_BIN);
for(indexX=0;indexX<xbins;indexX++){
write_bin(writer,ossd,aObject,spaces,indexX,histo::axis_UNDERFLOW_BIN);
write_bin(writer,ossd,aObject,spaces,indexX,histo::axis_OVERFLOW_BIN);
}
for(indexY=0;indexY<ybins;indexY++){
write_bin(writer,ossd,aObject,spaces,histo::axis_UNDERFLOW_BIN,indexY);
write_bin(writer,ossd,aObject,spaces,histo::axis_OVERFLOW_BIN,indexY);
}
writer << spaces << " </data2d>" << std::endl;
writer << spaces << " </histogram2d>" << std::endl;
return true;
}
inline bool write(
std::ostream& a_writer
,const histo::h3d& aObject
@@ -424,17 +424,17 @@ namespace waxml {
typedef histo::axis<double,unsigned int>::bn_t bn_t;
std::ostream& writer = a_writer;
std::string spaces;
for(int i=0;i<aShift;i++) spaces += " ";
// <histogram3d> :
writer << spaces << " <histogram3d"
<< " path=" << sout(to_xml(aPath))
<< " name=" << sout(to_xml(aName))
<< " title=" << sout(to_xml(aObject.title()))
<< ">" << std::endl;
// <annotations> :
write_annotations(aObject.annotations(),writer,aShift);
@@ -442,8 +442,8 @@ namespace waxml {
write_axis(aObject.axis_x(),"x",writer,ossd,aShift);
write_axis(aObject.axis_y(),"y",writer,ossd,aShift);
write_axis(aObject.axis_z(),"z",writer,ossd,aShift);
// <statistics> :
// <statistics> :
writer << spaces << " <statistics"
<< " entries=" << num_out<unsigned int>(aObject.entries())
<< ">" << std::endl;
@@ -463,7 +463,7 @@ namespace waxml {
<< " rms=" << soutd(ossd,aObject.rms_z())
<< "/>" << std::endl;
writer << spaces << " </statistics>" << std::endl;
// bins :
writer << spaces << " <data3d>" << std::endl;
bn_t xbins = aObject.axis_x().bins();
@@ -477,7 +477,7 @@ namespace waxml {
}
}
}
// Corners :
write_bin(writer,ossd,aObject,spaces,
histo::axis_UNDERFLOW_BIN,
@@ -495,7 +495,7 @@ namespace waxml {
histo::axis_OVERFLOW_BIN,
histo::axis_OVERFLOW_BIN,
histo::axis_UNDERFLOW_BIN);
write_bin(writer,ossd,aObject,spaces,
histo::axis_UNDERFLOW_BIN,
histo::axis_UNDERFLOW_BIN,
@@ -512,8 +512,8 @@ namespace waxml {
histo::axis_OVERFLOW_BIN,
histo::axis_OVERFLOW_BIN,
histo::axis_OVERFLOW_BIN);
// Edges :
for(indexX=0;indexX<xbins;indexX++){
write_bin(writer,ossd,aObject,spaces,
@@ -533,7 +533,7 @@ namespace waxml {
histo::axis_OVERFLOW_BIN,
histo::axis_OVERFLOW_BIN);
}
for(indexY=0;indexY<ybins;indexY++){
write_bin(writer,ossd,aObject,spaces,
histo::axis_UNDERFLOW_BIN,
@@ -552,7 +552,7 @@ namespace waxml {
indexY,
histo::axis_OVERFLOW_BIN);
}
for(indexZ=0;indexZ<zbins;indexZ++){
write_bin(writer,ossd,aObject,spaces,
histo::axis_UNDERFLOW_BIN,
@@ -571,8 +571,8 @@ namespace waxml {
histo::axis_OVERFLOW_BIN,
indexZ);
}
// Faces :
for(indexX=0;indexX<xbins;indexX++) {
for(indexY=0;indexY<ybins;indexY++) {
@@ -598,13 +598,13 @@ namespace waxml {
indexX,histo::axis_OVERFLOW_BIN,indexZ);
}
}
writer << spaces << " </data3d>" << std::endl;
writer << spaces << " </histogram3d>" << std::endl;
return true;
}
inline bool write(
std::ostream& a_writer
,const histo::p1d& aObject
@@ -617,50 +617,50 @@ namespace waxml {
typedef histo::axis<double,unsigned int>::bn_t bn_t;
std::ostream& writer = a_writer;
std::string spaces;
for(int i=0;i<aShift;i++) spaces += " ";
// <profile1d> :
writer << spaces << " <profile1d"
<< " path=" << sout(to_xml(aPath))
<< " name=" << sout(to_xml(aName))
<< " title=" << sout(to_xml(aObject.title()))
<< ">" << std::endl;
// <annotations> :
write_annotations(aObject.annotations(),writer,aShift);
// <axis> :
write_axis(aObject.axis(),"x",writer,ossd,aShift);
// <statistics> :
// <statistics> :
writer << spaces << " <statistics"
<< " entries=" << num_out<unsigned int>(aObject.entries())
<< ">" << std::endl;
writer << spaces << " <statistic"
<< " direction=" << sout("x")
<< " direction=" << sout("x")
<< " mean=" << soutd(ossd,aObject.mean())
<< " rms=" << soutd(ossd,aObject.rms())
<< "/>" << std::endl;
writer << spaces << " </statistics>" << std::endl;
// bins :
writer << spaces << " <data1d>" << std::endl;
bn_t xbins = aObject.axis().bins();
for(bn_t index=0;index<xbins;index++) {
write_bin(writer,ossd,aObject,spaces,index);
}
write_bin(writer,ossd,aObject,spaces,histo::axis_UNDERFLOW_BIN);
write_bin(writer,ossd,aObject,spaces,histo::axis_OVERFLOW_BIN);
writer << spaces << " </data1d>" << std::endl;
writer << spaces << " </profile1d>" << std::endl;
return true;
}
inline bool write(
std::ostream& a_writer
,const histo::p2d& aObject
@@ -673,25 +673,25 @@ namespace waxml {
typedef histo::axis<double,unsigned int>::bn_t bn_t;
std::ostream& writer = a_writer;
std::string spaces;
for(int i=0;i<aShift;i++) spaces += " ";
// <profile2d> :
writer << spaces << " <profile2d"
<< " path=" << sout(to_xml(aPath))
<< " name=" << sout(to_xml(aName))
<< " title=" << sout(to_xml(aObject.title()))
<< ">" << std::endl;
// <annotations> :
write_annotations(aObject.annotations(),writer,aShift);
// <axis> :
write_axis(aObject.axis_x(),"x",writer,ossd,aShift);
write_axis(aObject.axis_y(),"y",writer,ossd,aShift);
// <statistics> :
// <statistics> :
writer << spaces << " <statistics"
<< " entries=" << num_out<unsigned int>(aObject.entries())
<< ">" << std::endl;
@@ -706,7 +706,7 @@ namespace waxml {
<< " rms=" << soutd(ossd,aObject.rms_y())
<< "/>" << std::endl;
writer << spaces << " </statistics>" << std::endl;
// bins :
writer << spaces << " <data2d>" << std::endl;
{bn_t xbins = aObject.axis_x().bins();
@@ -716,7 +716,7 @@ namespace waxml {
write_bin(writer,ossd,aObject,spaces,indexX,indexY);
}
}}
write_bin(writer,ossd,aObject,spaces,
histo::axis_UNDERFLOW_BIN,histo::axis_UNDERFLOW_BIN);
write_bin(writer,ossd,aObject,spaces,
@@ -725,23 +725,23 @@ namespace waxml {
histo::axis_UNDERFLOW_BIN,histo::axis_OVERFLOW_BIN);
write_bin(writer,ossd,aObject,spaces,
histo::axis_OVERFLOW_BIN,histo::axis_OVERFLOW_BIN);
for(bn_t indexX=0;indexX<aObject.axis_x().bins();indexX++){
write_bin(writer,ossd,aObject,spaces,indexX,histo::axis_UNDERFLOW_BIN);
write_bin(writer,ossd,aObject,spaces,indexX,histo::axis_OVERFLOW_BIN);
}
for(bn_t indexY=0;indexY<aObject.axis_y().bins();indexY++){
write_bin(writer,ossd,aObject,spaces,histo::axis_UNDERFLOW_BIN,indexY);
write_bin(writer,ossd,aObject,spaces,histo::axis_OVERFLOW_BIN,indexY);
}
writer << spaces << " </data2d>" << std::endl;
writer << spaces << " </profile2d>" << std::endl;
return true;
}
}}
#endif
@@ -57,7 +57,7 @@ protected:
leaf(const leaf& a_from):iobj(a_from){}
leaf& operator=(const leaf&){return *this;}
};
static const std::string& s_aida_type(int) {
static const std::string s_v("int");
return s_v;
@@ -105,7 +105,7 @@ public:
protected:
column(const column& a_from)
:leaf(a_from)
,m_name(a_from.m_name)
,m_name(a_from.m_name)
,m_def(a_from.m_def)
,m_tmp(a_from.m_tmp)
{}
@@ -188,7 +188,7 @@ public:
} else if(leaf* lf = id_cast<iobj,leaf>(*(*it))){
std::string _sv;
lf->s_value(_sv);
sout << m_spaces << " <entry"
sout << m_spaces << " <entry"
<< " value=\"" << _sv
<< "\"/>" << std::endl;
}
@@ -241,7 +241,7 @@ public:
protected:
std_vector_column(const std_vector_column& a_from)
:leaf(a_from)
,m_name(a_from.m_name)
,m_name(a_from.m_name)
,m_user_vec(a_from.m_user_vec)
,m_spaces(a_from.m_spaces)
{}
@@ -259,7 +259,7 @@ public:
static leaf* is_std_vector_column(iobj& a_obj) {
//200+20+id(basic type) ?
int _id = (int)a_obj.id_cls()-220;
int _id = (int)a_obj.id_cls()-220;
if((_id<=0)||(_id>=20)) return 0;
return id_cast<iobj,leaf>(a_obj);
}
@@ -333,7 +333,7 @@ public:
//throw
safe_clear<iobj>(m_cols);
return;
}
}
}
}
virtual ~ntuple() {
@@ -403,7 +403,7 @@ public:
tools_vforcit(iobj*,m_cols,it) {
if(leaf* vlf = is_std_vector_column(*(*it))) {
m_writer << m_spaces << " <column"
<< " name=" << sout(to_xml((*it)->name()))
<< " name=" << sout(to_xml((*it)->name()))
<< " type=" << sout("ITuple")
<< " booking=\"{" << vlf->aida_type() << " " << to_xml((*it)->name())
<< "}\""
@@ -424,7 +424,7 @@ public:
}
m_writer << m_spaces << " </columns>" << std::endl;
// rows :
m_writer << m_spaces << " <rows>" << std::endl;
}
@@ -445,7 +445,7 @@ public:
} else if(leaf* lf = id_cast<iobj,leaf>(*(*it))){
std::string _sv;
lf->s_value(_sv);
m_writer << m_spaces << " <entry"
m_writer << m_spaces << " <entry"
<< " value=" << sout(_sv)
<< "/>" << std::endl;
}
@@ -485,8 +485,8 @@ protected:
get_booking(sub->columns(),a_xml_esc,a_string);
} else if(leaf* lf = id_cast<iobj,leaf>(*(*it))){
a_string += (*it)->aida_type() + " " + sname + " = " + lf->s_def();
}
}
}
}
a_string += "}";
}