42{
43 std::string PackedRawDataCnvSvc_Name("PackedRawDataCnvSvc");
44 std::string RawDataInputSvc_Name("RawDataInputSvc");
45 std::string RawDataHltCnv_Name("RawDataHltCnv");
46
47
48
49
50 SmartIF<IService> pCnvSvc(conversionSvc());
51 if (isGaudiThreaded(pCnvSvc->name())){
52 PackedRawDataCnvSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
53 RawDataInputSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
54 RawDataHltCnv_Name += getGaudiThreadIDfromName(pCnvSvc->name());
55 }
56
58 if(StatusCode::SUCCESS!=sc)
59 {
60 return sc;
61 }
62
63 MsgStream log(messageService(), RawDataHltCnv_Name.c_str());
64
65 IService* svc = 0;
66 sc = serviceLocator()->service(PackedRawDataCnvSvc_Name.c_str(), svc);
67 if (sc != StatusCode::SUCCESS) {
68 log << MSG::ERROR << "Can't get RawDataAccess interface" << endreq;
69 return StatusCode::FAILURE;
70 }
71
72 m_RawDataAccess = dynamic_cast<PackedRawDataCnvSvc*> (svc);
73 if (m_RawDataAccess == 0 ) {
74 log << MSG::ERROR << "RawDataCnv: Cant cast to RawDataCnvSvc" << endreq;
75 return StatusCode::FAILURE;
76 }
77
78 sc = serviceLocator()->getService(RawDataInputSvc_Name.c_str(), svc);
79 if(sc != StatusCode::SUCCESS ) {
80 log << MSG::WARNING << "Cant get RawDataInputSvc " << endreq;
81 return sc ;
82 }
83
84 m_inputSvc = dynamic_cast<RawDataInputSvc*> (svc);
85 if(m_inputSvc == 0 ) {
86 log << MSG::ERROR << "Cant cast to RawDataInputSvc" << endreq;
87 return StatusCode::FAILURE ;
88 }
89
90 return StatusCode::SUCCESS;
91}