| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

IGiGaGeomCnvSvc.h

Go to the documentation of this file.
00001 // $Id: IGiGaGeomCnvSvc.h,v 1.8 2007/08/02 15:03:23 gcorti Exp $ 
00002 #ifndef  GIGACNV_IGIGAGEOMCNVSVC_H 
00003 #define  GIGACNV_IGIGAGEOMCNVSVC_H 1
00004 
00005 // Include files
00006 // from GiGa 
00007 #include "GiGa/IGiGaGeoSrc.h" 
00008 #include "GiGaCnv/IGiGaCnvSvc.h" 
00009 #include "GiGaCnv/GiGaVolume.h"
00010 
00011 // forward declarations
00012 class ISolid;
00013 class IMagneticFieldSvc;
00014 
00015 class G4LogicalVolume;
00016 class G4VSolid; 
00017 class G4Material; 
00018 
00019 class IGiGaSensDet  ;
00020 class IGiGaMagField ;
00021 class IGiGaFieldMgr ;
00022 
00032 class IGiGaGeomCnvSvc: virtual public IGiGaCnvSvc,
00033                        virtual public IGiGaGeoSrc {
00034  public:  
00035   
00037   static const InterfaceID& interfaceID() ;
00038   
00044   virtual G4Material* material( const std::string& name ) = 0;
00045   
00051   virtual GiGaVolume volume( const std::string& name ) = 0;
00052   
00057   virtual G4VSolid*    solid  
00058   ( const ISolid*      Solid  ) = 0 ;
00059   
00065   virtual StatusCode   sensitive   
00066   ( const std::string& name   , 
00067     IGiGaSensDet*&     det    ) = 0 ;
00068   
00074   virtual StatusCode   fieldMgr 
00075   ( const std::string& name   , 
00076     IGiGaFieldMgr*&    mgr    ) = 0 ;
00077   
00087   virtual G4LogicalVolume*    createG4LV 
00088   ( G4VSolid*          solid    , 
00089     G4Material*        material , 
00090     const std::string& name     ) = 0 ;
00091   
00098   virtual G4Material*         g4Material 
00099   ( const std::string& Name ) = 0 ;
00100   
00108   virtual G4LogicalVolume*    g4LVolume  
00109   ( const std::string& Name ) = 0 ; 
00110   
00116   virtual G4VSolid*           g4Solid  
00117   ( const ISolid*      Solid  ) = 0 ; 
00118   
00125   virtual StatusCode          sensDet  
00126   ( const std::string& Name   , 
00127     IGiGaSensDet*&     Det    ) = 0 ;
00128   
00135   virtual StatusCode   magnetic 
00136   ( const std::string& name   , 
00137     IGiGaMagField*&    mag    ) = 0 ;
00138   
00145   virtual StatusCode          magField 
00146   ( const std::string& Name   , 
00147     IGiGaMagField*&    Mag    ) = 0 ;
00148 
00151   virtual bool useAlignment() = 0;
00152  
00155   virtual bool alignAll() = 0;
00156  
00158   virtual const std::vector<std::string>& alignDets() = 0;
00159 
00160 protected: 
00161 
00162   virtual ~IGiGaGeomCnvSvc() ;
00163 
00164 };
00165 
00166 
00167 #endif    
00168 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:03:52 2011 for GiGaCnv by doxygen 1.4.7