|
ATLAS Offline Software
|
#include <ALFA_Decoder.h>
|
| ALFA_Decoder (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual | ~ALFA_Decoder () |
|
virtual StatusCode | initialize () |
|
virtual StatusCode | finalize () |
|
StatusCode | fillCollection (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment *robFrag, ALFA_RawDataContainer *rdoCont, std::vector< unsigned int > *vecHash=NULL) |
|
ALFA_RawDataCollection * | getCollection (unsigned int MotherBoardId, ALFA_RawDataContainer *cont) |
|
ALFA_RawData * | getRawData (unsigned int PMFId, ALFA_RawDataCollection *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 . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
Definition at line 37 of file ALFA_Decoder.h.
◆ m_ALFA_RawData
◆ m_ALFA_RawDataCollection
◆ StoreGateSvc_t
◆ ALFA_Decoder()
ALFA_Decoder::ALFA_Decoder |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~ALFA_Decoder()
ALFA_Decoder::~ALFA_Decoder |
( |
| ) |
|
|
virtual |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ eventFragment()
const eformat::FullEventFragment<const uint32_t*>* ALFA_Decoder::eventFragment |
( |
| ) |
const |
|
inline |
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
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()
Definition at line 103 of file ALFA_Decoder.cxx.
111 std::vector<uint32_t> VData;
129 std::vector<bool> tmpLvl1Pattern;
130 std::vector<bool> tmpLvl2Pattern;
131 std::vector<bool> tmpEFPattern;
145 if (
sc.isFailure()) {
146 ATH_MSG_WARNING (
" cannot retrieve EventInfo, will not set ALFA bit information ");
160 msg(MSG::WARNING) <<
"Cannot set ALFA error state"<<
endmsg;
161 return StatusCode::SUCCESS;
166 uint32_t nstat = robFrag->nstatus();
171 robFrag->status (
it);
176 msg(MSG::WARNING) <<
" Error in ROB status word: 0x" <<
endmsg;
178 msg(MSG::WARNING) <<
"Cannot set ALFA error state"<<
endmsg;
180 msg(MSG::WARNING) <<
"Cannot set event bit info for ALFA"<<
endmsg;
182 return StatusCode::SUCCESS;
190 robFrag->rod_data(vint);
196 uint32_t ROD_source_ID = robFrag->rod_source_id();
199 uint32_t ROD_LVL1_ID = robFrag->rod_lvl1_id();
201 msg(
MSG::DEBUG) <<
"============================" << std::endl;
208 msg(
MSG::DEBUG) <<
"============================" << std::endl;
213 uint32_t evt_Id = ((robFrag->rod_lvl1_id()) & 0xFF000000) >> 24;
214 uint32_t lvl1_Id = ((robFrag->rod_lvl1_id()) & 0x00FFFFFF) ;
243 if (
n==0) Event_num = LvL1;
244 else Event_num = ((robFrag->rod_lvl1_id()) & 0x00FFFFFF) + Event_num;
246 LvL1 = ((robFrag->rod_lvl1_id()) & 0x00FFFFFF)+1 ;
247 EcrId = ((robFrag->rod_lvl1_id()) & 0xFF000000) >> 24;
249 if(
l==1) Event_num_max=Event_num;
251 Event_num = ((robFrag->rod_lvl1_id()) & 0x00FFFFFF)+1 + Event_num_max;
283 msg(MSG::WARNING)<<
" Error: data corrupted" <<
endmsg;
285 msg(MSG::WARNING) <<
"Cannot set ALFA error state"<<
endmsg;
287 msg(MSG::WARNING) <<
"Cannot set event bit info for ALFA"<<
endmsg;
289 return StatusCode::SUCCESS;
304 msg(MSG::WARNING)<<
" Error: collection not found " <<
endmsg;
306 msg(MSG::WARNING) <<
"Cannot set ALFA error state"<<
endmsg;
308 msg(MSG::WARNING) <<
"Cannot set event bit info for ALFA"<<
endmsg;
310 return StatusCode::SUCCESS;
317 msg(MSG::WARNING)<<
" Error: data corrupted"<<
endmsg;
319 msg(MSG::WARNING) <<
"Cannot set ALFA error state"<<
endmsg;
321 msg(MSG::WARNING) <<
"Cannot set event bit info for ALFA"<<
endmsg;
322 return StatusCode::SUCCESS;
345 msg(MSG::WARNING)<<
" Error: data corrupted" <<
endmsg;
347 msg(MSG::WARNING) <<
"Cannot set ALFA error state"<<
endmsg;
349 msg(MSG::WARNING) <<
"Cannot set event bit info for ALFA"<<
endmsg;
351 return StatusCode::SUCCESS;
374 for (
unsigned int i=0;
i<8;
i++)
377 thisMB = (
char) tmpMB & 0x00000001;
418 std::vector<uint16_t> hitId;
420 for (
unsigned int i=0;
i<16;
i++)
424 fiber_hit = (
char) tmpFiber & 0x00000001;
430 hitId.push_back(FiberNum);
433 else hitId.push_back(100);
440 rawData->
addData(vint[wordPos]);
442 if(collection) collection->
push_back(rawData);
516 msg(MSG::WARNING)<<
" Error: data corrupted" <<
endmsg;
518 msg(MSG::WARNING) <<
"Cannot set ALFA error state"<<
endmsg;
520 msg(MSG::WARNING) <<
"Cannot set event bit info for ALFA"<<
endmsg;
522 return StatusCode::SUCCESS;
534 msg(MSG::WARNING)<<
" Error: data corrupted" <<
endmsg;
536 msg(MSG::WARNING) <<
"Cannot set ALFA error state"<<
endmsg;
538 msg(MSG::WARNING) <<
"Cannot set event bit info for ALFA"<<
endmsg;
540 return StatusCode::SUCCESS;
549 const eformat::FullEventFragment<const uint32_t*> *
event =
m_robDataProvider->getEvent(Gaudi::Hive::currentContext());
564 msg(
MSG::DEBUG) <<
"============================" << std::endl;
566 uint32_t Time_StampID =
event->bc_time_seconds();
567 uint32_t Time_StampnsID =
event->bc_time_nanoseconds();
569 uint32_t LumiBlock_ID =
event->lumi_block();
573 if(rdoCont) rdoCont->
SetBCId(BC_ID);
582 const uint32_t *point_lvl1 =
event->lvl1_trigger_info();
583 uint32_t point_lvl1_end =
event->nlvl1_trigger_info();
586 wo = *(point_lvl1 +
i);
589 tmpLvl1Pattern.push_back((wo & 0
x1));
598 const uint32_t *point_lvl2 =
event->lvl2_trigger_info();
599 uint32_t point_lvl2_end =
event->nlvl2_trigger_info();
602 wo = *(point_lvl2 +
i);
605 tmpLvl2Pattern.push_back((wo & 0
x1));
616 const uint32_t *point_ef =
event->event_filter_info();
617 uint32_t point_ef_end =
event->nevent_filter_info();
620 wo = *(point_ef +
i);
625 tmpEFPattern.push_back((wo & 0
x1));
642 return StatusCode::SUCCESS;
◆ finalize()
StatusCode ALFA_Decoder::finalize |
( |
| ) |
|
|
virtual |
◆ getCollection()
Definition at line 652 of file ALFA_Decoder.cxx.
660 bool collExists =
false;
667 if ((*it)->GetMBId_POT() == MBIdNum)
◆ getRawData()
◆ initialize()
StatusCode ALFA_Decoder::initialize |
( |
| ) |
|
|
virtual |
Definition at line 45 of file ALFA_Decoder.cxx.
52 if (
sc.isFailure())
return sc;
58 return StatusCode::FAILURE;
72 return StatusCode::SUCCESS;
◆ inputHandles()
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::interfaceID |
( |
| ) |
|
|
static |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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()
◆ renounceArray()
◆ robFragment()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_ALFA_RawDataCollectionReadOut
◆ m_ALFA_RawDataContainerReadOut
◆ m_ALFA_RawDataReadOut
◆ m_detStore
◆ m_event
const eformat::FullEventFragment<const uint32_t*>* ALFA_Decoder::m_event = nullptr |
|
private |
◆ m_evtStore
◆ m_fragment_number
unsigned int ALFA_Decoder::m_fragment_number = 0U |
|
private |
◆ m_robDataProvider
◆ m_robFrag
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
Const iterator class for DataVector/DataList.
void Set_ADC2_POT(uint16_t ADC2_number)
void Set_error_bit17(bool bit)
void SetPMFId_PMF(uint16_t PMF_number)
void decodeWord(uint32_t dataWord)
void addData(uint32_t dataWord)
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Service for reading bytestream.
ALFA_RawDataCollectionReadOut * m_ALFA_RawDataCollectionReadOut
ALFA_RawDataReadOut * m_ALFA_RawDataReadOut
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
uint16_t bit26_27() const
@ CORRUPTION
data corrupted
void SetTimeStamp(uint32_t tmpTimeStamp)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
void Set_ADC1_POT(uint16_t ADC1_number)
void SetMBId_PMF(uint16_t MB_number)
@ COLL_NOT_FOUND
collection not found
void SetTrigSyncErr(bool bit)
unsigned int m_fragment_number
void SetTimeStampns(uint32_t tmpTimeStampns)
void PushBack_PMF(uint16_t fiber_hit)
void decodeWord(uint32_t dataWord)
virtual void setOwner(IDataHandleHolder *o)=0
void Set_scaler_POT(uint16_t scaler_number)
uint16_t ecnt_EOT() const
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const DataType * PointerType
POOL::TEvent event(POOL::TEvent::kClassAccess)
void SetMarocChan_PMF(const std::vector< uint16_t > &MarocChan)
void SetMBId_POT(uint16_t MB_number)
::StatusCode StatusCode
StatusCode definition for legacy code.
void decodeWord(uint32_t dataWord)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
RDOs : Chamber Service Module, collection of RawData.
void SetLumiBlock(uint32_t tmpLumiBlock)
void SetLvl2Pattern(const std::vector< bool > &tmplvl2_pattern)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void SetEFPattern(const std::vector< bool > &tmpef_pattern)
void SetWordId_PMF(uint16_t Word_number)
const eformat::ROBFragment< const uint32_t * > * m_robFrag
ALFA_RawDataCollection * getCollection(unsigned int MotherBoardId, ALFA_RawDataContainer *cont)
const eformat::FullEventFragment< const uint32_t * > * m_event
This class provides general information about an event. Event information is provided by the accessor...
void Set_pattern_POT(const std::vector< bool > &pattern_number)
value_type push_back(value_type pElem)
Add an element to the end of the collection.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
uint16_t RODinput() const
uint16_t bit24_27() const
#define ATH_MSG_WARNING(x)
const std::vector< bool > & pattern() const
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
void SetLvl1Pattern(const std::vector< bool > &tmplvl1_pattern)
void SetBCId(uint32_t tmpBCId)
@ ROB_ERROR
ROB status error.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
ALFA_RawDataContainerReadOut * m_ALFA_RawDataContainerReadOut
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.