Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

GeoVolume.h

Go to the documentation of this file.
00001 
00002 //
00003 // GeoVolume
00004 //
00005 // GeoVolume is a specialized TGeoVolume to implement Minos specific methods
00006 // that are generic to all Minos volume types (plane,module,strip)
00007 //
00008 // Author:  S. Kasahara  04/05
00010 
00011 #ifndef GEOVOLUME_H
00012 #define GEOVOLUME_H
00013 
00014 #include <TGeoVolume.h>  // base class
00015 #include "GeoGeometry/GeoGeometry.h"
00016 
00017 class TGeoShape;
00018 
00019 class GeoVolume : public TGeoVolume {
00020 
00021  public:
00022 
00023   GeoVolume(): fGeoGeometry(0), fShpName("") {} // def, used by i/o 
00024   virtual ~GeoVolume() {}
00025   virtual void UpdateGlobalManager() const 
00026     { if ( fGeoGeometry ) fGeoGeometry->UpdateGlobalManager(); 
00027       else gGeoManager = 0; }
00028   
00029   // State testing methods
00030   
00031        
00032  protected:
00033  
00034   GeoVolume(GeoGeometry* geo, const char* volname, const TGeoMedium* med);
00035   TGeoShape* GetExistingShape() const;
00036   virtual Float_t GetScale() const { 
00037                          return Geo::GetScale(fGeoGeometry->GetAppType()); }
00038   
00039  private:
00040 
00041   // Disable copy and assignment ctor by making them private and w/no imp
00042   GeoVolume(const GeoVolume& that);
00043   GeoVolume& operator=(const GeoVolume& that);
00044 
00045  protected:
00046 
00047   GeoGeometry* fGeoGeometry;  
00048   std::string  fShpName;      // name of associated volume shape
00049 
00050 ClassDef(GeoVolume,1)
00051 };
00052 #endif // GEOVOLUME_H

Generated on Mon Feb 15 11:06:46 2010 for loon by  doxygen 1.3.9.1