| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DaqXmlDump.cc

Go to the documentation of this file.
00001 /*
00002  *  DaqXmlDump.cc
00003  *  DaqFormatModules
00004  *
00005  *  Created by Simon Patton on 8/8/10.
00006  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00007  *
00008  */
00009 #include "DaqXmlDump.h"
00010 #include "DaqXml/DaqXmlStream.h"
00011 
00012 using DybDaq::DaqXmlDump;
00013 using DybDaq::DaqXmlStream;
00014 
00015 using namespace DayaBay;
00016 
00017 static const std::string twoSpaces("  ");
00018 
00019 DaqXmlDump::DaqXmlDump(const std::string& name,
00020                        ISvcLocator* pSvcLocator) :
00021     DybAlgorithm<DayaBay::ReadoutHeader>(name,
00022                                          pSvcLocator) {
00023 }
00024 
00025 DaqXmlDump::~DaqXmlDump() {
00026 }
00027 
00028 StatusCode DaqXmlDump::initialize() {
00029     StatusCode status = DybAlgorithm<DayaBay::ReadoutHeader>::initialize();
00030     if (status.isFailure()) {
00031         return status;
00032     }
00033     info() << "initializing" << endreq;
00034     return StatusCode::SUCCESS;
00035 }
00036 
00037 StatusCode DaqXmlDump::execute() {
00038     const ReadoutHeader* readoutHeader = get<ReadoutHeader>("/Event/Readout/ReadoutHeader");
00039     if (0 == readoutHeader) {
00040         error() << "Failed to get current readout header" << endreq;
00041         return StatusCode::FAILURE;
00042     }
00043     //const Readout* readout = readoutHeader->readout();
00044     //if (0 == readout) {
00045         const DaqCrate* daqCrate = readoutHeader->daqCrate();
00046         if (0 == daqCrate) {
00047             error() << "Failed to get readout from header" << endreq;
00048             return StatusCode::FAILURE;
00049         }
00050         std::stringstream message;
00051         message << '\n';
00052         DaqXmlStream xmlStream(message,
00053                                twoSpaces,
00054                                true);
00055         xmlStream.dumpElement(daqCrate->eventReadout());
00056         info() << message.str() << endreq;
00057         return StatusCode::SUCCESS;
00058         //}
00059         //return StatusCode::SUCCESS;
00060 }
00061 
00062 StatusCode DaqXmlDump::finalize() {
00063     info() << "finalizing" << endreq;
00064     StatusCode status = DybAlgorithm<DayaBay::ReadoutHeader>::finalize();
00065     return status;
00066 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:46:28 2011 for DaqFormatModules by doxygen 1.4.7