#ifndef OAEVENT_IPROFILEDATA_HXX #define OAEVENT_IPROFILEDATA_HXX #include #include namespace COMET { class IProfileData; } /// Class to store data for CPU and memory profiling class COMET::IProfileData:public COMET::IDatum{ public: IProfileData(const char* name="CPU_data"):IDatum(name){ gSystem->GetProcInfo(&fProcData);} IProfileData(const ProcInfo_t& pd,const char* name="CPU_data") :IDatum(name),fProcData(pd){ } void SetProcData(const ProcInfo_t& pd){fProcData=pd;} const ProcInfo_t& GetProcData()const{return fProcData;} Float_t GetCpuSys()const {return fProcData.fCpuSys; } Float_t GetCpuUser()const {return fProcData.fCpuUser; } Long_t GetMemResident()const {return fProcData.fMemResident; } Long_t GetMemVirtual()const {return fProcData.fMemVirtual; } virtual void ls(Option_t* opt = "") const; private: ProcInfo_t fProcData; ClassDef(IProfileData,1) }; #endif // OAEVENT_IPROFILEDATA_HXX