Wrapper around the header file of the HepLorentzVector
class in CLHEP. The class is aliased as
CLHEP::LorentzVector and made available in the
Pythia7 namespace.
inline double dirMinus(const LorentzVector & p) {
return Direction<0>::neg()? p.plus(): p.minus();
inline double dirZ(const LorentzVector & p) {
return Direction<0>::dir()*p.z();
inline double dirTheta(const LorentzVector & p) {
return Direction<0>::pos()? p.theta(): Constants::pi - p.theta();
inline double dirCosTheta(const LorentzVector & p) {
return Direction<0>::pos()? p.cosTheta(): -p.cosTheta();
inline Vector3 dirBoostVector(const LorentzVector & p) {
Vector3 b(p.boostVector());
if ( Direction<0>::neg() ) b.setZ(-b.z());
return b;