Logo ROOT  
Reference Guide
geomD0.C File Reference

Detailed Description

Script drawing a detector geometry (here D0).

by default the geometry is drawn using the GL viewer Using the TBrowser, you can select other components if the file containing the geometry is not found in the local directory, it is automatically read from the ROOT web site.

  • run with .x geomD0.C top level detectors are transparent
  • or .x geomD0.C(1) top level detectors are visible
void RecursiveInvisible(TGeoVolume *vol);
void RecursiveTransparency(TGeoVolume *vol, Int_t transp);
void geomD0(Int_t allVisible=0) {
TGeoManager::Import("http://root.cern.ch/files/d0.root");
//gGeoManager->SetVisLevel(4);
if (!allVisible) {
RecursiveInvisible(gGeoManager->GetVolume("D0-"));
RecursiveInvisible(gGeoManager->GetVolume("D0+"));
RecursiveInvisible(gGeoManager->GetVolume("D0WZ"));
RecursiveInvisible(gGeoManager->GetVolume("D0WL"));
RecursiveTransparency(gGeoManager->GetVolume("MUON"), 90);
}
gGeoManager->GetVolume("D0")->Draw("ogl");
}
void RecursiveInvisible(TGeoVolume *vol)
{
vol->InvisibleAll();
Int_t nd = vol->GetNdaughters();
for (Int_t i=0; i<nd; i++) {
RecursiveInvisible(vol->GetNode(i)->GetVolume());
}
}
void RecursiveTransparency(TGeoVolume *vol, Int_t transp)
{
vol->SetTransparency(transp);
Int_t nd = vol->GetNdaughters();
for (Int_t i=0; i<nd; i++) {
RecursiveTransparency(vol->GetNode(i)->GetVolume(), transp);
}
}
int Int_t
Definition: RtypesCore.h:45
R__EXTERN TGeoManager * gGeoManager
Definition: TGeoManager.h:602
static TGeoManager * Import(const char *filename, const char *name="", Option_t *option="")
static function Import a geometry from a gdml or ROOT file
TGeoVolume * GetVolume(const char *name) const
Search for a named volume. All trailing blanks stripped.
void DefaultColors()
Set default volume colors according to A of material.
void SetMaxVisNodes(Int_t maxnodes=10000)
set the maximum number of visible nodes.
TGeoVolume * GetVolume() const
Definition: TGeoNode.h:97
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition: TGeoVolume.h:49
Int_t GetNdaughters() const
Definition: TGeoVolume.h:351
void SetTransparency(Char_t transparency=0)
Definition: TGeoVolume.h:218
TGeoNode * GetNode(const char *name) const
get the pointer to a daughter node
void InvisibleAll(Bool_t flag=kTRUE)
Make volume and each of it daughters (in)visible.
Definition: TGeoVolume.cxx:764
virtual void Draw(Option_t *option="")
draw top volume according to option
Authors
Bertrand Bellenot, Rene Brun

Definition in file geomD0.C.