Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches

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/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
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:99
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition TGeoVolume.h:43
void Draw(Option_t *option="") override
draw top volume according to option
Int_t GetNdaughters() const
Definition TGeoVolume.h:362
void SetTransparency(Char_t transparency=0)
Definition TGeoVolume.h:376
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.
Authors
Bertrand Bellenot, Rene Brun

Definition in file geomD0.C.