paramlist.C: Demonstrates usage of simple configuration via TEveParamList class. | Event Display | projection.C: Demonstates usage of automatic 2D projections - class TEveProjectionManager. |
// @(#)root/eve:$Id: pointset.C 32410 2010-02-25 18:51:45Z matevz $ // Author: Matevz Tadel // Demonstrates usage of class TEvePointSet. #ifndef __CINT__ #include <TEveManager.h> #include <TEvePointSet.h> #include <TEveRGBAPalette.h> #include <TColor.h> #include <TRandom.h> #include <TMath.h> #endif TEvePointSet* pointset(Int_t npoints = 512, TEveElement* parent=0) { TEveManager::Create(); if (!gRandom) gRandom = new TRandom(0); TRandom& r= *gRandom; Float_t s = 100; TEvePointSet* ps = new TEvePointSet(); ps->SetOwnIds(kTRUE); for(Int_t i = 0; i<npoints; i++) { ps->SetNextPoint(r.Uniform(-s,s), r.Uniform(-s,s), r.Uniform(-s,s)); ps->SetPointId(new TNamed(Form("Point %d", i), "")); } ps->SetMarkerColor(TMath::Nint(r.Uniform(2, 9))); ps->SetMarkerSize(r.Uniform(1, 2)); ps->SetMarkerStyle(4); if (parent) { parent->AddElement(ps); } else { gEve->AddElement(ps); gEve->Redraw3D(); } return ps; } TEvePointSet* pointset_hierarchy(Int_t level=3, Int_t nps=1, Int_t fac=2, Int_t npoints=512, TEveElement* parent=0) { // This only works in compiled mode! TEvePointSet* ps = 0; --level; for (Int_t i=0; i<nps; ++i) { printf("level=%d nps=%d i=%d\n", level, nps, i); ps = pointset(npoints, parent); if (level) { pointset_hierarchy(level, nps*fac, fac, npoints/fac, ps); } } return ps; } TEvePointSetArray* pointsetarray() { TEveManager::Create(); TRandom r(0); TEvePointSetArray* l = new TEvePointSetArray("TPC hits - Charge Slices", ""); l->SetSourceCS(TEvePointSelectorConsumer::kTVT_RPhiZ); l->SetMarkerColor(3); l->SetMarkerStyle(4); // antialiased circle l->SetMarkerSize(0.8); gEve->AddElement(l); l->InitBins("Charge", 9, 10, 100); TColor::SetPalette(1, 0); // Spectrum palette const Int_t nCol = TColor::GetNumberOfColors(); for (Int_t i = 1; i <= 9; ++i) l->GetBin(i)->SetMainColor(TColor::GetColorPalette(i * nCol / 10)); l->GetBin(0) ->SetMainColor(kGray); l->GetBin(10)->SetMainColor(kWhite); Double_t rad, phi, z; for (Int_t i = 0; i < 10000; ++i) { rad = r.Uniform(60, 180); phi = r.Uniform(0, TMath::TwoPi()); z = r.Uniform(-250, 250); l->Fill(rad*TMath::Cos(phi), rad*TMath::Sin(phi), z, r.Uniform(0, 110)); } l->CloseBins(); gEve->Redraw3D(); return l; } pointset.C:1 pointset.C:2 pointset.C:3 pointset.C:4 pointset.C:5 pointset.C:6 pointset.C:7 pointset.C:8 pointset.C:9 pointset.C:10 pointset.C:11 pointset.C:12 pointset.C:13 pointset.C:14 pointset.C:15 pointset.C:16 pointset.C:17 pointset.C:18 pointset.C:19 pointset.C:20 pointset.C:21 pointset.C:22 pointset.C:23 pointset.C:24 pointset.C:25 pointset.C:26 pointset.C:27 pointset.C:28 pointset.C:29 pointset.C:30 pointset.C:31 pointset.C:32 pointset.C:33 pointset.C:34 pointset.C:35 pointset.C:36 pointset.C:37 pointset.C:38 pointset.C:39 pointset.C:40 pointset.C:41 pointset.C:42 pointset.C:43 pointset.C:44 pointset.C:45 pointset.C:46 pointset.C:47 pointset.C:48 pointset.C:49 pointset.C:50 pointset.C:51 pointset.C:52 pointset.C:53 pointset.C:54 pointset.C:55 pointset.C:56 pointset.C:57 pointset.C:58 pointset.C:59 pointset.C:60 pointset.C:61 pointset.C:62 pointset.C:63 pointset.C:64 pointset.C:65 pointset.C:66 pointset.C:67 pointset.C:68 pointset.C:69 pointset.C:70 pointset.C:71 pointset.C:72 pointset.C:73 pointset.C:74 pointset.C:75 pointset.C:76 pointset.C:77 pointset.C:78 pointset.C:79 pointset.C:80 pointset.C:81 pointset.C:82 pointset.C:83 pointset.C:84 pointset.C:85 pointset.C:86 pointset.C:87 pointset.C:88 pointset.C:89 pointset.C:90 pointset.C:91 pointset.C:92 pointset.C:93 pointset.C:94 pointset.C:95 pointset.C:96 pointset.C:97 pointset.C:98 pointset.C:99 pointset.C:100 pointset.C:101 pointset.C:102 pointset.C:103 pointset.C:104 pointset.C:105 pointset.C:106 pointset.C:107 pointset.C:108 pointset.C:109 pointset.C:110 pointset.C:111 pointset.C:112 |
|