00001 // $Id: GiGaAssembly.h,v 1.4 2007/07/02 08:48:54 gcorti Exp $ 00002 #ifndef GIGACNV_GIGAASSEMBLY_H 00003 #define GIGACNV_GIGAASSEMBLY_H 1 00004 00005 // Include files 00006 // STD & STL 00007 #include <vector> 00008 #include <string> 00009 00010 // GaudiKernel 00011 #include "GaudiKernel/Transform3DTypes.h" 00012 #include "GaudiKernel/StatusCode.h" 00013 00014 // GiGaCnv 00015 #include "GiGaCnv/GiGaVolumePair.h" 00016 00025 class GiGaAssembly 00026 { 00027 00028 public: 00029 00032 typedef std::pair<G4LogicalVolume*,std::string> NickV ; 00033 // typedef std::pair<NickV,HepTransform> Volume ; 00034 typedef std::pair<NickV,Gaudi::Transform3D> Volume ; 00035 // typedef std::pair<G4LogicalVolume*,HepTransform3D> Volume ; 00036 typedef std::vector<Volume> Volumes ; 00037 00038 public: 00039 00043 GiGaAssembly ( const std::string& Name = "" ); 00044 00048 GiGaAssembly ( const GiGaAssembly& right ); 00049 00051 virtual ~GiGaAssembly (); 00052 00056 inline const Volumes& volumes () const { return m_volumes ; } 00057 00061 const std::string& name() const { return m_name ; } 00062 00066 inline void setName( const std::string& value = "" ) { m_name = value ; } 00067 00073 StatusCode addVolume( const GiGaVolumePair& value , 00074 const std::string& name = "" ) ; 00075 00076 private: 00077 00078 std::string m_name ; 00079 Volumes m_volumes ; 00080 00081 }; 00082 00083 // ============================================================================ 00084 // End 00085 // ============================================================================ 00086 #endif // GIGACNV_GIGAASSEMBLY_H 00087 // ============================================================================