ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_Decoder_charge Class Reference

#include <ALFA_Decoder_charge.h>

Inheritance diagram for ALFA_Decoder_charge:
Collaboration diagram for ALFA_Decoder_charge:

Public Types

typedef ALFA_RawData_charge m_ALFA_RawData_charge
typedef ALFA_RawDataCollection_charge m_ALFA_RawDataCollection_charge

Public Member Functions

 ALFA_Decoder_charge (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~ALFA_Decoder_charge ()
virtual StatusCode initialize ()
virtual StatusCode finalize ()
StatusCode fillCollection (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment *robFrag, ALFA_RawDataContainer_charge *rdoCont, std::vector< unsigned int > *vecHash=NULL)
ALFA_RawDataCollection_chargegetCollection (unsigned int MotherBoardId, ALFA_RawDataContainer_charge *cont)
ALFA_RawData_chargegetRawData_charge (unsigned int PMFId, ALFA_RawDataCollection_charge *coll)
const eformat::FullEventFragment< const uint32_t * > * eventFragment () const
const eformat::ROBFragment< const uint32_t * > * robFragment () const
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

const eformat::FullEventFragment< const uint32_t * > * m_event = nullptr
const eformat::ROBFragment< const uint32_t * > * m_robFrag = nullptr
unsigned int m_fragment_number = 0U
ServiceHandle< IROBDataProviderSvcm_robDataProvider
 Service for reading bytestream.
ALFA_RawDataReadOut_chargem_ALFA_RawDataReadOut_charge = nullptr
ALFA_RawDataCollectionReadOutm_ALFA_RawDataCollectionReadOut = nullptr
ALFA_RawDataContainerReadOutm_ALFA_RawDataContainerReadOut = nullptr
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 37 of file ALFA_Decoder_charge.h.

Member Typedef Documentation

◆ m_ALFA_RawData_charge

◆ m_ALFA_RawDataCollection_charge

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ALFA_Decoder_charge()

ALFA_Decoder_charge::ALFA_Decoder_charge ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 19 of file ALFA_Decoder_charge.cxx.

20: AthAlgTool(type,name,parent),
21m_robDataProvider ("ROBDataProviderSvc",name)
22//, m_ALFA_RawDataContainerReadOut(0), m_ALFA_RawDataCollectionReadOut(0), m_ALFA_RawDataReadOut_charge(0)
23{
24declareInterface<ALFA_Decoder_charge>(this);
25
26}
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Service for reading bytestream.
AthAlgTool()
Default constructor:

◆ ~ALFA_Decoder_charge()

ALFA_Decoder_charge::~ALFA_Decoder_charge ( )
virtual

Definition at line 33 of file ALFA_Decoder_charge.cxx.

33{}

Member Function Documentation

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ eventFragment()

const eformat::FullEventFragment< const uint32_t * > * ALFA_Decoder_charge::eventFragment ( ) const
inline

Definition at line 63 of file ALFA_Decoder_charge.h.

63{ return m_event; }
const eformat::FullEventFragment< const uint32_t * > * m_event

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ fillCollection()

StatusCode ALFA_Decoder_charge::fillCollection ( const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * robFrag,
ALFA_RawDataContainer_charge * rdoCont,
std::vector< unsigned int > * vecHash = NULL )

Definition at line 97 of file ALFA_Decoder_charge.cxx.

97 {
98 msg(MSG::DEBUG) << " ALFA_RoDDecoder_charge::fillCollection" << endmsg;
99
100ALFA_RawDataCollection_charge* collection = nullptr;
101
102 uint32_t wordPos = 0;
103
104 std::vector<uint32_t> VData;
105
106 VData.clear();
107
108
109uint32_t Event_num=0;
110uint32_t Event_num_max=0;
111uint16_t charge_hit;
112
113uint16_t tmpCharge=10;
114uint16_t MBIdNum=0;
115
116uint32_t EcrId=1;
117uint32_t LvL1 =0;
118
119uint32_t Count_evt=0;
120
121
122uint16_t CountPMF0=0;
123
124 int n=0;
125
126 // Check the ROB and ROD fragment for lenght and version consistency
127/*
128 try
129 {
130 robFrag->check();
131 }
132
133 catch (eformat::Issue &ex)
134 {
135 msg(MSG::DEBUG) <<ex.what ()<< endmsg;
136 return StatusCode::FAILURE; // error in fragment - we search for no collection
137 }
138
139 // Check the ROB status word for truncation or corruption.
140
141 uint32_t nstat = robFrag->nstatus();
142
143 if (nstat)
144 {
145 const uint32_t *it;
146 robFrag->status (it);
147
148
149 if (*it)
150 {
151 msg(MSG::DEBUG) << " Error in ROB status word: 0x" << endmsg;
152 return StatusCode::FAILURE;
153 }
154 }
155 */
156
157 // set the data pointer type
158
160
161 robFrag->rod_data(vint);
162
163 // get number of data words in the fragment
164 uint32_t size = robFrag->rod_ndata();
165
166 // get source ID
167 uint32_t ROD_source_ID = robFrag->rod_source_id();
168
169
170 uint32_t ROD_LVL1_ID = robFrag->rod_lvl1_id();
171
172msg(MSG::DEBUG) << "============================" << std::endl;
173msg(MSG::DEBUG) <<"Frag Size : " << robFrag->rod_fragment_size_word() << endmsg;
174msg(MSG::DEBUG) <<"Header Size: " << robFrag->rod_header_size_word() << endmsg;
175msg(MSG::DEBUG) <<"Source ID : " << ROD_source_ID << endmsg;
176msg(MSG::DEBUG) <<"Run num : " << robFrag->rod_run_no() << endmsg;
177msg(MSG::DEBUG) <<"Version : " << robFrag->rod_version() << endmsg;
178msg(MSG::DEBUG) << " ROD_LVL1_ID " <<ROD_LVL1_ID<< endmsg;
179msg(MSG::DEBUG) << "============================" << std::endl;
180
181
182uint32_t evt_Id = ((robFrag->rod_lvl1_id()) & 0xFF000000) >> 24;
183uint32_t lvl1_Id = ((robFrag->rod_lvl1_id()) & 0x00FFFFFF) ;
184
185
186msg(MSG::DEBUG) <<" evt_Id : " << evt_Id << " lvl1_Id : " << lvl1_Id <<endmsg;
187
188 /*msg(MSG::DEBUG) << " **********Decoder dumping the words******** "<< endmsg;
189
190if (size > 0) {
191msg(MSG::DEBUG) << " The size of this ROD-read is "<< endmsg;
192 for (unsigned int i=0; i < size; i++)
193 msg(MSG::DEBUG) << " word " << i << " = " << MSG::hex << vint[i] << MSG::dec<< endmsg;
194 } else {
195msg(MSG::DEBUG) << " Buffer size 0 ! "<< endmsg;
196 return StatusCode::FAILURE;
197 }*/
198
199
200 m_ALFA_RawDataCollectionReadOut->decodeWord(vint[wordPos]);
201 m_ALFA_RawDataReadOut_charge->decodeWord(vint[wordPos]);
202 m_ALFA_RawDataContainerReadOut->decodeWord(vint[wordPos]);
203
204 int l=0;
205
206 if(EcrId!=evt_Id) {
207 n++;
208 l=1;
209 }
210
211 if (n==0) Event_num = LvL1;
212 else Event_num = ((robFrag->rod_lvl1_id()) & 0x00FFFFFF) + Event_num;
213
214 LvL1 = ((robFrag->rod_lvl1_id()) & 0x00FFFFFF)+1 ;
215 EcrId = ((robFrag->rod_lvl1_id()) & 0xFF000000) >> 24;
216
217 if(l==1) Event_num_max=Event_num;
218
219 Event_num = ((robFrag->rod_lvl1_id()) & 0x00FFFFFF)+1 + Event_num_max;
220
221 Count_evt++;
222 //if (Count_evt == maxEvt) break;
223
224 msg(MSG::INFO) << " Event_num " << Event_num << " Count_evt " << Count_evt << endmsg;
225
226
227
228
229 if (m_ALFA_RawDataCollectionReadOut->is_BOB())
230 {
231 msg(MSG::DEBUG) << " Found the beginning of buffer "<< endmsg;
232 // Check that Lvl1d matches the one from the ROD header. this is the number of event.it corresponds to m_ALFA_RawDataReadOut_charge->ecnt_BOT() and m_ALFA_RawDataReadOut_charge->ecnt_EOT()
233 msg(MSG::DEBUG) << " Level 1 Id : " << m_ALFA_RawDataCollectionReadOut->lvl1Id()<< endmsg;
234 } else {
235 msg(MSG::DEBUG) << " Beginning of block not found BOB "<< endmsg;
236 } // BOB
237
238
239 while (!m_ALFA_RawDataCollectionReadOut->is_EOB()){
240
241 //Check for corrupted data
242
243 while ((!m_ALFA_RawDataCollectionReadOut->is_BOL()) && (!m_ALFA_RawDataCollectionReadOut->is_EOB()))
244 {
245 wordPos += 1;
246 if (wordPos >= size)
247 {
248 msg(MSG::ERROR)<<" Error: data corrupted" << endmsg;
249 return StatusCode::FAILURE;
250 }
251 m_ALFA_RawDataCollectionReadOut->decodeWord(vint[wordPos]);
252 }
253
254
255 if (m_ALFA_RawDataCollectionReadOut->is_BOL())
256 {
257 msg(MSG::DEBUG) << " Found the beginning of Link BOL"<< endmsg;
258 msg(MSG::DEBUG) << " MrodNum BOL : " << m_ALFA_RawDataCollectionReadOut->MrodNum()<< " RODinput BOL : " <<m_ALFA_RawDataCollectionReadOut->RODinput()<< endmsg;
259
260 } // is_BOL()
261
262 else if (m_ALFA_RawDataCollectionReadOut->is_EOB())
263 {
264 msg(MSG::DEBUG)<<" Error: collection not found " << endmsg;
265 return StatusCode::FAILURE;
266 } // is_EOB()
267
268
269 wordPos += 1;
270 if (wordPos >= size) {
271 msg(MSG::ERROR)<<" Error: data corrupted"<< endmsg;
272 return StatusCode::FAILURE;
273 }
274
275
276 m_ALFA_RawDataCollectionReadOut->decodeWord(vint[wordPos]);
277 m_ALFA_RawDataReadOut_charge->decodeWord(vint[wordPos]);
278
279 while (!m_ALFA_RawDataCollectionReadOut->is_TWC()) {
280
281 uint16_t slotIdNum = m_ALFA_RawDataReadOut_charge->SlotId();
282
283 msg(MSG::DEBUG)<<" Decoding data from Slot Id number : " << slotIdNum << endmsg;
284
285
286 // Loop on the TDC data words and create the corresponding RDO's
287
288 while (!m_ALFA_RawDataReadOut_charge->is_EOT())
289 {
290 wordPos += 1;
291 if (wordPos >= size)
292 {
293 msg(MSG::DEBUG)<<" Error: data corrupted" << endmsg;
294 return StatusCode::FAILURE;
295 }
296
297 m_ALFA_RawDataReadOut_charge->decodeWord(vint[wordPos]);
298
299 uint16_t PMFIdNum;
300 uint16_t ChannelIdNum;
301 uint16_t ChargeNum;
302
303
304 if (m_ALFA_RawDataReadOut_charge->is_TDCch() ) {
305
306 // if(m_ALFA_RawDataReadOut_charge->ChannelNumId() ==1) msg(MSG::DEBUG)<<" DECODER : PMFId " << m_ALFA_RawDataReadOut_charge->PMFId() << " ChannelNumId " << m_ALFA_RawDataReadOut_charge->ChannelNumId() << " ChargeChanId "<< m_ALFA_RawDataReadOut_charge->ChargeChanId() <<endmsg;
307
308
309
310 if(m_ALFA_RawDataReadOut_charge->PMFId() ==0){
311 // && m_ALFA_RawDataReadOut_charge->bit27_24()==1
312 // msg(MSG::DEBUG) << " Creation of the new collection"<< endmsg;
313
314
315 CountPMF0++;
316
317 tmpCharge = m_ALFA_RawDataReadOut_charge->ChargeChanId();
318
319 for (unsigned int i=0;i<8;i++){
320
321 charge_hit = (char) tmpCharge & 0x00000001;
322 tmpCharge>>=1;
323
324 if(charge_hit==1){
325 MBIdNum=i+1;
326
327 if(CountPMF0==1) collection = getCollection(MBIdNum,rdoCont );
328 if(collection) collection->SetMBId_POT(MBIdNum);
329
330 if(CountPMF0==1) msg(MSG::DEBUG)<<" DECODER : MBIdNum " << MBIdNum << endmsg;
331
332
333 }
334
335
336 } // loop over MBs
337
338 } // PMFId() ==0
339
340
341
342
343 if(m_ALFA_RawDataReadOut_charge->PMFId() >0 && m_ALFA_RawDataReadOut_charge->PMFId() <24){
344 // && m_ALFA_RawDataReadOut_charge->bit27_24()==0
345
346
347 ChargeNum=m_ALFA_RawDataReadOut_charge->ChargeChanId();
348 ChannelIdNum = m_ALFA_RawDataReadOut_charge->ChannelNumId();
349 PMFIdNum = m_ALFA_RawDataReadOut_charge->PMFId();
350
351 auto rawData_charge = std::make_unique< ALFA_RawData_charge >(PMFIdNum);
352
353 rawData_charge->SetChannelNum_PMF(ChannelIdNum);
354 rawData_charge->SetPMFId_PMF(PMFIdNum);
355 rawData_charge->SetMBId_PMF(MBIdNum);
356 rawData_charge->SetChargeChan_PMF(ChargeNum);
357
358
359 msg(MSG::DEBUG)<<" PMFIdNum = " << PMFIdNum <<" ChannelIdNum = " << ChannelIdNum <<" chargeNum = " << ChargeNum << endmsg;
360
361 std::vector<uint16_t> ChargeHitId;
362 ChargeHitId.push_back(ChargeNum);
363 rawData_charge->SetChargeChanVect_PMF(ChargeHitId);
364
365 rawData_charge->addData(vint[wordPos]);
366 rawData_charge->PushBack_PMF(ChargeNum);
367
368 if(collection) collection->push_back(rawData_charge.release());
369
370
371 } // PMFIdNum >0 && <24
372
373
374
375
376
377 //if(m_ALFA_RawDataReadOut_charge->PMFId()==24) // PMF 24 contains charge infos
378 //{
379 //} //TSM PMF24
380
381
382 } // TSM_charge
383
384
385 } // End of loop on AMTs (EOT)
386
387
388 if (m_ALFA_RawDataReadOut_charge->is_EOT() && m_ALFA_RawDataReadOut_charge->bit24_27()!=0) {
389 msg(MSG::DEBUG) << " Event Counter EOT : " << m_ALFA_RawDataReadOut_charge->ecnt_EOT()<< endmsg;
390 }
391
392 wordPos += 1;
393 if (wordPos >= size) {
394 msg(MSG::DEBUG)<<" Error: data corrupted" << endmsg;
395 return StatusCode::FAILURE;
396 }
397
398
399 m_ALFA_RawDataCollectionReadOut->decodeWord(vint[wordPos]);
400 m_ALFA_RawDataReadOut_charge->decodeWord(vint[wordPos]);
401
402 } // End of loop on TDCs (TWC)
403
404 wordPos += 1;
405 if (wordPos >= size)
406 {
407 msg(MSG::DEBUG)<<" Error: data corrupted" << endmsg;
408 return StatusCode::FAILURE;
409 }
410
411 m_ALFA_RawDataCollectionReadOut->decodeWord(vint[wordPos]);
412
413
414
415 // take full event
416const eformat::FullEventFragment<const uint32_t*> * event = m_robDataProvider->getEvent(Gaudi::Hive::currentContext());
417
418msg(MSG::DEBUG) << "========FULL Event=============" << std::endl;
419msg(MSG::DEBUG) << "Event time (sec): " << (uint32_t)event->bc_time_seconds() << std::endl;
420msg(MSG::DEBUG) << "Event time (ns): " << (uint32_t)event->bc_time_nanoseconds() << std::endl;
421msg(MSG::DEBUG) << "Global ID: " << (uint32_t)event->global_id() << std::endl;
422msg(MSG::DEBUG) << "Run Type: " << (uint32_t)event->run_type() << std::endl;
423msg(MSG::DEBUG) << "Run Number: " << (uint32_t)event->run_no() << std::endl;
424msg(MSG::DEBUG) << "Lumi Block: " << (uint32_t)event->lumi_block() << std::endl;
425msg(MSG::DEBUG) << "Level1 ID: " << (uint32_t)event->lvl1_id() << std::endl;
426msg(MSG::DEBUG) << "BCID: " << (uint32_t)event->bc_id() << std::endl;
427msg(MSG::DEBUG) << "Level1 trig type: " << (uint32_t)event->lvl1_trigger_type() << std::endl;
428msg(MSG::DEBUG) << "Level1 Nwords: " << (uint32_t)event->nlvl1_trigger_info() << std::endl;
429msg(MSG::DEBUG) << "============================" << std::endl;
430
431uint32_t Time_StampID = event->bc_time_seconds();
432uint32_t BC_ID = event->bc_id();
433
434if(collection) collection->SetTimeStamp_POT(Time_StampID);
435if(collection) collection->SetBCId_POT(BC_ID);
436
437
438
439
440
441
442 } //EOB
443
444
445 if (m_ALFA_RawDataCollectionReadOut->is_EOB())
446 {
447 msg(MSG::DEBUG) << " Found the end of block EOB ---------------------- "<< endmsg;
448 }
449
450 wordPos += 1;
451 m_ALFA_RawDataCollectionReadOut->decodeWord(vint[wordPos]);
452
453
454 return StatusCode::SUCCESS;
455}
#define endmsg
ALFA_RawDataCollection_charge * getCollection(unsigned int MotherBoardId, ALFA_RawDataContainer_charge *cont)
ALFA_RawDataCollectionReadOut * m_ALFA_RawDataCollectionReadOut
ALFA_RawDataContainerReadOut * m_ALFA_RawDataContainerReadOut
ALFA_RawDataReadOut_charge * m_ALFA_RawDataReadOut_charge
MsgStream & msg() const
value_type push_back(value_type pElem)
Add an element to the end of the collection.
const DataType * PointerType
Definition RawEvent.h:25
l
Printing final latex table to .tex output file.
setWord1 uint16_t
setEventNumber uint32_t

◆ finalize()

StatusCode ALFA_Decoder_charge::finalize ( )
virtual

Definition at line 78 of file ALFA_Decoder_charge.cxx.

78 {
79
80msg(MSG::DEBUG) << " ALFA_RoDDecoder_charge::FINALIZE" << endmsg;
81
82msg(MSG::DEBUG) << " Bytestream summary:" << m_fragment_number << " fragments found" << endmsg;
83
84
88
89 return StatusCode::SUCCESS;
90}

◆ getCollection()

ALFA_RawDataCollection_charge * ALFA_Decoder_charge::getCollection ( unsigned int MotherBoardId,
ALFA_RawDataContainer_charge * cont )

Definition at line 463 of file ALFA_Decoder_charge.cxx.

463 {
464
465msg(MSG::DEBUG) << " ALFA_RoDDecoder_charge::getCollection" << endmsg;
466
467 ALFA_RawDataCollection_charge* coll;
468
470 bool collExists = false;
473
474
475 for (; it!=itE; ++it) {
476 if ((*it)->GetMBId_POT() == MBIdNum) {
477 collExists = true;
478 cont_it = it;
479 }
480 }
481 if (collExists) {
482 msg(MSG::DEBUG) << " Collection exists " << endmsg;
483 return nullptr;
484
485 } else { // if collection does not exist create it
486 coll = new ALFA_RawDataCollection_charge(MBIdNum);
487 msg(MSG::DEBUG) << " create collection; MBId " << MBIdNum <<endmsg;
488 cont->push_back(coll); // add collection to container
489 }
490
491
492 return coll;
493}
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.

◆ getRawData_charge()

ALFA_RawData_charge * ALFA_Decoder_charge::getRawData_charge ( unsigned int PMFId,
ALFA_RawDataCollection_charge * coll )

◆ initialize()

StatusCode ALFA_Decoder_charge::initialize ( )
virtual

Definition at line 41 of file ALFA_Decoder_charge.cxx.

41 {
42
43
45 sc = AthAlgTool::initialize();
46 msg(MSG::DEBUG) << " ALFA_RoDDecoder_charge::initialize" << endmsg;
47 if (sc.isFailure()) return sc;
48
49 // Get ROBDataProviderSvc
50 if (m_robDataProvider.retrieve().isFailure()) {
51 msg(MSG::FATAL) << "Failed to retrieve service " << m_robDataProvider << endmsg;
52 return StatusCode::FAILURE;
53 } else {
54 msg(MSG::DEBUG) << "Retrieved service " << m_robDataProvider << endmsg;
55 }
56
57
59
60
61 // Initialize decoding classes
62 m_ALFA_RawDataReadOut_charge = new ALFA_RawDataReadOut_charge();
63 m_ALFA_RawDataCollectionReadOut = new ALFA_RawDataCollectionReadOut();
64 m_ALFA_RawDataContainerReadOut = new ALFA_RawDataContainerReadOut();
65
66
67 return StatusCode::SUCCESS;
68}
static Double_t sc
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & ALFA_Decoder_charge::interfaceID ( )
static

Definition at line 10 of file ALFA_Decoder_charge.cxx.

11{
13}
static const InterfaceID IID_IALFA_Decoder_charge("ALFA_Decoder_charge", 1, 0)

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ robFragment()

const eformat::ROBFragment< const uint32_t * > * ALFA_Decoder_charge::robFragment ( ) const
inline

Definition at line 64 of file ALFA_Decoder_charge.h.

64{ return m_robFrag; }
const eformat::ROBFragment< const uint32_t * > * m_robFrag

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_ALFA_RawDataCollectionReadOut

ALFA_RawDataCollectionReadOut* ALFA_Decoder_charge::m_ALFA_RawDataCollectionReadOut = nullptr
private

Definition at line 78 of file ALFA_Decoder_charge.h.

◆ m_ALFA_RawDataContainerReadOut

ALFA_RawDataContainerReadOut* ALFA_Decoder_charge::m_ALFA_RawDataContainerReadOut = nullptr
private

Definition at line 79 of file ALFA_Decoder_charge.h.

◆ m_ALFA_RawDataReadOut_charge

ALFA_RawDataReadOut_charge* ALFA_Decoder_charge::m_ALFA_RawDataReadOut_charge = nullptr
private

Definition at line 77 of file ALFA_Decoder_charge.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_event

const eformat::FullEventFragment<const uint32_t*>* ALFA_Decoder_charge::m_event = nullptr
private

Definition at line 68 of file ALFA_Decoder_charge.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_fragment_number

unsigned int ALFA_Decoder_charge::m_fragment_number = 0U
private

Definition at line 71 of file ALFA_Decoder_charge.h.

◆ m_robDataProvider

ServiceHandle<IROBDataProviderSvc> ALFA_Decoder_charge::m_robDataProvider
private

Service for reading bytestream.

Definition at line 74 of file ALFA_Decoder_charge.h.

◆ m_robFrag

const eformat::ROBFragment<const uint32_t*>* ALFA_Decoder_charge::m_robFrag = nullptr
private

Definition at line 69 of file ALFA_Decoder_charge.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: