27 double b = std::sqrt(
mag2());
36 double bbeta = std::sqrt(
mag2());
47 return 1/std::sqrt(1-bbeta*bbeta);
62 return (.5 * std::log((1+
z())/(1-
z())) );
78 return (.5 * std::log((1+b)/(1-b)) );
86 double mag2v2 = v2.
mag2();
88 std::cerr <<
"Hep3Vector::project() - "
89 <<
"Attempt to take projection of vector against zero reference vector"
93 return ( v2 * (
dot(v2)/mag2v2) );
97 double vmag = v2.
mag();
99 std::cerr <<
"Hep3Vector::rapidity() - "
100 <<
"Rapidity taken with respect to zero vector" << std::endl;
103 double z1 =
dot(v2)/vmag;
110 return (.5 * std::log((1+z1)/(1-z1)) );
120 double v2r = v2.
mag();
121 if ( (r1 == 0) || (v2r == 0) ) {
122 std::cerr <<
"Hep3Vector::eta() - "
123 <<
"Cannot find pseudorapidity of a zero vector relative to a vector"
127 double c =
dot(v2)/(r1*v2r);
130 std::cerr <<
"Hep3Vector::eta() - "
131 <<
"Pseudorapidity of vector relative to parallel vector -- \n"
132 <<
"will give infinite result" << std::endl;
138 std::cerr <<
"Hep3Vector::eta() - "
139 <<
"Pseudorapidity of vector relative to anti-parallel vector -- \n"
140 <<
"will give negative infinite result"<< std::endl;
149 double tangent = std::sqrt (1-c*c) / ( 1 + c );
150 return (- std::log (tangent));
double dot(const Hep3Vector &) const
double negativeInfinity() const
double coLinearRapidity() const
Hep3Vector project() const