28{
30 if ( sc.isFailure() ) return sc;
31
32 std::string PackedRawDataCnvSvc_Name("PackedRawDataCnvSvc");
33 std::string RawDataInputSvc_Name("RawDataInputSvc");
34 std::string RawDataEvtHeaderCnv_Name("RawDataEvtHeaderCnv");
35
36
37
38
39 SmartIF<IService> pCnvSvc(conversionSvc());
40 if (isGaudiThreaded(pCnvSvc->name())){
41 PackedRawDataCnvSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
42 RawDataInputSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
43 RawDataEvtHeaderCnv_Name += getGaudiThreadIDfromName(pCnvSvc->name());
44 }
45
46
47 MsgStream log(messageService(), RawDataEvtHeaderCnv_Name.c_str());
48
49 IService* svc = 0;
50 sc = serviceLocator()->service(PackedRawDataCnvSvc_Name.c_str(), svc);
51 if ( sc.isFailure() ) {
52 log << MSG::ERROR << "Can't get RawDataAccess interface" << endreq;
53 return StatusCode::FAILURE;
54 }
55
57 if (m_RawDataAccess == 0 ) {
58 log << MSG::ERROR << "RawDataEvtHeaderCnv: Cant cast to RawDataCnvSvc" << endreq;
59 return StatusCode::FAILURE;
60 }
61
62 sc = serviceLocator()->getService(RawDataInputSvc_Name.c_str(), svc);
63 if ( sc.isFailure() ) {
64 log << MSG::WARNING << "Cant get RawDataInputSvc " << endreq;
65 return sc ;
66 }
67
69 if ( m_inputSvc == 0 ) {
70 log << MSG::ERROR << "Cant cast to RawDataInputSvc" << endreq;
71 return StatusCode::FAILURE ;
72 }
73
74 _localRevisor =
dynamic_cast<RawDataInputSvc*
>(m_inputSvc)->offlineRevisor();
75
76 return StatusCode::SUCCESS;
77}