]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveBase/AliEveTrack.cxx
Use GRP from event-directory if:
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveTrack.cxx
CommitLineData
0e33c639 1// $Id$
2// Author: Matevz Tadel 2009
3
4/**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
7 * full copyright notice. *
8 **************************************************************************/
9
10#include "AliEveTrack.h"
11
12#include <TROOT.h>
13
14//______________________________________________________________________________
15// Full description of AliEveTrack
16//
17
18ClassImp(AliEveTrack)
19
20//______________________________________________________________________________
21AliEveTrack::AliEveTrack() :
22 TEveTrack()
23{
24 // Constructor.
25}
26
27//______________________________________________________________________________
28AliEveTrack::AliEveTrack(TParticle* t, Int_t label, TEveTrackPropagator* rs) :
29 TEveTrack(t, label, rs)
30{
31 // Constructor.
32}
33
34//______________________________________________________________________________
35AliEveTrack::AliEveTrack(TEveMCTrack* t, TEveTrackPropagator* rs) :
36 TEveTrack(t, rs)
37{
38 // Constructor.
39}
40
41//______________________________________________________________________________
42AliEveTrack::AliEveTrack(TEveRecTrack* t, TEveTrackPropagator* rs) :
43 TEveTrack(t, rs)
44{
45 // Constructor.
46}
47
48//______________________________________________________________________________
49AliEveTrack::AliEveTrack(const AliEveTrack& t) :
50 TEveTrack(t)
51{
52 // Copy constructor.
53}
54
55//______________________________________________________________________________
56AliEveTrack::~AliEveTrack()
57{
58 // Destructor.
59}
60
61/******************************************************************************/
62
63//______________________________________________________________________________
64void AliEveTrack::ImportHits()
65{
66 // Import hits with same label as the track.
67 // Uses macro "hits_from_label.C".
68
69 TEveUtil::LoadMacro("hits_from_label.C");
70 gROOT->ProcessLine(Form("hits_from_label(%d, (TEveElement*)%p);",
71 fLabel, this));
72}
73
74//______________________________________________________________________________
75void AliEveTrack::ImportClusters()
76{
77 // Import clusters with same label as the track.
78 // Uses macro "clusters_from_label.C".
79
80 TEveUtil::LoadMacro("clusters_from_label.C");
81 gROOT->ProcessLine(Form("clusters_from_label(%d, (TEveElement*)%p);",
82 fLabel, this));
83}
84
85//______________________________________________________________________________
86void AliEveTrack::ImportClustersFromIndex()
87{
88 // Import clusters marked with same reconstructed track index as the track.
89 // Uses macro "clusters_from_index.C".
90
91 static const TEveException kEH("AliEveTrack::ImportClustersFromIndex ");
92
93 if (fIndex == kMinInt)
94 throw(kEH + "index not set.");
95
96 TEveUtil::LoadMacro("clusters_from_index.C");
97 gROOT->ProcessLine(Form("clusters_from_index(%d, (TEveElement*)%p);",
98 fIndex, this));
99}
100
101/******************************************************************************/
102
103//______________________________________________________________________________
104void AliEveTrack::ImportKine()
105{
106 // Import kinematics of the track's label recursively.
107 // Uses macro "kine_tracks.C".
108
109 static const TEveException kEH("AliEveTrack::ImportKine ");
110
111 if (fLabel == kMinInt)
112 throw(kEH + "label not set.");
113
114 Int_t label;
115 if (fLabel < 0) {
116 Warning(kEH, "label negative, taking absolute value.");
117 label = -fLabel;
118 } else {
119 label = fLabel;
120 }
121
122 TEveUtil::LoadMacro("kine_tracks.C");
123 gROOT->ProcessLine(Form("kine_track(%d, kTRUE, kTRUE, kTRUE, kTRUE, (TEveElement*)%p);",
124 label, this));
125
126}
127
128//______________________________________________________________________________
129void AliEveTrack::ImportKineWithArgs(Bool_t importMother, Bool_t importDaugters,
130 Bool_t colorPdg, Bool_t recurse)
131{
132 // Import kinematics of the track's label. Arguments steer the
133 // import process:
134 // importMother import particle with track's label
135 // importDaugters import direct daughters of label
136 // colorPdg color kinematics by PDG code
137 // recurse recursive import of daughters' daughters
138 // Uses macro "kine_tracks.C".
139
140 static const TEveException kEH("AliEveTrack::ImportKineWithArgs ");
141
142 if (fLabel == kMinInt)
143 throw(kEH + "label not set.");
144
145 Int_t label;
146 if (fLabel < 0) {
147 Warning(kEH, "label negative, taking absolute value.");
148 label = -fLabel;
149 } else {
150 label = fLabel;
151 }
152
153 TEveUtil::LoadMacro("kine_tracks.C");
154 gROOT->ProcessLine(Form("kine_track(%d, %d, %d, %d, %d, (TEveElement*)%p);",
155 label, importMother, importDaugters, colorPdg, recurse, this));
156}
157
158//______________________________________________________________________________
159void AliEveTrack::PrintKineStack()
160{
161 // Print kinematics pertaining to track's label.
162 // Uses macro "print_kine_from_label.C".
163
164 static const TEveException kEH("AliEveTrack::PrintKineStack ");
165
166 if (fLabel == kMinInt)
167 throw(kEH + "label not set.");
168
169 Int_t label;
170 if (fLabel < 0) {
171 Warning(kEH, "label negative, taking absolute value.");
172 label = -fLabel;
173 } else {
174 label = fLabel;
175 }
176
177 TEveUtil::LoadMacro("print_kine_from_label.C");
178 gROOT->ProcessLine(Form("print_kine_from_label(%d);", label));
179}