/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

TESDemoTrim.cpp
Go to the documentation of this file.
00001 #include "src/TESDemoTrim.h"
00002 
00003 #include "GaudiKernel/IDataManagerSvc.h"
00004 
00005 #include "DybKernel/IArchiveTrimSvc.h"
00006 
00007 #include "Event/TESDemoReadout.h"
00008 #include "Event/TESDemoPositron.h"
00009 
00010 #include <cstdlib>
00011 
00012 using namespace DayaBay;
00013 
00014 TESDemoTrim::TESDemoTrim( const std::string& name, 
00015                             ISvcLocator* pSvcLocator ) :
00016   GaudiAlgorithm(name,
00017                  pSvcLocator),
00018   p_archiveSvc(0),
00019   p_trimSvc(0)
00020 {
00021   declareProperty("ReadoutPath",
00022                   m_readoutPath="/Event/TESDemo/Readout",
00023                   "Path from which to retrieve the Readouts");
00024 }
00025 
00026 StatusCode TESDemoTrim::initialize() {
00027   
00028    info() << "in initialize" 
00029           << endreq;
00030    info() << m_readoutPath 
00031           << endreq;
00032    
00033    StatusCode status = service("EventDataArchiveSvc",
00034                                p_archiveSvc);
00035    if (status.isFailure()) {
00036      Error("Service [EventDataArchiveSvc] not found",
00037            status);
00038    }
00039 
00040    status = service("ArchiveTrimSvc",
00041                     p_trimSvc);
00042    if (status.isFailure()) {
00043      Error("Service [ArchiveTrimSvc] not found",
00044            status);
00045    }
00046 
00047    return StatusCode::SUCCESS;
00048 
00049 }
00050 
00051 StatusCode TESDemoTrim::execute() {
00052 
00053   SmartDataPtr<const TESDemoReadout>  readout(eventSvc(),
00054                                               m_readoutPath.value());
00055   if (0 == readout) {
00056     return Error("Failed to retrieve readout from Event Store");
00057   }
00058 
00059   return p_trimSvc->trim(p_archiveSvc,
00060                          readout->timeStamp());
00061 }
00062 
00063 StatusCode TESDemoTrim::finalize() {
00064 
00065   info() << "in finalize"
00066          << endreq;
00067 
00068   if (0 != p_trimSvc) {
00069     p_trimSvc->release();
00070   }
00071 
00072   if (0 != p_archiveSvc) {
00073     p_archiveSvc->release();
00074   }
00075 
00076 return StatusCode::SUCCESS;
00077 
00078 }
00079 
00080 
00081 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:09:00 for TESDemo by doxygen 1.7.4