ROOT  6.06/09
Reference Guide
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
TGeoVolume Class Reference

Definition at line 61 of file TGeoVolume.h.

Public Types

enum  EGeoVolumeTypes {
  kVolumeReplicated = BIT(14), kVolumeSelected = BIT(15), kVolumeDiv = BIT(16), kVolumeOverlap = BIT(17),
  kVolumeImportNodes = BIT(18), kVolumeMulti = BIT(19), kVoxelsXYZ = BIT(20), kVoxelsCyl = BIT(21),
  kVolumeClone = BIT(22), kVolumeAdded = BIT(23), kVolumeOC = BIT(21)
}
 
- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
- Public Types inherited from TGeoAtt
enum  { kBitMask = 0x00ffffff }
 
enum  EGeoVisibilityAtt {
  kVisOverride = BIT(0), kVisNone = BIT(1), kVisThis = BIT(2), kVisDaughters = BIT(3),
  kVisOneLevel = BIT(4), kVisStreamed = BIT(5), kVisTouched = BIT(6), kVisOnScreen = BIT(7),
  kVisContainers = BIT(12), kVisOnly = BIT(13), kVisBranch = BIT(14), kVisRaytrace = BIT(15)
}
 
enum  EGeoActivityAtt { kActOverride = BIT(8), kActNone = BIT(9), kActThis = BIT(10), kActDaughters = BIT(11) }
 
enum  EGeoOptimizationAtt { kUseBoundingBox = BIT(16), kUseVoxels = BIT(17), kUseGsord = BIT(18) }
 
enum  EGeoSavePrimitiveAtt { kSavePrimitiveAtt = BIT(19), kSaveNodesAtt = BIT(20) }
 

Public Member Functions

virtual void ClearThreadData () const
 
virtual void CreateThreadData (Int_t nthreads)
 
 TGeoVolume ()
 dummy constructor More...
 
 TGeoVolume (const char *name, const TGeoShape *shape, const TGeoMedium *med=0)
 default constructor More...
 
virtual ~TGeoVolume ()
 Destructor. More...
 
virtual void cd (Int_t inode) const
 Actualize matrix of node indexed <inode> More...
 
void Browse (TBrowser *b)
 How to browse a volume. More...
 
Double_t Capacity () const
 Computes the capacity of this [cm^3] as the capacity of its shape. More...
 
void CheckShapes ()
 check for negative parameters in shapes. More...
 
void ClearNodes ()
 
void ClearShape ()
 Clear the shape of this volume from the list held by the current manager. More...
 
void CleanAll ()
 Clean data of the volume. More...
 
virtual TGeoVolumeCloneVolume () const
 Clone this volume. More...
 
void CloneNodesAndConnect (TGeoVolume *newmother) const
 Clone the array of nodes. More...
 
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 frame of this volume. More...
 
void CheckOverlaps (Double_t ovlp=0.1, Option_t *option="") const
 Overlap checking tool. More...
 
void CheckShape (Int_t testNo, Int_t nsamples=10000, Option_t *option="")
 Tests for checking the shape navigation algorithms. See TGeoShape::CheckShape() More...
 
Int_t CountNodes (Int_t nlevels=1000, Int_t option=0)
 Count total number of subnodes starting from this volume, nlevels down option = 0 (default) - count only once per volume option = 1 - count every time option = 2 - count volumes on visible branches option = 3 - return maximum level counted already with option = 0. More...
 
Bool_t Contains (const Double_t *point) const
 
virtual Bool_t IsAssembly () const
 Returns true if the volume is an assembly or a scaled assembly. More...
 
virtual Bool_t IsFolder () const
 Return TRUE if volume contains nodes return (GetNdaughters()?kTRUE:kFALSE);. More...
 
Bool_t IsRunTime () const
 
virtual Bool_t IsVolumeMulti () const
 
virtual void AddNode (TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="")
 Add a TGeoNode to the list of nodes. More...
 
void AddNodeOffset (TGeoVolume *vol, Int_t copy_no, Double_t offset=0, Option_t *option="")
 Add a division node to the list of nodes. More...
 
virtual void AddNodeOverlap (TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=0, Option_t *option="")
 Add a TGeoNode to the list of nodes. More...
 
virtual TGeoVolumeDivide (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. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 compute the closest distance of approach from point px,py to this volume More...
 
virtual void Draw (Option_t *option="")
 draw top volume according to option More...
 
virtual void DrawOnly (Option_t *option="")
 draw only this volume More...
 
TH2FLegoPlot (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. More...
 
virtual void Paint (Option_t *option="")
 paint volume More...
 
virtual void Print (Option_t *option="") const
 Print volume info. More...
 
void PrintNodes () const
 print nodes More...
 
void PrintVoxels () const
 Print the voxels for this volume. More...
 
void ReplayCreation (const TGeoVolume *other)
 Recreate the content of the other volume without pointer copying. More...
 
void SetUserExtension (TGeoExtension *ext)
 Connect user-defined extension to the volume. More...
 
void SetFWExtension (TGeoExtension *ext)
 Connect framework defined extension to the volume. More...
 
Int_t GetRefCount () const
 
TGeoExtensionGetUserExtension () const
 
TGeoExtensionGetFWExtension () const
 
TGeoExtensionGrabUserExtension () const
 Get a copy of the user extension pointer. More...
 
TGeoExtensionGrabFWExtension () const
 Get a copy of the framework extension pointer. More...
 
void Grab ()
 
void Release ()
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute mouse actions on this volume. More...
 
Bool_t IsActive () const
 
Bool_t IsActiveDaughters () const
 
Bool_t IsAdded () const
 
Bool_t IsOverlappingCandidate () const
 
Bool_t IsReplicated () const
 
Bool_t IsSelected () const
 
Bool_t IsCylVoxels () const
 
Bool_t IsXYZVoxels () const
 
Bool_t IsTopVolume () const
 True if this is the top volume of the geometry. More...
 
Bool_t IsValid () const
 
virtual Bool_t IsVisible () const
 
Bool_t IsVisibleDaughters () const
 
Bool_t IsVisContainers () const
 
Bool_t IsVisLeaves () const
 
Bool_t IsVisOnly () const
 
Bool_t IsAllInvisible () const
 Return TRUE if volume and all daughters are invisible. More...
 
Bool_t IsRaytracing () const
 Check if the painter is currently ray-tracing the content of this volume. More...
 
Int_t Export (const char *filename, const char *name="", Option_t *option="")
 Export this volume to a file. More...
 
TGeoNodeFindNode (const char *name) const
 search a daughter inside the list of nodes More...
 
void FindOverlaps () const
 loop all nodes marked as overlaps and find overlaping brothers More...
 
Bool_t FindMatrixOfDaughterVolume (TGeoVolume *vol) const
 Find a daughter node having VOL as volume and fill TGeoManager::fHMatrix with its global matrix. More...
 
virtual Int_t GetCurrentNodeIndex () const
 
virtual Int_t GetNextNodeIndex () const
 
TObjArrayGetNodes ()
 
Int_t GetNdaughters () const
 
Int_t GetNtotal () const
 
virtual Int_t GetByteCount () const
 get the total size in bytes for this volume More...
 
TGeoManagerGetGeoManager () const
 
TGeoMaterialGetMaterial () const
 
TGeoMediumGetMedium () const
 
TObjectGetField () const
 
TGeoPatternFinderGetFinder () const
 
TGeoVoxelFinderGetVoxels () const
 Getter for optimization structure. More...
 
const char * GetIconName () const
 Returns mime type name of object. More...
 
Int_t GetIndex (const TGeoNode *node) const
 get index number for a given daughter More...
 
TGeoNodeGetNode (const char *name) const
 get the pointer to a daughter node More...
 
TGeoNodeGetNode (Int_t i) const
 
Int_t GetNodeIndex (const TGeoNode *node, Int_t *check_list, Int_t ncheck) const
 Get the index of a daugther within check_list by providing the node pointer. More...
 
Int_t GetNumber () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Get volume info for the browser. More...
 
Bool_t GetOptimalVoxels () const
 — Returns true if cylindrical voxelization is optimal. More...
 
Option_tGetOption () const
 
char * GetPointerName () const
 Provide a pointer name containing uid. More...
 
Char_t GetTransparency () const
 
TGeoShapeGetShape () const
 
void GrabFocus ()
 Move perspective view focus to this volume. More...
 
void Gsord (Int_t)
 
Bool_t IsStyleDefault () const
 check if the visibility and attributes are the default ones More...
 
void InspectMaterial () const
 Inspect the material for this volume. More...
 
void InspectShape () const
 
virtual TGeoVolumeMakeCopyVolume (TGeoShape *newshape)
 make a copy of this volume build a volume with same name, shape and medium More...
 
void MakeCopyNodes (const TGeoVolume *other)
 make a new list of nodes and copy all nodes of other volume inside More...
 
TGeoVolumeMakeReflectedVolume (const char *newname="") const
 Make a copy of this volume which is reflected with respect to XY plane. More...
 
Bool_t OptimizeVoxels ()
 Perform an exensive sampling to find which type of voxelization is most efficient. More...
 
void RandomPoints (Int_t npoints=1000000, Option_t *option="")
 Draw random points in the bounding box of this volume. More...
 
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. More...
 
void Raytrace (Bool_t flag=kTRUE)
 Draw this volume with current settings and perform raytracing in the pad. More...
 
void RegisterYourself (Option_t *option="")
 Register the volume and all materials/media/matrices/shapes to the manager. More...
 
void RemoveNode (TGeoNode *node)
 Remove an existing daughter. More...
 
TGeoNodeReplaceNode (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, position or medium. More...
 
void SaveAs (const char *filename, Option_t *option="") const
 Save geometry having this as top volume as a C++ macro. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SelectVolume (Bool_t clear=kFALSE)
 Select this volume as matching an arbitrary criteria. More...
 
void SetActivity (Bool_t flag=kTRUE)
 
void SetActiveDaughters (Bool_t flag=kTRUE)
 
void SetAsTopVolume ()
 Set this volume as the TOP one (the whole geometry starts from here) More...
 
void SetAdded ()
 
void SetReplicated ()
 
void SetCurrentPoint (Double_t x, Double_t y, Double_t z)
 Set the current tracking point. More...
 
void SetCylVoxels (Bool_t flag=kTRUE)
 
void SetNodes (TObjArray *nodes)
 
void SetOverlappingCandidate (Bool_t flag)
 
void SetShape (const TGeoShape *shape)
 set the shape associated with this volume More...
 
void SetTransparency (Char_t transparency=0)
 
void SetField (TObject *field)
 
void SetOption (const char *option)
 Set the current options (none implemented) More...
 
void SetAttVisibility (Bool_t vis)
 
virtual void SetVisibility (Bool_t vis=kTRUE)
 set visibility of this volume More...
 
virtual void SetVisContainers (Bool_t flag=kTRUE)
 Set visibility for containers. More...
 
virtual void SetVisLeaves (Bool_t flag=kTRUE)
 Set visibility for leaves. More...
 
virtual void SetVisOnly (Bool_t flag=kTRUE)
 Set visibility for leaves. More...
 
virtual void SetLineColor (Color_t lcolor)
 Set the line color. More...
 
virtual void SetLineStyle (Style_t lstyle)
 Set the line style. More...
 
virtual void SetLineWidth (Width_t lwidth)
 Set the line width. More...
 
void SetInvisible ()
 
virtual void SetMedium (TGeoMedium *medium)
 
void SetVoxelFinder (TGeoVoxelFinder *finder)
 
void SetFinder (TGeoPatternFinder *finder)
 
void SetNumber (Int_t number)
 
void SetNtotal (Int_t ntotal)
 
void SortNodes ()
 sort nodes by decreasing volume of the bounding box. More...
 
void UnmarkSaved ()
 Reset SavePrimitive bits. More...
 
Bool_t Valid () const
 Check if the shape of this volume is valid. More...
 
void VisibleDaughters (Bool_t vis=kTRUE)
 set visibility for daughters More...
 
void InvisibleAll (Bool_t flag=kTRUE)
 Make volume and each of it daughters (in)visible. More...
 
void Voxelize (Option_t *option)
 build the voxels for this volume More...
 
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. More...
 
Double_t WeightA () const
 Analytical computation of the weight. More...
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TString &name, const TString &title)
 
 TNamed (const TNamed &named)
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual ~TNamed ()
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void SetName (const char *name)
 Change (i.e. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Change (i.e. set) all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Change (i.e. set) the title of the TNamed. More...
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
- Public Member Functions inherited from TGeoAtt
 TGeoAtt ()
 
 TGeoAtt (Option_t *vis_opt, Option_t *activity_opt="", Option_t *optimization_opt="")
 Constructor. More...
 
virtual ~TGeoAtt ()
 Destructor. More...
 
void SetAttBit (UInt_t f)
 
void SetAttBit (UInt_t f, Bool_t set)
 
void ResetAttBit (UInt_t f)
 
Bool_t TestAttBit (UInt_t f) const
 
void SetVisRaytrace (Bool_t flag=kTRUE)
 
void SetVisBranch ()
 Set branch type visibility. More...
 
void SetVisDaughters (Bool_t vis=kTRUE)
 Set visibility for the daughters. More...
 
void SetVisStreamed (Bool_t vis=kTRUE)
 Mark attributes as "streamed to file". More...
 
void SetVisTouched (Bool_t vis=kTRUE)
 Mark visualization attributes as "modified". More...
 
void SetActivity (Bool_t flag=kTRUE)
 
void SetActiveDaughters (Bool_t flag=kTRUE)
 
void SetOptimization (Option_t *option)
 Set optimization flags. More...
 
Bool_t IsActive () const
 
Bool_t IsActiveDaughters () const
 
Bool_t IsVisRaytrace () const
 
Bool_t IsVisible () const
 
Bool_t IsVisDaughters () const
 
Bool_t IsVisBranch () const
 
Bool_t IsVisContainers () const
 
Bool_t IsVisLeaves () const
 
Bool_t IsVisOnly () const
 
Bool_t IsVisStreamed () const
 
Bool_t IsVisTouched () const
 
- Public Member Functions inherited from TAttLine
 TAttLine ()
 AttLine default constructor. More...
 
 TAttLine (Color_t lcolor, Style_t lstyle, Width_t lwidth)
 AttLine normal constructor. More...
 
virtual ~TAttLine ()
 AttLine destructor. More...
 
void Copy (TAttLine &attline) const
 Copy this line attributes to a new TAttLine. More...
 
Int_t DistancetoLine (Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
 Compute distance from point px,py to a line. More...
 
virtual Color_t GetLineColor () const
 
virtual Style_t GetLineStyle () const
 
virtual Width_t GetLineWidth () const
 
virtual void Modify ()
 Change current line attributes if necessary. More...
 
virtual void ResetAttLine (Option_t *option="")
 Reset this line attributes to default values. More...
 
virtual void SaveLineAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
 Save line attributes as C++ statement(s) on output stream out. More...
 
virtual void SetLineAttributes ()
 Invoke the DialogCanvas Line attributes. More...
 
virtual void SetLineColorAlpha (Color_t lcolor, Float_t lalpha)
 Set a transparent line color. More...
 
 ClassDef (TAttLine, 2)
 
- Public Member Functions inherited from TAttFill
 TAttFill ()
 
 TAttFill (Color_t fcolor, Style_t fstyle)
 AttFill normal constructor. More...
 
virtual ~TAttFill ()
 AttFill destructor. More...
 
void Copy (TAttFill &attfill) const
 Copy this fill attributes to a new TAttFill. More...
 
virtual Color_t GetFillColor () const
 
virtual Style_t GetFillStyle () const
 
virtual Bool_t IsTransparent () const
 
virtual void Modify ()
 Change current fill area attributes if necessary. More...
 
virtual void ResetAttFill (Option_t *option="")
 Reset this fill attributes to default values. More...
 
virtual void SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
 Save fill attributes as C++ statement(s) on output stream out. More...
 
virtual void SetFillAttributes ()
 Invoke the DialogCanvas Fill attributes. More...
 
virtual void SetFillColor (Color_t fcolor)
 
virtual void SetFillColorAlpha (Color_t fcolor, Float_t falpha)
 Set a transparent fill color. More...
 
virtual void SetFillStyle (Style_t fstyle)
 
- Public Member Functions inherited from TAtt3D
 TAtt3D ()
 
virtual ~TAtt3D ()
 
virtual void Sizeof3D () const
 

Static Public Member Functions

static void CreateDummyMedium ()
 
static TGeoMediumDummyMedium ()
 
static TGeoVolumeImport (const char *filename, const char *name="", Option_t *option="")
 Import a volume from a file. More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

Protected Member Functions

 TGeoVolume (const TGeoVolume &)
 Transient framework-defined extension to volumes. More...
 
TGeoVolumeoperator= (const TGeoVolume &)
 assignment operator More...
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 

Protected Attributes

TObjArrayfNodes
 
TGeoShapefShape
 
TGeoMediumfMedium
 
TGeoPatternFinderfFinder
 dummy medium More...
 
TGeoVoxelFinderfVoxels
 
TGeoManagerfGeoManager
 
TObjectfField
 pointer to TGeoManager owning this volume More...
 
TString fOption
 just a hook for now More...
 
Int_t fNumber
 option - if any More...
 
Int_t fNtotal
 
Int_t fRefCount
 
TGeoExtensionfUserExtension
 
TGeoExtensionfFWExtension
 Transient user-defined extension to volumes. More...
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TGeoAtt
UInt_t fGeoAtt
 
- Protected Attributes inherited from TAttLine
Color_t fLineColor
 
Style_t fLineStyle
 
Width_t fLineWidth
 
- Protected Attributes inherited from TAttFill
Color_t fFillColor
 
Style_t fFillStyle
 

Static Protected Attributes

static TGeoMediumfgDummyMedium
 

#include <TGeoVolume.h>

+ Inheritance diagram for TGeoVolume:
+ Collaboration diagram for TGeoVolume:

Member Enumeration Documentation

Enumerator
kVolumeReplicated 
kVolumeSelected 
kVolumeDiv 
kVolumeOverlap 
kVolumeImportNodes 
kVolumeMulti 
kVoxelsXYZ 
kVoxelsCyl 
kVolumeClone 
kVolumeAdded 
kVolumeOC 

Definition at line 92 of file TGeoVolume.h.

Constructor & Destructor Documentation

TGeoVolume::TGeoVolume ( const TGeoVolume gv)
protected

Transient framework-defined extension to volumes.

copy constructor

Definition at line 467 of file TGeoVolume.cxx.

TGeoVolume::TGeoVolume ( )

dummy constructor

Definition at line 413 of file TGeoVolume.cxx.

Referenced by CloneVolume(), MakeCopyVolume(), TGeoVolumeMulti::MakeCopyVolume(), and ReplaceNode().

TGeoVolume::TGeoVolume ( const char *  name,
const TGeoShape shape,
const TGeoMedium med = 0 
)

default constructor

Definition at line 434 of file TGeoVolume.cxx.

TGeoVolume::~TGeoVolume ( )
virtual

Destructor.

Definition at line 520 of file TGeoVolume.cxx.

Member Function Documentation

void TGeoVolume::AddNode ( TGeoVolume vol,
Int_t  copy_no,
TGeoMatrix mat = 0,
Option_t option = "" 
)
virtual
void TGeoVolume::AddNodeOffset ( TGeoVolume vol,
Int_t  copy_no,
Double_t  offset = 0,
Option_t option = "" 
)
void TGeoVolume::AddNodeOverlap ( TGeoVolume vol,
Int_t  copy_no,
TGeoMatrix mat = 0,
Option_t option = "" 
)
virtual

Add a TGeoNode to the list of nodes.

This is the usual method for adding daughters inside the container volume.

Reimplemented in TGeoVolumeAssembly, and TGeoVolumeMulti.

Definition at line 1012 of file TGeoVolume.cxx.

Referenced by TGeoVolumeMulti::AddNodeOverlap(), TGeoVolumeMulti::AddVolume(), TStructViewerGUI::DrawNode(), TGeoBuilder::Node(), and ReplayCreation().

void TGeoVolume::Browse ( TBrowser b)
virtual

How to browse a volume.

Reimplemented from TObject.

Definition at line 537 of file TGeoVolume.cxx.

Double_t TGeoVolume::Capacity ( ) const

Computes the capacity of this [cm^3] as the capacity of its shape.

In case of assemblies, the capacity is computed as the sum of daughter's capacities.

Definition at line 571 of file TGeoVolume.cxx.

Referenced by Capacity(), and WeightA().

void TGeoVolume::cd ( Int_t  inode) const
virtual

Actualize matrix of node indexed <inode>

Definition at line 939 of file TGeoVolume.cxx.

Referenced by PrintNodes().

void TGeoVolume::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 frame of this volume.

Track each ray until exiting geometry, then shoot backwards from exiting point and compare boundary crossing points.

Definition at line 586 of file TGeoVolume.cxx.

void TGeoVolume::CheckOverlaps ( Double_t  ovlp = 0.1,
Option_t option = "" 
) const

Overlap checking tool.

Check for illegal overlaps within a limit OVLP. Use option="s[number]" to force overlap checking by sampling volume with [number] points. Ex: myVol->CheckOverlaps(0.01, "s10000000"); // shoot 10000000 points myVol->CheckOverlaps(0.01, "s"); // shoot the default value of 1e6 points

Definition at line 603 of file TGeoVolume.cxx.

Referenced by TGeoParallelWorld::CheckOverlaps(), and TGeoNode::CheckOverlaps().

void TGeoVolume::CheckShape ( Int_t  testNo,
Int_t  nsamples = 10000,
Option_t option = "" 
)

Tests for checking the shape navigation algorithms. See TGeoShape::CheckShape()

Definition at line 637 of file TGeoVolume.cxx.

void TGeoVolume::CheckShapes ( )

check for negative parameters in shapes.

THIS METHOD LEAVES SOME GARBAGE NODES -> memory leak, to be fixed printf("---Checking daughters of volume %s\n", GetName());

Definition at line 664 of file TGeoVolume.cxx.

Referenced by TGeoNode::CheckShapes().

void TGeoVolume::CleanAll ( )

Clean data of the volume.

Definition at line 645 of file TGeoVolume.cxx.

void TGeoVolume::ClearNodes ( )
inline

Definition at line 116 of file TGeoVolume.h.

Referenced by CleanAll(), and TStructViewerGUI::Update().

void TGeoVolume::ClearShape ( )

Clear the shape of this volume from the list held by the current manager.

Definition at line 654 of file TGeoVolume.cxx.

Referenced by CleanAll().

void TGeoVolume::ClearThreadData ( ) const
virtual

Reimplemented in TGeoVolumeAssembly.

Definition at line 389 of file TGeoVolume.cxx.

Referenced by TGeoVolumeAssembly::ClearThreadData(), and TGeoManager::ClearThreadData().

void TGeoVolume::CloneNodesAndConnect ( TGeoVolume newmother) const

Clone the array of nodes.

Definition at line 1779 of file TGeoVolume.cxx.

Referenced by MakeCopyVolume(), and MakeReflectedVolume().

TGeoVolume * TGeoVolume::CloneVolume ( ) const
virtual

Clone this volume.

build a volume with same name, shape and medium

Reimplemented in TGeoVolumeAssembly.

Definition at line 1731 of file TGeoVolume.cxx.

Referenced by TGeoPhysicalNode::Align(), and MakeReflectedVolume().

Bool_t TGeoVolume::Contains ( const Double_t point) const
inline
Int_t TGeoVolume::CountNodes ( Int_t  nlevels = 1000,
Int_t  option = 0 
)

Count total number of subnodes starting from this volume, nlevels down option = 0 (default) - count only once per volume option = 1 - count every time option = 2 - count volumes on visible branches option = 3 - return maximum level counted already with option = 0.

Definition at line 718 of file TGeoVolume.cxx.

Referenced by TGeoManager::CloseGeometry(), CountNodes(), and TGeoManager::CountNodes().

static void TGeoVolume::CreateDummyMedium ( )
static
void TGeoVolume::CreateThreadData ( Int_t  nthreads)
virtual

Reimplemented in TGeoVolumeAssembly.

Definition at line 397 of file TGeoVolume.cxx.

Referenced by TGeoVolumeAssembly::CreateThreadData(), and TGeoManager::CreateThreadData().

Int_t TGeoVolume::DistancetoPrimitive ( Int_t  px,
Int_t  py 
)
virtual

compute the closest distance of approach from point px,py to this volume

Reimplemented from TObject.

Definition at line 1149 of file TGeoVolume.cxx.

TGeoVolume * TGeoVolume::Divide ( const char *  divname,
Int_t  iaxis,
Int_t  ndiv,
Double_t  start,
Double_t  step,
Int_t  numed = 0,
Option_t option = "" 
)
virtual

Division a la G3.

The volume will be divided along IAXIS (see shape classes), in NDIV slices, from START with given STEP. The division volumes will have medium number NUMED. If NUMED=0 they will get the medium number of the divided volume (this). If NDIV<=0, all range of IAXIS will be divided and the resulting number of divisions will be centered on IAXIS. If STEP<=0, the real STEP will be computed as the full range of IAXIS divided by NDIV. Options (case insensitive): N - divide all range in NDIV cells (same effect as STEP<=0) (GSDVN in G3) NX - divide range starting with START in NDIV cells (GSDVN2 in G3) S - divide all range with given STEP. NDIV is computed and divisions will be centered in full range (same effect as NDIV<=0) (GSDVS, GSDVT in G3) SX - same as DVS, but from START position. (GSDVS2, GSDVT2 in G3)

Reimplemented in TGeoVolumeAssembly, and TGeoVolumeMulti.

Definition at line 1066 of file TGeoVolume.cxx.

Referenced by TGeoVolumeMulti::AddVolume(), TGeoVolumeMulti::Divide(), TGeoBuilder::Division(), TGeoVolumeEditor::DoApplyDiv(), TGeoVolumeMulti::MakeCopyVolume(), ReplayCreation(), and TGDMLParse::VolProcess().

void TGeoVolume::Draw ( Option_t option = "")
virtual
void TGeoVolume::DrawOnly ( Option_t option = "")
virtual

draw only this volume

Reimplemented in TGeoVolumeAssembly.

Definition at line 1178 of file TGeoVolume.cxx.

Referenced by TGeoChecker::CheckBoundaryReference(), and TGeoNode::DrawOnly().

TGeoMedium * TGeoVolume::DummyMedium ( )
static

Definition at line 405 of file TGeoVolume.cxx.

Referenced by TGeoManager::CheckGeometry(), and GetMedium().

void TGeoVolume::ExecuteEvent ( Int_t  event,
Int_t  px,
Int_t  py 
)
virtual

Execute mouse actions on this volume.

Reimplemented from TObject.

Definition at line 1619 of file TGeoVolume.cxx.

Int_t TGeoVolume::Export ( const char *  filename,
const char *  name = "",
Option_t option = "" 
)

Export this volume to a file.

-Case 1: root file or root/xml file if filename end with ".root". The key will be named name if filename end with ".xml" a root/xml file is produced.

-Case 2: C++ script if filename end with ".C"

-Case 3: gdml file if filename end with ".gdml" NOTE that to use this option, the PYTHONPATH must be defined like export PYTHONPATH=$ROOTSYS/lib:$ROOTSYS/gdml

Definition at line 903 of file TGeoVolume.cxx.

Bool_t TGeoVolume::FindMatrixOfDaughterVolume ( TGeoVolume vol) const

Find a daughter node having VOL as volume and fill TGeoManager::fHMatrix with its global matrix.

Definition at line 2277 of file TGeoVolume.cxx.

Referenced by FindMatrixOfDaughterVolume().

TGeoNode * TGeoVolume::FindNode ( const char *  name) const

search a daughter inside the list of nodes

Definition at line 1629 of file TGeoVolume.cxx.

void TGeoVolume::FindOverlaps ( ) const
Int_t TGeoVolume::GetByteCount ( ) const
virtual

get the total size in bytes for this volume

Definition at line 2086 of file TGeoVolume.cxx.

Referenced by TGeoManager::GetByteCount().

virtual Int_t TGeoVolume::GetCurrentNodeIndex ( ) const
inlinevirtual
TObject* TGeoVolume::GetField ( ) const
inline

Definition at line 190 of file TGeoVolume.h.

Referenced by TGeoVolumeAssembly::MakeAssemblyFromVolume(), and ReplaceNode().

TGeoPatternFinder* TGeoVolume::GetFinder ( ) const
inline
TGeoExtension* TGeoVolume::GetFWExtension ( ) const
inline

Definition at line 152 of file TGeoVolume.h.

TGeoManager* TGeoVolume::GetGeoManager ( ) const
inline
const char* TGeoVolume::GetIconName ( ) const
inlinevirtual

Returns mime type name of object.

Used by the TBrowser (via TGMimeTypes class). Override for class of which you would like to have different icons for objects of the same class.

Reimplemented from TObject.

Definition at line 193 of file TGeoVolume.h.

Int_t TGeoVolume::GetIndex ( const TGeoNode node) const
TGeoMaterial* TGeoVolume::GetMaterial ( ) const
inline
TGeoMedium* TGeoVolume::GetMedium ( ) const
inline
Int_t TGeoVolume::GetNdaughters ( ) const
inline

Definition at line 362 of file TGeoVolume.h.

Referenced by TGeoPhysicalNode::Align(), Browse(), TGeoVolumeDialog::BuildListTree(), TGeoVoxelFinder::BuildVoxelLimits(), Capacity(), TGeoChecker::CheckGeometryFull(), TGeoChecker::CheckOverlaps(), CheckOverlaps(), TGeoChecker::CheckOverlapsBySampling(), TGeoChecker::CheckPoint(), TGeoShapeAssembly::ComputeBBox(), TGeoShapeAssembly::ComputeNormal(), TGeoShapeAssembly::Contains(), TGeoNode::CountDaughters(), TGeoManager::CountLevels(), TGeoPainter::CountNodes(), CountNodes(), TGeoPainter::DistanceToPrimitiveVol(), TGeoShapeAssembly::DistFromOutside(), TGeoTrd1::Divide(), TGeoTrd2::Divide(), TGeoTube::Divide(), TGeoPara::Divide(), TGeoBBox::Divide(), TGeoSphere::Divide(), TGeoCone::Divide(), TGeoPcon::Divide(), TGeoPgon::Divide(), TGeoTubeSeg::Divide(), TGeoTrap::Divide(), TGeoConeSeg::Divide(), TGeoVolumeEditor::DoAddNode(), TGeoVolumeEditor::DoEditMatrix(), TGeoVolumeDialog::DoItemClick(), TGeoVolumeEditor::DoRemoveNode(), TGeoNode::DrawOverlaps(), TGeoVoxelFinder::Efficiency(), TEveGeoNode::ExpandIntoListTree(), FindMatrixOfDaughterVolume(), TGeoParallelWorld::FindNextBoundary(), TGeoNavigator::FindNextBoundary(), TGeoNavigator::FindNextBoundaryAndStep(), TGeoNavigator::FindNextDaughterBoundary(), TGeoParallelWorld::FindNode(), TGeoVoxelFinder::FindOverlaps(), FindOverlaps(), TGeoVoxelFinder::GetCheckList(), GetIndex(), TGeoNode::GetNdaughters(), GetOptimalVoxels(), TGeoShapeAssembly::InspectShape(), TGeoVoxelFinder::Intersect(), TGeoVoxelFinder::IntersectAndStore(), InvisibleAll(), IsAllInvisible(), TGeoNavigator::IsSameLocation(), TGeoVolumeAssembly::MakeAssemblyFromVolume(), MakeCopyNodes(), MakeReflectedVolume(), TGeoChecker::NChecksPerVolume(), TGeoIterator::Next(), TGeoMCGeometry::NofVolDaughters(), TOCCToStep::OCCShapeCreation(), TGeoPainter::PaintVolume(), TGeoVoxelFinder::Print(), PrintNodes(), TGeoShapeAssembly::RecomputeBoxLast(), RegisterYourself(), TGeoManager::ReplaceVolume(), ReplayCreation(), TGeoShapeAssembly::Safety(), TGeoParallelWorld::Safety(), SavePrimitive(), TGeoNavigator::SearchNode(), TGeoVolumeEditor::SetModel(), TGeoIterator::Skip(), TGeoVoxelFinder::SortAll(), TGeoVoxelFinder::SortCrossedVoxels(), SortNodes(), TGeoChecker::TimingPerVolume(), TGeoManager::TransformVolumeToAssembly(), TGeoVoxelFinder::Union(), TGeoMCGeometry::VolDaughterCopyNo(), TGeoMCGeometry::VolDaughterName(), TGDMLParse::VolProcess(), TGeoVoxelFinder::Voxelize(), Voxelize(), and WeightA().

virtual Int_t TGeoVolume::GetNextNodeIndex ( ) const
inlinevirtual
TGeoNode * TGeoVolume::GetNode ( const char *  name) const

get the pointer to a daughter node

Definition at line 2076 of file TGeoVolume.cxx.

Referenced by TGeoBranchArray::AddLevel(), TGeoPhysicalNode::Align(), Browse(), TGeoVoxelFinder::BuildVoxelLimits(), Capacity(), TGeoNavigator::cd(), TGeoChecker::CheckOverlaps(), TGeoChecker::CheckOverlapsBySampling(), TGeoNavigator::CheckPath(), TGeoChecker::CheckPoint(), TGeoNode::CheckShapes(), TGeoChecker::CheckVoxels(), CloneNodesAndConnect(), TGeoShapeAssembly::ComputeBBox(), TGeoShapeAssembly::ComputeNormal(), TGeoShapeAssembly::Contains(), CountNodes(), TGeoVoxelFinder::DaughterToMother(), TGeoShapeAssembly::DistFromOutside(), TGeoVolumeEditor::DoAddNode(), TGeoVolumeEditor::DoEditMatrix(), TGeoVolumeDialog::DoItemClick(), TGeoVolumeEditor::DoRemoveNode(), TGeoNode::DrawOverlaps(), FindMatrixOfDaughterVolume(), TGeoParallelWorld::FindNextBoundary(), TGeoNavigator::FindNextBoundary(), TGeoNavigator::FindNextBoundaryAndStep(), TGeoNavigator::FindNextDaughterBoundary(), TGeoParallelWorld::FindNode(), TGeoVoxelFinder::FindOverlaps(), FindOverlaps(), TGeoIterator::GetCurrentMatrix(), TGeoNode::GetDaughter(), TGeoIterator::GetNode(), TGeoPatternFinder::GetNodeOffset(), TGeoIterator::GetPath(), TGeoNode::InspectNode(), InvisibleAll(), IsAllInvisible(), MakeCopyNodes(), TGeoVolumeMulti::MakeCopyVolume(), MakeReflectedVolume(), TGeoChecker::NChecksPerVolume(), TGeoIterator::Next(), TGeoNode::PrintCandidates(), PrintNodes(), TGeoNode::PrintOverlaps(), TGeoShapeAssembly::RecomputeBoxLast(), RegisterYourself(), TGeoManager::ReplaceVolume(), ReplayCreation(), TGeoShapeAssembly::Safety(), TGeoParallelWorld::Safety(), TGeoNavigator::SafetyOverlaps(), SavePrimitive(), TGeoNavigator::SearchNode(), TGeoVolumeEditor::SetModel(), SortNodes(), TGeoMCGeometry::VolDaughterCopyNo(), TGeoMCGeometry::VolDaughterName(), TGeoVoxelFinder::Voxelize(), and WeightA().

TGeoNode* TGeoVolume::GetNode ( Int_t  i) const
inline

Definition at line 196 of file TGeoVolume.h.

Int_t TGeoVolume::GetNodeIndex ( const TGeoNode node,
Int_t check_list,
Int_t  ncheck 
) const

Get the index of a daugther within check_list by providing the node pointer.

Definition at line 1637 of file TGeoVolume.cxx.

TObjArray* TGeoVolume::GetNodes ( )
inline
Int_t TGeoVolume::GetNtotal ( ) const
inline

Definition at line 185 of file TGeoVolume.h.

Referenced by TGeoVolumeAssembly::MakeAssemblyFromVolume().

Int_t TGeoVolume::GetNumber ( ) const
inline
char * TGeoVolume::GetObjectInfo ( Int_t  px,
Int_t  py 
) const
virtual

Get volume info for the browser.

Reimplemented from TObject.

Definition at line 1665 of file TGeoVolume.cxx.

Bool_t TGeoVolume::GetOptimalVoxels ( ) const

— Returns true if cylindrical voxelization is optimal.

Definition at line 1676 of file TGeoVolume.cxx.

Option_t* TGeoVolume::GetOption ( ) const
inlinevirtual

Reimplemented from TObject.

Definition at line 201 of file TGeoVolume.h.

Referenced by TGeoVolumeAssembly::MakeAssemblyFromVolume().

char * TGeoVolume::GetPointerName ( ) const

Provide a pointer name containing uid.

Definition at line 1694 of file TGeoVolume.cxx.

Referenced by SavePrimitive().

Int_t TGeoVolume::GetRefCount ( ) const
inline

Definition at line 150 of file TGeoVolume.h.

Referenced by TGeoManager::CountLevels().

TGeoShape* TGeoVolume::GetShape ( ) const
inline

Definition at line 204 of file TGeoVolume.h.

Referenced by TGeoManager::AddVolume(), TGeoPhysicalNode::Align(), Browse(), TGeoVoxelFinder::BuildVoxelLimits(), TGeoChecker::CheckBoundaryErrors(), TGeoManager::CheckGeometry(), TGeoChecker::CheckOverlapsBySampling(), CheckShapes(), TGeoChecker::CheckVoxels(), TGeoVolumeAssembly::CloneVolume(), TGeoShapeAssembly::ComputeBBox(), TGeoShapeAssembly::ComputeNormal(), TGeoShapeAssembly::Contains(), TGeoManager::CountLevels(), TGeoNavigator::CrossDivisionCell(), TGeoPainter::DistanceToPrimitiveVol(), TGeoShapeAssembly::DistFromOutside(), TGeoVolumeEditor::DoApplyDiv(), TGeoVolumeEditor::DoDivFromTo(), TGeoVolumeEditor::DoDivN(), TGeoVolumeEditor::DoDivSelAxis(), TGeoVolumeEditor::DoDivStep(), TGeoVolumeEditor::DoEditShape(), TEveGeoNode::DumpShapeTree(), TGDMLWrite::ExtractVolumes(), TGeoShape::FillBuffer3D(), TGeoParallelWorld::FindNextBoundary(), TGeoNavigator::FindNextBoundary(), TGeoNavigator::FindNextBoundaryAndStep(), TGeoNavigator::FindNextDaughterBoundary(), TGeoPatternParaX::FindNode(), TGeoPatternParaY::FindNode(), TGeoNavigator::FindNormalFast(), TGeoVolumeMulti::GetLastShape(), TGeoNodeMatrix::GetOptimalVoxels(), TGeoPhysicalNode::GetShape(), TGeoMCGeometry::GetShape(), TGeoPainter::GetVolumeInfo(), TGeoPainter::GrabFocus(), TGeoManager::IsInPhiRange(), TGeoPatternParaX::IsOnBoundary(), TGeoPatternParaY::IsOnBoundary(), TGeoNavigator::IsSameLocation(), TGeoVolumeAssembly::MakeAssemblyFromVolume(), TGeoChecker::MakeCheckOverlap(), TGeoBuilder::Node(), TOCCToStep::OCCShapeCreation(), TGeoPainter::PaintOverlap(), TGeoPainter::PaintPhysicalNode(), TGeoPainter::PaintVolume(), TGeoChecker::RandomPoints(), TGeoChecker::RandomRays(), TGeoShapeAssembly::RecomputeBoxLast(), TGeoParallelWorld::RefreshPhysicalNodes(), ReplaceNode(), TGeoShapeAssembly::Safety(), TGeoNode::Safety(), TGeoNavigator::Safety(), TGeoNavigator::SafetyOverlaps(), TGeoOverlap::SampleOverlap(), TGeoVolumeEditor::SetModel(), TGeoOverlap::Sizeof3D(), TGeoVoxelFinder::SortAll(), TGeoVoxelFinder::SortCrossedVoxels(), TGeoChecker::Test(), TGeoChecker::TestOverlaps(), TGeoPatternParaX::TGeoPatternParaX(), TGeoPatternParaY::TGeoPatternParaY(), TGeoPatternParaZ::TGeoPatternParaZ(), TGeoPatternTrapZ::TGeoPatternTrapZ(), TGeoPatternX::TGeoPatternX(), TGeoPatternY::TGeoPatternY(), TGeoPatternZ::TGeoPatternZ(), TGeoChecker::TimingPerVolume(), TGeoOverlap::Validate(), TGDMLParse::VolProcess(), TGeoBuilder::Volume(), TGeoVoxelFinder::Voxelize(), and TGeoChecker::Weight().

Char_t TGeoVolume::GetTransparency ( ) const
inline
TGeoExtension* TGeoVolume::GetUserExtension ( ) const
inline

Definition at line 151 of file TGeoVolume.h.

TGeoVoxelFinder * TGeoVolume::GetVoxels ( ) const
void TGeoVolume::Grab ( )
inline
void TGeoVolume::GrabFocus ( )

Move perspective view focus to this volume.

Definition at line 1713 of file TGeoVolume.cxx.

TGeoExtension * TGeoVolume::GrabFWExtension ( ) const

Get a copy of the framework extension pointer.

The user must call Release() on the copy pointer once this pointer is not needed anymore (equivalent to delete() after calling new())

Definition at line 1449 of file TGeoVolume.cxx.

TGeoExtension * TGeoVolume::GrabUserExtension ( ) const

Get a copy of the user extension pointer.

The user must call Release() on the copy pointer once this pointer is not needed anymore (equivalent to delete() after calling new())

Definition at line 1438 of file TGeoVolume.cxx.

void TGeoVolume::Gsord ( Int_t  )
inline

Definition at line 206 of file TGeoVolume.h.

TGeoVolume * TGeoVolume::Import ( const char *  filename,
const char *  name = "",
Option_t option = "" 
)
static

Import a volume from a file.

Definition at line 854 of file TGeoVolume.cxx.

void TGeoVolume::InspectMaterial ( ) const

Inspect the material for this volume.

Definition at line 846 of file TGeoVolume.cxx.

Referenced by Print().

void TGeoVolume::InspectShape ( ) const
inline
void TGeoVolume::InvisibleAll ( Bool_t  flag = kTRUE)

Make volume and each of it daughters (in)visible.

Definition at line 780 of file TGeoVolume.cxx.

Bool_t TGeoVolume::IsActive ( ) const
inline
Bool_t TGeoVolume::IsActiveDaughters ( ) const
inline
Bool_t TGeoVolume::IsAdded ( ) const
inline

Definition at line 161 of file TGeoVolume.h.

Referenced by TGeoVolumeDialog::BuildListTree(), and TGeoNode::TGeoNode().

Bool_t TGeoVolume::IsAllInvisible ( ) const

Return TRUE if volume and all daughters are invisible.

Definition at line 769 of file TGeoVolume.cxx.

Bool_t TGeoVolume::IsAssembly ( ) const
virtual
Bool_t TGeoVolume::IsCylVoxels ( ) const
inline

Definition at line 165 of file TGeoVolume.h.

Bool_t TGeoVolume::IsFolder ( ) const
virtual

Return TRUE if volume contains nodes return (GetNdaughters()?kTRUE:kFALSE);.

Reimplemented from TObject.

Definition at line 809 of file TGeoVolume.cxx.

Bool_t TGeoVolume::IsOverlappingCandidate ( ) const
inline
Bool_t TGeoVolume::IsRaytracing ( ) const

Check if the painter is currently ray-tracing the content of this volume.

Definition at line 838 of file TGeoVolume.cxx.

Referenced by TGeoVolumeEditor::DoRaytrace(), TGeoVolumeEditor::DoViewAll(), TGeoVolumeEditor::DoViewLeaves(), TGeoVolumeEditor::DoViewOnly(), TGeoPainter::Paint(), SavePrimitive(), and TGeoVolumeEditor::SetModel().

Bool_t TGeoVolume::IsReplicated ( ) const
inline

Definition at line 163 of file TGeoVolume.h.

Bool_t TGeoVolume::IsRunTime ( ) const
inline

Definition at line 130 of file TGeoVolume.h.

Referenced by TGeoManager::AddVolume().

Bool_t TGeoVolume::IsSelected ( ) const
inline

Definition at line 164 of file TGeoVolume.h.

Referenced by TGeoNode::CheckOverlaps(), and TGeoNode::CountDaughters().

Bool_t TGeoVolume::IsStyleDefault ( ) const

check if the visibility and attributes are the default ones

Definition at line 817 of file TGeoVolume.cxx.

Bool_t TGeoVolume::IsTopVolume ( ) const

True if this is the top volume of the geometry.

Definition at line 829 of file TGeoVolume.cxx.

Referenced by TGDMLWrite::ExtractVolumes().

Bool_t TGeoVolume::IsValid ( ) const
inline

Definition at line 168 of file TGeoVolume.h.

Referenced by AddNode(), AddNodeOffset(), and AddNodeOverlap().

Bool_t TGeoVolume::IsVisContainers ( ) const
inline
virtual Bool_t TGeoVolume::IsVisible ( ) const
inlinevirtual
Bool_t TGeoVolume::IsVisibleDaughters ( ) const
inline
Bool_t TGeoVolume::IsVisLeaves ( ) const
inline
Bool_t TGeoVolume::IsVisOnly ( ) const
inline
virtual Bool_t TGeoVolume::IsVolumeMulti ( ) const
inlinevirtual
Bool_t TGeoVolume::IsXYZVoxels ( ) const
inline

Definition at line 166 of file TGeoVolume.h.

TH2F * TGeoVolume::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 at line 1280 of file TGeoVolume.cxx.

void TGeoVolume::MakeCopyNodes ( const TGeoVolume other)

make a new list of nodes and copy all nodes of other volume inside

Definition at line 1805 of file TGeoVolume.cxx.

Referenced by CloneVolume(), TGeoVolumeAssembly::CloneVolume(), and TGeoVolumeAssembly::MakeAssemblyFromVolume().

TGeoVolume * TGeoVolume::MakeCopyVolume ( TGeoShape newshape)
virtual

make a copy of this volume build a volume with same name, shape and medium

Reimplemented in TGeoVolumeMulti.

Definition at line 1822 of file TGeoVolume.cxx.

Referenced by CheckShapes().

TGeoVolume * TGeoVolume::MakeReflectedVolume ( const char *  newname = "") const

Make a copy of this volume which is reflected with respect to XY plane.

Definition at line 1852 of file TGeoVolume.cxx.

Referenced by TGeoManager::ConvertReflections(), and MakeReflectedVolume().

TGeoVolume & TGeoVolume::operator= ( const TGeoVolume gv)
protected

assignment operator

Definition at line 492 of file TGeoVolume.cxx.

Referenced by TGeoVolumeMulti::operator=().

Bool_t TGeoVolume::OptimizeVoxels ( )

Perform an exensive sampling to find which type of voxelization is most efficient.

Definition at line 1199 of file TGeoVolume.cxx.

Referenced by TGeoManager::OptimizeVoxels().

void TGeoVolume::Paint ( Option_t option = "")
virtual

paint volume

Reimplemented from TObject.

Definition at line 1219 of file TGeoVolume.cxx.

void TGeoVolume::Print ( Option_t option = "") const
virtual

Print volume info.

Reimplemented from TNamed.

Definition at line 1209 of file TGeoVolume.cxx.

Referenced by TGeoNode::InspectNode().

void TGeoVolume::PrintNodes ( ) const

print nodes

Definition at line 1268 of file TGeoVolume.cxx.

void TGeoVolume::PrintVoxels ( ) const

Print the voxels for this volume.

Definition at line 1234 of file TGeoVolume.cxx.

void TGeoVolume::RandomPoints ( Int_t  npoints = 1000000,
Option_t option = "" 
)

Draw random points in the bounding box of this volume.

Definition at line 1336 of file TGeoVolume.cxx.

void TGeoVolume::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 at line 1349 of file TGeoVolume.cxx.

void TGeoVolume::Raytrace ( Bool_t  flag = kTRUE)

Draw this volume with current settings and perform raytracing in the pad.

Definition at line 1362 of file TGeoVolume.cxx.

Referenced by TGeoVolumeEditor::DoRaytrace(), TGeoVolumeEditor::DoViewAll(), TGeoVolumeEditor::DoViewLeaves(), and TGeoVolumeEditor::DoViewOnly().

void TGeoVolume::RegisterYourself ( Option_t option = "")

Register the volume and all materials/media/matrices/shapes to the manager.

Definition at line 1296 of file TGeoVolume.cxx.

Referenced by Import(), and RegisterYourself().

void TGeoVolume::Release ( )
inline

Definition at line 156 of file TGeoVolume.h.

Referenced by TGeoManager::CountLevels().

void TGeoVolume::RemoveNode ( TGeoNode node)

Remove an existing daughter.

Definition at line 2127 of file TGeoVolume.cxx.

Referenced by TGeoVolumeEditor::DoRemoveNode().

TGeoNode * TGeoVolume::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, position or medium.

Not allowed for positioned assemblies. For division cells, the new shape/matrix are ignored.

Definition at line 2141 of file TGeoVolume.cxx.

void TGeoVolume::ReplayCreation ( const TGeoVolume other)

Recreate the content of the other volume without pointer copying.

Voxels are ignored and supposed to be created in a later step via Voxelize.

Definition at line 1243 of file TGeoVolume.cxx.

Referenced by ReplayCreation(), and TGDMLParse::VolProcess().

void TGeoVolume::SaveAs ( const char *  filename,
Option_t option = "" 
) const
virtual

Save geometry having this as top volume as a C++ macro.

Reimplemented from TObject.

Definition at line 1381 of file TGeoVolume.cxx.

Referenced by Export(), and TGeoManager::Export().

void TGeoVolume::SavePrimitive ( std::ostream &  out,
Option_t option = "" 
)
virtual

Save a primitive as a C++ statement(s) on output stream "out".

Reimplemented from TObject.

Definition at line 1458 of file TGeoVolume.cxx.

Referenced by SavePrimitive().

void TGeoVolume::SelectVolume ( Bool_t  clear = kFALSE)

Select this volume as matching an arbitrary criteria.

The volume is added to a static list and the flag TGeoVolume::kVolumeSelected is set. All flags need to be reset at the end by calling the method with CLEAR=true. This will also clear the list.

Definition at line 2192 of file TGeoVolume.cxx.

Referenced by TGeoNode::CheckOverlaps(), and TGeoNode::CountDaughters().

void TGeoVolume::SetActiveDaughters ( Bool_t  flag = kTRUE)
inline

Definition at line 224 of file TGeoVolume.h.

void TGeoVolume::SetActivity ( Bool_t  flag = kTRUE)
inline

Definition at line 223 of file TGeoVolume.h.

void TGeoVolume::SetAdded ( )
inline

Definition at line 226 of file TGeoVolume.h.

Referenced by TGeoNode::TGeoNode().

void TGeoVolume::SetAsTopVolume ( )

Set this volume as the TOP one (the whole geometry starts from here)

Definition at line 1941 of file TGeoVolume.cxx.

void TGeoVolume::SetAttVisibility ( Bool_t  vis)
inline

Definition at line 236 of file TGeoVolume.h.

Referenced by InvisibleAll().

void TGeoVolume::SetCurrentPoint ( Double_t  x,
Double_t  y,
Double_t  z 
)

Set the current tracking point.

Definition at line 1949 of file TGeoVolume.cxx.

Referenced by TGeoNode::SetCurrentPoint().

void TGeoVolume::SetCylVoxels ( Bool_t  flag = kTRUE)
inline

Definition at line 229 of file TGeoVolume.h.

Referenced by TGeoVoxelFinder::TGeoVoxelFinder().

void TGeoVolume::SetField ( TObject field)
inline
void TGeoVolume::SetFinder ( TGeoPatternFinder finder)
inline
void TGeoVolume::SetFWExtension ( TGeoExtension ext)

Connect framework defined extension to the volume.

The volume "grabs" a copy, so the original object can be released by the producer. Release the previously

connected extension if any.

NOTE: This interface is intended for the use by TGeo and the users should

NOT connect extensions using this method

Definition at line 1426 of file TGeoVolume.cxx.

Referenced by CloneVolume(), MakeCopyVolume(), and TGeoVolumeMulti::MakeCopyVolume().

void TGeoVolume::SetInvisible ( )
inline

Definition at line 244 of file TGeoVolume.h.

void TGeoVolume::SetLineColor ( Color_t  lcolor)
virtual
void TGeoVolume::SetLineStyle ( Style_t  lstyle)
virtual
void TGeoVolume::SetLineWidth ( Width_t  lwidth)
virtual
virtual void TGeoVolume::SetMedium ( TGeoMedium medium)
inlinevirtual

Reimplemented in TGeoVolumeMulti.

Definition at line 245 of file TGeoVolume.h.

Referenced by TGeoManager::CheckGeometry(), Divide(), and TGeoVolumeMulti::SetMedium().

void TGeoVolume::SetNodes ( TObjArray nodes)
inline
void TGeoVolume::SetNtotal ( Int_t  ntotal)
inline
void TGeoVolume::SetNumber ( Int_t  number)
inline
void TGeoVolume::SetOption ( const char *  option)

Set the current options (none implemented)

Definition at line 2044 of file TGeoVolume.cxx.

Referenced by CloneVolume(), TGeoVolumeAssembly::CloneVolume(), and TGeoVolumeAssembly::MakeAssemblyFromVolume().

void TGeoVolume::SetOverlappingCandidate ( Bool_t  flag)
inline
void TGeoVolume::SetReplicated ( )
inline

Definition at line 227 of file TGeoVolume.h.

Referenced by TGeoNode::TGeoNode().

void TGeoVolume::SetShape ( const TGeoShape shape)
void TGeoVolume::SetTransparency ( Char_t  transparency = 0)
inline
void TGeoVolume::SetUserExtension ( TGeoExtension ext)

Connect user-defined extension to the volume.

The volume "grabs" a copy, so the original object can be released by the producer. Release the previously

connected extension if any.

NOTE: This interface is intended for user extensions and is guaranteed not

to be used by TGeo

Definition at line 1410 of file TGeoVolume.cxx.

Referenced by CloneVolume(), MakeCopyVolume(), TGeoVolumeMulti::MakeCopyVolume(), and TGDMLParse::VolProcess().

void TGeoVolume::SetVisContainers ( Bool_t  flag = kTRUE)
virtual

Set visibility for containers.

Reimplemented from TGeoAtt.

Definition at line 2231 of file TGeoVolume.cxx.

Referenced by TGeoVolumeEditor::DoViewAll(), and TEveGeoTopNode::Paint().

void TGeoVolume::SetVisibility ( Bool_t  vis = kTRUE)
virtual
void TGeoVolume::SetVisLeaves ( Bool_t  flag = kTRUE)
virtual

Set visibility for leaves.

Reimplemented from TGeoAtt.

Definition at line 2243 of file TGeoVolume.cxx.

Referenced by TGeoVolumeEditor::DoViewLeaves(), Draw(), and TEveGeoTopNode::Paint().

void TGeoVolume::SetVisOnly ( Bool_t  flag = kTRUE)
virtual

Set visibility for leaves.

Reimplemented from TGeoAtt.

Definition at line 2255 of file TGeoVolume.cxx.

Referenced by TGeoVolumeEditor::DoViewOnly(), DrawOnly(), and TEveGeoTopNode::Paint().

void TGeoVolume::SetVoxelFinder ( TGeoVoxelFinder finder)
inline
void TGeoVolume::SortNodes ( )

sort nodes by decreasing volume of the bounding box.

ONLY nodes comes first, then overlapping nodes and finally division nodes.

Definition at line 1970 of file TGeoVolume.cxx.

Referenced by TGeoManager::Voxelize().

void TGeoVolume::UnmarkSaved ( )

Reset SavePrimitive bits.

Definition at line 1609 of file TGeoVolume.cxx.

Referenced by TGeoManager::SetAllIndex().

Bool_t TGeoVolume::Valid ( ) const

Check if the shape of this volume is valid.

Definition at line 2268 of file TGeoVolume.cxx.

Referenced by FindOverlaps(), SortNodes(), and Voxelize().

void TGeoVolume::VisibleDaughters ( Bool_t  vis = kTRUE)

set visibility for daughters

Definition at line 2308 of file TGeoVolume.cxx.

Referenced by TGeoVolumeEditor::DoVisDaughters(), TEveGeoNodeEditor::DoVizVolumeDaughters(), and TGeoChecker::RandomPoints().

void TGeoVolume::Voxelize ( Option_t option)

build the voxels for this volume

Definition at line 2318 of file TGeoVolume.cxx.

Referenced by TGeoParallelWorld::RefreshPhysicalNodes(), and TGeoManager::Voxelize().

Double_t TGeoVolume::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.

Option can contain : v - verbose, a - analytical (default)

Definition at line 2351 of file TGeoVolume.cxx.

Double_t TGeoVolume::WeightA ( ) const

Analytical computation of the weight.

Definition at line 2364 of file TGeoVolume.cxx.

Referenced by TGeoManager::Weight(), and WeightA().

Member Data Documentation

TObject* TGeoVolume::fField
protected
TGeoPatternFinder* TGeoVolume::fFinder
protected
TGeoExtension* TGeoVolume::fFWExtension
protected

Transient user-defined extension to volumes.

Definition at line 82 of file TGeoVolume.h.

Referenced by CloneVolume(), GetFWExtension(), GrabFWExtension(), MakeCopyVolume(), TGeoVolumeMulti::MakeCopyVolume(), operator=(), SetFWExtension(), TGeoVolume(), and ~TGeoVolume().

TGeoMedium* TGeoVolume::fgDummyMedium
staticprotected

Definition at line 71 of file TGeoVolume.h.

Referenced by DummyMedium().

TGeoManager* TGeoVolume::fGeoManager
protected
TGeoMedium* TGeoVolume::fMedium
protected
TObjArray* TGeoVolume::fNodes
protected
Int_t TGeoVolume::fNtotal
protected
Int_t TGeoVolume::fNumber
protected
TString TGeoVolume::fOption
protected
Int_t TGeoVolume::fRefCount
protected

Definition at line 80 of file TGeoVolume.h.

Referenced by AddNode(), GetRefCount(), operator=(), Print(), and TGeoVolume().

TGeoShape* TGeoVolume::fShape
protected
TGeoExtension* TGeoVolume::fUserExtension
protected
TGeoVoxelFinder* TGeoVolume::fVoxels
protected

The documentation for this class was generated from the following files: