1 #ifndef TrackPropagation_ConvertFromToCLHEP_h
2 #define TrackPropagation_ConvertFromToCLHEP_h
5 #include "CLHEP/Geometry/Point3D.h"
6 #include "CLHEP/Geometry/Normal3D.h"
7 #include "CLHEP/Vector/ThreeVector.h"
8 #include "CLHEP/Vector/Rotation.h"
9 #include "CLHEP/Units/GlobalSystemOfUnits.h"
19 #include "G4ErrorFreeTrajState.hh"
24 namespace TrackPropagation {
32 return HepGeom::Point3D<double> (r.
x()*cm, r.
y()*cm, r.
z()*cm);
50 return HepGeom::Normal3D<double> (p.
x(), p.
y(), p.
z());
66 return CLHEP::Hep3Vector(p.
x(), p.
y(), p.
z());
83 return CLHEP::Hep3Vector(r.
x()*cm, r.
y()*cm, r.
z()*cm);
105 return CLHEP::HepRotation(CLHEP::Hep3Vector(tkr.
xx(),tkr.
yx(), tkr.
zx()),
106 CLHEP::Hep3Vector(tkr.
xy(),tkr.
yy(), tkr.
zy()),
107 CLHEP::Hep3Vector(tkr.
xz(),tkr.
yz(), tkr.
zz()));
114 r.yx(), r.yy(), r.yz(),
115 r.zx(), r.zy(), r.zz());
129 for (
unsigned int i = 0;
i < 5;
i++)
130 for (
unsigned int j = 0;
j < 5;
j++) {
131 m55(
i,
j) =
e(
i+1,
j+1);
132 if(
i==0) m55(
i,
j) = q*m55(
i,
j);
133 if(
j==0) m55(
i,
j) = q*m55(
i,
j);
142 G4ErrorTrajErr g4err(5,1);
143 for (
unsigned int i = 0;
i < 5;
i++)
144 for (
unsigned int j = 0;
j < 5;
j++) {
145 g4err(
i+1,
j+1) =
e(
i,
j);
146 if(
i==0) g4err(
i+1,
j+1) = q*g4err(
i+1,
j+1);
147 if(
j==0) g4err(
i+1,
j+1) = q*g4err(
i+1,
j+1);
HepGeom::Normal3D< double > globalVectorToHepNormal3D(const GlobalVector &p)
TkRotation< float > hepRotationToTkRotationF(const CLHEP::HepRotation &r)
Global3DPoint GlobalPoint
GlobalVector hepNormal3DToGlobalVector(const HepGeom::Normal3D< double > &p)
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
CLHEP::Hep3Vector globalVectorToHep3Vector(const GlobalVector &p)
CLHEP::HepRotation tkRotationFToHepRotation(const TkRotation< float > &tkr)
AlgebraicSymMatrix55 g4ErrorTrajErrToAlgebraicSymMatrix55(const G4ErrorTrajErr &e, const int q)
GlobalPoint hepPoint3DToGlobalPoint(const HepGeom::Point3D< double > &r)
HepGeom::Point3D< double > globalPointToHepPoint3D(const GlobalPoint &r)
GlobalVector hep3VectorToGlobalVector(const CLHEP::Hep3Vector &p)
G4ErrorTrajErr algebraicSymMatrix55ToG4ErrorTrajErr(const AlgebraicSymMatrix55 &e, const int q)
CLHEP::Hep3Vector globalPointToHep3Vector(const GlobalPoint &r)
GlobalPoint hep3VectorToGlobalPoint(const CLHEP::Hep3Vector &v)
Global3DVector GlobalVector