From: Ron F. <ro...@us...> - 2007-06-14 12:23:57
|
Update of /cvsroot/nscldaq/clients/assembler In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv22534/assembler Modified Files: AssembledEvent.h Makefile.am Added Files: AssembledStateTransitionEvent.cpp AssembledStateTransitionEvent.h Log Message: Good compiliation of AssembledStateTransitionEvent --- NEW FILE: AssembledStateTransitionEvent.h --- #ifndef __ASSEMBLEDSTATETRANSITIONEVENT_H #define __ASSEMBLEDSTATETRANSITIONEVENT_h /* This software is Copyright by the Board of Trustees of Michigan State University (c) Copyright 2005. You may use this software under the terms of the GNU public license (GPL). The terms of this license are described at: http://www.gnu.org/licenses/gpl.txt Author: Ron Fox NSCL Michigan State University East Lansing, MI 48824-1321 */ #ifndef __ASSEMBLEDEVENT_H #include "AssembledEvent.h" #endif #ifndef __STL_STRING #include <string> #ifndef __STL_STRING #define __STL_STRING #endif #endif #ifndef __CRT_TIME_H #include <time.h> #ifndef __CRT_TIME_H #define __CRT_TIME_H #endif #endif /*! State transition events mark run state transitions, e.g. from halted to active, active to paused and so on. These events are aggregated, and therefore always will come from node 0... The type, however must be specified at construction time. State transition events also mark 'assembly boundaries' that is assembly of events will not occur across them...as all nodes are assumed to attempt to do state transitions close in time and hold the new state for some macroscopic length of time. */ class AssembledStateTransitionEvent : public AssembledEvent { private: std::string m_title; unsigned long m_elapsedTime; struct tm m_absoluteTime; unsigned short m_runNumber; public: AssembledStateTransitionEvent(unsigned short run, AssembledEvent::BufferType type); void setTitle(std::string title); std::string getTitle() const; void setElapsedTime(unsigned long elapsedTime); unsigned long getElapsedTime() const; void setTimestamp(struct tm timestamp); struct tm getTimestamp() const; unsigned short getRunNumber() const; }; #endif --- NEW FILE: AssembledStateTransitionEvent.cpp --- /* This software is Copyright by the Board of Trustees of Michigan State University (c) Copyright 2005. You may use this software under the terms of the GNU public license (GPL). The terms of this license are described at: http://www.gnu.org/licenses/gpl.txt Author: Ron Fox NSCL Michigan State University East Lansing, MI 48824-1321 */ #include <config.h> #include "AssembledStateTransitionEvent.h" #include <RangeError.h> #include <string.h> using namespace std; /////////////// Constructors and explicit cannonicals /////////////////// /*! Construct the state transition event. \param run The number of the run involved in the transition. \param type The type of transition being attempted. There is no default type. \throws CRangeError if type is not a valid state transition event type. */ AssembledStateTransitionEvent::AssembledStateTransitionEvent( unsigned short run, AssembledEvent::BufferType type) : AssembledEvent(0, type), m_runNumber(run) { // Throw a range error if the type warrants it: if ((type != AssembledEvent::BeginRun) && (type != AssembledEvent::EndRun) && (type != AssembledEvent::PauseRun) && (type != AssembledEvent::ResumeRun)) { throw CRangeError(AssembledEvent::BeginRun, AssembledEvent::ResumeRun, type, "Bad state transition type constructing an AssembledStateTransitionEvent"); } } ////////////////// Access to the title string: /////////////// /*! Set a new title: \param title - The new title string. */ void AssembledStateTransitionEvent::setTitle(string title) { m_title = title; } /*! Retrieve the title: */ string AssembledStateTransitionEvent::getTitle() const { return m_title; } ////////////////// Access to the elapsed run time //////////////// /*! Set the time at which the run state transition occured relative to the start of the rum: \param elapsedTime Elapsed time of transition. */ void AssembledStateTransitionEvent::setElapsedTime(unsigned long elapsedTime) { m_elapsedTime = elapsedTime; } /*! Get the elapsed time of the run in seconds: */ unsigned long AssembledStateTransitionEvent::getElapsedTime() const { return m_elapsedTime; } /////////////////// Access to the absolute timestamp ///////////// /*! Set the timestamp: \param timestamp the timestamp to use. */ void AssembledStateTransitionEvent::setTimestamp(struct tm timestamp) { memcpy(&m_absoluteTime, ×tamp, sizeof(timestamp)); } /*! Retrive the timestamp */ struct tm AssembledStateTransitionEvent::getTimestamp() const { return m_absoluteTime; } /////////////////////////// Access the run number/// /*! \return unsigned short \retval the run number. */ unsigned short AssembledStateTransitionEvent::getRunNumber() const { return m_runNumber; } Index: Makefile.am =================================================================== RCS file: /cvsroot/nscldaq/clients/assembler/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Makefile.am 14 Jun 2007 11:04:17 -0000 1.5 --- Makefile.am 14 Jun 2007 12:23:56 -0000 1.6 *************** *** 6,10 **** AssembledEvent.cpp \ AssembledPhysicsEvent.cpp \ ! AssembledScalerEvent.cpp noinst_HEADERS = AssemblerApplication.h \ --- 6,11 ---- AssembledEvent.cpp \ AssembledPhysicsEvent.cpp \ ! AssembledScalerEvent.cpp \ ! AssembledStateTransitionEvent.cpp noinst_HEADERS = AssemblerApplication.h \ *************** *** 13,17 **** AssembledEvent.h \ AssembledPhysicsEvent.h \ ! AssembledScalerEvent.h --- 14,19 ---- AssembledEvent.h \ AssembledPhysicsEvent.h \ ! AssembledScalerEvent.h \ ! AssembledStateTransitionEvent.h Index: AssembledEvent.h =================================================================== RCS file: /cvsroot/nscldaq/clients/assembler/AssembledEvent.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AssembledEvent.h 13 Jun 2007 17:40:52 -0000 1.1 --- AssembledEvent.h 14 Jun 2007 12:23:56 -0000 1.2 *************** *** 36,40 **** BeginRun = 11, // buftypes.h EndRun = 12, ! PausRun = 13, ResumeRun = 14 }; --- 36,40 ---- BeginRun = 11, // buftypes.h EndRun = 12, ! PauseRun = 13, ResumeRun = 14 }; |