13 #define TRGCDC_SHORT_NAMES
15 #include "trg/trg/Constants.h"
16 #include "trg/trg/Point2D.h"
17 #include "trg/cdc/Wire.h"
18 #include "trg/cdc/Link.h"
19 #include "trg/cdc/Circle.h"
20 #include "trg/cdc/CircleFitter.h"
21 #include "trg/cdc/HoughPlane.h"
31 const TRGCDCCircleFitter
32 TRGCDCCircle::_fitter = TRGCDCCircleFitter(
"TRGCDCCircle Default Fitter");
34 TRGCDCCircle::TRGCDCCircle(
const std::vector<TCLink*>& links)
35 : TCTBase(
"UnknownCircle", 0),
44 TRGCDCCircle::TRGCDCCircle(
double r,
47 const TCHPlane& plane)
48 : TCTBase(
"unknown",
charge),
49 _center(r * cos(phi), r * sin(phi)),
56 TRGCDCCircle::~TRGCDCCircle()
61 TRGCDCCircle::dump(
const string& cmd,
const string& pre)
const
64 cout <<
"c=" << _center;
65 cout <<
":r=" << _radius;
66 if (_plane) cout <<
":hp=" << _plane->name();
68 if (cmd.find(
"detail") != string::npos)
69 TRGCDCTrackBase::dump(cmd, pre);
73 TRGCDCCircle::approach2D(TCLink& l)
const
80 = _charge * _radius * (xw - xc).unit() + xc;
81 l.positionOnTrack(xv);
const HepGeom::Point3D< double > ORIGIN
Origin 3D point.
double charge(int pdgCode)
Returns electric charge of a particle with given pdg code.
Abstract base class for different kinds of events.