#include "ThreeVector.fh"
#include "ThePEG/Config/ThePEG.h"
#include "ThePEG/Utilities/UnitIO.h"
#include <cassert>
Go to the source code of this file.
Namespaces | |
namespace | ThePEG |
Classes | |
class | ThePEG::ThreeVector< Value > |
A 3-component vector. More... | |
Functions | |
ostream & | ThePEG::operator<< (ostream &os, const ThreeVector< double > &v) |
Stream output. Format . | |
template<typename ValueA, typename ValueB> | |
BinaryOpTraits< ValueA, ValueB > ::MulT | ThePEG::operator* (const ThreeVector< ValueA > &a, const ThreeVector< ValueB > &b) |
Vector dot product. | |
template<typename Value> | |
ThreeVector< double > | ThePEG::unitVector (const ThreeVector< Value > &v) |
A parallel vector with unit length. | |
template<typename OStream, typename UT, typename Value> | |
void | ThePEG::ounitstream (OStream &os, const ThreeVector< Value > &p, UT &u) |
Output a ThreeVector with units to a stream. | |
template<typename IStream, typename UT, typename Value> | |
void | ThePEG::iunitstream (IStream &is, ThreeVector< Value > &p, UT &u) |
Input a ThreeVector with units from a stream. | |
Basic mathematical operations | |
template<typename Value> | |
ThreeVector< Value > | ThePEG::operator+ (ThreeVector< Value > a, const ThreeVector< Value > &b) |
template<typename Value> | |
ThreeVector< Value > | ThePEG::operator- (ThreeVector< Value > a, const ThreeVector< Value > &b) |
template<typename Value> | |
ThreeVector< Value > | ThePEG::operator- (const ThreeVector< Value > &v) |
template<typename Value> | |
ThreeVector< Value > | ThePEG::operator* (ThreeVector< Value > v, double a) |
template<typename Value> | |
ThreeVector< Value > | ThePEG::operator* (double a, ThreeVector< Value > v) |
template<typename ValueA, typename ValueB> | |
ThreeVector< typename BinaryOpTraits< ValueA, ValueB > ::MulT > | ThePEG::operator* (ValueB a, ThreeVector< ValueA > v) |
template<typename ValueA, typename ValueB> | |
ThreeVector< typename BinaryOpTraits< ValueA, ValueB > ::MulT > | ThePEG::operator* (ThreeVector< ValueA > v, ValueB a) |
ThreeVector can be created with any unit type as template parameter. All basic mathematical operations are supported, as well as a subset of the CLHEP Vector3 functionality.
Definition in file ThreeVector.h.