ATLAS Offline Software
Loading...
Searching...
No Matches
LVL1::gFEXFPGA Class Reference

#include <gFEXFPGA.h>

Inheritance diagram for LVL1::gFEXFPGA:
Collaboration diagram for LVL1::gFEXFPGA:

Public Member Functions

 gFEXFPGA (const std::string &type, const std::string &name, const IInterface *parent)
 Constructors.
virtual StatusCode initialize () override
 standard Athena-Algorithm method
virtual ~gFEXFPGA ()
 Destructor.
virtual void FillgTowerEDMCentral (const EventContext &, SG::WriteHandle< xAOD::gFexTowerContainer > &, int, const gTowersCentral &, gTowersType &, gTowersType &, gTowersType &) const override
virtual void FillgTowerEDMForward (const EventContext &, SG::WriteHandle< xAOD::gFexTowerContainer > &, int, const gTowersForward &, const gTowersForward &, gTowersType &, gTowersType &, gTowersType &) const 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

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

void gtCalib (gTowersType &twrs, const gTowersType &offsets, const gTowersType &noiseCuts, const gTowersType &slopes) const
void calLookup (int *tower, const int offset, const int noiseCut, const int slope) const
void calExpand (gTowersType &offsets, gTowersType &noiseCuts, gTowersType &slopes, const int offset, const std::array< int, 12 > &columnNoiseCuts, const std::array< int, 12 > &columnSlopes) const
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

SG::ReadCondHandleKey< gFEXDBCondDatam_DBToolKey {this, "DBToolKey", "gFEXDBParams", "Database tool key"}
 Internal data.
SG::ReadHandleKey< LVL1::gTowerContainerm_gFEXFPGA_gTowerContainerKey {this, "MyGTowers", "gTowerContainer", "Input container for gTowers"}
SG::ReadHandleKey< LVL1::gTowerContainerm_gFEXFPGA_gTower50ContainerKey {this, "MyGTowers50", "gTower50Container", "Input container for gTowers"}
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 24 of file gFEXFPGA.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ gFEXFPGA()

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

Constructors.

Definition at line 22 of file gFEXFPGA.cxx.

22 : AthAlgTool(type, name, parent)
23 {
24 declareInterface<IgFEXFPGA>(this);
25 }
AthAlgTool()
Default constructor:

◆ ~gFEXFPGA()

LVL1::gFEXFPGA::~gFEXFPGA ( )
virtual

Destructor.

Definition at line 28 of file gFEXFPGA.cxx.

29 {
30 }

Member Function Documentation

◆ calExpand()

void LVL1::gFEXFPGA::calExpand ( gTowersType & offsets,
gTowersType & noiseCuts,
gTowersType & slopes,
const int offset,
const std::array< int, 12 > & columnNoiseCuts,
const std::array< int, 12 > & columnSlopes ) const
private

Definition at line 309 of file gFEXFPGA.cxx.

310 {
311
312 int rows = offsets.size();
313 int cols = offsets[0].size();
314 for (int irow = 0; irow < rows; irow++)
315 {
316 for (int jcolumn = 0; jcolumn < cols; jcolumn++)
317 {
318 offsets[irow][jcolumn] = offset;
319 noiseCuts[irow][jcolumn] = columnNoiseCuts[jcolumn];
320 slopes[irow][jcolumn] = columnSlopes[jcolumn];
321 }
322 }
323 }

◆ calLookup()

void LVL1::gFEXFPGA::calLookup ( int * tower,
const int offset,
const int noiseCut,
const int slope ) const
private

Definition at line 279 of file gFEXFPGA.cxx.

280 {
281 int address = *tower;
282
283 if (address < 0)
284 {
285 ATH_MSG_DEBUG("gTower lookup address out of range " << address);
286 address = 0;
287 }
288 if (address > 2047)
289 {
290 ATH_MSG_DEBUG("gTower lookup address out of range " << address);
291 address = 2047;
292 }
293
294 // noise cut is made before calibraiton
295 if ((address - offset) < noiseCut)
296 address = offset;
297
298 int calTower = ((calib * address + 511) >> 10) - ((calib * offset + 511) >> 10);
299
300 if (calTower < -2048)
301 calTower = -2048;
302 if (calTower > 2047)
303 calTower = 2047;
304 if (address == 2047) calTower = 2047;
305
306 *tower = calTower;
307 }
#define ATH_MSG_DEBUG(x)

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

◆ 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

◆ FillgTowerEDMCentral()

void LVL1::gFEXFPGA::FillgTowerEDMCentral ( const EventContext & ctx,
SG::WriteHandle< xAOD::gFexTowerContainer > & gTowersContainer,
int fpgaId,
const gTowersCentral & gTowersIDs_central,
gTowersType & output_gTower_energies,
gTowersType & output_gTower50_energies,
gTowersType & output_saturation ) const
overridevirtual

Implements LVL1::IgFEXFPGA.

Definition at line 44 of file gFEXFPGA.cxx.

51 { // output, saturation
52 SG::ReadCondHandle<gFEXDBCondData> myDBTool = SG::ReadCondHandle<gFEXDBCondData>(m_DBToolKey, ctx);
53 if (!myDBTool.isValid())
54 {
55 ATH_MSG_ERROR("Could not retrieve DB tool " << m_DBToolKey);
56 }
57
58 gTowersType offsetsDefaultA = {{{0}}};
59 gTowersType noiseCutsDefaultA = {{{0}}};
60 gTowersType slopesDefaultA = {{{0}}};
61 gTowersType offsetsDefaultB = {{{0}}};
62 gTowersType noiseCutsDefaultB= {{{0}}};
63 gTowersType slopesDefaultB = {{{0}}};
64 gFEXFPGA::calExpand(offsetsDefaultA, noiseCutsDefaultA, slopesDefaultA, 48, myDBTool->get_AnoiseCuts(), myDBTool->get_Aslopes());
65 gFEXFPGA::calExpand(offsetsDefaultB, noiseCutsDefaultB, slopesDefaultB, 48, myDBTool->get_BnoiseCuts(), myDBTool->get_Bslopes());
66
67 float Eta = 99;
68 float Phi = 99;
69 int TowerEt = -99;
70 char IsSaturated = 0;
71
72 float etaSum = 0;
73
74 SG::ReadHandle<gTowerContainer> gFEXFPGA_gTowerContainer(m_gFEXFPGA_gTowerContainerKey, ctx); // 200 MeV
75 SG::ReadHandle<gTowerContainer> gFEXFPGA_gTower50Container(m_gFEXFPGA_gTower50ContainerKey, ctx); // 50 MeV
76
77 bool is_mc = false;
78 if (!gFEXFPGA_gTower50Container.isValid())
79 {
80 is_mc = true;
81 }
82
83 int rows = gTowersIDs_central.size();
84 int cols = gTowersIDs_central[0].size();
85
86 for (int myrow = 0; myrow < rows; myrow++)
87 {
88 for (int mycol = 0; mycol < cols; mycol++)
89 {
90
91 output_gTower_energies[myrow][mycol] = 0;
92 output_gTower50_energies[myrow][mycol] = 0;
93 output_saturation[myrow][mycol] = 0;
94
95 int towerID = gTowersIDs_central[myrow][mycol];
96 if (towerID == 0)
97 continue;
98
99 const LVL1::gTower *tmpTower = gFEXFPGA_gTowerContainer->findTower(towerID);
100 const LVL1::gTower *tmpTower50 = tmpTower;
101 if (!is_mc)
102 {
103 tmpTower50 = gFEXFPGA_gTower50Container->findTower(towerID);
104 }
105
106 if (tmpTower == nullptr)
107 continue;
108
109 TowerEt = tmpTower->getET();
110 Eta = tmpTower->eta();
111 Phi = tmpTower->phi();
112
113 etaSum += Eta;
114
115 int iPhiFW, iEtaFW;
116 uint32_t gFEXtowerID = tmpTower->getFWID(iPhiFW, iEtaFW);
117 IsSaturated = tmpTower->isSaturated();
118 std::unique_ptr<xAOD::gFexTower> gTowerEDM(new xAOD::gFexTower());
119 gTowersContainer->push_back(std::move(gTowerEDM));
120 gTowersContainer->back()->initialize(iEtaFW, iPhiFW, Eta, Phi, TowerEt, fpgaId, IsSaturated, gFEXtowerID);
121
122 output_gTower_energies[myrow][mycol] = tmpTower->getET();
123 output_gTower50_energies[myrow][mycol] = is_mc ? tmpTower50->getET() * 4. : tmpTower50->getET();
124 output_saturation[myrow][mycol] = tmpTower->isSaturated();
125 }
126 }
127
128 // apply defualt slopes set in initialization.
129 // In the future these values will be read from the online COOL data base
130 // Note the unfortunate hack used to figure out if we are in FPGA A or B.
131 //
132
133 if (etaSum < 0)
134 {
135 // FPGA A
136 gFEXFPGA::gtCalib(output_gTower_energies, offsetsDefaultA, noiseCutsDefaultA, slopesDefaultA);
137 }
138 else
139 {
140 // FPGA B
141 gFEXFPGA::gtCalib(output_gTower_energies, offsetsDefaultB, noiseCutsDefaultB, slopesDefaultB);
142 }
143 }
#define ATH_MSG_ERROR(x)
@ Phi
Definition RPCdef.h:8
@ Eta
Definition RPCdef.h:8
SG::ReadCondHandleKey< gFEXDBCondData > m_DBToolKey
Internal data.
Definition gFEXFPGA.h:47
SG::ReadHandleKey< LVL1::gTowerContainer > m_gFEXFPGA_gTowerContainerKey
Definition gFEXFPGA.h:55
SG::ReadHandleKey< LVL1::gTowerContainer > m_gFEXFPGA_gTower50ContainerKey
Definition gFEXFPGA.h:56
void calExpand(gTowersType &offsets, gTowersType &noiseCuts, gTowersType &slopes, const int offset, const std::array< int, 12 > &columnNoiseCuts, const std::array< int, 12 > &columnSlopes) const
Definition gFEXFPGA.cxx:309
void gtCalib(gTowersType &twrs, const gTowersType &offsets, const gTowersType &noiseCuts, const gTowersType &slopes) const
Definition gFEXFPGA.cxx:265
int getFWID(int &iPhiFW, int &iEtaFW) const
Calculates and returns the firmware ID, as well as iPhi and iEta in FT/global scheme.
Definition gTower.cxx:195
char isSaturated() const
Returns true if is saturated.
Definition gTower.cxx:172
float phi() const
Definition gTower.h:69
float eta() const
Definition gTower.h:68
int getET() const
Get ET (total) in MeV.
Definition gTower.cxx:140
std::array< std::array< int, 12 >, 32 > gTowersType
Definition IgFEXFPGA.h:25
gFexTower_v1 gFexTower
Define the latest version of the TriggerTower class.
Definition gFexTower.h:15
setEventNumber uint32_t

◆ FillgTowerEDMForward()

void LVL1::gFEXFPGA::FillgTowerEDMForward ( const EventContext & ctx,
SG::WriteHandle< xAOD::gFexTowerContainer > & gTowersContainer,
int fpgaId,
const gTowersForward & gTowersIDs_forward_n,
const gTowersForward & gTowersIDs_forward_p,
gTowersType & output_gTower_energies,
gTowersType & output_gTower50_energies,
gTowersType & output_saturation ) const
overridevirtual

Implements LVL1::IgFEXFPGA.

Definition at line 145 of file gFEXFPGA.cxx.

153 {
154 SG::ReadCondHandle<gFEXDBCondData> myDBTool = SG::ReadCondHandle<gFEXDBCondData>(m_DBToolKey, ctx);
155 if (!myDBTool.isValid())
156 {
157 ATH_MSG_ERROR("Could not retrieve DB tool " << m_DBToolKey);
158 }
159
160 gTowersType offsetsDefaultC = {{{0}}};
161 gTowersType noiseCutsDefaultC = {{{0}}};
162 gTowersType slopesDefaultC = {{{0}}};
163
164 gFEXFPGA::calExpand(offsetsDefaultC, noiseCutsDefaultC, slopesDefaultC, 48, myDBTool->get_CnoiseCuts(), myDBTool->get_Cslopes());
165
166 char IsSaturated = 0;
167
168 SG::ReadHandle<gTowerContainer> gFEXFPGA_gTowerContainer(m_gFEXFPGA_gTowerContainerKey, ctx);
169 SG::ReadHandle<gTowerContainer> gFEXFPGA_gTower50Container(m_gFEXFPGA_gTower50ContainerKey, ctx);
170
171 bool is_mc = false;
172 if (!gFEXFPGA_gTower50Container.isValid())
173 {
174 is_mc = true;
175 }
176
177 //
178 // C-N
179 //
180 int rows = gTowersIDs_forward_n.size();
181 int cols = gTowersIDs_forward_n[0].size();
182
183 for (int myrow = 0; myrow < rows; myrow++)
184 {
185 for (int mycol = 0; mycol < cols; mycol++)
186 {
187
188 int towerID = gTowersIDs_forward_n[myrow][mycol];
189 if (towerID == 0)
190 continue;
191
192 const LVL1::gTower *tmpTower = gFEXFPGA_gTowerContainer->findTower(towerID);
193 const LVL1::gTower *tmpTower50 = tmpTower;
194 if (!is_mc)
195 {
196 tmpTower50 = gFEXFPGA_gTower50Container->findTower(towerID);
197 }
198
199 if (tmpTower == nullptr)
200 continue;
201
202 int TowerEt = tmpTower->getET();
203 float Eta = tmpTower->eta();
204 float Phi = tmpTower->phi();
205 int iPhiFW, iEtaFW;
206 uint32_t gFEXtowerID = tmpTower->getFWID(iPhiFW, iEtaFW);
207 IsSaturated = tmpTower->isSaturated();
208 std::unique_ptr<xAOD::gFexTower> gTowerEDM(new xAOD::gFexTower());
209 gTowersContainer->push_back(std::move(gTowerEDM));
210 gTowersContainer->back()->initialize(iEtaFW, iPhiFW, Eta, Phi, TowerEt, fpgaId, IsSaturated, gFEXtowerID);
211
212 output_gTower_energies[iPhiFW][iEtaFW - 2] = tmpTower->getET();
213 output_gTower50_energies[iPhiFW][iEtaFW - 2] = is_mc ? tmpTower50->getET() * 4. : tmpTower50->getET();
214 output_saturation[iPhiFW][iEtaFW - 2] = tmpTower->isSaturated();
215 }
216 }
217
218 //
219 // C-P
220 //
221 rows = gTowersIDs_forward_p.size();
222 cols = gTowersIDs_forward_p[0].size();
223
224 for (int myrow = 0; myrow < rows; myrow++)
225 {
226 for (int mycol = 0; mycol < cols; mycol++)
227 {
228
229 int towerID = gTowersIDs_forward_p[myrow][mycol];
230 if (towerID == 0)
231 continue;
232
233 const LVL1::gTower *tmpTower = gFEXFPGA_gTowerContainer->findTower(towerID);
234 const LVL1::gTower *tmpTower50 = tmpTower;
235 if (!is_mc)
236 {
237 tmpTower50 = gFEXFPGA_gTower50Container->findTower(towerID);
238 }
239
240 if (tmpTower == nullptr)
241 continue;
242
243 int TowerEt = tmpTower->getET();
244 float Eta = tmpTower->eta();
245 float Phi = tmpTower->phi();
246 int iPhiFW, iEtaFW;
247 uint32_t gFEXtowerID = tmpTower->getFWID(iPhiFW, iEtaFW);
248 IsSaturated = tmpTower->isSaturated();
249 std::unique_ptr<xAOD::gFexTower> gTowerEDM(new xAOD::gFexTower());
250 gTowersContainer->push_back(std::move(gTowerEDM));
251 gTowersContainer->back()->initialize(iEtaFW, iPhiFW, Eta, Phi, TowerEt, fpgaId, IsSaturated, gFEXtowerID);
252
253 output_gTower_energies[iPhiFW][iEtaFW - 32 + 6] = tmpTower->getET();
254 output_gTower50_energies[iPhiFW][iEtaFW - 32 + 6] = is_mc ? tmpTower50->getET() * 4. : tmpTower50->getET();
255 output_saturation[iPhiFW][iEtaFW - 32 + 6] = tmpTower->isSaturated();
256 }
257 }
258
259 // apply default slopes set in initialization.
260 // In the future these values will be read from the online COOL data base
261
262 gFEXFPGA::gtCalib(output_gTower_energies, offsetsDefaultC, noiseCutsDefaultC, slopesDefaultC);
263 }

◆ gtCalib()

void LVL1::gFEXFPGA::gtCalib ( gTowersType & twrs,
const gTowersType & offsets,
const gTowersType & noiseCuts,
const gTowersType & slopes ) const
private

Definition at line 265 of file gFEXFPGA.cxx.

266 {
267 int rows = twrs.size();
268 int cols = twrs[0].size();
269 for (int irow = 0; irow < rows; irow++)
270 {
271 for (int jcolumn = 0; jcolumn < cols; jcolumn++)
272 {
273 twrs[irow][jcolumn] = twrs[irow][jcolumn] + offsets[irow][jcolumn];
274 calLookup(&twrs[irow][jcolumn], offsets[irow][jcolumn], noiseCuts[irow][jcolumn], slopes[irow][jcolumn]);
275 }
276 }
277 }
void calLookup(int *tower, const int offset, const int noiseCut, const int slope) const
Definition gFEXFPGA.cxx:279

◆ initialize()

StatusCode LVL1::gFEXFPGA::initialize ( )
overridevirtual

standard Athena-Algorithm method

Definition at line 34 of file gFEXFPGA.cxx.

35 {
36
39 ATH_CHECK(m_DBToolKey.initialize());
40
41 return StatusCode::SUCCESS;
42 }
#define ATH_CHECK
Evaluate an expression and check for errors.

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

Definition at line 47 of file IgFEXFPGA.h.

48 {
49 return IID_IgFEXFPGA;
50 }
static const InterfaceID IID_IgFEXFPGA("LVL1::IgFEXFPGA", 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 }

◆ 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 >, and AthCheckedComponent<::AthAlgTool >.

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

SG::ReadCondHandleKey<gFEXDBCondData> LVL1::gFEXFPGA::m_DBToolKey {this, "DBToolKey", "gFEXDBParams", "Database tool key"}
private

Internal data.

Definition at line 47 of file gFEXFPGA.h.

47{this, "DBToolKey", "gFEXDBParams", "Database tool key"};

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

SG::ReadHandleKey<LVL1::gTowerContainer> LVL1::gFEXFPGA::m_gFEXFPGA_gTower50ContainerKey {this, "MyGTowers50", "gTower50Container", "Input container for gTowers"}
private

Definition at line 56 of file gFEXFPGA.h.

56{this, "MyGTowers50", "gTower50Container", "Input container for gTowers"};

◆ m_gFEXFPGA_gTowerContainerKey

SG::ReadHandleKey<LVL1::gTowerContainer> LVL1::gFEXFPGA::m_gFEXFPGA_gTowerContainerKey {this, "MyGTowers", "gTowerContainer", "Input container for gTowers"}
private

Definition at line 55 of file gFEXFPGA.h.

55{this, "MyGTowers", "gTowerContainer", "Input container for gTowers"};

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