52{
53 std::string PackedRawDataCnvSvc_Name("PackedRawDataCnvSvc");
54 std::string RawDataInputSvc_Name("RawDataInputSvc");
55 std::string RawDataMucMcHitCnv_Name("RawDataMucMcHitCnv");
56
57
58
59
60 SmartIF<IService> pCnvSvc(conversionSvc());
61 if (isGaudiThreaded(pCnvSvc->name())){
62 PackedRawDataCnvSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
63 RawDataInputSvc_Name += getGaudiThreadIDfromName(pCnvSvc->name());
64 RawDataMucMcHitCnv_Name += getGaudiThreadIDfromName(pCnvSvc->name());
65 }
66
67
68
69 MsgStream log(messageService(), RawDataMucMcHitCnv_Name.c_str());
70
72 if (StatusCode::SUCCESS != sc) {
73 log << MSG::ERROR << "RawDataBaseCnv: Cant initialize PackedRawDataCnvSvc" << endreq;
74 return sc;
75 }
76
77
78 IService* isvc = 0;
79 sc = serviceLocator()->service(PackedRawDataCnvSvc_Name.c_str(), isvc, true);
80 if (sc != StatusCode::SUCCESS) {
81 log << MSG::ERROR << "Cant get PackedRawDataCnvSvc" << endreq;
82 }
83
84 m_RawDataAccess = dynamic_cast<PackedRawDataCnvSvc*> (isvc);
85 if (m_RawDataAccess == 0 ) {
86 log << MSG::ERROR << "RawDataMucCnv: Cant cast to RawDataCnvSvc " << endreq;
87 return StatusCode::FAILURE;
88 }
89
90 sc = serviceLocator()->getService(RawDataInputSvc_Name.c_str(), isvc);
91 if (sc != StatusCode::SUCCESS ) {
92 log << MSG::WARNING << "Cant get RawDataInputSvc " << endreq;
93 return sc ;
94 }
95
96 m_inputSvc = dynamic_cast<RawDataInputSvc*> (isvc);
97 if (m_inputSvc == 0 ) {
98 log << MSG::WARNING << "Cant cast to RawDataInputSvc " << endreq;
99 return StatusCode::FAILURE ;
100 }
101
102 return StatusCode::SUCCESS;
103}