//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Implementation of class padprocessor // see padprocessor.hh for details // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- // Panda Headers ---------------------- // This Class' Header ------------------ #include "TORPadProcessor.h" // C/C++ Headers ---------------------- #include #include "assert.h" // Collaborating Class Headers -------- #include "TORPPState.h" #include "TORPPState_Initial.h" #include "TORPPState_Compare.h" #include "TORPPState_Send.h" #include "TORPPState_Wait.h" #include "TORPPState_Output.h" #include "TORPPState_End.h" #include "PndTpcDigi.h" // Class Member definitions ----------- padprocessor::padprocessor(unsigned int id) : _iscenter(true), _active_state(0), _dominant_neighb(-1), _myid(id), _cluster_buffer(0), _mydata(NULL) { ppstate* init=new ppstate_initial(this); addState(init,"initial"); ppstate* comp=new ppstate_compare(this); addState(comp,"compare"); ppstate* send=new ppstate_send(this); addState(send,"send"); ppstate* wait=new ppstate_wait(this); addState(wait,"wait"); ppstate* out=new ppstate_output(this); addState(out,"output"); ppstate* end=new ppstate_end(this); addState(end,"end"); setState("initial"); } padprocessor::~padprocessor() { std::map::iterator istate=_states.begin(); while(istate!=_states.end()){ delete istate->second; ++istate; } _states.clear(); std::cout<<" %%%%%%%%%%%%destructing padprocessor! %%%%%%%%%%%%" <amp()>_mydata->amp())_mydata=data; put(data); } void padprocessor::reset() { _dominant_neighb=-1; _iscenter=true; if(_data.size()!=0)std::cout<<"PProc"<<_myid <<" throwing "<<_data.size() <<" data away!"<heartbeat(); else std::cerr<<"No active state defined!"<