ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
RecMuCTPIByteStreamTool Class Reference

Tool doing the ByteStream -> MuCTPI_RIO conversion. More...

#include <RecMuCTPIByteStreamTool.h>

Inheritance diagram for RecMuCTPIByteStreamTool:
Collaboration diagram for RecMuCTPIByteStreamTool:

Public Member Functions

 RecMuCTPIByteStreamTool (const std::string &type, const std::string &name, const IInterface *parent)
 Default constructor. More...
 
virtual StatusCode initialize () override
 Function to initialise the tool. More...
 
StatusCode convert (const ROBF *rob, MuCTPI_RIO *&cont)
 Convert ROBFragment to MuCTPI_RIO. More...
 
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
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool InterfaceID. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
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. More...
 

Private Types

typedef OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment ROBF
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

MuCTPISrcIdMap m_srcIdMap
 Object storing the various IDs of the MuCTPI fragment. More...
 
ToolHandle< LVL1::ITrigT1MuonRecRoiToolm_rpcRoITool
 
ToolHandle< LVL1::ITrigT1MuonRecRoiToolm_tgcRoITool
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Tool doing the ByteStream -> MuCTPI_RIO conversion.

   The actual work of translating the information in a MuCTPI ROB fragment
   into a MuCTPI_RIO object is done with this tool.
See also
CTPByteStreamCnv
Author
Tadashi Maeno
Attila Krasznahorkay
David Berge
Christian Ohm

Definition at line 36 of file RecMuCTPIByteStreamTool.h.

Member Typedef Documentation

◆ ROBF

Definition at line 39 of file RecMuCTPIByteStreamTool.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ RecMuCTPIByteStreamTool()

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

Default constructor.

The constructor takes care of correctly constructing the base class and declaring the tool's interface to the framework.

Definition at line 32 of file RecMuCTPIByteStreamTool.cxx.

34  : AthAlgTool( type, name, parent )
35 
36 {
37  declareInterface< RecMuCTPIByteStreamTool >( this );
38 }

Member Function Documentation

◆ convert()

StatusCode RecMuCTPIByteStreamTool::convert ( const ROBF rob,
MuCTPI_RIO *&  result 
)

Convert ROBFragment to MuCTPI_RIO.

Conversion from eformat::ROBFragment to RIO.

This is called from the RecMuCTPIByteStreamCnv::createObj method.

Definition at line 70 of file RecMuCTPIByteStreamTool.cxx.

70  {
71 
72  ATH_MSG_DEBUG("executing convert() from ROBFragment to RIO");
73 
74  // L1Menu
75  const TrigConf::L1Menu * l1menu = nullptr;
77 
78  // Source ID of MIROD
79  const uint32_t miRodId = m_srcIdMap.getRodID();
80 
81  /* get ROD source ID */
82  uint32_t rodId = rob->rod_source_id();
83 
84  if( rodId == miRodId ) {
85 
86  // result
87  MuCTPI_RIO* muCTPI_RIO = new MuCTPI_RIO;
88 
89  // get the ROD header data and store it
90  const uint32_t bcid = rob->rod_bc_id();
91  const uint32_t ndata = rob->rod_ndata();
92  const uint32_t detev_type = rob->rod_detev_type();
93  const uint32_t lvl1_type = rob->rod_lvl1_trigger_type();
94  const uint32_t lvl1_id = rob->rod_lvl1_id();
95  const uint32_t run_no = rob->rod_run_no();
96  const uint32_t nstatus = rob->rod_nstatus();
98  rob->rod_status( it_statusData );
99 
100  ATH_MSG_VERBOSE(" Dumping CTP ROD fragment Header data:");
101  ATH_MSG_VERBOSE("Source ID 0x" << MSG::hex << rodId << MSG::dec);
102  ATH_MSG_VERBOSE("BCID 0x" << MSG::hex << bcid << MSG::dec
103  << " (dec " << bcid << ")");
104  ATH_MSG_VERBOSE("Detector event type 0x" << MSG::hex << detev_type
105  << MSG::dec << " (dec " << detev_type << ")");
106  ATH_MSG_VERBOSE("Level-1 ID 0x" << MSG::hex << lvl1_id << MSG::dec
107  << " (dec " << lvl1_id << ")");
108  ATH_MSG_VERBOSE("Level-1 type 0x" << MSG::hex << lvl1_type << MSG::dec
109  << " (dec " << lvl1_type << ")");
110  ATH_MSG_VERBOSE("Run number " << run_no);
111  ATH_MSG_VERBOSE("Number of data words " << ndata);
112  ATH_MSG_VERBOSE("Number of status words ");
113  for ( uint32_t i = 0; i < nstatus; ++i , ++it_statusData) {
114  ATH_MSG_VERBOSE("Status word # " << i << ": 0x" << MSG::hex << (*it_statusData) << MSG::dec
115  << " (dec " << (*it_statusData) << ")");
116  muCTPI_RIO->headerStatusWords().push_back( static_cast<uint32_t>( *it_statusData ) );
117  }
118  muCTPI_RIO->headerSourceId(rodId);
119  muCTPI_RIO->headerRunNumber(run_no);
120  muCTPI_RIO->headerLVL1ID(lvl1_id);
121  muCTPI_RIO->headerBCID(bcid);
122  muCTPI_RIO->headerLVL1TriggerType(lvl1_type);
123  muCTPI_RIO->headerDetectorEventType(detev_type);
124  muCTPI_RIO->headerNumberDataWords(ndata);
125  muCTPI_RIO->headerNumberStatusWords(nstatus);
126 
127  ATH_MSG_DEBUG(" Dumping MuCTPI words:");
128 
130  rob->rod_data( it_data );
131 
132  //First count mult words
133  int nMultWords = 0;
134  for( uint32_t i = 0; i < ndata; ++i ) {
135  if( ((*it_data) & 0x20000000) != 0 ) nMultWords++;
136  ++it_data;
137  }
138 
139  rob->rod_data( it_data );
140 
141  it_data+=(nMultWords-1)/2;//Goes to the central BC of the RO window
142 
143  ATH_MSG_DEBUG(" 0x" << MSG::hex << std::setw( 8 ) << *it_data
144  << " (candidate multiplicity)");
145 
146  // candidate multiplicities
148  for ( int i = 0; i < MuCTPI_RIO::N_SUM; ++i )
149  sum[ i ] = ( *it_data >> ( i * 3 ) ) & 0x1F;
150  muCTPI_RIO->setSum( sum );
151 
152  // BCID
153  uint16_t g_bcId = ( (*it_data) & 0x001C0000 ) >> 18;
154  muCTPI_RIO->setBCID( g_bcId );
155 
156  it_data+=(nMultWords+1)/2;//Goes to the first candidate word;
157 
158  // data words
159  for( uint32_t i = nMultWords; i < ndata; ++i, ++it_data ) {
160 
161  ATH_MSG_DEBUG(" 0x" << MSG::hex << std::setw( 8 ) << *it_data);
162 
163  // extract BCID
164  const uint32_t tmpWord = static_cast<uint32_t>( *it_data ); // The two types are the same right now, but it might change.
165  uint16_t bcId = ( tmpWord & 0x0001C000 ) >> 14;
166 
167  // accepted bit
168  bool accepted = true;
169  if ( ( tmpWord & 0x04000000 ) == 0 )
170  accepted = false;
171 
172  // make RoI word
173  uint32_t roiWord = ( tmpWord & 0x00003FFF ) + ( ( tmpWord & 0x03FE0000 ) >> 3 );
174 
175  ATH_MSG_DEBUG(MSG::hex << std::setw( 8 ) << *it_data
176  << " : ROI=" << std::setw( 8 ) << roiWord);
177 
178  // reconstruct
179  LVL1::RecMuonRoI thisRoI( roiWord, m_rpcRoITool.isSet() ? m_rpcRoITool.operator->() : 0,
180  m_tgcRoITool.isSet() ? m_tgcRoITool.operator->() : 0, l1menu );
181 
182  uint16_t pTVal = thisRoI.getThresholdValue();
183  uint16_t pTNumber = thisRoI.getThresholdNumber();
184  uint16_t roiNumber = thisRoI.getRoINumber();
185  uint16_t secId = thisRoI.sectorID();
186  uint16_t sysId = thisRoI.sysID();
187  uint16_t hemisphere = thisRoI.subsysID();
188  double eta = thisRoI.eta();
189  double phi = thisRoI.phi();
190  bool first = thisRoI.firstCandidate();
191  bool duplicatedRoI = thisRoI.padOverflow();
192  bool duplicatedSector = thisRoI.sectorOverflow();
193 
194  // fill
195  muCTPI_RIO->setRoI( bcId, pTVal,pTNumber, eta, phi, secId, sysId, hemisphere, roiNumber,
196  accepted, first, duplicatedRoI, duplicatedSector );
197  }
198 
199  /* set return value */
200  result = muCTPI_RIO;
201 
202  return StatusCode::SUCCESS;
203 
204  } else {
205 
206  ATH_MSG_WARNING("Expected source ID 0x" << MSG::hex << miRodId << " but found 0x"
207  << rodId << MSG::dec);
208  return StatusCode::FAILURE;
209 
210  }
211 }

◆ declareGaudiProperty() [1/4]

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

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

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

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

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

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

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

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

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

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

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ 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.

95 { return m_detStore; }

◆ evtStore() [1/2]

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.

85 { return m_evtStore; }

◆ evtStore() [2/2]

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

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

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ 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

◆ initialize()

StatusCode RecMuCTPIByteStreamTool::initialize ( )
overridevirtual

Function to initialise the tool.

The function connects to all services being used, resets the internally used variables, and initialises the base class.

Definition at line 45 of file RecMuCTPIByteStreamTool.cxx.

45  {
46 
47  StatusCode sc = m_rpcRoITool.retrieve();
48  if( sc.isFailure() ) {
49  ATH_MSG_WARNING("Couldn't access RPC RecMuonRoISvc");
50  } else {
51  ATH_MSG_DEBUG("Connected to RPC RecMuonRoISvc");
52  }
53 
54  sc = m_tgcRoITool.retrieve();
55  if( sc.isFailure() ) {
56  ATH_MSG_WARNING("Couldn't access TGC RecMuonRoISvc");
57  } else {
58  ATH_MSG_DEBUG("Connected to TGC RecMuonRoISvc");
59  }
60 
61  return StatusCode::SUCCESS;
62 
63 }

◆ 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 & RecMuCTPIByteStreamTool::interfaceID ( )
static

AlgTool InterfaceID.

This function is needed by the framework to know what kind of tool this is.

Definition at line 22 of file RecMuCTPIByteStreamTool.cxx.

22  {
23 
24  return IID_IRecMuCTPIByteStreamTool;
25 
26 }

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

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

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ 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();
383  PBASE::renounce (h);
384  }

◆ 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  {
365  handlesArray.renounce();
366  }

◆ 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 DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ 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) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ 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_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_rpcRoITool

ToolHandle<LVL1::ITrigT1MuonRecRoiTool> RecMuCTPIByteStreamTool::m_rpcRoITool
private
Initial value:
{
this, "RPCRecRoiSvc", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool", "RPC RoI reconstruction tool"
}

Definition at line 59 of file RecMuCTPIByteStreamTool.h.

◆ m_srcIdMap

MuCTPISrcIdMap RecMuCTPIByteStreamTool::m_srcIdMap
private

Object storing the various IDs of the MuCTPI fragment.

Definition at line 57 of file RecMuCTPIByteStreamTool.h.

◆ m_tgcRoITool

ToolHandle<LVL1::ITrigT1MuonRecRoiTool> RecMuCTPIByteStreamTool::m_tgcRoITool
private
Initial value:
{
this, "TGCRecRoiSvc", "LVL1::TrigT1TGCRecRoiTool/TrigT1TGCRecRoiTool", "TGC RoI reconstruction tool"
}

Definition at line 62 of file RecMuCTPIByteStreamTool.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:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
MuCTPI_RIO::headerSourceId
void headerSourceId(uint32_t val)
Set the ROD ID specidied in the header.
Definition: MuCTPI_RIO.h:95
RecMuCTPIByteStreamTool::m_rpcRoITool
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > m_rpcRoITool
Definition: RecMuCTPIByteStreamTool.h:59
MuCTPISrcIdMap::getRodID
uint32_t getRodID() const
get a ROD Source ID
Definition: MuCTPISrcIdMap.cxx:12
get_generator_info.result
result
Definition: get_generator_info.py:21
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
MuCTPI_RIO::headerDetectorEventType
void headerDetectorEventType(uint32_t val)
Set the event type specified in the header.
Definition: MuCTPI_RIO.h:105
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
MuCTPI_RIO::headerNumberDataWords
void headerNumberDataWords(uint32_t val)
Set the number of data words as it was specified in the trailer
Definition: MuCTPI_RIO.h:107
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
MuCTPI_RIO::headerRunNumber
void headerRunNumber(uint32_t val)
Set the run number specified in the header.
Definition: MuCTPI_RIO.h:97
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
TrigConf::L1Menu
L1 menu configuration.
Definition: L1Menu.h:28
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
MuCTPI_RIO::setRoI
void setRoI(const uint16_t bcId, const uint16_t pTval, const uint16_t pTnum, const double eta, const double phi, const uint16_t secID, const uint16_t sysId, const uint16_t hemisphere, const uint16_t roiNum, const bool accepted, const bool first, const bool duplicatedRoI, const bool duplicatedSector)
Add a muon RoI to the object
Definition: MuCTPI_RIO.cxx:69
xAOD::roiWord
roiWord
Definition: TrigMissingET_v1.cxx:36
MuCTPI_RIO
Reconstruction Input Object of the MuCTPI hardware and simulation.
Definition: MuCTPI_RIO.h:43
RecMuCTPIByteStreamTool::m_tgcRoITool
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > m_tgcRoITool
Definition: RecMuCTPIByteStreamTool.h:62
OFFLINE_FRAGMENTS_NAMESPACE::PointerType
const DataType * PointerType
Definition: RawEvent.h:25
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
convertTimingResiduals.sum
sum
Definition: convertTimingResiduals.py:55
LVL1::RecMuonRoI
This class defines the reconstructed Muon ROI.
Definition: RecMuonRoI.h:60
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
lumiFormat.i
int i
Definition: lumiFormat.py:92
MuCTPI_RIO::headerNumberStatusWords
void headerNumberStatusWords(uint32_t val)
Set the number of status words as it was specified in the trailer
Definition: MuCTPI_RIO.h:109
MuCTPI_RIO::setSum
void setSum(const uint16_t *sum)
Set the multiplicity sum.
Definition: MuCTPI_RIO.cxx:34
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MuCTPI_RIO::headerLVL1ID
void headerLVL1ID(uint32_t val)
Set the LVL1 ID specified in the header.
Definition: MuCTPI_RIO.h:99
MuCTPI_RIO::headerStatusWords
std::vector< uint32_t > & headerStatusWords()
Get the status words from the payload.
Definition: MuCTPI_RIO.h:111
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
RecMuCTPIByteStreamTool::m_srcIdMap
MuCTPISrcIdMap m_srcIdMap
Object storing the various IDs of the MuCTPI fragment.
Definition: RecMuCTPIByteStreamTool.h:57
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
MuCTPI_RIO::headerBCID
void headerBCID(uint32_t val)
Set the BCID specified in the header.
Definition: MuCTPI_RIO.h:101
bcId
uint16_t bcId(uint32_t data)
Definition: TgcByteStreamData.h:329
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
xAOD::roiNumber
setTeId setLumiBlock setRoiId setRoiSubsystem roiNumber
Definition: L2StandAloneMuon_v1.cxx:339
xAOD::bcid
setEventNumber setTimeStamp bcid
Definition: EventInfo_v1.cxx:133
MuCTPI_RIO::headerLVL1TriggerType
void headerLVL1TriggerType(uint32_t val)
Set the LVL1 trigger type specified in the header.
Definition: MuCTPI_RIO.h:103
a
TList * a
Definition: liststreamerinfos.cxx:10
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
MuCTPI_RIO::setBCID
void setBCID(const uint16_t bcId)
Function setting the BCID of the object.
Definition: MuCTPI_RIO.h:55
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DeMoScan.first
bool first
Definition: DeMoScan.py:534
python.XMLReader.l1menu
l1menu
Definition: XMLReader.py:73
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
MuCTPI_RIO::N_SUM
@ N_SUM
Definition: MuCTPI_RIO.h:47
fitman.k
k
Definition: fitman.py:528