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 StatusCode init (int id) override
virtual void reset () override
virtual int getID () const override
virtual void FillgTowerEDMCentral (SG::WriteHandle< xAOD::gFexTowerContainer > &, gTowersCentral &, gTowersType &, gTowersType &, gTowersType &) override
virtual void FillgTowerEDMForward (SG::WriteHandle< xAOD::gFexTowerContainer > &, gTowersForward &, gTowersForward &, gTowersType &, gTowersType &, gTowersType &) 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.
int m_fpgaId = -1
gTowersType m_offsetsDefaultA = {{{0}}}
gTowersType m_noiseCutsDefaultA = {{{0}}}
gTowersType m_slopesDefaultA = {{{0}}}
gTowersType m_offsetsDefaultB = {{{0}}}
gTowersType m_noiseCutsDefaultB = {{{0}}}
gTowersType m_slopesDefaultB = {{{0}}}
gTowersType m_offsetsDefaultC = {{{0}}}
gTowersType m_noiseCutsDefaultC = {{{0}}}
gTowersType m_slopesDefaultC = {{{0}}}
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 25 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 310 of file gFEXFPGA.cxx.

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

◆ calLookup()

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

Definition at line 280 of file gFEXFPGA.cxx.

281 {
282 int address = *tower;
283
284 if (address < 0)
285 {
286 ATH_MSG_DEBUG("gTower lookup address out of range " << address);
287 address = 0;
288 }
289 if (address > 2047)
290 {
291 ATH_MSG_DEBUG("gTower lookup address out of range " << address);
292 address = 2047;
293 }
294
295 // noise cut is made before calibraiton
296 if ((address - offset) < noiseCut)
297 address = offset;
298
299 int calTower = ((calib * address + 511) >> 10) - ((calib * offset + 511) >> 10);
300
301 if (calTower < -2048)
302 calTower = -2048;
303 if (calTower > 2047)
304 calTower = 2047;
305 if (address == 2047) calTower = 2047;
306
307 *tower = calTower;
308 }
#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 ( SG::WriteHandle< xAOD::gFexTowerContainer > & gTowersContainer,
gTowersCentral & gTowersIDs_central,
gTowersType & output_gTower_energies,
gTowersType & output_gTower50_energies,
gTowersType & output_saturation )
overridevirtual

Implements LVL1::IgFEXFPGA.

Definition at line 57 of file gFEXFPGA.cxx.

63 { // output, saturation
64 SG::ReadCondHandle<gFEXDBCondData> myDBTool = SG::ReadCondHandle<gFEXDBCondData>(m_DBToolKey);
65 if (!myDBTool.isValid())
66 {
67 ATH_MSG_ERROR("Could not retrieve DB tool " << m_DBToolKey);
68 }
69 gFEXFPGA::calExpand(m_offsetsDefaultA, m_noiseCutsDefaultA, m_slopesDefaultA, 48, myDBTool->get_AnoiseCuts(), myDBTool->get_Aslopes());
70 gFEXFPGA::calExpand(m_offsetsDefaultB, m_noiseCutsDefaultB, m_slopesDefaultB, 48, myDBTool->get_BnoiseCuts(), myDBTool->get_Bslopes());
71
72 float Eta = 99;
73 float Phi = 99;
74 int TowerEt = -99;
75 int Fpga = m_fpgaId;
76 char IsSaturated = 0;
77
78 float etaSum = 0;
79
80 SG::ReadHandle<gTowerContainer> gFEXFPGA_gTowerContainer(m_gFEXFPGA_gTowerContainerKey /*,ctx*/); // 200 MeV
81 SG::ReadHandle<gTowerContainer> gFEXFPGA_gTower50Container(m_gFEXFPGA_gTower50ContainerKey /*,ctx*/); // 50 MeV
82
83 bool is_mc = false;
84 if (!gFEXFPGA_gTower50Container.isValid())
85 {
86 is_mc = true;
87 }
88
89 int rows = gTowersIDs_central.size();
90 int cols = gTowersIDs_central[0].size();
91
92 for (int myrow = 0; myrow < rows; myrow++)
93 {
94 for (int mycol = 0; mycol < cols; mycol++)
95 {
96
97 output_gTower_energies[myrow][mycol] = 0;
98 output_gTower50_energies[myrow][mycol] = 0;
99 output_saturation[myrow][mycol] = 0;
100
101 int towerID = gTowersIDs_central[myrow][mycol];
102 if (towerID == 0)
103 continue;
104
105 const LVL1::gTower *tmpTower = gFEXFPGA_gTowerContainer->findTower(towerID);
106 const LVL1::gTower *tmpTower50 = tmpTower;
107 if (!is_mc)
108 {
109 tmpTower50 = gFEXFPGA_gTower50Container->findTower(towerID);
110 }
111
112 if (tmpTower == nullptr)
113 continue;
114
115 TowerEt = tmpTower->getET();
116 Eta = tmpTower->eta();
117 Phi = tmpTower->phi();
118
119 etaSum += Eta;
120
121 int iPhiFW, iEtaFW;
122 uint32_t gFEXtowerID = tmpTower->getFWID(iPhiFW, iEtaFW);
123 IsSaturated = tmpTower->isSaturated();
124 std::unique_ptr<xAOD::gFexTower> gTowerEDM(new xAOD::gFexTower());
125 gTowersContainer->push_back(std::move(gTowerEDM));
126 gTowersContainer->back()->initialize(iEtaFW, iPhiFW, Eta, Phi, TowerEt, Fpga, IsSaturated, gFEXtowerID);
127
128 output_gTower_energies[myrow][mycol] = tmpTower->getET();
129 output_gTower50_energies[myrow][mycol] = is_mc ? tmpTower50->getET() * 4. : tmpTower50->getET();
130 output_saturation[myrow][mycol] = tmpTower->isSaturated();
131 }
132 }
133
134 // apply defualt slopes set in initialization.
135 // In the future these values will be read from the online COOL data base
136 // Note the unforutnate hack used to figure out if we are in FPGA A or B.
137 //
138
139 if (etaSum < 0)
140 {
141 // FPGA A
143 }
144 else
145 {
146 // FPGA B
148 }
149 }
#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:52
gTowersType m_slopesDefaultB
Definition gFEXFPGA.h:62
gTowersType m_offsetsDefaultB
Definition gFEXFPGA.h:60
SG::ReadHandleKey< LVL1::gTowerContainer > m_gFEXFPGA_gTowerContainerKey
Definition gFEXFPGA.h:77
gTowersType m_noiseCutsDefaultA
Definition gFEXFPGA.h:57
SG::ReadHandleKey< LVL1::gTowerContainer > m_gFEXFPGA_gTower50ContainerKey
Definition gFEXFPGA.h:78
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:310
gTowersType m_slopesDefaultA
Definition gFEXFPGA.h:58
gTowersType m_offsetsDefaultA
Definition gFEXFPGA.h:56
void gtCalib(gTowersType &twrs, const gTowersType &offsets, const gTowersType &noiseCuts, const gTowersType &slopes) const
Definition gFEXFPGA.cxx:266
gTowersType m_noiseCutsDefaultB
Definition gFEXFPGA.h:61
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:197
char isSaturated() const
Returns true if is saturated.
Definition gTower.cxx:174
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:142
gFexTower_v1 gFexTower
Define the latest version of the TriggerTower class.
Definition gFexTower.h:15
setEventNumber uint32_t

◆ FillgTowerEDMForward()

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

Implements LVL1::IgFEXFPGA.

Definition at line 151 of file gFEXFPGA.cxx.

157 {
158 SG::ReadCondHandle<gFEXDBCondData> myDBTool = SG::ReadCondHandle<gFEXDBCondData>(m_DBToolKey);
159 if (!myDBTool.isValid())
160 {
161 ATH_MSG_ERROR("Could not retrieve DB tool " << m_DBToolKey);
162 }
163 gFEXFPGA::calExpand(m_offsetsDefaultC, m_noiseCutsDefaultC, m_slopesDefaultC, 48, myDBTool->get_CnoiseCuts(), myDBTool->get_Cslopes());
164
165 char IsSaturated = 0;
166
167 SG::ReadHandle<gTowerContainer> gFEXFPGA_gTowerContainer(m_gFEXFPGA_gTowerContainerKey /*,ctx*/);
168 SG::ReadHandle<gTowerContainer> gFEXFPGA_gTower50Container(m_gFEXFPGA_gTower50ContainerKey /*,ctx*/);
169
170 bool is_mc = false;
171 if (!gFEXFPGA_gTower50Container.isValid())
172 {
173 is_mc = true;
174 }
175
176 //
177 // C-N
178 //
179 int rows = gTowersIDs_forward_n.size();
180 int cols = gTowersIDs_forward_n[0].size();
181
182 for (int myrow = 0; myrow < rows; myrow++)
183 {
184 for (int mycol = 0; mycol < cols; mycol++)
185 {
186
187 int towerID = gTowersIDs_forward_n[myrow][mycol];
188 if (towerID == 0)
189 continue;
190
191 const LVL1::gTower *tmpTower = gFEXFPGA_gTowerContainer->findTower(towerID);
192 const LVL1::gTower *tmpTower50 = tmpTower;
193 if (!is_mc)
194 {
195 tmpTower50 = gFEXFPGA_gTower50Container->findTower(towerID);
196 }
197
198 if (tmpTower == nullptr)
199 continue;
200
201 int TowerEt = tmpTower->getET();
202 float Eta = tmpTower->eta();
203 float Phi = tmpTower->phi();
204 int Fpga = m_fpgaId;
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, Fpga, 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 Fpga = m_fpgaId;
247 int iPhiFW, iEtaFW;
248 uint32_t gFEXtowerID = tmpTower->getFWID(iPhiFW, iEtaFW);
249 IsSaturated = tmpTower->isSaturated();
250 std::unique_ptr<xAOD::gFexTower> gTowerEDM(new xAOD::gFexTower());
251 gTowersContainer->push_back(std::move(gTowerEDM));
252 gTowersContainer->back()->initialize(iEtaFW, iPhiFW, Eta, Phi, TowerEt, Fpga, IsSaturated, gFEXtowerID);
253
254 output_gTower_energies[iPhiFW][iEtaFW - 32 + 6] = tmpTower->getET();
255 output_gTower50_energies[iPhiFW][iEtaFW - 32 + 6] = is_mc ? tmpTower50->getET() * 4. : tmpTower50->getET();
256 output_saturation[iPhiFW][iEtaFW - 32 + 6] = tmpTower->isSaturated();
257 }
258 }
259
260 // apply defualt slopes set in initialization.
261 // In the future these values will be read from the online COOL data base
262
264 }
gTowersType m_noiseCutsDefaultC
Definition gFEXFPGA.h:65
gTowersType m_slopesDefaultC
Definition gFEXFPGA.h:66
gTowersType m_offsetsDefaultC
Definition gFEXFPGA.h:64

◆ getID()

virtual int LVL1::gFEXFPGA::getID ( ) const
inlineoverridevirtual

Implements LVL1::IgFEXFPGA.

Definition at line 39 of file gFEXFPGA.h.

39{ return m_fpgaId; }

◆ gtCalib()

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

Definition at line 266 of file gFEXFPGA.cxx.

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

◆ init()

StatusCode LVL1::gFEXFPGA::init ( int id)
overridevirtual

Implements LVL1::IgFEXFPGA.

Definition at line 44 of file gFEXFPGA.cxx.

45 {
46 m_fpgaId = id;
47
48 return StatusCode::SUCCESS;
49 }

◆ 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 54 of file IgFEXFPGA.h.

55 {
56 return IID_IgFEXFPGA;
57 }
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 }

◆ reset()

void LVL1::gFEXFPGA::reset ( )
overridevirtual

Implements LVL1::IgFEXFPGA.

Definition at line 51 of file gFEXFPGA.cxx.

52 {
53
54 m_fpgaId = -1;
55 }

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

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

Internal data.

Definition at line 52 of file gFEXFPGA.h.

52{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_fpgaId

int LVL1::gFEXFPGA::m_fpgaId = -1
private

Definition at line 54 of file gFEXFPGA.h.

◆ m_gFEXFPGA_gTower50ContainerKey

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

Definition at line 78 of file gFEXFPGA.h.

78{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 77 of file gFEXFPGA.h.

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

◆ m_noiseCutsDefaultA

gTowersType LVL1::gFEXFPGA::m_noiseCutsDefaultA = {{{0}}}
private

Definition at line 57 of file gFEXFPGA.h.

57{{{0}}};

◆ m_noiseCutsDefaultB

gTowersType LVL1::gFEXFPGA::m_noiseCutsDefaultB = {{{0}}}
private

Definition at line 61 of file gFEXFPGA.h.

61{{{0}}};

◆ m_noiseCutsDefaultC

gTowersType LVL1::gFEXFPGA::m_noiseCutsDefaultC = {{{0}}}
private

Definition at line 65 of file gFEXFPGA.h.

65{{{0}}};

◆ m_offsetsDefaultA

gTowersType LVL1::gFEXFPGA::m_offsetsDefaultA = {{{0}}}
private

Definition at line 56 of file gFEXFPGA.h.

56{{{0}}};

◆ m_offsetsDefaultB

gTowersType LVL1::gFEXFPGA::m_offsetsDefaultB = {{{0}}}
private

Definition at line 60 of file gFEXFPGA.h.

60{{{0}}};

◆ m_offsetsDefaultC

gTowersType LVL1::gFEXFPGA::m_offsetsDefaultC = {{{0}}}
private

Definition at line 64 of file gFEXFPGA.h.

64{{{0}}};

◆ m_slopesDefaultA

gTowersType LVL1::gFEXFPGA::m_slopesDefaultA = {{{0}}}
private

Definition at line 58 of file gFEXFPGA.h.

58{{{0}}};

◆ m_slopesDefaultB

gTowersType LVL1::gFEXFPGA::m_slopesDefaultB = {{{0}}}
private

Definition at line 62 of file gFEXFPGA.h.

62{{{0}}};

◆ m_slopesDefaultC

gTowersType LVL1::gFEXFPGA::m_slopesDefaultC = {{{0}}}
private

Definition at line 66 of file gFEXFPGA.h.

66{{{0}}};

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