00001 #include "src/TESDemoCreateReadout.h"
00002
00003 #include "GaudiKernel/IDataManagerSvc.h"
00004 #include "GaudiKernel/IDataProviderSvc.h"
00005
00006 #include "Event/TESDemoReadout.h"
00007
00008 #include <cstdlib>
00009 #include <ctime>
00010
00011 using namespace DayaBay;
00012
00013 TESDemoCreateReadout::TESDemoCreateReadout( const std::string& name,
00014 ISvcLocator* pSvcLocator ) :
00015 GaudiAlgorithm(name,
00016 pSvcLocator),
00017 m_readoutTime(time(0),
00018 0)
00019 {
00020 declareProperty("ReadoutPath",
00021 m_readoutPath="/Event/TESDemo/Readout");
00022 }
00023
00024 StatusCode TESDemoCreateReadout::initialize() {
00025
00026 info() << "in initialize"
00027 << endreq;
00028 info() << m_readoutPath
00029 << endreq;
00030 return StatusCode::SUCCESS;
00031
00032 }
00033
00034 StatusCode TESDemoCreateReadout::execute() {
00035
00036
00037
00038 DataObject* dataObject = new DataObject();
00039 StatusCode status = eventSvc()->registerObject("/Event/TESDemo",
00040 dataObject);
00041 if (status.isFailure()) {
00042 Error( "Failed to create '/Event/TESDemo' tree in Event Store",
00043 status);
00044 }
00045
00046
00047 TESDemoReadout* readout = new TESDemoReadout(m_readoutTime,
00048 m_sequenceNumber);
00049 m_readoutTime.Add(0.0000001 * (random() % 1000));
00050 m_sequenceNumber++;
00051 status = eventSvc()->registerObject(m_readoutPath.value(),
00052 readout);
00053 if (status.isFailure()) {
00054 Error("Failed to store readout in Event Store",
00055 status);
00056 }
00057
00058 return StatusCode::SUCCESS;
00059
00060 }
00061
00062 StatusCode TESDemoCreateReadout::finalize() {
00063
00064 info() << "in finalize"
00065 << endreq;
00066 return StatusCode::SUCCESS;
00067
00068 }