CMS 3D CMS Logo

VisG4Details.h

Go to the documentation of this file.
00001 
00002 #ifndef VIS_G4_VOLUMES_IG_SO_MATERIAL_DETAILS_H
00003 # define VIS_G4_VOLUMES_IG_SO_MATERIAL_DETAILS_H
00004 
00005 //<<<<<< INCLUDES                                                       >>>>>>
00006 
00007 # include "VisGeant4/VisG4Volumes/interface/config.h"
00008 
00009 # include <string>
00010 # include <functional>
00011 
00012 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00013 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00014 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00015 
00016 class IgRep;
00017 class G4Material;
00018 class G4VPhysicalVolume;
00019 
00020 class VisG4RepDetails;
00021 class VisG4MaterialDetails;
00022 class VisG4PVDetails;
00023 class VisG4PathDetails;
00024 
00025 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00026 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00027 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00028 
00029 class VIS_G4_VOLUMES_API VisG4RepDetails
00030 {
00031 public:
00032     VisG4RepDetails (void);    
00033     VisG4RepDetails (const IgRep *t);
00034     VisG4RepDetails (const VisG4RepDetails &t);
00035 
00036     struct less
00037     {
00038         bool operator() (const VisG4RepDetails& x, 
00039                          const VisG4RepDetails& y) const;       
00040     };
00041     
00042     bool operator== (const VisG4RepDetails &t) const;        
00043     bool operator< (const VisG4RepDetails &t) const;        
00044 };
00045 
00046 class VIS_G4_VOLUMES_API VisG4MaterialDetails
00047 {
00048 public:
00049     VisG4MaterialDetails (void);    
00050     VisG4MaterialDetails (const G4Material *t);
00051     VisG4MaterialDetails (const VisG4MaterialDetails &t);
00052     
00053     std::string name (void) const;
00054     float density (void) const;
00055     
00056     struct less
00057     {
00058         bool operator () (const VisG4MaterialDetails& x, 
00059                           const VisG4MaterialDetails& y) const; 
00060     };
00061 
00062     bool operator== (const VisG4MaterialDetails &t) const;        
00063     bool operator< (const VisG4MaterialDetails &t) const;        
00064 
00065 private:
00066     std::string m_name;
00067     float m_density;    
00068 };
00069 
00070 
00071 class VIS_G4_VOLUMES_API VisG4PVDetails
00072 {
00073 public:
00074     VisG4PVDetails (void);    
00075     VisG4PVDetails (const G4VPhysicalVolume *pv);    
00076     VisG4PVDetails (const VisG4PVDetails &t);
00077 
00078     bool sensitive () const;
00079     
00080     struct less
00081     {
00082         bool operator() (const VisG4PVDetails& x, 
00083                          const VisG4PVDetails& y);      
00084     };
00085 
00086     bool operator== (const VisG4PVDetails &t) const;        
00087     bool operator< (const VisG4PVDetails &t) const;        
00088 private:
00089     bool m_sensitive;    
00090 };
00091 
00092 
00093 class VIS_G4_VOLUMES_API VisG4PathDetails
00094 {
00095 public:
00096     VisG4PathDetails (void);
00097     VisG4PathDetails (const VisG4PathDetails &t);
00098     VisG4PathDetails (const std::string &path);
00099     
00100     const std::string &path (void) const;    
00101 
00102     struct less
00103     {
00104         bool operator() (const VisG4PathDetails& x, 
00105                          const VisG4PathDetails& y);
00106     };
00107         
00108     bool operator== (const VisG4PathDetails &t) const; 
00109     bool operator< (const VisG4PathDetails &t) const; 
00110 private:
00111     std::string         m_path;    
00112 };
00113 
00114 
00115 class VIS_G4_VOLUMES_API VisSoMaterialDetails
00116 {
00117 public:
00118     VisSoMaterialDetails (void);
00119 
00120     VisSoMaterialDetails &operator<< (const VisG4RepDetails &detail);
00121     VisSoMaterialDetails &operator<< (const VisG4MaterialDetails &detail);
00122     VisSoMaterialDetails &operator<< (const VisG4PVDetails &detail);
00123     VisSoMaterialDetails &operator<< (const VisG4PathDetails &detail);
00124 
00125     VisG4RepDetails repDetails (void) const;
00126     VisG4MaterialDetails g4MaterialDetails (void) const;
00127     VisG4PVDetails pvDetails (void) const;
00128     VisG4PathDetails pathDetails (void) const;
00129 
00130     struct less
00131     {
00132         bool operator() (const VisSoMaterialDetails& x,
00133                          const VisSoMaterialDetails& y);        
00134     };
00135     
00136     bool operator== (const VisSoMaterialDetails &a) const;    
00137 private:
00138     VisG4RepDetails m_repDetails;
00139     VisG4MaterialDetails m_g4MaterialDetails;
00140     VisG4PVDetails m_pvDetails;
00141     VisG4PathDetails m_pathDetails;
00142 
00143     // implicit copy constructor
00144     // implicit assignment operator
00145     // implicit destructor
00146 };
00147 
00148 
00149 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00150 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00151 
00152 #endif // VIS_G4_VOLUMES_IG_SO_MATERIAL_DETAILS_H

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