// $Id$ // // File: DTrigger_factory.cc // Created: Wed Aug 16 22:17:58 EDT 2006 // Creator: davidl (on Darwin harriet 8.7.0 powerpc) // #include #include "DTrigger_factory.h" //------------------ // toString //------------------ const string DTrigger_factory::toString(void) { // Ensure our Get method has been called so _data is up to date Get(); if(_data.size()<=0)return string(); // don't print anything if we have no data! // Put the class specific code to produce nicely formatted ASCII here. // The DFactory_base class has several methods defined to help. They // rely on positions of colons (:) in the header. Here's an example: // printheader(" latch: live1: live2: Livetime(ins.): Livetime(int.):"); for(unsigned int i=0; i<_data.size(); i++){ DTrigger *dtrigger = _data[i]; static unsigned int last_live1 = 0; static unsigned int last_live2 = 0; unsigned int delta_live1 = dtrigger->live1-last_live1; unsigned int delta_live2 = dtrigger->live2-last_live2; printnewrow(); printcol("0x%06x", dtrigger->latch); printcol("%ld", dtrigger->live1); printcol("%ld", dtrigger->live2); printcol("%3.2f%%", (float)delta_live1/(float)delta_live2*100.0); printcol("%3.2f%%", (float)dtrigger->live1/(float)dtrigger->live2*100.0); printrow(); last_live1 = dtrigger->live1; last_live2 = dtrigger->live2; } return _table; }