#ifndef PHEADER_H #define PHEADER_H #include #include #include #include "pHeaderID.h" #include "TObject.h" using std::string; using std::vector; using std::map; class pHeader :public TObject { public: pHeader( const string &name="", const int & type=0, const int &run=0, const int & event=0, pHeaderID *heaid=0): _name(name), _type(type), _run(run), _event(event) { SetHeaderID(heaid); } virtual ~pHeader(){}; void SetHeader(const pHeader &ph) { SetHeader(ph); } void SetHeader(const pHeader *ph) { SetHeaderID(ph->GetHitID()); SetType(ph->_type); SetRun(ph->_run); SetEvent(ph->_event); SetName(ph->_name); } void SetHeaderID(pHeaderID * heaid){_heaid=heaid;} void SetType(const int & x){_type=x;} void SetRun(const int & x){_run=x;} void SetEvent(const int & x){_event=x;} void SetName(const string & x) {_name=x;} pHeaderID* GetHitID() const { return _heaid;} int GetType() const {return _type;} int GetRun() const {return _run;} int GetEvent() const {return _event;} string GetHeadName() const {return _name;} virtual void Print() const {}; //=0; private: string _name; int _type,_run,_event; pHeaderID *_heaid; public: //#ifndef __GNUC__ ClassDef(pHeader,1); //#endif }; typedef vector pHeaColl; typedef map pHeaMap; #endif //PHEADER_H