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

compares pattern unit with client defined masks More...

#include <TBPatternUnitStreamerTool.h>

Inheritance diagram for TBPatternUnitStreamerTool:
Collaboration diagram for TBPatternUnitStreamerTool:

Public Types

typedef unsigned int bit_mask
typedef std::map< std::string, bit_maskbit_mask_store
typedef std::string pattern
typedef std::vector< patternpattern_store

Public Member Functions

 TBPatternUnitStreamerTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~TBPatternUnitStreamerTool ()
virtual StatusCode initializeTool () override
virtual StatusCode accept () override
virtual StatusCode reject ()
virtual StatusCode initialize () override
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

std::string decodeBinary (bit_mask &theTrigger)
StatusCode findPattern (const pattern_store &thePatterns, const bit_mask_store &theBitMasks, bit_mask &theMask)
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.

Protected Attributes

std::string m_patternUnitKey
pattern_store m_acceptPatternNames
pattern_store m_rejectPatternNames
bit_mask m_acceptPattern
bit_mask m_rejectPattern
bit_mask_store m_triggerBitMap

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

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

compares pattern unit with client defined masks

The TBPatternUnitStreamerTool compares the event pattern unit with client defined masks for acceptance and rejection. Pattern unit bits are addressed by name. The AcceptPattern property names a lit of bits required for acceptance, while RejectPattern names a list of bits required to reject the event.

Properties:

Parameters
PatternUnitName- object key for the pattern unit (defaults to TBTrigPat )
AcceptPattern- list of named bits required for acceptance
RejectPattern- list of named bits required for rejection
Author
Peter Loch
Date
June 20, 2004 - first implementation

Definition at line 33 of file TBPatternUnitStreamerTool.h.

Member Typedef Documentation

◆ bit_mask

Definition at line 37 of file TBPatternUnitStreamerTool.h.

◆ bit_mask_store

typedef std::map< std::string, bit_mask > TBPatternUnitStreamerTool::bit_mask_store

Definition at line 38 of file TBPatternUnitStreamerTool.h.

◆ pattern

Definition at line 39 of file TBPatternUnitStreamerTool.h.

◆ pattern_store

Definition at line 40 of file TBPatternUnitStreamerTool.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TBPatternUnitStreamerTool()

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

Definition at line 13 of file TBPatternUnitStreamerTool.cxx.

16 : TBEventStreamerTool(type,name,parent)
17 , m_patternUnitKey("TBTrigPat")
20{
21 declareInterface<TBEventStreamerTool>(this);
22 declareProperty("PatternUnitName",m_patternUnitKey);
23 declareProperty("AcceptPattern", m_acceptPatternNames);
24 declareProperty("RejectPattern", m_rejectPatternNames);
25 // pre-settings (to be moved to helper!)
26 m_triggerBitMap["S1"] = 0x00000001; // S1 accept
27 m_triggerBitMap["S2"] = 0x00000002; // S2 accept
28 m_triggerBitMap["S3"] = 0x00000004; // S3 accept
29 m_triggerBitMap["B2"] = 0x00000008; // B2 accept
30 m_triggerBitMap["VetoLeft"] = 0x00000010; // VetoLeft
31 m_triggerBitMap["VetoRight"] = 0x00000020; // VetoRight
32 m_triggerBitMap["VetoDown"] = 0x00000040; // VetoUp
33 m_triggerBitMap["VetoUp"] = 0x00000080; // VetoDown
34 m_triggerBitMap["Mu1Left"] = 0x00000100; // Mu 1 Left
35 m_triggerBitMap["Mu1Right"] = 0x00000200; // Mu 1 Right
36 m_triggerBitMap["Mu2Left"] = 0x00000400; // Mu 2 Left
37 m_triggerBitMap["EarlyPU"] = 0x00000800; // Early PileUp
38 m_triggerBitMap["LatePU"] = 0x00001000; // Late PileUp
39 m_triggerBitMap["InSpill"] = 0x00002000; // In Spill Tag
40 m_triggerBitMap["OffSpill"] = 0x00004000; // Off Spill Tag
41 m_triggerBitMap["Cedar6of8"] = 0x00008000; // Cedar 7 of 8 segments
42 m_triggerBitMap["Mu2Right"] = 0x00010000; // Mu 2 Right
43 m_triggerBitMap["HoleVeto"] = 0x00020000; // Hole Counter
44 m_triggerBitMap["W1*W2"] = 0x00040000; // W1*W2 coincidence
45 m_triggerBitMap["B1"] = 0x00080000; // B2 accept
46 m_triggerBitMap["ScalerReset"] = 0x00100000; // Scaler Reset Tag
47 m_triggerBitMap["Cedar7of8"] = 0x08000000; // Cedar 7 of 8 segments
48 m_triggerBitMap["Cedar8of8"] = 0x10000000; // Cedar 8 of 8 segments
49}
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
TBEventStreamerTool(const std::string &name, const std::string &type, const IInterface *parent)

◆ ~TBPatternUnitStreamerTool()

TBPatternUnitStreamerTool::~TBPatternUnitStreamerTool ( )
virtual

Definition at line 51 of file TBPatternUnitStreamerTool.cxx.

52{ }

Member Function Documentation

◆ accept()

StatusCode TBPatternUnitStreamerTool::accept ( )
overridevirtual

Implements TBEventStreamerTool.

Definition at line 154 of file TBPatternUnitStreamerTool.cxx.

155{
156 // messaging
157 MsgStream report(msgSvc(),name());
158
159 // Always accept non-physics events
160 const TBEventInfo* theEventInfo;
161 ATH_CHECK( evtStore()->retrieve(theEventInfo,"TBEventInfo") );
162
163 unsigned short evType = theEventInfo->getEventType();
164 report << MSG::DEBUG << "Event Type found " << evType << endmsg;
165 if (evType != 1) return StatusCode::SUCCESS;
166
167 // retrieve pattern unit
168 const TBTriggerPatternUnit* theTrigger;
170
171 //
172 bit_mask thePattern = theTrigger->getTriggerWord() & 0x00ffffff;
173
174 // check acceptance (AND requirement)
175 bool globalAccept = m_acceptPattern != 0x00000000
176 ? ( thePattern & m_acceptPattern ) == m_acceptPattern
177 : true;
178
179 // check rejection (OR requirement)
180 globalAccept = m_rejectPattern != 0x0000
181 ? globalAccept & ( ( thePattern & m_rejectPattern ) == 0x0000 )
182 : globalAccept;
183
184 return globalAccept
185 ? StatusCode::SUCCESS
186 : StatusCode::FAILURE;
187}
#define endmsg
#define ATH_CHECK
Evaluate an expression and check for errors.
ServiceHandle< StoreGateSvc > & evtStore()
int getEventType() const
Definition TBEventInfo.h:71
unsigned int getTriggerWord() const
msgSvc
Provide convenience handles for various services.
Definition StdJOSetup.py:36
list report
Definition checkTP.py:125
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

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

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

◆ decodeBinary()

std::string TBPatternUnitStreamerTool::decodeBinary ( bit_mask & theTrigger)
protected

Definition at line 193 of file TBPatternUnitStreamerTool.cxx.

194{
195 unsigned int nBits = sizeof(theTriggerWord) * 8;
196 std::string thePattern;
197 bit_mask testPattern = 0x00000001;
198 for ( unsigned int i=0; i<nBits; i++ )
199 {
200 if ( ( theTriggerWord & testPattern ) == testPattern )
201 {
202 thePattern = thePattern + "X";
203 }
204 else
205 {
206 thePattern = thePattern + "O";
207 }
208 testPattern *= 2;
209 }
210 return thePattern;
211}

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

◆ 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

◆ findPattern()

StatusCode TBPatternUnitStreamerTool::findPattern ( const pattern_store & thePatterns,
const bit_mask_store & theBitMasks,
bit_mask & theMask )
protected

Definition at line 213 of file TBPatternUnitStreamerTool.cxx.

218{
219 // messaging
220 MsgStream report(msgSvc(),name());
221
222 // build pattern
223 for (const pattern& pat : listOfPatterns)
224 {
225 bit_mask_store::const_iterator findIter =
226 definedPattern.find(pat);
227 if ( findIter != definedPattern.end() )
228 {
229 theMask = theMask | (*findIter).second;
230 }
231 else
232 {
233 report << MSG::WARNING
234 << "requested pattern <"
235 << pat
236 << "> unknown, ignore..."
237 << endmsg;
238 }
239 }
240 return StatusCode::SUCCESS;
241}

◆ initialize()

StatusCode TBEventStreamerTool::initialize ( )
overridevirtualinherited

Definition at line 17 of file TBEventStreamerTool.cxx.

18{
19 return this->initializeTool();
20}
virtual StatusCode initializeTool()

◆ initializeTool()

StatusCode TBPatternUnitStreamerTool::initializeTool ( )
overridevirtual

Reimplemented from TBEventStreamerTool.

Definition at line 58 of file TBPatternUnitStreamerTool.cxx.

59{
60 // messages
61 MsgStream report(msgSvc(),name());
62
63 // form accept trigger pattern
64 m_acceptPattern = 0x00000000;
67 m_acceptPattern)).isFailure())
68 {
69 report << MSG::ERROR
70 << "cannot build accept pattern mask."
71 << endmsg;
72 return StatusCode::FAILURE;
73 }
74
75 // form reject trigger pattern
76 m_rejectPattern = 0x00000000;
79 m_rejectPattern)).isFailure() )
80 {
81 report << MSG::ERROR
82 << "cannot build reject pattern mask."
83 << endmsg;
84 return StatusCode::FAILURE;
85 }
86
87 // print pattern matrices
88 report << MSG::INFO << " " << endmsg;
89 report << MSG::INFO << " ###################" << endmsg;
90 report << MSG::INFO << " # TriggerPatterns #" << endmsg;
91 report << MSG::INFO << " ###################" << endmsg;
92 report << MSG::INFO << " " << endmsg;
93 report << MSG::INFO << " +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" << endmsg;
94 report << MSG::INFO << " | | | | | | | | | | | | | | | | | | | | |S| |" << endmsg;
95 report << MSG::INFO << " | | | | | | | | | | | | | | | | | | | | |c| |" << endmsg;
96 report << MSG::INFO << " | | | | | |V| | | | | | | | | |C| | | | |a|C|" << endmsg;
97 report << MSG::INFO << " | | | | |V|e| |V| |M| | | | |O|e|M|H| | |l|e|" << endmsg;
98 report << MSG::INFO << " | | | | |e|t| |e|M|u|M|E| |I|f|d|u|o| | |e|d|" << endmsg;
99 report << MSG::INFO << " | | | | |t|o|V|t|u|1|u|a|L|n|f|a|2|l| | |r|a|" << endmsg;
100 report << MSG::INFO << " | | | | |o|R|e|o|1|R|2|r|a|S|S|r|R|e|W| |R|r|" << endmsg;
101 report << MSG::INFO << " | | | | |L|i|t|D|L|i|L|l|t|p|p|7|i|V|1| |e|8|" << endmsg;
102 report << MSG::INFO << " | | | | |e|g|o|o|e|g|e|y|e|i|i|o|g|e|*| |s|o|" << endmsg;
103 report << MSG::INFO << " |S|S|S|B|f|h|U|w|f|h|f|P|P|l|l|f|h|t|W|B|e|f|" << endmsg;
104 report << MSG::INFO << " |1|2|3|2|t|t|p|n|t|t|t|U|U|l|l|8|t|o|2|1|t|8|" << endmsg;
105 report << MSG::INFO << "+--------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" << endmsg;
106 report << MSG::INFO << "| accept |";
107 std::string decoded = this->decodeBinary(m_acceptPattern);
108 for ( unsigned int i=0; i<std::min(decoded.length(),m_triggerBitMap.size());
109 i++ )
110 {
111 report << MSG::INFO << decoded.substr(i,1) << "|";
112 }
113// report << MSG::INFO
114// << " (0x" << std::setw(8) << std::setfill('0')
115// << std::setiosflags(std::ios_base::hex) << m_acceptPattern << ")"
116// << std::setiosflags(std::ios_base::dec)
117// << endmsg;
118 report << MSG::INFO << "+--------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" << endmsg;
119 report << MSG::INFO << "| reject |";
120 decoded = this->decodeBinary(m_rejectPattern);
121 for ( unsigned int i=0; i<std::min(decoded.length(),m_triggerBitMap.size());
122 i++ )
123 {
124 report << MSG::INFO << decoded.substr(i,1) << "|";
125 }
126// report << MSG::INFO
127// << " (0x" << std::setw(8) << std::setfill('0')
128// << std::setiosflags(std::ios_base::hex) << m_rejectPattern << ")"
129// << std::setiosflags(std::ios_base::dec)
130// << endmsg;
131 report << MSG::INFO << "+--------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" << endmsg;
132 report << MSG::INFO << "| ignore |";
133 bit_mask ignorePattern = ~( m_rejectPattern ^ m_acceptPattern );
134 decoded = this->decodeBinary(ignorePattern);
135 for ( unsigned int i=0; i<std::min(decoded.length(),m_triggerBitMap.size());
136 i++ )
137 {
138 report << MSG::INFO << decoded.substr(i,1) << "|";
139 }
140// report << MSG::INFO
141// << " (0x" << std::setw(8) << std::setfill('0')
142// << std::setiosflags(std::ios_base::hex) << ignorePattern << ")"
143// << std::setiosflags(std::ios_base::dec)
144// << endmsg;
145 report << MSG::INFO << "+--------+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" << endmsg;
146
147 return StatusCode::SUCCESS;
148}
StatusCode findPattern(const pattern_store &thePatterns, const bit_mask_store &theBitMasks, bit_mask &theMask)
std::string decodeBinary(bit_mask &theTrigger)

◆ 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 & TBEventStreamerTool::interfaceID ( )
inlinestaticinherited

Definition at line 30 of file TBEventStreamerTool.h.

static const InterfaceID IID_TBEventStreamerTool("TBEventStreamerTool", 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.

◆ reject()

StatusCode TBEventStreamerTool::reject ( )
virtualinherited

Definition at line 27 of file TBEventStreamerTool.cxx.

28{
29 return this->accept().isFailure()
30 ? StatusCode::SUCCESS
31 : StatusCode::FAILURE;
32}
virtual StatusCode accept()=0

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

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

bit_mask TBPatternUnitStreamerTool::m_acceptPattern
protected

Definition at line 65 of file TBPatternUnitStreamerTool.h.

◆ m_acceptPatternNames

pattern_store TBPatternUnitStreamerTool::m_acceptPatternNames
protected

Definition at line 58 of file TBPatternUnitStreamerTool.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_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_patternUnitKey

std::string TBPatternUnitStreamerTool::m_patternUnitKey
protected

Definition at line 57 of file TBPatternUnitStreamerTool.h.

◆ m_rejectPattern

bit_mask TBPatternUnitStreamerTool::m_rejectPattern
protected

Definition at line 66 of file TBPatternUnitStreamerTool.h.

◆ m_rejectPatternNames

pattern_store TBPatternUnitStreamerTool::m_rejectPatternNames
protected

Definition at line 59 of file TBPatternUnitStreamerTool.h.

◆ m_triggerBitMap

bit_mask_store TBPatternUnitStreamerTool::m_triggerBitMap
protected

Definition at line 67 of file TBPatternUnitStreamerTool.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: