CMS 3D CMS Logo

VisG4VolumeTwig.h

Go to the documentation of this file.
00001 #ifndef VIS_G4_VOLUMES_VIS_G4_VOLUME_TWIG_H
00002 # define VIS_G4_VOLUMES_VIS_G4_VOLUME_TWIG_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "VisGeant4/VisG4Volumes/interface/config.h"
00007 # include "VisGeant4/VisG4Core/interface/VisG4Path.h"
00008 # include "Iguana/Framework/interface/IgTwig.h"
00009 # include <vector>
00010 
00011 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00012 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00013 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00014 
00015 class G4VPhysicalVolume;
00016 class VisG4MaterialFilter;
00017 class VisG4Filter;
00018 
00019 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00020 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00021 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00022 
00024 class VIS_G4_VOLUMES_API VisG4VolumeTwig : public IgCompoundTwig
00025 {
00026 public:
00027     VisG4VolumeTwig (IgTwig             *parent,
00028                     G4VPhysicalVolume   *in,
00029                     bool                traverse = false,
00030                     bool                visible = false,
00031                     bool                open = false,
00032                     bool                logical = true);
00033     // implicit copy constructor
00034     // implicit assignment operator
00035     // implicit destructor
00036 
00037     //VisG4Path                 path (void) const;
00038     unsigned                    paths (void);
00039     VisG4Path                   path (unsigned index);
00040 
00041     G4VPhysicalVolume *         volume (void) const;
00042     VisG4VolumeTwig *           select (const VisG4Path &path,
00043                                         bool autoexpand = false);
00044 
00045     unsigned                    physicalChildren (void);
00046     IgTwig *                    physicalChild (unsigned index);
00047 
00048     virtual std::string         name (void) const;
00049     virtual void                name (const std::string &value);
00050 
00051     virtual bool                expand (void);
00052 
00053     virtual bool                selfTraverse (void) const;
00054     virtual void                selfTraverse (bool value);
00055 
00056     virtual bool                selfVisible (void) const;
00057     virtual void                selfVisible (bool value);
00058 
00059     virtual bool                cascade (void) const;
00060     virtual void                cascade (bool value);
00061 
00062     virtual bool                logical (void) const;
00063     virtual void                logical (bool value);
00064 
00065     static VisG4MaterialFilter          *m_materialFilter;    
00066     static VisG4Filter                  *m_visualizationFilter;    
00067 private:
00068     static const unsigned int   TRAVERSE = 2;
00069     static const unsigned int   VISIBLE = 4;
00070     static const unsigned int   CASCADE = 8;
00071     static const unsigned int   LOGICAL = 16;
00072 
00073     G4VPhysicalVolume           *m_volume;
00074     std::vector<VisG4Path>      m_paths;
00075 };
00076 
00077 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00078 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00079 
00080 #endif // VIS_G4_VOLUMES_VIS_G4_VOLUME_TWIG_H

Generated on Tue Jun 9 17:50:06 2009 for CMSSW by  doxygen 1.5.4