CbmRoot
Loading...
Searching...
No Matches
CbmTrack.cxx
Go to the documentation of this file.
1/* Copyright (C) 2007-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Florian Uhlig, Volker Friese [committer] */
4
5// -------------------------------------------------------------------------
6// ----- CbmTrack source file -----
7// ----- Created 29/11/07 by V. Friese -----
8// ----- Modified 26/05/09 by A. Lebedev -----
9// -------------------------------------------------------------------------
10#include "CbmTrack.h"
11
12#include "CbmMatch.h" // for CbmMatch
13
14#include <FairTrackParam.h> // for FairTrackParam
15
16#include <TObject.h> // for TObject
17
18#include <sstream> // for operator<<, basic_ostream, stringstream
19
20using std::endl;
21using std::stringstream;
22
24 : TObject()
25 , fHitIndex()
26 , fHitType()
27 , fPidHypo(0)
28 , fParamFirst()
29 , fParamLast()
30 , fStartTime(0.)
31 , fStartTimeError(0.)
32 , fFirstHitTime(0.)
33 , fFirstHitTimeError(0.)
34 , fLastHitTime(0.)
35 , fLastHitTimeError(0.)
36 , fFlag(0)
37 , fChiSq(0.)
38 , fNDF(0)
39 , fPreviousTrackId(-1)
40 , fMatch(nullptr)
41{
42}
43
44// Only shallow copy needed
46 : TObject(rhs)
47 , fHitIndex(rhs.fHitIndex)
48 , fHitType(rhs.fHitType)
49 , fPidHypo(rhs.fPidHypo)
50 , fParamFirst(rhs.fParamFirst)
51 , fParamLast(rhs.fParamLast)
52 , fStartTime(rhs.fStartTime)
53 , fStartTimeError(rhs.fStartTimeError)
54 , fFirstHitTime(rhs.fFirstHitTime)
55 , fFirstHitTimeError(rhs.fFirstHitTimeError)
56 , fLastHitTime(rhs.fLastHitTime)
57 , fLastHitTimeError(rhs.fLastHitTimeError)
58 , fFlag(rhs.fFlag)
59 , fChiSq(rhs.fChiSq)
60 , fNDF(rhs.fNDF)
61 , fPreviousTrackId(rhs.fPreviousTrackId)
62 , fMatch(nullptr)
63{
64}
65
66// Only shallow copy needed
68{
69
70 if (this != &rhs) {
71 TObject::operator =(rhs);
72 fHitIndex = rhs.fHitIndex;
73 fHitType = rhs.fHitType;
74 fPidHypo = rhs.fPidHypo;
83 fFlag = rhs.fFlag;
84 fChiSq = rhs.fChiSq;
85 fNDF = rhs.fNDF;
87 fMatch = nullptr;
88 }
89 return *this;
90}
91
93{
94 if (fMatch) delete fMatch;
95}
96
97void CbmTrack::AddHit(int32_t index, HitType type)
98{
99 fHitIndex.push_back(index);
100 fHitType.push_back(type);
101}
102
104{
105 if (fMatch) delete fMatch;
106 fMatch = match;
107}
108
109std::string CbmTrack::ToString() const
110{
111 stringstream ss;
112 ss << "CbmTrack: nof hits=" << fHitIndex.size() << ", chiSq=" << fChiSq << ", NDF=" << fNDF
113 << ", pidHypo=" << fPidHypo << ", previousTrackId=" << fPreviousTrackId << ", flag=" << fFlag << "\n";
114 // fParamFirst.Print();
115 // fParamLast.Print();
116 return ss.str();
117}
118
HitType
Definition CbmHit.h:21
ClassImp(CbmTrack)
int32_t fNDF
Definition CbmTrack.h:131
double fFirstHitTime
Definition CbmTrack.h:119
double fLastHitTimeError
Definition CbmTrack.h:124
void SetMatch(CbmMatch *match)
Definition CbmTrack.cxx:103
virtual ~CbmTrack()
Definition CbmTrack.cxx:92
int32_t fPreviousTrackId
Definition CbmTrack.h:134
virtual std::string ToString() const
Definition CbmTrack.cxx:109
CbmTrack & operator=(const CbmTrack &)
Definition CbmTrack.cxx:67
void AddHit(int32_t index, HitType type)
Definition CbmTrack.cxx:97
double fFirstHitTimeError
Definition CbmTrack.h:120
Double32_t fChiSq
Definition CbmTrack.h:130
int32_t fPidHypo
Definition CbmTrack.h:108
double fStartTimeError
Definition CbmTrack.h:116
double fLastHitTime
Definition CbmTrack.h:123
FairTrackParam fParamLast
Definition CbmTrack.h:112
std::vector< int32_t > fHitIndex
Definition CbmTrack.h:102
double fStartTime
Definition CbmTrack.h:115
CbmMatch * fMatch
Definition CbmTrack.h:137
FairTrackParam fParamFirst
Definition CbmTrack.h:111
std::vector< HitType > fHitType
Definition CbmTrack.h:105
int32_t fFlag
Definition CbmTrack.h:127