36 : FairTask(name, iVerbose)
40 , fEventManager(nullptr)
41 , fEveTrList(new TObjArray(16))
43 , fHitsBranchName(hitsBranchName)
44 , fIsCbmStsTrack(kFALSE)
89 LOG(info) <<
"BmnTrackDrawH::Exec() ";
97 LOG(info) <<
"BmnTrackDrawH::Exec(): the number of tracks is " <<
fTrackList->GetEntriesFast();
99 TObject* current_track;
102 LOG(debug) <<
"BmnTrackDrawH::Exec() " <<
i;
106 const FairTrackParam* pParamFirst;
108 pParamFirst = ((
CbmStsTrack*)current_track)->GetParamFirst();
110 pParamFirst = ((
BmnTrack*)current_track)->GetParamFirst();
114 bool isPrimary = ((TMath::Abs(pParamFirst->GetX()) < 10) && (TMath::Abs(pParamFirst->GetY()) < 10)
115 && (TMath::Abs(pParamFirst->GetZ()) < 10));
126 pParamFirst->Momentum(mom);
127 Double_t px = mom.X(), py = mom.Y(), pz = mom.Z();
131 TParticle* P =
new TParticle(particlePDG,
i, -1, -1, -1, -1, px, py, pz, 0, pParamFirst->GetX(),
132 pParamFirst->GetY(), pParamFirst->GetZ(), 0);
137 TEveTrack* track =
new TEveTrack(P, particlePDG,
fTrPr);
139 track->SetLineColor(
fTrList->GetMainColor());
140 track->SetLineWidth(2);
146 Np = ((
BmnTrack*)current_track)->GetNHits();
151 LOG(debug) <<
"BmnTrackDrawH::Exec(): number of track hits = " << Np;
152 for (Int_t n = 0; n < Np; n++) {
153 FairHit* pHit =
nullptr;
157 pHit = (FairHit*)
fHitList->UncheckedAt(((
BmnTrack*)current_track)->GetHitIndex(n));
160 track->SetPoint(n, pHit->GetX(), pHit->GetY(), pHit->GetZ());
162 TEvePathMark* path =
new TEvePathMark();
163 TEveVector pos = TEveVector(pHit->GetX(), pHit->GetY(), pHit->GetZ());
165 LOG(debug) <<
"BmnTrackDrawH::Exec(): point " << n <<
": X=" << pHit->GetX() <<
" Y=" << pHit->GetY()
166 <<
" Z=" << pHit->GetZ();
168 path->fTime = pHit->GetTimeStamp();
170 TEveVector Mom = TEveVector(px, py, pz);
175 track->AddPathMark(*path);
178 LOG(debug) <<
"BmnTrackDrawH::Exec: path marker added " << path;
185 LOG(debug) <<
"BmnTrackDrawH::Exec: track was added " << track->GetName();
213 TString track_group =
"";
214 if ((group_name !=
nullptr) && (strcmp(group_name,
"")))
215 track_group += group_name;
217 if (track_group !=
"")
219 track_group += P->GetName();
221 if (track_group ==
"") {
222 LOG(error) <<
"BmnTrackDrawH::GetTrGroup() function parameteres are empty (null)";
228 TEveTrackList* TrListIn = (TEveTrackList*)
fEveTrList->At(
i);
229 if (strcmp(TrListIn->GetName(), track_group.Data()) == 0) {
237 fTrPr =
new TEveTrackPropagator();
241 if (group_name ==
nullptr)
245 track_group.Hash() % 9
247 fTrList->SetMainColor(new_color);