ModuleConfigurationStreamer_v2.cpp

00001 #include "ModuleConfigurationStreamer_v2.h"
00002 #include "../ModuleConfiguration.h"
00003 #include <Sct/AbcdModule.h>
00004 
00005 namespace SctData {
00006 namespace IO {
00007 
00008 unsigned ModuleConfigurationStreamer_v2::s_version=2;
00009 /* READ NOTES ON STREAMERS AND VERSIONS BEFORE EDITING THIS FILE! */
00010 
00011 ModuleConfigurationStreamer_v2::ModuleConfigurationStreamer_v2() throw() {}
00012     
00013 bool ModuleConfigurationStreamer_v2::inMap = IOManager::addToMap("SctData::ModuleConfiguration",  std::auto_ptr<Streamer>(new ModuleConfigurationStreamer_v2()));
00014 
00015 
00016 shared_ptr<Streamable> ModuleConfigurationStreamer_v2::read(IStream& in, const IOManager& manager) const throw(LogicError, IoError) {
00017     shared_ptr<Streamable> m (new ModuleConfiguration());
00018     read(in, *m, manager);
00019     return m;
00020 }
00021 
00022 void ModuleConfigurationStreamer_v2::write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError) {
00023     const ModuleConfiguration& config = dynamic_cast<const ModuleConfiguration&>(ob);
00024     const ABCDModule& data = config.getABCDModule();
00025     
00026     for (unsigned int i=0; i<Sct::nChipModule; ++i) {
00027       manager.writeImpl(out, config.getChipConfiguration(i), false);
00028     }
00029     out << data.present << data.active << data.select << data.groupId << data.pTTC << data.rTTC;
00030     out.put(data.rx, 2);  
00031 }
00032 
00033 void ModuleConfigurationStreamer_v2::read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError) {
00034     ModuleConfiguration& config = dynamic_cast<ModuleConfiguration&>(ob);
00035     ABCDModule& data = config.getABCDModule();
00036     
00037     for (unsigned int i=0; i<Sct::nChipModule; ++i) {
00038       manager.readImpl(in, config.getChipConfiguration(i), false);
00039     }
00040     in >> data.present >> data.active >> data.select >> data.groupId >> data.pTTC >> data.rTTC;
00041     in.get(data.rx, 2);
00042 }
00043 
00044 
00045 }
00046 }

Generated on Mon Feb 6 14:01:23 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6