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