iterplugin.cxx

Go to the documentation of this file.
00001 #include "TROOT.h"
00002 #include "TGeoNode.h"
00003 #include "TGeoVolume.h"
00004 #include "TGeoManager.h"
00005 #include "TVirtualGeoPainter.h"
00006 
00007 //_______________________________________________________________________________
00008 class iterplugin : public TGeoIteratorPlugin
00009 {
00010 public:
00011    iterplugin() : TGeoIteratorPlugin(), fColor(kGreen), fReplica(1) {}
00012    virtual ~iterplugin() {}
00013    // Process current node
00014    virtual void ProcessNode();
00015    void         Select(Int_t replica, Int_t color) {fReplica=replica; fColor=color;}
00016 
00017    Int_t fColor;             // Current color
00018    Int_t fReplica;           // replica number (1 to 4)
00019 
00020    ClassDef(iterplugin, 0)   // A simple user iterator plugin that changes volume color    
00021 };
00022 
00023 ClassImp(iterplugin)
00024 
00025 void iterplugin::ProcessNode()
00026 {
00027    if (!fIterator) return;
00028    TString path;
00029    fIterator->GetPath(path);
00030    if (!path.Contains(Form("REPLICA_%d",fReplica))) return;
00031    Int_t level = fIterator->GetLevel();
00032    TGeoVolume *vol = fIterator->GetNode(level)->GetVolume();
00033    vol->SetLineColor(fColor);
00034 }
00035 

Generated on Tue Jul 5 15:44:12 2011 for ROOT_528-00b_version by  doxygen 1.5.1