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

In This Package:

RootObjAddress.h

Go to the documentation of this file.
00001 #ifndef ROOTHISTCNV_ROOTOBJADDRESS_H
00002 #define ROOTHISTCNV_ROOTOBJADDRESS_H 1
00003 
00004 #include "GaudiKernel/IOpaqueAddress.h"
00005 
00006 class TObject;
00007 
00008 namespace RootHistCnv {
00009 
00010   class RootObjAddress: public IOpaqueAddress {
00011 
00012 
00013   protected:
00014 
00015     unsigned long   m_refCount;
00017     long            m_svcType;
00019     CLID            m_clID;
00021     std::string     m_par[2];
00023     unsigned long   m_ipar[2];
00025     IRegistry*      m_pRegistry;
00027     TObject*        m_tObj;
00028 
00029   public:
00030     
00032     RootObjAddress() 
00033       : m_refCount(0), 
00034       m_svcType(0),
00035       m_clID(0),
00036       m_pRegistry(0),
00037       m_tObj(0)
00038     {
00039       m_ipar[0]=m_ipar[1]=0xFFFFFFFF;
00040     }
00041 
00042     RootObjAddress(const RootObjAddress& copy)  
00043       : IOpaqueAddress(copy),
00044         m_refCount(0),
00045         m_svcType(copy.m_svcType),
00046         m_clID(copy.m_clID),
00047         m_pRegistry(copy.m_pRegistry),
00048         m_tObj(copy.m_tObj)
00049     {
00050       m_par[0]  = copy.m_par[0];
00051       m_par[1]  = copy.m_par[1];
00052       m_ipar[0] = copy.m_ipar[0];
00053       m_ipar[1] = copy.m_ipar[1];
00054     }
00055 
00057     RootObjAddress( long svc,
00058                     const CLID& clid,
00059                     const std::string& p1="", 
00060                     const std::string& p2="",
00061                     unsigned long ip1=0,
00062                     unsigned long ip2=0,
00063                     TObject* tObj=0 )
00064       : m_refCount(0),
00065       m_svcType(svc),
00066       m_clID(clid),
00067       m_pRegistry(0),
00068       m_tObj(tObj)
00069     {
00070       m_par[0]  = p1;
00071       m_par[1]  = p2;
00072       m_ipar[0] = ip1;
00073       m_ipar[1] = ip2;
00074     }
00075     
00077     virtual ~RootObjAddress()   {
00078     }
00079 
00081     virtual unsigned long addRef   ()   {
00082       return ++m_refCount;
00083     }
00084 
00085     virtual unsigned long release  ()   {
00086       int cnt = --m_refCount;
00087       if ( 0 == cnt )   {
00088         delete this;
00089       }
00090       return cnt;
00091     }
00093     virtual IRegistry* registry()   const     {
00094       return m_pRegistry;
00095     }
00097     virtual void setRegistry(IRegistry* pRegistry)   {
00098       m_pRegistry = pRegistry;
00099     }
00101     virtual const CLID& clID()  const   {
00102       return m_clID;
00103     }
00105     virtual void setClID(const CLID& clid)   {
00106       m_clID = clid;
00107     }
00109     virtual long svcType()  const    {
00110       return m_svcType;
00111     }
00113     virtual void setSvcType(long typ)    {
00114       m_svcType = typ;
00115     }
00117     virtual const std::string* par() const   {
00118       return m_par;
00119     }
00121     virtual const unsigned long* ipar()  const  {
00122       return m_ipar;
00123     }
00124 
00126     virtual TObject* tObj() const {
00127       return m_tObj;
00128     }
00129 
00130   };
00131 };
00132 
00133 #endif
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:44 2011 for RootHistCnv by doxygen 1.4.7