12#include <CLHEP/Geometry/Point3D.h>
13#include <CLHEP/Matrix/SymMatrix.h>
14#include <CLHEP/Vector/LorentzVector.h>
15#include <Math/Vector3D.h>
16#include <Math/Vector4D.h>
17#include <TMatrixDSym.h>
18#include <TMatrixFSym.h>
26 namespace CLHEPToROOT {
32 inline ROOT::Math::PxPyPzEVector
33 getLorentzVector(
const CLHEP::HepLorentzVector& vector)
35 return ROOT::Math::PxPyPzEVector(vector.x(), vector.y(), vector.z(), vector.t());
42 inline ROOT::Math::XYZVector getXYZVector(
const HepGeom::Point3D<double>& point)
44 return ROOT::Math::XYZVector(point.x(), point.y(), point.z());
51 inline TMatrixFSym getTMatrixFSym(
const CLHEP::HepSymMatrix& matrix)
53 int n = matrix.num_row();
58 for (
int i = 0; i < n; ++i) {
59 for (
int j = 0; j < n; ++j)
60 m[i][j] = matrix[i][j];
69 inline TMatrixDSym getTMatrixDSym(
const CLHEP::HepSymMatrix& matrix)
71 int n = matrix.num_row();
76 for (
int i = 0; i < n; ++i) {
77 for (
int j = 0; j < n; ++j)
78 m[i][j] = matrix[i][j];
Abstract base class for different kinds of events.