/search.css" rel="stylesheet" type="text/css"/> /search.js">
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 // Create TESDemo tree in event store 00037 // TODO : Use m_readoutPath to create tree trunk 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 // Create and store dummy Readout 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 }