Logo ROOT  
Reference Guide
TGeoVolume.h
Go to the documentation of this file.
1 // @(#)root/geom:$Id$
2 // Author: Andrei Gheata 30/05/02
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 // Author : date : Wed 24 Oct 2001 01:39:36 PM CEST
12 
13 #ifndef ROOT_TGeoVolume
14 #define ROOT_TGeoVolume
15 
16 
17 #include "TNamed.h"
18 #include "TGeoAtt.h"
19 #include "TAttLine.h"
20 #include "TAttFill.h"
21 #include "TAtt3D.h"
22 #include "TObjArray.h"
23 #include "TGeoMedium.h"
24 #include "TGeoShape.h"
25 #include <mutex>
26 #include <vector>
27 
28 // forward declarations
29 class TH2F;
30 class TGeoNode;
31 class TGeoMatrix;
32 class TGeoPatternFinder;
33 class TGeoVoxelFinder;
34 class TGeoManager;
35 class TGeoExtension;
36 
37 ////////////////////////////////////////////////////////////////////////////
38 // //
39 // TGeoVolume - base class representing a single volume having a shape //
40 // and a medium. //
41 // //
42 ////////////////////////////////////////////////////////////////////////////
43 
44 class TGeoVolume : public TNamed,
45  public TGeoAtt,
46  public TAttLine,
47  public TAttFill,
48  public TAtt3D
49 {
50 protected :
51  TObjArray *fNodes; // array of nodes inside this volume
52  TGeoShape *fShape; // shape
53  TGeoMedium *fMedium; // tracking medium
54  static TGeoMedium *fgDummyMedium; //! dummy medium
55  TGeoPatternFinder *fFinder; // finder object for divisions
56  TGeoVoxelFinder *fVoxels; // finder object for bounding boxes
57  TGeoManager *fGeoManager; //! pointer to TGeoManager owning this volume
58 
59  TObject *fField; //! just a hook for now
60  TString fOption; //! option - if any
61  Int_t fNumber; // volume serial number in the list of volumes
62  Int_t fNtotal; // total number of physical nodes
63  Int_t fRefCount; // reference counter
64  TGeoExtension *fUserExtension; //! Transient user-defined extension to volumes
65  TGeoExtension *fFWExtension; //! Transient framework-defined extension to volumes
66 
67 private:
68  TGeoVolume(const TGeoVolume&) = delete;
69  TGeoVolume& operator=(const TGeoVolume&) = delete;
70 
71 public:
72  virtual void ClearThreadData() const;
73  virtual void CreateThreadData(Int_t nthreads);
74 
75 public:
79  kVolumeDiv = BIT(16),
83  kVoxelsXYZ = BIT(20), // not used
84  kVoxelsCyl = BIT(21), // not used
87  kVolumeOC = BIT(21) // overlapping candidates
88  };
89  // constructors
90  TGeoVolume();
91  TGeoVolume(const char *name, const TGeoShape *shape, const TGeoMedium *med=0);
92 
93  // destructor
94  virtual ~TGeoVolume();
95  // methods
96  virtual void cd(Int_t inode) const;
97  void Browse(TBrowser *b);
98  Double_t Capacity() const;
99  void CheckShapes();
100  void ClearNodes() {fNodes = 0;}
101  void ClearShape();
102  void CleanAll();
103  virtual TGeoVolume *CloneVolume() const;
104  void CloneNodesAndConnect(TGeoVolume *newmother) const;
105  void CheckGeometry(Int_t nrays=1, Double_t startx=0, Double_t starty=0, Double_t startz=0) const;
106  void CheckOverlaps(Double_t ovlp=0.1, Option_t *option="") const; // *MENU*
107  void CheckShape(Int_t testNo, Int_t nsamples=10000, Option_t *option=""); // *MENU*
108  Int_t CountNodes(Int_t nlevels=1000, Int_t option=0);
109  Bool_t Contains(const Double_t *point) const {return fShape->Contains(point);}
110  static void CreateDummyMedium();
111  static TGeoMedium *DummyMedium();
112  virtual Bool_t IsAssembly() const;
113  virtual Bool_t IsFolder() const;
114  Bool_t IsRunTime() const {return fShape->IsRunTimeShape();}
115  virtual Bool_t IsVolumeMulti() const {return kFALSE;}
116  virtual void AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option=""); // most general case
117  void AddNodeOffset(TGeoVolume *vol, Int_t copy_no, Double_t offset=0, Option_t *option="");
118  virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="");
119 
120  virtual TGeoVolume *Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option="");
121  virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
122  virtual void Draw(Option_t *option=""); // *MENU*
123  virtual void DrawOnly(Option_t *option=""); // *MENU*
124  TH2F *LegoPlot(Int_t ntheta=20, Double_t themin=0., Double_t themax=180.,
125  Int_t nphi=60, Double_t phimin=0., Double_t phimax=360.,
126  Double_t rmin=0., Double_t rmax=9999999, Option_t *option=""); // *MENU*
127  virtual void Paint(Option_t *option="");
128  virtual void Print(Option_t *option="") const; // *MENU*
129  void PrintNodes() const;
130  void PrintVoxels() const; // *MENU*
131  void ReplayCreation(const TGeoVolume *other);
132  void SetUserExtension(TGeoExtension *ext);
133  void SetFWExtension(TGeoExtension *ext);
134  Int_t GetRefCount() const {return fRefCount;}
139  void Grab() {fRefCount++;}
140  void Release() {fRefCount--; if (fRefCount==0) delete this;}
141  virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
142 
143  Bool_t IsActive() const {return TGeoAtt::IsActive();}
151  Bool_t IsTopVolume() const;
152  Bool_t IsValid() const {return fShape->IsValid();}
153  virtual Bool_t IsVisible() const {return TGeoAtt::IsVisible();}
157  Bool_t IsVisOnly() const {return TGeoAtt::IsVisOnly();}
158  Bool_t IsAllInvisible() const;
159  Bool_t IsRaytracing() const;
160  static TGeoVolume *Import(const char *filename, const char *name="", Option_t *option="");
161  Int_t Export(const char *filename, const char *name="", Option_t *option="");
162  TGeoNode *FindNode(const char *name) const;
163  void FindOverlaps() const;
165  virtual Int_t GetCurrentNodeIndex() const {return -1;}
166  virtual Int_t GetNextNodeIndex() const {return -1;}
167  TObjArray *GetNodes() {return fNodes;}
168  Int_t GetNdaughters() const;
169  Int_t GetNtotal() const {return fNtotal;}
170  virtual Int_t GetByteCount() const;
174  TObject *GetField() const {return fField;}
176  TGeoVoxelFinder *GetVoxels() const;
177  const char *GetIconName() const {return fShape->GetName();}
178  Int_t GetIndex(const TGeoNode *node) const;
179  TGeoNode *GetNode(const char *name) const;
180  TGeoNode *GetNode(Int_t i) const {return (TGeoNode*)fNodes->UncheckedAt(i);}
181  Int_t GetNodeIndex(const TGeoNode *node, Int_t *check_list, Int_t ncheck) const;
182  Int_t GetNumber() const {return fNumber;}
183  virtual char *GetObjectInfo(Int_t px, Int_t py) const;
184  Bool_t GetOptimalVoxels() const;
185  Option_t *GetOption() const { return fOption.Data(); }
186  char *GetPointerName() const;
188  TGeoShape *GetShape() const {return fShape;}
189  void GrabFocus(); // *MENU*
190  void Gsord(Int_t /*iaxis*/) {;}
191  Bool_t IsStyleDefault() const;
192  void InspectMaterial() const; // *MENU*
193  void InspectShape() const {fShape->InspectShape();} // *MENU*
194  virtual TGeoVolume *MakeCopyVolume(TGeoShape *newshape);
195  void MakeCopyNodes(const TGeoVolume *other);
196  TGeoVolume *MakeReflectedVolume(const char *newname="") const;
197  Bool_t OptimizeVoxels(); // *MENU*
198  void RandomPoints(Int_t npoints=1000000, Option_t *option=""); // *MENU*
199  void RandomRays(Int_t nrays=10000, Double_t startx=0, Double_t starty=0, Double_t startz=0, const char *target_vol=0, Bool_t check_norm=kFALSE); // *MENU*
200  void Raytrace(Bool_t flag=kTRUE); // *TOGGLE* *GETTER=IsRaytracing
201  void RegisterYourself(Option_t *option="");
202  void RemoveNode(TGeoNode *node);
203  TGeoNode *ReplaceNode(TGeoNode *nodeorig, TGeoShape *newshape=0, TGeoMatrix *newpos=0, TGeoMedium *newmed=0);
204  void SaveAs(const char *filename,Option_t *option="") const; // *MENU*
205  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
206  void SelectVolume(Bool_t clear = kFALSE);
209  void SetAsTopVolume(); // *TOGGLE* *GETTER=IsTopVolume
216  void SetShape(const TGeoShape *shape);
217  void SetTransparency(Char_t transparency=0) {if (fMedium) fMedium->GetMaterial()->SetTransparency(transparency);} // *MENU*
218  void SetField(TObject *field) {fField = field;}
219  void SetOption(const char *option);
221  virtual void SetVisibility(Bool_t vis=kTRUE); // *TOGGLE* *GETTER=IsVisible
222  virtual void SetVisContainers(Bool_t flag=kTRUE); // *TOGGLE* *GETTER=IsVisContainers
223  virtual void SetVisLeaves(Bool_t flag=kTRUE); // *TOGGLE* *GETTER=IsVisLeaves
224  virtual void SetVisOnly(Bool_t flag=kTRUE); // *TOGGLE* *GETTER=IsVisOnly
225  virtual void SetLineColor(Color_t lcolor);
226  virtual void SetLineStyle(Style_t lstyle);
227  virtual void SetLineWidth(Width_t lwidth);
229  virtual void SetMedium(TGeoMedium *medium) {fMedium = medium;}
230  void SetVoxelFinder(TGeoVoxelFinder *finder) {fVoxels = finder;}
231  void SetFinder(TGeoPatternFinder *finder) {fFinder = finder;}
232  void SetNumber(Int_t number) {fNumber = number;}
233  void SetNtotal(Int_t ntotal) {fNtotal = ntotal;}
234  void SortNodes();
235  void UnmarkSaved();
236  Bool_t Valid() const;
237  void VisibleDaughters(Bool_t vis=kTRUE); // *TOGGLE* *GETTER=IsVisibleDaughters
238  void InvisibleAll(Bool_t flag=kTRUE); // *TOGGLE* *GETTER=IsAllInvisible
239  void Voxelize(Option_t *option);
240  Double_t Weight(Double_t precision=0.01, Option_t *option="va"); // *MENU*
241  Double_t WeightA() const;
242 
243  ClassDef(TGeoVolume, 6) // geometry volume descriptor
244 };
245 
246 ////////////////////////////////////////////////////////////////////////////
247 // //
248 // TGeoVolumeMulti - class storing a list of volumes that have to //
249 // be handled together at build time //
250 // //
251 ////////////////////////////////////////////////////////////////////////////
252 
254 {
255 private:
256  TObjArray *fVolumes; // list of volumes
257  TGeoVolumeMulti *fDivision; // division of this volume
258  Int_t fNumed; // medium number for divisions
259  Int_t fNdiv; // number of divisions
260  Int_t fAxis; // axis of division
261  Double_t fStart; // division start offset
262  Double_t fStep; // division step
263  Bool_t fAttSet; // flag attributes set
264 
265  TGeoVolumeMulti(const TGeoVolumeMulti&) = delete;
266  TGeoVolumeMulti& operator=(const TGeoVolumeMulti&) = delete;
267 
268 public:
269  TGeoVolumeMulti();
270  TGeoVolumeMulti(const char* name, TGeoMedium *med=0);
271  virtual ~TGeoVolumeMulti();
272 
273  void AddVolume(TGeoVolume *vol);
274  TGeoVolume *GetVolume(Int_t id) const {return (TGeoVolume*)fVolumes->At(id);}
275  virtual void AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat, Option_t *option=""); // most general case
276  virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat, Option_t *option="");
277  virtual TGeoVolume *Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option="");
278  TGeoShape *GetLastShape() const;
280  Int_t GetAxis() const {return fNdiv;}
281  Int_t GetNdiv() const {return fNdiv;}
282  Double_t GetStart() const {return fStart;}
283  Double_t GetStep() const {return fStep;}
284  virtual Bool_t IsVolumeMulti() const {return kTRUE;}
285  virtual TGeoVolume *MakeCopyVolume(TGeoShape *newshape);
286  virtual void SetLineColor(Color_t lcolor);
287  virtual void SetLineStyle(Style_t lstyle);
288  virtual void SetLineWidth(Width_t lwidth);
289  virtual void SetMedium(TGeoMedium *medium);
290  virtual void SetVisibility(Bool_t vis=kTRUE);
291 
292  ClassDef(TGeoVolumeMulti, 3) // class to handle multiple volumes in one step
293 };
294 
295 ////////////////////////////////////////////////////////////////////////////
296 // //
297 // TGeoVolumeAssembly - special assembly of volumes. The assembly has no //
298 // medium and its shape is the union of all component shapes //
299 // //
300 ////////////////////////////////////////////////////////////////////////////
301 
303 {
304 public:
306  {
307  Int_t fCurrent; //! index of current selected node
308  Int_t fNext; //! index of next node to be entered
309 
310  ThreadData_t();
311  ~ThreadData_t();
312  };
313 
314  ThreadData_t& GetThreadData() const;
315  virtual void ClearThreadData() const;
316  virtual void CreateThreadData(Int_t nthreads);
317 
318 protected:
319  mutable std::vector<ThreadData_t*> fThreadData; //! Thread specific data vector
320  mutable Int_t fThreadSize; //! Thread vector size
321  mutable std::mutex fMutex; //! Mutex for concurrent operations
322 
323 private:
324  TGeoVolumeAssembly(const TGeoVolumeAssembly &) = delete;
326 
327 public:
329  TGeoVolumeAssembly(const char *name);
330  virtual ~TGeoVolumeAssembly();
331 
332  virtual void AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="");
333  virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat, Option_t *option);
334  virtual TGeoVolume *CloneVolume() const;
335  virtual TGeoVolume *Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option="");
336  TGeoVolume *Divide(TGeoVolume *cell, TGeoPatternFinder *pattern, Option_t *option="spacedout");
337  virtual void DrawOnly(Option_t *) {;}
338  virtual Int_t GetCurrentNodeIndex() const;
339  virtual Int_t GetNextNodeIndex() const;
340  virtual Bool_t IsAssembly() const {return kTRUE;}
341  virtual Bool_t IsVisible() const {return kFALSE;}
343  void SetCurrentNodeIndex(Int_t index);
344  void SetNextNodeIndex(Int_t index);
345 
346  ClassDef(TGeoVolumeAssembly, 2) // an assembly of volumes
347 };
348 
349 inline Int_t TGeoVolume::GetNdaughters() const {if (!fNodes) return 0; return (fNodes->GetEntriesFast());}
350 
351 #endif
352 
TGeoVolume::SetVisOnly
virtual void SetVisOnly(Bool_t flag=kTRUE)
Set visibility for leaves.
Definition: TGeoVolume.cxx:2238
TGeoVolume::InspectMaterial
void InspectMaterial() const
Inspect the material for this volume.
Definition: TGeoVolume.cxx:829
TGeoShape.h
TGeoVolume::IsSelected
Bool_t IsSelected() const
Definition: TGeoVolume.h:148
TGeoVolumeMulti::fNdiv
Int_t fNdiv
Definition: TGeoVolume.h:259
TGeoAtt::SetVisibility
virtual void SetVisibility(Bool_t vis=kTRUE)
Set visibility for this object.
Definition: TGeoAtt.cxx:105
TGeoShape::IsValid
Bool_t IsValid() const
Definition: TGeoShape.h:140
TGeoVolume::GetRefCount
Int_t GetRefCount() const
Definition: TGeoVolume.h:134
TGeoVolumeAssembly::IsAssembly
virtual Bool_t IsAssembly() const
Returns true if the volume is an assembly or a scaled assembly.
Definition: TGeoVolume.h:340
TGeoVolume::Import
static TGeoVolume * Import(const char *filename, const char *name="", Option_t *option="")
Import a volume from a file.
Definition: TGeoVolume.cxx:837
TGeoMedium.h
TGeoAtt::IsActive
Bool_t IsActive() const
Definition: TGeoAtt.h:91
TGeoVolumeAssembly::ThreadData_t
Definition: TGeoVolume.h:305
TGeoVolume::kVolumeAdded
@ kVolumeAdded
Definition: TGeoVolume.h:86
TGeoVolume::Browse
void Browse(TBrowser *b)
How to browse a volume.
Definition: TGeoVolume.cxx:519
TBrowser
Definition: TBrowser.h:37
TGeoVolume::SetFinder
void SetFinder(TGeoPatternFinder *finder)
Definition: TGeoVolume.h:231
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
TGeoVolume::kVolumeDiv
@ kVolumeDiv
Definition: TGeoVolume.h:79
Style_t
short Style_t
Definition: RtypesCore.h:80
TObject::TestBit
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Definition: TObject.h:172
TGeoVolume::SetFWExtension
void SetFWExtension(TGeoExtension *ext)
Connect framework defined extension to the volume.
Definition: TGeoVolume.cxx:1411
TGeoVolume::DummyMedium
static TGeoMedium * DummyMedium()
Definition: TGeoVolume.cxx:440
TGeoVolumeAssembly::~TGeoVolumeAssembly
virtual ~TGeoVolumeAssembly()
Destructor. The assembly is owner of its "shape".
Definition: TGeoVolume.cxx:2795
TGeoAtt::IsVisContainers
Bool_t IsVisContainers() const
Definition: TGeoAtt.h:97
TGeoVolume::IsRunTime
Bool_t IsRunTime() const
Definition: TGeoVolume.h:114
TGeoVolumeAssembly::fThreadData
std::vector< ThreadData_t * > fThreadData
Definition: TGeoVolume.h:319
TGeoVolume::GetShape
TGeoShape * GetShape() const
Definition: TGeoVolume.h:188
TObjArray
Definition: TObjArray.h:37
TGeoVolume::GetFinder
TGeoPatternFinder * GetFinder() const
Definition: TGeoVolume.h:175
TGeoVolume::fgDummyMedium
static TGeoMedium * fgDummyMedium
Definition: TGeoVolume.h:54
TGeoVolume::GetNdaughters
Int_t GetNdaughters() const
Definition: TGeoVolume.h:349
TGeoVolume::kVolumeClone
@ kVolumeClone
Definition: TGeoVolume.h:85
TGeoVolume::IsReplicated
Bool_t IsReplicated() const
Definition: TGeoVolume.h:147
TGeoVolumeAssembly::AddNodeOverlap
virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat, Option_t *option)
Add an overlapping node - not allowed for assemblies.
Definition: TGeoVolume.cxx:2814
TGeoVolume::IsActiveDaughters
Bool_t IsActiveDaughters() const
Definition: TGeoVolume.h:144
TGeoVolume::GetObjectInfo
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Get volume info for the browser.
Definition: TGeoVolume.cxx:1648
TH2F
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:251
TString::Data
const char * Data() const
Definition: TString.h:369
TGeoVolumeMulti::SetMedium
virtual void SetMedium(TGeoMedium *medium)
Set medium for a multiple volume.
Definition: TGeoVolume.cxx:2656
TGeoVolume::GrabUserExtension
TGeoExtension * GrabUserExtension() const
Get a copy of the user extension pointer.
Definition: TGeoVolume.cxx:1423
TGeoVolume::Print
virtual void Print(Option_t *option="") const
Print volume info.
Definition: TGeoVolume.cxx:1194
TGeoVolumeMulti::fDivision
TGeoVolumeMulti * fDivision
Definition: TGeoVolume.h:257
TGeoVolume::Voxelize
void Voxelize(Option_t *option)
build the voxels for this volume
Definition: TGeoVolume.cxx:2301
TGeoVolume::VisibleDaughters
void VisibleDaughters(Bool_t vis=kTRUE)
set visibility for daughters
Definition: TGeoVolume.cxx:2291
TGeoAtt::IsVisible
Bool_t IsVisible() const
Definition: TGeoAtt.h:94
TGeoVolumeAssembly::CreateThreadData
virtual void CreateThreadData(Int_t nthreads)
Definition: TGeoVolume.cxx:2725
TGeoVolume::DistancetoPrimitive
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
compute the closest distance of approach from point px,py to this volume
Definition: TGeoVolume.cxx:1133
TGeoVolume::fGeoManager
TGeoManager * fGeoManager
Definition: TGeoVolume.h:57
TGeoAtt::IsActiveDaughters
Bool_t IsActiveDaughters() const
Definition: TGeoAtt.h:92
TGeoVolume::fNtotal
Int_t fNtotal
Definition: TGeoVolume.h:62
TGeoVolumeMulti::AddNode
virtual void AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat, Option_t *option="")
Add a new node to the list of nodes.
Definition: TGeoVolume.cxx:2454
TNamed.h
TGeoVolume::kVolumeMulti
@ kVolumeMulti
Definition: TGeoVolume.h:82
TGeoVolume::GrabFWExtension
TGeoExtension * GrabFWExtension() const
Get a copy of the framework extension pointer.
Definition: TGeoVolume.cxx:1434
TGeoVolume::GetMaterial
TGeoMaterial * GetMaterial() const
Definition: TGeoVolume.h:172
TGeoVolume::GetIndex
Int_t GetIndex(const TGeoNode *node) const
get index number for a given daughter
Definition: TGeoVolume.cxx:1633
TGeoVolume::IsValid
Bool_t IsValid() const
Definition: TGeoVolume.h:152
TGeoVolume::SetNodes
void SetNodes(TObjArray *nodes)
Definition: TGeoVolume.h:214
TGeoVolume::InspectShape
void InspectShape() const
Definition: TGeoVolume.h:193
TGeoVolume::RandomPoints
void RandomPoints(Int_t npoints=1000000, Option_t *option="")
Draw random points in the bounding box of this volume.
Definition: TGeoVolume.cxx:1321
TGeoVolume::IsCylVoxels
Bool_t IsCylVoxels() const
Definition: TGeoVolume.h:149
TGeoVolumeAssembly::ThreadData_t::fNext
Int_t fNext
index of current selected node
Definition: TGeoVolume.h:308
TGeoVolumeAssembly::TGeoVolumeAssembly
TGeoVolumeAssembly()
Default constructor.
Definition: TGeoVolume.cxx:2770
TGeoVolumeMulti::fAttSet
Bool_t fAttSet
Definition: TGeoVolume.h:263
TGeoVolume::CloneVolume
virtual TGeoVolume * CloneVolume() const
Clone this volume.
Definition: TGeoVolume.cxx:1714
Int_t
int Int_t
Definition: RtypesCore.h:45
TGeoVolume::GrabFocus
void GrabFocus()
Move perspective view focus to this volume.
Definition: TGeoVolume.cxx:1696
TGeoVolumeAssembly::ClearThreadData
virtual void ClearThreadData() const
Definition: TGeoVolume.cxx:2709
TGeoVolumeMulti::AddNodeOverlap
virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat, Option_t *option="")
Add a new node to the list of nodes, This node is possibly overlapping with other daughters of the vo...
Definition: TGeoVolume.cxx:2474
TGeoVolume::IsStyleDefault
Bool_t IsStyleDefault() const
check if the visibility and attributes are the default ones
Definition: TGeoVolume.cxx:800
TGeoAtt::IsVisDaughters
Bool_t IsVisDaughters() const
Definition: TGeoAtt.h:95
TGeoVolume::SetLineWidth
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
Definition: TGeoVolume.cxx:2051
TGeoVolume::AddNode
virtual void AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="")
Add a TGeoNode to the list of nodes.
Definition: TGeoVolume.cxx:932
TGeoVolume::SetMedium
virtual void SetMedium(TGeoMedium *medium)
Definition: TGeoVolume.h:229
TGeoVolume::TGeoVolume
TGeoVolume()
dummy constructor
Definition: TGeoVolume.cxx:448
TGeoVolume::SaveAs
void SaveAs(const char *filename, Option_t *option="") const
Save geometry having this as top volume as a C++ macro.
Definition: TGeoVolume.cxx:1366
x
Double_t x[n]
Definition: legend1.C:17
TGeoVolume::SetVoxelFinder
void SetVoxelFinder(TGeoVoxelFinder *finder)
Definition: TGeoVolume.h:230
TGeoVolume::EGeoVolumeTypes
EGeoVolumeTypes
Definition: TGeoVolume.h:76
TGeoVolumeMulti::IsVolumeMulti
virtual Bool_t IsVolumeMulti() const
Definition: TGeoVolume.h:284
TGeoVolume::SetAdded
void SetAdded()
Definition: TGeoVolume.h:210
TGeoAtt::IsVisOnly
Bool_t IsVisOnly() const
Definition: TGeoAtt.h:99
TGeoVolume::CheckShapes
void CheckShapes()
check for negative parameters in shapes.
Definition: TGeoVolume.cxx:648
TGeoVolume::GetUserExtension
TGeoExtension * GetUserExtension() const
Definition: TGeoVolume.h:135
TObjArray::UncheckedAt
TObject * UncheckedAt(Int_t i) const
Definition: TObjArray.h:90
TGeoVolume::Contains
Bool_t Contains(const Double_t *point) const
Definition: TGeoVolume.h:109
TGeoVolumeMulti::SetLineStyle
virtual void SetLineStyle(Style_t lstyle)
Set the line style for all components.
Definition: TGeoVolume.cxx:2628
TGeoVolume::ClearShape
void ClearShape()
Clear the shape of this volume from the list held by the current manager.
Definition: TGeoVolume.cxx:640
TObjArray::At
TObject * At(Int_t idx) const
Definition: TObjArray.h:166
TGeoVolume::fMedium
TGeoMedium * fMedium
Definition: TGeoVolume.h:53
TGeoVolumeAssembly::IsVisible
virtual Bool_t IsVisible() const
Definition: TGeoVolume.h:341
TString
Definition: TString.h:136
TGeoVolumeMulti::Divide
virtual TGeoVolume * Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option="")
division of multiple volumes
Definition: TGeoVolume.cxx:2503
TGeoVolume::FindMatrixOfDaughterVolume
Bool_t FindMatrixOfDaughterVolume(TGeoVolume *vol) const
Find a daughter node having VOL as volume and fill TGeoManager::fHMatrix with its global matrix.
Definition: TGeoVolume.cxx:2260
TGeoVolume::fShape
TGeoShape * fShape
Definition: TGeoVolume.h:52
TAtt3D
Definition: TAtt3D.h:19
TGeoAtt::SetActiveDaughters
void SetActiveDaughters(Bool_t flag=kTRUE)
Definition: TGeoAtt.h:86
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
TGeoVolume::SetAsTopVolume
void SetAsTopVolume()
Set this volume as the TOP one (the whole geometry starts from here)
Definition: TGeoVolume.cxx:1924
TGeoVolume::GetGeoManager
TGeoManager * GetGeoManager() const
Definition: TGeoVolume.h:171
Color_t
short Color_t
Definition: RtypesCore.h:83
TGeoVolumeAssembly::GetCurrentNodeIndex
virtual Int_t GetCurrentNodeIndex() const
Definition: TGeoVolume.cxx:2741
TGeoVolumeAssembly::CloneVolume
virtual TGeoVolume * CloneVolume() const
Clone this volume.
Definition: TGeoVolume.cxx:2824
TGeoVolume::GetIconName
const char * GetIconName() const
Returns mime type name of object.
Definition: TGeoVolume.h:177
TGeoVolume::Capacity
Double_t Capacity() const
Computes the capacity of this [cm^3] as the capacity of its shape.
Definition: TGeoVolume.cxx:553
TGeoNode
Definition: TGeoNode.h:39
b
#define b(i)
Definition: RSha256.hxx:118
TGeoVolumeAssembly::ThreadData_t::fCurrent
Int_t fCurrent
Definition: TGeoVolume.h:307
TGeoVolume::IsAdded
Bool_t IsAdded() const
Definition: TGeoVolume.h:145
TGeoMaterial
Definition: TGeoMaterial.h:34
TGeoShape::InspectShape
virtual void InspectShape() const =0
TGeoPatternFinder
Definition: TGeoPatternFinder.h:31
bool
TGeoVolume::GetMedium
TGeoMedium * GetMedium() const
Definition: TGeoVolume.h:173
TGeoVolume::SetNumber
void SetNumber(Int_t number)
Definition: TGeoVolume.h:232
TGeoVolumeMulti::AddVolume
void AddVolume(TGeoVolume *vol)
Add a volume with valid shape to the list of volumes.
Definition: TGeoVolume.cxx:2419
TGeoVolume::fNumber
Int_t fNumber
option - if any
Definition: TGeoVolume.h:61
TGeoVolume::SelectVolume
void SelectVolume(Bool_t clear=kFALSE)
Select this volume as matching an arbitrary criteria.
Definition: TGeoVolume.cxx:2175
TGeoVolume::IsXYZVoxels
Bool_t IsXYZVoxels() const
Definition: TGeoVolume.h:150
TGeoVolume::SavePrimitive
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a primitive as a C++ statement(s) on output stream "out".
Definition: TGeoVolume.cxx:1443
TGeoMaterial::SetTransparency
void SetTransparency(Char_t transparency=0)
Definition: TGeoMaterial.h:139
TAttLine.h
TGeoVolume::SetShape
void SetShape(const TGeoShape *shape)
set the shape associated with this volume
Definition: TGeoVolume.cxx:1940
TGeoVolume::GetPointerName
char * GetPointerName() const
Provide a pointer name containing uid.
Definition: TGeoVolume.cxx:1677
TGeoVolume::SetField
void SetField(TObject *field)
Definition: TGeoVolume.h:218
TGeoAtt
Definition: TGeoAtt.h:17
TGeoVolumeMulti::fStep
Double_t fStep
Definition: TGeoVolume.h:262
TGeoVolume::fVoxels
TGeoVoxelFinder * fVoxels
Definition: TGeoVolume.h:56
TGeoVolume::IsFolder
virtual Bool_t IsFolder() const
Return TRUE if volume contains nodes.
Definition: TGeoVolume.cxx:792
TGeoVolume::SetAttVisibility
void SetAttVisibility(Bool_t vis)
Definition: TGeoVolume.h:220
Option_t
const typedef char Option_t
Definition: RtypesCore.h:66
TGeoAtt::IsVisLeaves
Bool_t IsVisLeaves() const
Definition: TGeoAtt.h:98
TGeoVolume::kVoxelsCyl
@ kVoxelsCyl
Definition: TGeoVolume.h:84
TGeoShape
Definition: TGeoShape.h:25
TGeoVolume::DrawOnly
virtual void DrawOnly(Option_t *option="")
draw only this volume
Definition: TGeoVolume.cxx:1163
TGeoVolume::SetInvisible
void SetInvisible()
Definition: TGeoVolume.h:228
TGeoVolumeAssembly::SetNextNodeIndex
void SetNextNodeIndex(Int_t index)
Definition: TGeoVolume.cxx:2762
TAttFill.h
TAttLine
Definition: TAttLine.h:18
TGeoVolumeAssembly::AddNode
virtual void AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="")
Add a component to the assembly.
Definition: TGeoVolume.cxx:2804
TGeoVolume::ClearThreadData
virtual void ClearThreadData() const
Definition: TGeoVolume.cxx:424
TGeoVolume::ReplayCreation
void ReplayCreation(const TGeoVolume *other)
Recreate the content of the other volume without pointer copying.
Definition: TGeoVolume.cxx:1228
TGeoVolumeMulti::MakeCopyVolume
virtual TGeoVolume * MakeCopyVolume(TGeoShape *newshape)
Make a copy of this volume build a volume with same name, shape and medium.
Definition: TGeoVolume.cxx:2555
TGeoVolumeMulti::~TGeoVolumeMulti
virtual ~TGeoVolumeMulti()
Destructor.
Definition: TGeoVolume.cxx:2410
TAtt3D.h
TGeoVolumeMulti::SetVisibility
virtual void SetVisibility(Bool_t vis=kTRUE)
Set visibility for all components.
Definition: TGeoVolume.cxx:2671
TGeoMaterial::GetTransparency
Char_t GetTransparency() const
Definition: TGeoMaterial.h:118
TObject::SetBit
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Definition: TObject.cxx:696
TGeoVolumeAssembly::fThreadSize
Int_t fThreadSize
Thread specific data vector.
Definition: TGeoVolume.h:320
TGeoVolume::PrintVoxels
void PrintVoxels() const
Print the voxels for this volume.
Definition: TGeoVolume.cxx:1219
TGeoVolume::GetNodes
TObjArray * GetNodes()
Definition: TGeoVolume.h:167
TObjArray::GetEntriesFast
Int_t GetEntriesFast() const
Definition: TObjArray.h:64
TGeoVolume::Draw
virtual void Draw(Option_t *option="")
draw top volume according to option
Definition: TGeoVolume.cxx:1146
TGeoVolumeMulti::GetAxis
Int_t GetAxis() const
Definition: TGeoVolume.h:280
TGeoVolumeAssembly::operator=
TGeoVolumeAssembly & operator=(const TGeoVolumeAssembly &)=delete
TNamed
Definition: TNamed.h:29
TGeoVolume::ExecuteEvent
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute mouse actions on this volume.
Definition: TGeoVolume.cxx:1602
Width_t
short Width_t
Definition: RtypesCore.h:82
TGeoVolume::IsVisContainers
Bool_t IsVisContainers() const
Definition: TGeoVolume.h:155
TGeoVolume::kVolumeSelected
@ kVolumeSelected
Definition: TGeoVolume.h:78
TGeoVolume::Raytrace
void Raytrace(Bool_t flag=kTRUE)
Draw this volume with current settings and perform raytracing in the pad.
Definition: TGeoVolume.cxx:1347
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
TGeoVolume::kVoxelsXYZ
@ kVoxelsXYZ
Definition: TGeoVolume.h:83
TGeoVolume::CheckShape
void CheckShape(Int_t testNo, Int_t nsamples=10000, Option_t *option="")
Tests for checking the shape navigation algorithms. See TGeoShape::CheckShape()
Definition: TGeoVolume.cxx:623
TGeoVolume::GetCurrentNodeIndex
virtual Int_t GetCurrentNodeIndex() const
Definition: TGeoVolume.h:165
TGeoVolumeMulti::GetStep
Double_t GetStep() const
Definition: TGeoVolume.h:283
TGeoVolume::Gsord
void Gsord(Int_t)
Definition: TGeoVolume.h:190
TGeoVolume::SetCylVoxels
void SetCylVoxels(Bool_t flag=kTRUE)
Definition: TGeoVolume.h:213
TGeoVolume::kVolumeImportNodes
@ kVolumeImportNodes
Definition: TGeoVolume.h:81
TGeoVolume::UnmarkSaved
void UnmarkSaved()
Reset SavePrimitive bits.
Definition: TGeoVolume.cxx:1592
TGeoVolumeAssembly::Divide
virtual TGeoVolume * Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option="")
Division makes no sense for assemblies.
Definition: TGeoVolume.cxx:2861
TGeoVolume::SetActiveDaughters
void SetActiveDaughters(Bool_t flag=kTRUE)
Definition: TGeoVolume.h:208
TGeoVolume::SetVisLeaves
virtual void SetVisLeaves(Bool_t flag=kTRUE)
Set visibility for leaves.
Definition: TGeoVolume.cxx:2226
TGeoVolume::ReplaceNode
TGeoNode * ReplaceNode(TGeoNode *nodeorig, TGeoShape *newshape=0, TGeoMatrix *newpos=0, TGeoMedium *newmed=0)
Replace an existing daughter with a new volume having the same name but possibly a new shape,...
Definition: TGeoVolume.cxx:2124
TGeoVolume::CountNodes
Int_t CountNodes(Int_t nlevels=1000, Int_t option=0)
Count total number of subnodes starting from this volume, nlevels down.
Definition: TGeoVolume.cxx:702
TGeoVolume::Grab
void Grab()
Definition: TGeoVolume.h:139
TGeoVolume::SortNodes
void SortNodes()
sort nodes by decreasing volume of the bounding box.
Definition: TGeoVolume.cxx:1953
BIT
#define BIT(n)
Definition: Rtypes.h:85
TGeoVolumeAssembly::ThreadData_t::ThreadData_t
ThreadData_t()
index of next node to be entered
Definition: TGeoVolume.cxx:2687
TGeoVolumeMulti::GetNvolumes
Int_t GetNvolumes() const
Definition: TGeoVolume.h:279
TGeoVolumeMulti::GetLastShape
TGeoShape * GetLastShape() const
Returns the last shape.
Definition: TGeoVolume.cxx:2493
TGeoShape::GetName
virtual const char * GetName() const
Get the shape name.
Definition: TGeoShape.cxx:248
TGeoVolume::SetOverlappingCandidate
void SetOverlappingCandidate(Bool_t flag)
Definition: TGeoVolume.h:215
y
Double_t y[n]
Definition: legend1.C:17
TGeoVolumeAssembly::MakeAssemblyFromVolume
static TGeoVolumeAssembly * MakeAssemblyFromVolume(TGeoVolume *vol)
Make a clone of volume VOL but which is an assembly.
Definition: TGeoVolume.cxx:2905
TGeoVolume::IsVisLeaves
Bool_t IsVisLeaves() const
Definition: TGeoVolume.h:156
TGeoVolume::SetTransparency
void SetTransparency(Char_t transparency=0)
Definition: TGeoVolume.h:217
TGeoVolume::fUserExtension
TGeoExtension * fUserExtension
Definition: TGeoVolume.h:64
TGeoVolume::IsAssembly
virtual Bool_t IsAssembly() const
Returns true if the volume is an assembly or a scaled assembly.
Definition: TGeoVolume.cxx:1705
TGeoVolume::SetCurrentPoint
void SetCurrentPoint(Double_t x, Double_t y, Double_t z)
Set the current tracking point.
Definition: TGeoVolume.cxx:1932
TGeoVolume::kVolumeOC
@ kVolumeOC
Definition: TGeoVolume.h:87
TGeoVolume::GetNumber
Int_t GetNumber() const
Definition: TGeoVolume.h:182
TGeoVolumeAssembly::DrawOnly
virtual void DrawOnly(Option_t *)
draw only this volume
Definition: TGeoVolume.h:337
TGeoVolumeAssembly::ThreadData_t::~ThreadData_t
~ThreadData_t()
Destructor.
Definition: TGeoVolume.cxx:2695
TGeoVolume::FindOverlaps
void FindOverlaps() const
loop all nodes marked as overlaps and find overlapping brothers
Definition: TGeoVolume.cxx:2089
TGeoVolumeMulti::fAxis
Int_t fAxis
Definition: TGeoVolume.h:260
TGeoVolume::GetFWExtension
TGeoExtension * GetFWExtension() const
Definition: TGeoVolume.h:136
TGeoVolume::CreateDummyMedium
static void CreateDummyMedium()
Create a dummy medium.
Definition: TGeoVolume.cxx:412
TGeoVolumeMulti::GetStart
Double_t GetStart() const
Definition: TGeoVolume.h:282
TGeoVolume::MakeCopyVolume
virtual TGeoVolume * MakeCopyVolume(TGeoShape *newshape)
make a copy of this volume build a volume with same name, shape and medium
Definition: TGeoVolume.cxx:1805
TGeoVolume::ClearNodes
void ClearNodes()
Definition: TGeoVolume.h:100
TGeoShape::IsRunTimeShape
Bool_t IsRunTimeShape() const
Definition: TGeoShape.h:139
TGeoVolume::kVolumeOverlap
@ kVolumeOverlap
Definition: TGeoVolume.h:80
TGeoVolume::SetVisContainers
virtual void SetVisContainers(Bool_t flag=kTRUE)
Set visibility for containers.
Definition: TGeoVolume.cxx:2214
TGeoVolume::fField
TObject * fField
pointer to TGeoManager owning this volume
Definition: TGeoVolume.h:59
TGeoAtt::SetActivity
void SetActivity(Bool_t flag=kTRUE)
Definition: TGeoAtt.h:85
TGeoShape::Contains
virtual Bool_t Contains(const Double_t *point) const =0
TGeoVolumeMulti::operator=
TGeoVolumeMulti & operator=(const TGeoVolumeMulti &)=delete
TGeoVolumeAssembly::SetCurrentNodeIndex
void SetCurrentNodeIndex(Int_t index)
Definition: TGeoVolume.cxx:2755
TGeoVolume::SetLineStyle
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
Definition: TGeoVolume.cxx:2043
TGeoVolume::RandomRays
void RandomRays(Int_t nrays=10000, Double_t startx=0, Double_t starty=0, Double_t startz=0, const char *target_vol=0, Bool_t check_norm=kFALSE)
Random raytracing method.
Definition: TGeoVolume.cxx:1334
TGeoVolume::WeightA
Double_t WeightA() const
Analytical computation of the weight.
Definition: TGeoVolume.cxx:2347
TGeoVolume::IsVisibleDaughters
Bool_t IsVisibleDaughters() const
Definition: TGeoVolume.h:154
TGeoVolume::AddNodeOverlap
virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="")
Add a TGeoNode to the list of nodes.
Definition: TGeoVolume.cxx:996
TGeoVolume::Divide
virtual TGeoVolume * Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option="")
Division a la G3.
Definition: TGeoVolume.cxx:1050
TGeoVolumeMulti::GetNdiv
Int_t GetNdiv() const
Definition: TGeoVolume.h:281
TGeoVolume::fOption
TString fOption
just a hook for now
Definition: TGeoVolume.h:60
TGeoVolume::IsVisOnly
Bool_t IsVisOnly() const
Definition: TGeoVolume.h:157
TGeoVolume::GetVoxels
TGeoVoxelFinder * GetVoxels() const
Getter for optimization structure.
Definition: TGeoVolume.cxx:1687
Double_t
double Double_t
Definition: RtypesCore.h:59
TGeoVolume::RegisterYourself
void RegisterYourself(Option_t *option="")
Register the volume and all materials/media/matrices/shapes to the manager.
Definition: TGeoVolume.cxx:1281
TGeoMatrix
Definition: TGeoMatrix.h:40
TGeoVolume::GetOption
Option_t * GetOption() const
Definition: TGeoVolume.h:185
TGeoVolume::GetNode
TGeoNode * GetNode(Int_t i) const
Definition: TGeoVolume.h:180
TGeoVolume::GetByteCount
virtual Int_t GetByteCount() const
get the total size in bytes for this volume
Definition: TGeoVolume.cxx:2069
TGeoVolume::CheckOverlaps
void CheckOverlaps(Double_t ovlp=0.1, Option_t *option="") const
Overlap checking tool.
Definition: TGeoVolume.cxx:589
TGeoVolumeMulti::SetLineWidth
virtual void SetLineWidth(Width_t lwidth)
Set the line width for all components.
Definition: TGeoVolume.cxx:2642
TGeoVolume::MakeReflectedVolume
TGeoVolume * MakeReflectedVolume(const char *newname="") const
Make a copy of this volume which is reflected with respect to XY plane.
Definition: TGeoVolume.cxx:1835
TGeoVolume::GetNextNodeIndex
virtual Int_t GetNextNodeIndex() const
Definition: TGeoVolume.h:166
TObjArray.h
TGeoVolume::operator=
TGeoVolume & operator=(const TGeoVolume &)=delete
TGeoVolume::CleanAll
void CleanAll()
Clean data of the volume.
Definition: TGeoVolume.cxx:631
TGeoVolume::CloneNodesAndConnect
void CloneNodesAndConnect(TGeoVolume *newmother) const
Clone the array of nodes.
Definition: TGeoVolume.cxx:1762
TGeoVolumeMulti
Definition: TGeoVolume.h:253
TGeoVolume::IsVisible
virtual Bool_t IsVisible() const
Definition: TGeoVolume.h:153
TGeoVolume::IsVolumeMulti
virtual Bool_t IsVolumeMulti() const
Definition: TGeoVolume.h:115
TGeoVolumeMulti::fVolumes
TObjArray * fVolumes
Definition: TGeoVolume.h:256
TGeoVolume::GetNode
TGeoNode * GetNode(const char *name) const
get the pointer to a daughter node
Definition: TGeoVolume.cxx:2059
TGeoVolume::SetUserExtension
void SetUserExtension(TGeoExtension *ext)
Connect user-defined extension to the volume.
Definition: TGeoVolume.cxx:1396
TGeoVolume::CheckGeometry
void CheckGeometry(Int_t nrays=1, Double_t startx=0, Double_t starty=0, Double_t startz=0) const
Shoot nrays with random directions from starting point (startx, starty, startz) in the reference fram...
Definition: TGeoVolume.cxx:568
TGeoVolume::FindNode
TGeoNode * FindNode(const char *name) const
search a daughter inside the list of nodes
Definition: TGeoVolume.cxx:1612
TGeoVolumeMulti::fNumed
Int_t fNumed
Definition: TGeoVolume.h:258
TGeoMedium::GetMaterial
TGeoMaterial * GetMaterial() const
Definition: TGeoMedium.h:58
TObject
Definition: TObject.h:37
TGeoVolumeAssembly::GetNextNodeIndex
virtual Int_t GetNextNodeIndex() const
Definition: TGeoVolume.cxx:2748
TGeoVolume::SetActivity
void SetActivity(Bool_t flag=kTRUE)
Definition: TGeoVolume.h:207
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TGeoVolume::CreateThreadData
virtual void CreateThreadData(Int_t nthreads)
Definition: TGeoVolume.cxx:432
TGeoVolume::Paint
virtual void Paint(Option_t *option="")
paint volume
Definition: TGeoVolume.cxx:1204
TGeoVolume::fFinder
TGeoPatternFinder * fFinder
dummy medium
Definition: TGeoVolume.h:55
TGeoVolume::Valid
Bool_t Valid() const
Check if the shape of this volume is valid.
Definition: TGeoVolume.cxx:2251
TGeoVolumeAssembly::fMutex
std::mutex fMutex
Thread vector size.
Definition: TGeoVolume.h:321
TGeoVolume::InvisibleAll
void InvisibleAll(Bool_t flag=kTRUE)
Make volume and each of it daughters (in)visible.
Definition: TGeoVolume.cxx:764
name
char name[80]
Definition: TGX11.cxx:110
TGeoVolume::LegoPlot
TH2F * LegoPlot(Int_t ntheta=20, Double_t themin=0., Double_t themax=180., Int_t nphi=60, Double_t phimin=0., Double_t phimax=360., Double_t rmin=0., Double_t rmax=9999999, Option_t *option="")
Generate a lego plot fot the top volume, according to option.
Definition: TGeoVolume.cxx:1265
TGeoVolume::OptimizeVoxels
Bool_t OptimizeVoxels()
Perform an extensive sampling to find which type of voxelization is most efficient.
Definition: TGeoVolume.cxx:1184
TGeoVolume::IsActive
Bool_t IsActive() const
Definition: TGeoVolume.h:143
TGeoVolume::SetNtotal
void SetNtotal(Int_t ntotal)
Definition: TGeoVolume.h:233
TGeoVolume::MakeCopyNodes
void MakeCopyNodes(const TGeoVolume *other)
make a new list of nodes and copy all nodes of other volume inside
Definition: TGeoVolume.cxx:1788
TGeoVolume::Export
Int_t Export(const char *filename, const char *name="", Option_t *option="")
Export this volume to a file.
Definition: TGeoVolume.cxx:887
TGeoVolume::GetNodeIndex
Int_t GetNodeIndex(const TGeoNode *node, Int_t *check_list, Int_t ncheck) const
Get the index of a daughter within check_list by providing the node pointer.
Definition: TGeoVolume.cxx:1620
TGeoVolume::GetNtotal
Int_t GetNtotal() const
Definition: TGeoVolume.h:169
TGeoVolume::kVolumeReplicated
@ kVolumeReplicated
Definition: TGeoVolume.h:77
TGeoVolume::IsRaytracing
Bool_t IsRaytracing() const
Check if the painter is currently ray-tracing the content of this volume.
Definition: TGeoVolume.cxx:821
TGeoExtension
Definition: TGeoExtension.h:19
TGeoVolume::SetOption
void SetOption(const char *option)
Set the current options (none implemented)
Definition: TGeoVolume.cxx:2027
TAttFill
Definition: TAttFill.h:19
TGeoVolume::RemoveNode
void RemoveNode(TGeoNode *node)
Remove an existing daughter.
Definition: TGeoVolume.cxx:2110
TGeoMedium
Definition: TGeoMedium.h:23
TGeoVolume::~TGeoVolume
virtual ~TGeoVolume()
Destructor.
Definition: TGeoVolume.cxx:502
TGeoVolumeMulti::TGeoVolumeMulti
TGeoVolumeMulti()
dummy constructor
Definition: TGeoVolume.cxx:2374
TGeoVolume::AddNodeOffset
void AddNodeOffset(TGeoVolume *vol, Int_t copy_no, Double_t offset=0, Option_t *option="")
Add a division node to the list of nodes.
Definition: TGeoVolume.cxx:971
TGeoVolume::fFWExtension
TGeoExtension * fFWExtension
Transient user-defined extension to volumes.
Definition: TGeoVolume.h:65
TGeoVolume::SetLineColor
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition: TGeoVolume.cxx:2035
TGeoVolume::Release
void Release()
Definition: TGeoVolume.h:140
TGeoVolume::fRefCount
Int_t fRefCount
Definition: TGeoVolume.h:63
TGeoVolume::Weight
Double_t Weight(Double_t precision=0.01, Option_t *option="va")
Estimate the weight of a volume (in kg) with SIGMA(M)/M better than PRECISION.
Definition: TGeoVolume.cxx:2334
TGeoVoxelFinder
Definition: TGeoVoxelFinder.h:20
Char_t
char Char_t
Definition: RtypesCore.h:33
TGeoVolume::IsOverlappingCandidate
Bool_t IsOverlappingCandidate() const
Definition: TGeoVolume.h:146
TGeoManager
Definition: TGeoManager.h:44
TGeoVolumeMulti::SetLineColor
virtual void SetLineColor(Color_t lcolor)
Set the line color for all components.
Definition: TGeoVolume.cxx:2614
TGeoVolume::GetOptimalVoxels
Bool_t GetOptimalVoxels() const
Returns true if cylindrical voxelization is optimal.
Definition: TGeoVolume.cxx:1659
TGeoVolume::SetVisibility
virtual void SetVisibility(Bool_t vis=kTRUE)
set visibility of this volume
Definition: TGeoVolume.cxx:2197
TGeoVolume::GetField
TObject * GetField() const
Definition: TGeoVolume.h:174
TGeoVolume::IsTopVolume
Bool_t IsTopVolume() const
True if this is the top volume of the geometry.
Definition: TGeoVolume.cxx:812
TGeoVolume::cd
virtual void cd(Int_t inode) const
Actualize matrix of node indexed <inode>
Definition: TGeoVolume.cxx:923
TGeoVolume::GetTransparency
Char_t GetTransparency() const
Definition: TGeoVolume.h:187
TGeoVolume
Definition: TGeoVolume.h:44
TGeoVolumeAssembly
Definition: TGeoVolume.h:302
TGeoVolumeAssembly::GetThreadData
ThreadData_t & GetThreadData() const
Definition: TGeoVolume.cxx:2701
TGeoAtt.h
TGeoVolume::fNodes
TObjArray * fNodes
Definition: TGeoVolume.h:51
ROOT::TMetaUtils::propNames::pattern
static const std::string pattern("pattern")
TGeoVolume::SetReplicated
void SetReplicated()
Definition: TGeoVolume.h:211
TGeoVolume::IsAllInvisible
Bool_t IsAllInvisible() const
Return TRUE if volume and all daughters are invisible.
Definition: TGeoVolume.cxx:753
TGeoVolumeMulti::GetVolume
TGeoVolume * GetVolume(Int_t id) const
Definition: TGeoVolume.h:274
int
TGeoVolumeMulti::fStart
Double_t fStart
Definition: TGeoVolume.h:261
TGeoVolume::PrintNodes
void PrintNodes() const
print nodes
Definition: TGeoVolume.cxx:1253