![]() |
ATLAS Offline Software
|
This class provides conversion between ROD data and LArRawChannels. More...
#include <LArRodDecoder.h>
Public Member Functions | |
| LArRodDecoder (const std::string &type, const std::string &name, const IInterface *parent) | |
| Constructor Standard AlgTool constructor. | |
| virtual | ~LArRodDecoder () |
| Destructor. | |
| virtual StatusCode initialize | ATLAS_NOT_THREAD_SAFE () override |
| void | setsecfeb (HWIdentifier feb) |
| uint32_t | fillCollectionHLT (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, const uint32_t *p, uint32_t n, LArCellCollection &coll, LArRodBlockStructure *&providedRodBlockStructure, uint16_t &rodMinorVersion, uint32_t &robBlockType) const |
| void | fillCollection (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, const uint32_t *p, uint32_t n, LArRawChannelContainer &coll, const CaloGain::CaloGain gain) const |
| void | fillCollection (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, const uint32_t *p, uint32_t n, LArDigitContainer &coll, const CaloGain::CaloGain gain) const |
| void | fillCollection (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, const uint32_t *p, uint32_t n, LArAccumulatedCalibDigitContainer &coll, const CaloGain::CaloGain gain, const LArCalibLineMapping &calibLineMapping) const |
| void | fillCollection (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, const uint32_t *p, uint32_t n, LArAccumulatedDigitContainer &coll, const CaloGain::CaloGain gain) const |
| void | fillCollection (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, const uint32_t *p, uint32_t n, LArCalibDigitContainer &coll, const CaloGain::CaloGain gain, const LArCalibLineMapping &calibLineMapping, const LArOnOffIdMapping &onOffIdMapping) const |
| void | fillCollection (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, const uint32_t *p, uint32_t n, LArFebHeaderContainer &coll, const CaloGain::CaloGain) const |
| template<class T> | |
| bool | check_valid (const T *frag, MsgStream &log) 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< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| LArRodBlockStructure * | prepareBlockStructure1 (const uint16_t rodMinorVersion, const uint32_t robBlockType) const |
| LArRodBlockStructure * | prepareBlockStructure (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, const uint32_t *p, uint32_t n, const CaloGain::CaloGain RequestedGain) const |
| std::unique_ptr< LArRodBlockStructure > | makeBlockStructure (unsigned int rodBlockType, unsigned int rodMinorVersion) const |
| void | setCellEnergy (LArCell *element, int energy, int time, int quality, CaloGain::CaloGain gain) const |
| void | writeFebInfo (LArCellCollection &m_coll, LArFebEnergy &febene) const |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| SG::ReadHandleKey< xAOD::EventInfo > | m_evt {this, "EvtInfo", "EventInfo", "EventInfo name"} |
| float | m_LArCellEthreshold |
| bool | m_readtdc |
| bool | m_febExchange |
| unsigned int | m_febId1 |
| unsigned int | m_febId2 |
| unsigned int | m_febIdHLT = 0U |
| int | m_firstSample |
| std::vector< int > | m_vFTPreselection |
| std::vector< int > | m_vBEPreselection |
| std::vector< int > | m_vPosNegPreselection |
| std::vector< unsigned int > | m_vFinalPreselection |
| uint32_t | m_StatusMask |
| uint32_t | m_StatusNMask = 0U |
| const LArOnlineID * | m_onlineHelper |
| std::vector< std::string > | m_LArCellCorrNames |
| std::vector< unsigned int > | m_IgnoreCheckFEBs |
| std::vector< const CaloCellCorrection * > | m_LArCellCorrTools |
| double | m_delayScale |
| SG::SlotSpecificObj< std::vector< std::unique_ptr< LArRodBlockStructure > > > m_blstructs | ATLAS_THREAD_SAFE |
| bool | m_MultiDSPMode |
| bool | m_CheckSum |
| unsigned short | m_requiredPhysicsNSamples |
| 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 |
This class provides conversion between ROD data and LArRawChannels.
Modified, Dec 4, 2002 Create either LArRawChannel or LArCell.
Modified, Jan 02, 2003 Moved Encoding part to LArROD_Encoder.
Modified, Jul 23, 2003 by R. Lafaye Added LArDigit support Build on the same structure as LArROD_Encoder No longer an AlgTool
Modified, Aug 5 2003 by W. Lampl Have now functionality to decode:
Modified, Aug 7 2003 by W. Lampl Made a template-function for LArRawChannelCollection and LArRawCellCollection
Modified, Aug 17 2003 by W. Lampl Introduce ability to decode different ROD format versions by using a map of LArRodBlockStructures
Modified, Sept 9 2003 by W. Lampl Change implementation of multiple-version feature. A ROD block type/version is now written as second word of the fragment. Replace std::map by c-style array to increase performance
Modified, Sept 28 2003 by W. Lampl Adapt for new constructor of LArRawChannels. (Needs also gain as parameter)
Modified, November 10 2005 by D.O. Damazio Inclusion of new RodBlock format (Bertrand Laforge). Inclusion of methods for fast decoding of data.
Modified,January 04 2006 by I. Wingerter Inclusion of Accumulated Calib Digit
Modified, May 03 2006 by I. Aracena Inclusion of fillCollectionHLTFeb
Modified, Dec 03 2006 by G. Rosenbaum Loop over all possible pusled calib lines and make isPulsed int which stores which lines 1-4 have been pulsed. (needed for HEC)
Modified Aug 16 2009 by W. Lampl Remove internal accumlation of LArAccumulatedCalibDigit. They are now put in the event store for each substep and contain only data of this substep.
Definition at line 127 of file LArRodDecoder.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| LArRodDecoder::LArRodDecoder | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Constructor Standard AlgTool constructor.
Definition at line 40 of file LArRodDecoder.cxx.
|
virtual |
|
overridevirtual |
|
inline |
Definition at line 254 of file LArRodDecoder.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
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
| void LArRodDecoder::fillCollection | ( | const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment & | robFrag, |
| const uint32_t * | p, | ||
| uint32_t | n, | ||
| LArAccumulatedCalibDigitContainer & | coll, | ||
| const CaloGain::CaloGain | gain, | ||
| const LArCalibLineMapping & | calibLineMapping ) const |
Definition at line 517 of file LArRodDecoder.cxx.
| void LArRodDecoder::fillCollection | ( | const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment & | robFrag, |
| const uint32_t * | p, | ||
| uint32_t | n, | ||
| LArAccumulatedDigitContainer & | coll, | ||
| const CaloGain::CaloGain | gain ) const |
Definition at line 647 of file LArRodDecoder.cxx.
| void LArRodDecoder::fillCollection | ( | const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment & | robFrag, |
| const uint32_t * | p, | ||
| uint32_t | n, | ||
| LArCalibDigitContainer & | coll, | ||
| const CaloGain::CaloGain | gain, | ||
| const LArCalibLineMapping & | calibLineMapping, | ||
| const LArOnOffIdMapping & | onOffIdMapping ) const |
Definition at line 320 of file LArRodDecoder.cxx.
| void LArRodDecoder::fillCollection | ( | const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment & | robFrag, |
| const uint32_t * | p, | ||
| uint32_t | n, | ||
| LArDigitContainer & | coll, | ||
| const CaloGain::CaloGain | gain ) const |
Definition at line 137 of file LArRodDecoder.cxx.
| void LArRodDecoder::fillCollection | ( | const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment & | robFrag, |
| const uint32_t * | p, | ||
| uint32_t | n, | ||
| LArFebHeaderContainer & | coll, | ||
| const CaloGain::CaloGain | RequestedGain ) const |
Definition at line 741 of file LArRodDecoder.cxx.
| void LArRodDecoder::fillCollection | ( | const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment & | robFrag, |
| const uint32_t * | p, | ||
| uint32_t | n, | ||
| LArRawChannelContainer & | coll, | ||
| const CaloGain::CaloGain | gain ) const |
Definition at line 228 of file LArRodDecoder.cxx.
|
inline |
Definition at line 290 of file LArRodDecoder.h.
|
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.
|
static |
Definition at line 71 of file LArRodDecoder.cxx.
|
private |
Definition at line 914 of file LArRodDecoder.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
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.
|
private |
Definition at line 872 of file LArRodDecoder.cxx.
|
private |
Definition at line 838 of file LArRodDecoder.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
inlineprivate |
Definition at line 405 of file LArRodDecoder.h.
|
inline |
Definition at line 148 of file LArRodDecoder.h.
|
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.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
inlineprivate |
Definition at line 413 of file LArRodDecoder.h.
|
mutableprivate |
Definition at line 246 of file LArRodDecoder.h.
|
private |
Definition at line 249 of file LArRodDecoder.h.
|
private |
Definition at line 244 of file LArRodDecoder.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 220 of file LArRodDecoder.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 223 of file LArRodDecoder.h.
|
private |
Definition at line 224 of file LArRodDecoder.h.
|
private |
Definition at line 224 of file LArRodDecoder.h.
|
private |
Definition at line 224 of file LArRodDecoder.h.
|
private |
Definition at line 226 of file LArRodDecoder.h.
|
private |
Definition at line 241 of file LArRodDecoder.h.
|
private |
Definition at line 240 of file LArRodDecoder.h.
|
private |
Definition at line 242 of file LArRodDecoder.h.
|
private |
Definition at line 221 of file LArRodDecoder.h.
|
private |
Definition at line 248 of file LArRodDecoder.h.
|
private |
Definition at line 239 of file LArRodDecoder.h.
|
private |
Definition at line 222 of file LArRodDecoder.h.
|
private |
Definition at line 250 of file LArRodDecoder.h.
|
private |
Definition at line 238 of file LArRodDecoder.h.
|
private |
Definition at line 238 of file LArRodDecoder.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
private |
Definition at line 235 of file LArRodDecoder.h.
|
private |
Definition at line 237 of file LArRodDecoder.h.
|
private |
Definition at line 234 of file LArRodDecoder.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
private |
Definition at line 236 of file LArRodDecoder.h.