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

In This Package:

MockEvtStructure.cpp

Go to the documentation of this file.
00001 #include "MockEvtStructure.h"
00002 #include "MockEvtReadout.h"
00003 #include "MockEvtConversionSvc.h"
00004 
00005 #include "GaudiKernel/DataObject.h"
00006 #include "GaudiKernel/GaudiException.h"
00007 #include "GaudiKernel/IDataManagerSvc.h"
00008 #include "GaudiKernel/IRegistry.h"
00009 
00010 using namespace MockEvtConverters;
00011 
00012 MockEvtStructure::MockEvtStructure(ISvcLocator* svc) :
00013   Converter(MockEvtConversionSvc::MOCK_EVT_DATA,
00014             DayaBay::CLID_MockEvtStructure,
00015             svc) {
00016 }
00017 
00018 MockEvtStructure::~MockEvtStructure() {
00019 }
00020 
00021 StatusCode MockEvtStructure::createObj(IOpaqueAddress*,
00022                                        DataObject*& pObject) {
00023   pObject = new DataObject();
00024   return StatusCode::SUCCESS;
00025 }
00026 
00027 StatusCode MockEvtStructure::fillObjRefs(IOpaqueAddress* addr,
00028                                          DataObject* pObject) {
00029   Address* address = dynamic_cast<Address*>(addr);
00030   if (0 == address) {
00031     return StatusCode::FAILURE;
00032   }
00033   
00034   if (address->registry()->identifier() == "/Event/TESDemo") {
00035     IOpaqueAddress* mockEvtAddress = new MockEvtReadout::Address(address->context());
00036     if (dataManager()->registerAddress(pObject,
00037                                        "Readout",
00038                                        mockEvtAddress).isFailure()) {
00039       return StatusCode::FAILURE;
00040     }
00041     return StatusCode::SUCCESS;
00042   }
00043 
00044   Address* mockEvtAddress = new Address(address->context());
00045   if (dataManager()->registerAddress(pObject,
00046                                      "TESDemo",
00047                                      mockEvtAddress).isFailure()) {
00048     return StatusCode::FAILURE;
00049   }
00050   
00051   return StatusCode::SUCCESS;
00052 }
00053 
00054 long MockEvtStructure::repSvcType() const {
00055   return i_repSvcType();
00056 }
00057 
00058 MockEvtStructure::Address::Address(const MockEvtSelector::MockEvtContext* context) :
00059   m_context(context){
00060   setClID(DayaBay::CLID_MockEvtStructure);
00061   setSvcType(MockEvtConversionSvc::MOCK_EVT_DATA);
00062 }
00063 
00064 MockEvtStructure::Address::~Address() {
00065 }
00066 
00067 const MockEvtSelector::MockEvtContext* MockEvtStructure::Address::context() const {
00068   return m_context;
00069 }
00070 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:39:29 2011 for MockEvt by doxygen 1.4.7