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