00001 // $Id: GiGaLeaf.h,v 1.2 2002/08/23 08:19:40 witoldp Exp $ 00002 // ============================================================================ 00003 // CVS tag $Name: v18r6 $ 00004 // ============================================================================ 00005 // $Log: GiGaLeaf.h,v $ 00006 // Revision 1.2 2002/08/23 08:19:40 witoldp 00007 // Hits converters removed, bug fix 00008 // 00009 // Revision 1.1 2002/01/22 18:24:41 ibelyaev 00010 // Vanya: update for newer versions of Geant4 and Gaudi 00011 // 00012 // ============================================================================ 00013 #ifndef GIGACNV_GIGALEAF_H 00014 #define GIGACNV_GIGALEAF_H 1 00015 // Include files 00016 // STD & STL 00017 #include <string> 00018 #include <vector> 00019 // GaudiKernel 00020 #include "GaudiKernel/ClassID.h" 00021 00022 00032 class GiGaLeaf 00033 { 00034 public: 00035 00036 typedef std::vector<std::string> Pars ; 00037 typedef std::vector<unsigned long> IPars ; 00038 00039 public: 00040 00047 GiGaLeaf( const std::string& path = "" , 00048 const CLID& clid = CLID () , 00049 const Pars& pars = Pars () , 00050 const IPars& ipars = IPars () ); 00051 00054 virtual ~GiGaLeaf(); 00055 00056 public: 00057 00061 inline const std::string& path () const { return m_path ; } 00062 00066 inline const CLID& clid () const { return m_clid ; } 00067 00072 inline const std::string* par () const 00073 { return pars().empty() ? (const std::string*) 0 : &(pars().front()); } 00074 00079 inline const unsigned long* ipar () const 00080 { return ipars().empty() ? (const unsigned long*) 0 : &(ipars().front()); } 00081 00085 inline const Pars& pars () const { return m_pars ; } 00086 00090 inline const IPars& ipars () const { return m_ipars; } 00091 00095 inline void setPath ( const std::string& value ) { m_path = value ; } 00096 00100 inline void setClid ( const CLID& value ) { m_clid = value ; } 00101 00105 inline void setPars ( const Pars& value ) 00106 { 00107 m_pars = value ; 00108 if(m_pars.size()==1) { m_pars.push_back(""); } 00109 } 00110 00111 00115 inline void setIPars ( const IPars& value ) { m_ipars = value ; } 00116 00117 private: 00118 00119 std::string m_path ; 00120 CLID m_clid ; 00121 Pars m_pars ; 00122 IPars m_ipars ; 00123 00124 }; 00125 00126 // ============================================================================ 00127 // End 00128 // ============================================================================ 00129 #endif // GIGACNV_GIGALEAF_H 00130 // ============================================================================