#ifndef __CINT__ #include "TView.h" #include "TPolyMarker3D.h" #endif Int_t DrawROOTTOF() { // // author: F. Pierella // report bug to pierella@bo.infn.it // // use case // generate an event with TOF included // start aliroot // .x DrawROOTTOF.C cerr<<"ROOT TOF Geometry...\n"; cerr<<"(TRD and TPC are included)\n"; TFile *file=TFile::Open("galice.root"); if (!file->IsOpen()) {cerr<<"Can't open galice.root !\n"; return 1;} TCanvas *c1=new TCanvas("ddisplay", "TOF display",0,0,700,730); TView *v=new TView(1); v->SetRange(-430,-560,-430,430,560,1710); c1->Clear(); c1->SetFillColor(10); c1->SetTheta(90.); c1->SetPhi(0.); //draw TOF with TRD and TPC included TGeometry *geom=(TGeometry*)file->Get("AliceGeom"); TList *list = geom->GetListOfNodes(); TNode * main = (TNode*)((geom->GetListOfNodes())->First()); TIter next(main->GetListOfNodes()); TNode *module=0; while((module = (TNode*)next())) { char ch[100]; sprintf(ch,"%s\n",module->GetTitle()); //printf("%s\n",module->GetTitle()); if ((ch[0]=='F'&&ch[1]=='T' && ch[2]=='O') || (ch[0]=='T'&&ch[1]=='R' && ch[2]=='D') || (ch[0]=='T'&&ch[1]=='P' && ch[2]=='C')){ //if TOF or TPC or TRD draw module->SetVisibility(3); }else{ module->SetVisibility(-1); } } c1->cd(); geom->Draw("same"); //v->Draw(); c1->Modified(); c1->Update(); // // Draw the geometry using the x3d viewver. c1->x3d(); // // once in x3d viewer, type m to see the menu. // For example typing r will show a solid model of this geometry. file->Close(); return 0; }