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
+29 -29
View File
@@ -32,7 +32,7 @@ public:
bool is_log(bool a_v) {if(m_is_log==a_v) return false;m_is_log = a_v;return true;}
bool min_value(float a_v) {if(m_min_value==a_v) return false;m_min_value = a_v;return true;}
bool max_value(float a_v) {if(m_max_value==a_v) return false;m_max_value = a_v;return true;}
#endif
#endif
float min_value() const {return m_min_value;}
float max_value() const {return m_max_value;}
bool is_log() const {return m_is_log;}
@@ -43,18 +43,18 @@ public:
float mylow, myhigh;
int N_NICE = 4;
static const float nice[/*N_NICE*/4] = { 1.0,2.0,2.5,5.0 };
if (m_min_value > m_max_value) {
float low = m_min_value;
m_min_value = m_max_value;
m_max_value = low;
m_max_value = low;
} else if (m_min_value == m_max_value) {
float value = m_min_value;
float value = m_min_value;
m_min_value = value - 1;
m_max_value = value + 1;
return;
}
//if (m_steps <= 0) { //if letting the if and m_steps as a field, twice this function do not give the same result.
_axis = 1;
unsigned int m_steps = 10;
@@ -65,65 +65,65 @@ public:
// we don't have to go > *m_max_value.
//
float w = (m_max_value - m_min_value)/((float)m_steps);
float mag = ffloor(flog10(w));
float mag = ffloor(flog10(w));
int i = 0;
do {
step = nice[i] * fpow(10.0,mag);
step = nice[i] * fpow(10.0,mag);
mylow = ffloor(m_min_value/step) * step;
//myhigh = _axis==1 ? fceil(m_max_value/step) * step : mylow + step * m_steps;
//myhigh = _axis==1 ? fceil(m_max_value/step) * step : mylow + step * m_steps;
myhigh = fceil(m_max_value/step) * step; //quiet Coverity.
i++;
if (i>=N_NICE) {i = 0;mag++;}
}
while ( ( (_axis==1) && (myhigh < m_max_value)) ||
while ( ( (_axis==1) && (myhigh < m_max_value)) ||
( (_axis==0) && (myhigh <= m_max_value)) );
float range = myhigh - mylow;
// we now have decided on a range. Try to move
// we now have decided on a range. Try to move
// m_min_value/m_max_value a little
// to end up on a nice number.
//
// first check if either end is near 0.0
if ( !m_is_log && (m_min_value >= 0.0) &&
(( (_axis==1) && (range>=m_max_value) ) ||
( (_axis==0) && (range>m_max_value) )) ) {
if ( !m_is_log && (m_min_value >= 0.0) &&
(( (_axis==1) && (range>=m_max_value) ) ||
( (_axis==0) && (range>m_max_value) )) ) {
m_min_value = 0.0;
m_max_value = range;
return;
}
if ( (( (_axis==1) && (m_max_value<=0.0) ) ||
( (_axis==0) && (m_max_value<0.0) ))
&& (-range<=m_min_value)) {
if ( (( (_axis==1) && (m_max_value<=0.0) ) ||
( (_axis==0) && (m_max_value<0.0) ))
&& (-range<=m_min_value)) {
m_max_value = 0.0;
m_min_value = -range;
return;
}
// try to round *m_min_value.
// correction
if( m_is_log && (m_min_value<=0.0)) m_min_value = 1.0;
i = N_NICE-1;
mag = myhigh != 0.0 ? fceil(flog10(ffabs(myhigh))) : fceil(flog10(ffabs(mylow)));
do {
step = nice[i] * fpow(10.0,mag);
step = nice[i] * fpow(10.0,mag);
mylow = ffloor(m_min_value/step) * step;
myhigh = mylow + range;
myhigh = mylow + range;
i--;
if (i<0) {
i = N_NICE-1;
mag--;
}
}
while (( m_is_log && (mylow <= 0.0) ) ||
( (_axis==1) && (myhigh < m_max_value) ) ||
}
while (( m_is_log && (mylow <= 0.0) ) ||
( (_axis==1) && (myhigh < m_max_value) ) ||
( (_axis==0) && (myhigh <= m_max_value) ) );
m_min_value = mylow;
m_max_value = myhigh;
m_max_value = myhigh;
}
protected:
float m_min_value;