Import Geant4 10.3.0 source tree
This commit is contained in:
@@ -4,10 +4,10 @@
|
||||
#ifndef tools_vec2
|
||||
#define tools_vec2
|
||||
|
||||
#include <cmath> //sqrt
|
||||
#include <cstddef> //size_t
|
||||
|
||||
#ifdef TOOLS_MEM
|
||||
#include "mem"
|
||||
#include "../mem"
|
||||
#endif
|
||||
|
||||
namespace tools {
|
||||
@@ -21,6 +21,7 @@ class vec2 {
|
||||
}
|
||||
#endif
|
||||
public:
|
||||
typedef T elem_t;
|
||||
unsigned int dimension() const {return 2;}
|
||||
public:
|
||||
vec2(){
|
||||
@@ -63,14 +64,16 @@ public:
|
||||
return *this;
|
||||
}
|
||||
public:
|
||||
T v0() const { return m_data[0];}
|
||||
T v1() const { return m_data[1];}
|
||||
const T& v0() const { return m_data[0];}
|
||||
const T& v1() const { return m_data[1];}
|
||||
|
||||
void v0(const T& a_value) { m_data[0] = a_value;}
|
||||
void v1(const T& a_value) { m_data[1] = a_value;}
|
||||
|
||||
T x() const {return m_data[0];}
|
||||
T y() const {return m_data[1];}
|
||||
const T& x() const {return m_data[0];}
|
||||
const T& y() const {return m_data[1];}
|
||||
T& x() {return m_data[0];}
|
||||
T& y() {return m_data[1];}
|
||||
|
||||
void set_value(const T& a0,const T& a1) {
|
||||
m_data[0] = a0;
|
||||
@@ -91,12 +94,12 @@ public:
|
||||
// return true;
|
||||
//}
|
||||
|
||||
T length() const {
|
||||
return (T)::sqrt(m_data[0]*m_data[0]+m_data[1]*m_data[1]);
|
||||
T length(T(*a_sqrt)(T)) const {
|
||||
return a_sqrt(m_data[0]*m_data[0]+m_data[1]*m_data[1]);
|
||||
}
|
||||
|
||||
T normalize() {
|
||||
T norme = length();
|
||||
T normalize(T(*a_sqrt)(T)) {
|
||||
T norme = length(a_sqrt);
|
||||
if(norme==T()) return T();
|
||||
divide(norme);
|
||||
return norme;
|
||||
@@ -145,11 +148,11 @@ public:
|
||||
}
|
||||
|
||||
public: //operators
|
||||
T& operator[](unsigned int a_index) {
|
||||
T& operator[](size_t a_index) {
|
||||
//WARNING : no check on a_index.
|
||||
return m_data[a_index];
|
||||
}
|
||||
const T& operator[](unsigned int a_index) const {
|
||||
const T& operator[](size_t a_index) const {
|
||||
//WARNING : no check on a_index.
|
||||
return m_data[a_index];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user