This is the declaration of the Direction class.
A Direction object can be used to specify that some following operations should be assumed to be performed with the z-direction of the momenta reversed. As an example, if Direction<0>::pos() is true, the method Lorentz5Momentum::dirPlus() will return the positive, light-cone component, and Lorentz5Momentum::dirMinus() the negativewhile, while if Direction<0>::pos() is false the behavior of the methods are reversed.
Direction is templated with an integer template argument (default = 0), and only one object per class can be instatiated at the time. Attempts to instatiate a second object of a Direction class will result in an exception being thrown. To have several different directions classes with different template arguments must be instantiated. Direction<0> is reserved for Lorentz5Momentum. Attempts to use the static methods of a Direction class when no object has been instatiated will result in an exception being thrown.
CLASS
Direction