#ifndef PEVENT_H #define PEVENT_H #include #include #include #include "pDetector.h" #include "pHit.h" #include "pHeader.h" #include "pPhitMgr.h" #include "pPdetMgr.h" #include "pPheaMgr.h" //#ifndef __GNUC__ #include "TObject.h" //#endif using std::string; //#ifndef __GNUC__ class pEvent: public TObject { // #else // class pEvent { // #endif public: pEvent( ){ _pphitmgr = pPhitMgr::Get(); _ppdetmgr = pPdetMgr::Get(); _ppheamgr = pPheaMgr::Get(); _pheader=0; } void AddDetector(const string &name, pDetector *pd){ _pdetmap[name]=pd; } void AddDetector(const string &name){ pDetector *temp=_ppdetmgr->GetpDet(name); if(temp!=0) _pdetmap[name]=temp; } void AddHit(const string &name, const char *c){ _pdetmap[name]-> AddHit(_pphitmgr->GetpHit(name,c)); } void AddHit(const string &name, pHit *ph){ _pdetmap[name]-> AddHit(ph); } // void AddHeader(const string &name, const int &type, const char *c){ // _pheamap[name]-> // AddHeader(_ppheamgr->GetpHea(name,c)); // } void AddHeader(const string &name, pHeader *ph){ _pheader->SetHeader(ph); } void Print(){ if(_pheader!=0) _pheader->Print(); for(pDetMap::iterator i=_pdetmap.begin(); i!=_pdetmap.end();++i){ (*i->second).Print(); } } //#ifndef __GNUC__ ClassDef(pEvent,1); //#endif private: pDetMap _pdetmap; pHeader *_pheader; pPhitMgr *_pphitmgr; //! pPdetMgr *_ppdetmgr; //! pPheaMgr *_ppheamgr; //! }; #endif //PEVENT_H