}
*/
-/**************************************************************************/
+ /**************************************************************************/
-void Track::MakeTrack()
+void Track::MakeTrack( Bool_t recurse)
{
TrackRnrStyle& RS((fRnrStyle != 0) ? *fRnrStyle : TrackRnrStyle::fgDefStyle);
Reset(track_points.size());
for(std::vector<MCVertex>::iterator i=track_points.begin(); i!=track_points.end(); ++i)
SetNextPoint(i->x, i->y, i->z);
+
+ if(recurse) {
+ Track* t;
+ for(List_i i=fChildren.begin(); i!=fChildren.end(); ++i) {
+ t = dynamic_cast<Track*>(*i);
+ if(t)t->MakeTrack(recurse);
+ }
+ }
}
/**************************************************************************/
void Track::ImportHits()
{
Reve::LoadMacro("hits_from_label.C");
- gROOT->ProcessLine(Form("hits_from_label(%d);", fLabel));
+ gROOT->ProcessLine(Form("hits_from_label(%d, (Reve::RenderElement*)%p);",
+ fLabel, this));
}
void Track::ImportClusters()
{
Reve::LoadMacro("clusters_from_label.C");
- gROOT->ProcessLine(Form("clusters_from_label(%d);", fLabel));
+ gROOT->ProcessLine(Form("clusters_from_label(%d, (Reve::RenderElement*)%p);",
+ fLabel, this));
}
void Track::ImportClustersFromIndex()
throw(eH + "index not set.");
Reve::LoadMacro("clusters_from_index.C");
- gROOT->ProcessLine(Form("clusters_from_index(%d);", fIndex));
+ gROOT->ProcessLine(Form("clusters_from_index(%d, (Reve::RenderElement*)%p);",
+ fIndex, this));
}
/**************************************************************************/
throw(eH + "label not set.");
Reve::LoadMacro("kine_tracks.C");
- gROOT->ProcessLine(Form("kine_track(%d, kTRUE, kFALSE);", fLabel));
+ gROOT->ProcessLine(Form("kine_track(%d, kFALSE, kTRUE, (Reve::RenderElement*)%p);",
+ fLabel, this));
+
}
void Track::ImportKineWithArgs(Bool_t importMother, Bool_t importDaugters)
throw(eH + "label not set.");
Reve::LoadMacro("kine_tracks.C");
- gROOT->ProcessLine(Form("kine_track(%d, %d, %d);",
- fLabel, importMother, importDaugters));
+ gROOT->ProcessLine(Form("kine_track(%d, %d, %d, (Reve::RenderElement*)%p);",
+ fLabel, importMother, importDaugters, this));
+
}
/**************************************************************************/
void TrackList::Init()
{
- fMarkerStyle = 5;
- fMarkerColor = 5;
- // fMarker->SetMarkerSize(0.05);
+ fMarkerStyle = 4;
+ fMarkerColor = 4;
+ fMarkerSize = 0.4;
if (fRnrStyle== 0) fRnrStyle = new TrackRnrStyle;
SetMainColorPtr(&fRnrStyle->fColor);
}
TrackList::TrackList(Int_t n_tracks, TrackRnrStyle* rs) :
- RenderElementListBase(),
+ RenderElement(),
TPolyMarker3D(n_tracks),
fTitle(),
}
TrackList::TrackList(const Text_t* name, Int_t n_tracks, TrackRnrStyle* rs) :
- RenderElementListBase(),
+ RenderElement(),
TPolyMarker3D(n_tracks),
fTitle(),
void TrackList::Paint(Option_t* option)
{
- if(fRnrElement) {
+ if(fRnrSelf) {
if(fRnrMarkers) {
TPolyMarker3D::Paint(option);
}
- if(fRnrTracks) {
+ if(fRnrTracks && fRnrChildren) {
for(List_i i=fChildren.begin(); i!=fChildren.end(); ++i) {
- if((*i)->GetRnrElement())
+ if((*i)->GetRnrSelf())
(*i)->GetObject()->Paint(option);
}
}
static const Exc_t eH("TrackList::AddElement ");
if (dynamic_cast<Track*>(el) == 0)
throw(eH + "new element not a Track.");
- RenderElementListBase::AddElement(el);
+ RenderElement::AddElement(el);
}
/**************************************************************************/
for(List_i i=fChildren.begin(); i!=fChildren.end(); ++i) {
ptsq = ((Track*)(*i))->fP.Perp2();
- (*i)->SetRnrElement(ptsq >= minptsq && ptsq <= maxptsq);
+ (*i)->SetRnrSelf(ptsq >= minptsq && ptsq <= maxptsq);
}
}