34 m_tool(
"LArRawDataContByteStreamTool"),
51 ATH_CHECK( AthConstConverter::initialize() );
53 if (
m_rdpSvc.retrieve().isFailure()) {
54 ATH_MSG_WARNING(
" Can't get ByteStreamInputSvc interface Reading of ByteStream Data not possible. " );
62 return StatusCode::SUCCESS;
71 ATH_MSG_ERROR(
" ROBDataProviderSvc not loaded. Can't read ByteStream." );
72 return StatusCode::FAILURE;
77 ATH_MSG_ERROR(
"dynamic_cast of OpaqueAdress to ByteStreamAddress failed!" );
78 return StatusCode::FAILURE;
81 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> robFrags;
84 const std::string& key = *(pAddr->par());
96 else if (key==
"MEDIUM")
104 else if(key==
"SC_ADC_BAS"){
110 ATH_MSG_DEBUG(
"Converting LArDigits (from ByteStream). key=" << key <<
" ,gain=" << gain );
115 if (
sc!=StatusCode::SUCCESS)
116 ATH_MSG_WARNING(
"Conversion tool returned an error. LArDigitContainer might be empty." );
118 return StatusCode::SUCCESS;
122 sc=
m_scTool->convert(robFrags,
nullptr,adc_coll, adc_bas_coll, et_coll, et_id_coll, header_coll);
123 if (
sc!=StatusCode::SUCCESS)
124 ATH_MSG_WARNING(
"Conversion tool returned an error. LAr SC containers might be empty." );
129 else if(key==
"SC_ADC_BAS"){
133 return StatusCode::SUCCESS;
148 ATH_MSG_ERROR(
"Cannot get LArDigitContainer for DataObject. Key=" << pObj->registry()->name() );
149 return StatusCode::FAILURE;
152 std::string nm = pObj->registry()->name();
156 return StatusCode::SUCCESS;
const boost::regex re(r_e)
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
macros to associate a CLID to a type
uint32_t CLID
The Class ID type.
Tool to get LATOME SC and SCID mapping file and fill std::map variable with it.
Byte stream converter of LATOME.
Tool to store LATOME mon header and footer data.
OFFLINE_FRAGMENTS_NAMESPACE::FullEventFragment RawEvent
data type for reading raw event
convert to and from a SG storable
AthConstConverter(long storage_type, const CLID &class_type, ISvcLocator *svc, const std::string &name)
const std::string & name() const
IOpaqueAddress for ByteStreamCnvSvc, with ROB ids.
Template class for assembling a full atlas raw event from subfragments.
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create the transient representation of an object.
static long storageType()
virtual StatusCode initialize() override
ToolHandle< LArLATOMEDecoder > m_scTool
ServiceHandle< IROBDataProviderSvc > m_rdpSvc
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Convert the transient object to the requested representation.
static const CLID & classID()
ToolHandle< BYTESTREAMTOOL > m_tool
virtual ~LArDigitContByteStreamCnv()
LArDigitContByteStreamCnv(ISvcLocator *svcloc)
ServiceHandle< IByteStreamCnvSvc > m_byteStreamCnvSvc
Container class for LArDigit.
Container class for LArRawSC.
static const std::vector< uint32_t > s_allROBIDs_LATOME
bool fromStorable(DataObject *pDObj, T *&pTrans, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true)
DataObject * asStorable(SG::DataObjectSharedPtr< T > pObject)