Go to the documentation of this file.
26 #include "CLHEP/Vector/defs.h"
27 #include "CLHEP/Vector/RotationInterfaces.h"
28 #include "CLHEP/Vector/BoostX.h"
29 #include "CLHEP/Vector/BoostY.h"
30 #include "CLHEP/Vector/BoostZ.h"
31 #include "CLHEP/Vector/LorentzVector.h"
58 HepBoost &
set (
double betaX,
double betaY,
double betaZ);
59 inline HepBoost (
double betaX,
double betaY,
double betaZ);
63 inline HepBoost (
const HepRep4x4Symmetric & m);
78 inline HepBoost (
const HepBoostY & boost);
79 inline HepBoost (
const HepBoostZ & boost);
83 inline double beta()
const;
84 inline double gamma()
const;
89 inline double xx()
const;
90 inline double xy()
const;
91 inline double xz()
const;
92 inline double xt()
const;
93 inline double yx()
const;
94 inline double yy()
const;
95 inline double yz()
const;
96 inline double yt()
const;
97 inline double zx()
const;
98 inline double zy()
const;
99 inline double zz()
const;
100 inline double zt()
const;
101 inline double tx()
const;
102 inline double ty()
const;
103 inline double tz()
const;
104 inline double tt()
const;
107 inline HepLorentzVector
col1()
const;
108 inline HepLorentzVector
col2()
const;
109 inline HepLorentzVector
col3()
const;
110 inline HepLorentzVector
col4()
const;
113 inline HepLorentzVector
row1()
const;
114 inline HepLorentzVector
row2()
const;
115 inline HepLorentzVector
row3()
const;
116 inline HepLorentzVector
row4()
const;
119 inline HepRep4x4
rep4x4()
const;
154 inline double distance2(
const HepBoostY & by )
const;
155 inline double distance2(
const HepBoostZ & bz )
const;
158 double distance2(
const HepRotation & r )
const;
159 double distance2(
const HepLorentzRotation & lt )
const;
166 double howNear(
const HepRotation & r )
const;
167 double howNear(
const HepLorentzRotation & lt )
const;
169 bool isNear(
const HepRotation & r,
171 bool isNear(
const HepLorentzRotation & lt,
176 double norm2()
const;
184 inline HepLorentzVector
operator()(
const HepLorentzVector & p )
const;
187 inline HepLorentzVector
operator* (
const HepLorentzVector & p )
const;
193 HepLorentzRotation
operator * (
const HepRotation & r)
const;
194 HepLorentzRotation
operator * (
const HepLorentzRotation & lt)
const;
209 std::ostream &
print( std::ostream & os )
const;
220 (
const HepLorentzVector & w )
const;
227 (
double xx,
double xy,
double xz,
double xt,
228 double yy,
double yz,
double yt,
229 double zz,
double zt,
234 inline void setBoost(
double bx,
double by,
double bz);
236 HepRep4x4Symmetric
rep_;
241 std::ostream &
operator <<
242 ( std::ostream & os,
const HepBoost&
b ) {
return b.print(os);}
246 #include "CLHEP/Vector/Boost.icc"
248 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
250 using namespace CLHEP;
bool operator>=(const HepBoost &b) const
HepLorentzVector col3() const
bool operator!=(const HepBoost &b) const
HepLorentzVector col2() const
namespace and inside the zmpv namespace it typedef s UnitVector to be HepUnit3Vector The conversion which provide those methods available for GETTING INFORMATION if an object might be either a Rotation or a since RI has methods a routine can be passed a RI &and take because anything you wish to ask about a LT you could equally well ask about a Rotation From one derives Rotation and its special cases RotationX etc We can t derive RotationX from from one derives HepLorentzRotation along with HepBoost
static double setTolerance(double tol)
HepBoost & set(double betaX, double betaY, double betaZ)
void decompose(HepRotation &rotation, HepBoost &boost) const
HepLorentzVector vectorMultiplication(const HepLorentzVector &w) const
HepLorentzVector row1() const
double distance2(const HepBoost &b) const
HepLorentzVector col1() const
friend HepBoost inverseOf(const HepBoost <)
HepLorentzVector row4() const
bool operator<=(const HepBoost &b) const
HepLorentzVector operator*(const HepLorentzVector &p) const
HepRep4x4Symmetric rep4x4Symmetric() const
bool operator==(const HepBoost &b) const
Hep3Vector getDirection() const
bool operator<(const HepBoost &b) const
int compare(const HepBoost &b) const
Issues Concerning the PhysicsVectors CLHEP Vector Merge The merge of ZOOM PhysicsVdectors and the CLHEP Vector package is completed The purpose of this document is to list the major issues that affected the merge of these and where relevant describe the resolutions More detailed documents describe more minor issues General Approach As agreed at the June CLHEP the approach is to combine the features of each ZOOM class with the corresponding CLHEP class expanding the interface to create a single lingua franca of what a Hep3Vector(for example) means. We are not forming SpaceVector as an class derived from Hep3Vector and enhancing it in that way. Another rule imposed by the agreement is to avoid using the Exceptions package(even though that will later go into CLHEP for other uses). A desirable goal is to avoid cluttering the interface and enlarging the code linked in when ordinary CLHEP Vector functionallity is used. To this end
HepLorentzVector row2() const
HepBoost inverseOf(const HepBoost <)
namespace and inside the zmpv namespace it typedef s UnitVector to be HepUnit3Vector The conversion which provide those methods available for GETTING INFORMATION if an object might be either a Rotation or a since RI has methods a routine can be passed a RI &and take because anything you wish to ask about a LT you could equally well ask about a Rotation From one derives Rotation and its special cases RotationX etc We can t derive RotationX from from one derives HepLorentzRotation along with HepBoostX
std::ostream & print(std::ostream &os) const
HepBoost & operator=(const HepBoost &m)
bool operator>(const HepBoost &b) const
HepLorentzVector col4() const
void setBoost(double bx, double by, double bz)
static double getTolerance()
HepLorentzRotation matrixMultiplication(const HepRep4x4 &m) const
HepLorentzVector operator()(const HepLorentzVector &p) const
double howNear(const HepBoost &b) const
Hep3Vector boostVector() const
HepLorentzVector row3() const
bool isNear(const HepBoost &b, double epsilon=Hep4RotationInterface::tolerance) const
Hep3Vector direction() const