Back to index

See source file

PHIODataNode.h

 
//----------------------------------------------------------------------------- 
//  $Header: /afs/rhic/phenix/cvsroot/offline/framework/phool/PHIODataNode.h,v 1.13 2001/03/14 20:13:03 momchil Exp $ 
// 
//  The PHOOL Program Library   
//  Copyright (C) PHENIX collaboration, 1999 
// 
//  Declaration of class PHIODataNode 
// 
//  Purpose: a node which can hold persistent data 
// 
//  Author: Matthias Messer 
//----------------------------------------------------------------------------- 
#ifndef PHIODATANODE_H 
#define PHIODATANODE_H 
 
#include "phool.h" 
#include "PHDataNode.h" 
#include "PHIOManager.h" 
#include "PHNodeIOManager.h" 
#include "TObject.h" 
#include "PHObject.h" 
 
template <class T> class PHIODataNode : public PHDataNode<T> {  
 
  friend class PHNodeIOManager; 
   
public:  
   PHIODataNode(T*, const PHString&);  
   PHIODataNode(T*, const PHString&, const PHString&); 
   virtual ~PHIODataNode();  
 
protected:    
   virtual PHBoolean write(PHIOManager *, const PHString& = ""); 
    
protected: 
   PHIODataNode();  
 
};  
 
template <class T> PHIODataNode<T>::PHIODataNode()  
{ 
} 
 
template <class T> PHIODataNode<T>::PHIODataNode(T* d, const PHString& name)  
  : PHDataNode<T>(d,name) 
{ 
   type = "PHIODataNode"; 
} 
 
template <class T> PHIODataNode<T>::PHIODataNode(T* d, const PHString& name, const PHString& objtype) 
  : PHDataNode<T>(d,name,objtype) 
{ 
   type = "PHIODataNode"; 
} 
 
template <class T> PHIODataNode<T>::~PHIODataNode()  
{ 
} 
 
 
template <class T> PHBoolean PHIODataNode<T>::write(PHIOManager* IOManager, const PHString& path) 
{ 
   PHNodeIOManager *nodeIOManager; 
   if (nodeIOManager = dynamic_cast<PHNodeIOManager*>(IOManager)) { 
      PHString newPath = path + "/" + name; 
      return nodeIOManager->write((TObject**)&data, newPath); 
   } 
   return True; 
} 
 
#endif /* PHIODATANODE_H */  

Back to index

See source file