PHModuleManager.h
//-----------------------------------------------------------------------------
// $Header: /afs/rhic/phenix/cvsroot/offline/framework/phool/PHModuleManager.h,v 1.4 2000/10/17 19:17:55 irina Exp $
//
// The PHOOL's Software
// Copyright (C) PHENIX collaboration, 1999
//
// Declaration of class PHModuleManager
//
// Purpose: manages a (internal) list of PHModules
//
// Author: Matthias Messer
//-----------------------------------------------------------------------------
#ifndef PHMODULEMANAGER_H
#define PHMODULEMANAGER_H
#include "phool.h"
#include "PHCompositeNode.h"
class PHModule;
class PHString;
class PHModuleManager {
public:
PHModuleManager();
~PHModuleManager();
public:
void print() const { modules->print(); }
public:
PHBoolean append(PHModule*);
friend PHModuleManager& operator << (PHModuleManager&, PHModule*);
PHModule* remove(const PHString&);
void clear();
void event(PHCompositeNode*) const;
void init();
private:
PHCompositeNode *modules;
};
#endif /* PHMODULEMANAGER_H */