16#include "CLHEP/Vector/ThreeVector.h"
17#include "CLHEP/Geometry/Point3D.h"
18#include "TMemberStreamer.h"
33 :
public TMemberStreamer
46 virtual void operator() (TBuffer& b,
void* pmember, Int_t size=0);
60 m_cl = gROOT->GetClass (
"Hep3Vector");
61 m_cl = gROOT->GetClass (
"CLHEP::Hep3Vector");
76 assert (b.IsReading());
79 HepGeom::Point3D<double>* obj =
80 reinterpret_cast<HepGeom::Point3D<double>*
> (pmember);
83 CLHEP::Hep3Vector tmp;
85 if (size == 0) size = 1;
88 m_cl->Streamer (&tmp, b);
103 (
"CLHEP::Hep3Vector",
"HepGeomPoint3D<double>",
new PointConverter);
Define converters for CLHEP types needed to read old data files.
Registry for Root converters.
static void initialize()
Register all CLHEP converters.
Converter for Hep3Vector to Point3D<double>.
TClass * m_cl
Hold the class for Hep3Vector.
virtual void operator()(TBuffer &b, void *pmember, Int_t size=0)
Run the streamer.
PointConverter()
Constructor.
static TConverterRegistry * Instance()
Return a pointer to the global registry instance.
void AddStreamerConverter(const std::string &from_type, const std::string &to_type, TMemberStreamer *streamer)