13#ifndef TRGCDCTrackBase_FLAG_
14#define TRGCDCTrackBase_FLAG_
17#include "CLHEP/Vector/LorentzVector.h"
19#ifdef TRGCDC_SHORT_NAMES
20#define TCTBase TRGCDCTrackBase
23#define TRGCDCTrackBaseType 1
24#define TRGCDCCircleType 2
25#define TRGCDCLineType 4
26#define TRGCDCTrackType 8
27#define TRGCDCSegmentType 16
59 std::string
name(
void)
const;
68 virtual const CLHEP::Hep3Vector&
p(
void)
const;
71 virtual double pt(
void)
const;
74 virtual const CLHEP::Hep3Vector&
x(
void)
const;
77 virtual void dump(
const std::string& message = std::string(
""),
78 const std::string& prefix = std::string(
""))
const;
81 const std::vector<TRGCDCLink*>&
links(
void)
const;
84 const std::vector<TRGCDCLink*>&
links(
unsigned layerId)
const;
117 std::string
name(
const std::string& newName);
123 void append(
const std::vector<TRGCDCLink*>&
links);
129 virtual int fit(
void);
151 CLHEP::Hep3Vector
_p;
154 CLHEP::Hep3Vector
_x;
157 std::vector<TRGCDCLink*>*
_ts;
176 friend class TRGCDCHelixFitter;
205 const CLHEP::Hep3Vector&
212 const CLHEP::Hep3Vector&
243 return TRGCDCTrackBaseType;
A class to fit a TTrackBase object to a circle.
A class to represent a circle.
A class to fit a TRGCDCTrackBase object.
A class to relate TRGCDCCellHit and TRGCDCTrack objects.
A class to represent a wire in CDC.
A class to represent a track object in TRGCDC.
int m_trackID
ID of tracks.
std::vector< TRGCDCLink * > _tsAll
Links for all super layers.
const unsigned _nTs
Size of _ts.
std::vector< TRGCDCLink * > * _ts
Links for each super layer.
CLHEP::Hep3Vector _p
Momentum.
CLHEP::Hep3Vector _x
Position.
const TRGCDCFitter * _fitter
Fitter.
bool _fitted
Fitting status.
TRGCDCTrackBase & operator=(TRGCDCTrackBase &)=delete
Assignment operator, deleted.
A class to represent a reconstructed charged track in TRGCDC.
const TRGCDCRelation relation(void) const
returns MC information.
virtual void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
double charge(void) const
returns charge.
const TRGCDCRelation relation3D(void) const
returns MC information for only stereo layers.
virtual double pt(void) const
returns Pt.
int getTrackID()
get track ID.
int status(void) const
returns status.
void setTrackID(int trackID)
set track ID.
const TRGCDCRelation relation2D(void) const
returns MC information for only axial layers.
const TRGCDCFitter * fitter(void) const
returns a pointer to a default fitter.
virtual int fit(void)
fits itself by a default fitter. Error was happened if return value is not zero.
std::string name(void) const
returns name.
bool fitted(void) const
returns true if fitted.
virtual int approach2D(TRGCDCLink &) const
calculate closest approach. Error was happened if return value is not zero.
virtual unsigned objectType(void) const
returns object type.
virtual const CLHEP::Hep3Vector & p(void) const
returns momentum vector.
const std::vector< TRGCDCLink * > & links(void) const
returns a vector to track segments.
virtual const CLHEP::Hep3Vector & x(void) const
returns position vector.
virtual ~TRGCDCTrackBase()
Destructor.
void append(TRGCDCLink *)
appends a link.
void setFitted(bool fitted)
set fit status
Abstract base class for different kinds of events.