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

#include <FPGATrackSimBinStep.h>

Inheritance diagram for FPGATrackSimBinStep:
Collaboration diagram for FPGATrackSimBinStep:

Public Member Functions

 FPGATrackSimBinStep (const std::string &algname, const std::string &name, const IInterface *ifc)
 
virtual StatusCode initialize () override
 
StatusCode setRanges (FPGATrackSimBinStep *prev, const FPGATrackSimBinUtil::ParSet &parMin, const FPGATrackSimBinUtil::ParSet &parMax)
 
const std::vector< unsigned > stepIdx (FPGATrackSimBinUtil::IdxSet idx) const
 
const std::vector< unsigned > stepBins () const
 
const std::vector< unsigned > & stepPars () const
 
const std::vector< unsigned > nBins () const
 
const std::string stepName () const
 
unsigned stepNum () const
 
double binCenter (unsigned par, unsigned bin) const
 
double binLowEdge (unsigned par, unsigned bin) const
 
double binHighEdge (unsigned par, unsigned bin) const
 
double binWidth (unsigned par) const
 
FPGATrackSimBinUtil::ParSet binLowEdge (const FPGATrackSimBinUtil::IdxSet &idx) const
 
FPGATrackSimBinUtil::ParSet binCenter (const FPGATrackSimBinUtil::IdxSet &idx) const
 
unsigned binIdx (unsigned par, double val) const
 
FPGATrackSimBinUtil::IdxSet binIdx (const FPGATrackSimBinUtil::ParSet &pars) const
 
FPGATrackSimBinUtil::IdxSet convertToPrev (const FPGATrackSimBinUtil::IdxSet &cur) const
 
bool isFirstStep () const
 
void initValidBins ()
 
void setValidBin (const std::vector< unsigned > &idx)
 
void printValidBin () const
 
const FPGATrackSimBinArray< int > & validBinsFull () const
 
const FPGATrackSimBinArray< int > & validBinsLocal () const
 
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, V, H > &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
 

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 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> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

Gaudi::Property< std::vector< unsigned > > m_parBinsConfig {this,"parBins",{},"Vector of number of bins for each parameter (expect 5)"}
 
std::vector< unsigned > m_pars {}
 
FPGATrackSimBinArray< int > m_validBinFull
 
FPGATrackSimBinArray< int > m_validBinLocal
 
FPGATrackSimBinStepm_prev {0}
 
unsigned m_stepNum {}
 
FPGATrackSimBinUtil::IdxSet m_parBins
 
FPGATrackSimBinUtil::ParSet m_parStep
 
FPGATrackSimBinUtil::ParSet m_parMin
 
FPGATrackSimBinUtil::ParSet m_parMax
 
friend FPGATrackSimBinTool
 
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

Definition at line 45 of file FPGATrackSimBinStep.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

◆ FPGATrackSimBinStep()

FPGATrackSimBinStep::FPGATrackSimBinStep ( const std::string &  algname,
const std::string &  name,
const IInterface *  ifc 
)
inline

Definition at line 47 of file FPGATrackSimBinStep.h.

48  : AthAlgTool(algname, name, ifc) {}

Member Function Documentation

◆ binCenter() [1/2]

ParSet FPGATrackSimBinStep::binCenter ( const FPGATrackSimBinUtil::IdxSet idx) const

Definition at line 91 of file FPGATrackSimBinStep.cxx.

92 {
93  ParSet parset;
94  for (unsigned i = 0; i < FPGATrackSimTrackPars::NPARS; i++)
95  {
96  parset[i] = binCenter(i, idx[i]);
97  }
98  return parset;
99 }

◆ binCenter() [2/2]

double FPGATrackSimBinStep::binCenter ( unsigned  par,
unsigned  bin 
) const
inline

Definition at line 62 of file FPGATrackSimBinStep.h.

62 { return m_parMin[par] + m_parStep[par] * (double(bin) + 0.5); }

◆ binHighEdge()

double FPGATrackSimBinStep::binHighEdge ( unsigned  par,
unsigned  bin 
) const
inline

Definition at line 64 of file FPGATrackSimBinStep.h.

64 { return m_parMin[par] + m_parStep[par] * (double(bin) + 1.0);}

◆ binIdx() [1/2]

IdxSet FPGATrackSimBinStep::binIdx ( const FPGATrackSimBinUtil::ParSet pars) const

Definition at line 101 of file FPGATrackSimBinStep.cxx.

102 {
103  IdxSet retv;
104  for (unsigned i = 0; i < FPGATrackSimTrackPars::NPARS; i++)
105  {
106  retv[i] = binIdx(i, pars[i]);
107  }
108  return retv;
109 }

◆ binIdx() [2/2]

unsigned FPGATrackSimBinStep::binIdx ( unsigned  par,
double  val 
) const
inline

Definition at line 70 of file FPGATrackSimBinStep.h.

70  {
71  // Guard against both underflow and overflow.
72  if (val < m_parMin[par]) return 0;
73  else if (val > m_parMax[par]) return unsigned(floor((m_parMax[par] - m_parMin[par]) / m_parStep[par])) - 1;
74  else return unsigned(floor((val - m_parMin[par]) / m_parStep[par]));
75  }

◆ binLowEdge() [1/2]

ParSet FPGATrackSimBinStep::binLowEdge ( const FPGATrackSimBinUtil::IdxSet idx) const

Definition at line 81 of file FPGATrackSimBinStep.cxx.

82 {
83  ParSet parset;
84  for (unsigned i = 0; i < FPGATrackSimTrackPars::NPARS; i++)
85  {
86  parset[i] = binLowEdge(i, idx[i]);
87  }
88  return parset;
89 }

◆ binLowEdge() [2/2]

double FPGATrackSimBinStep::binLowEdge ( unsigned  par,
unsigned  bin 
) const
inline

Definition at line 63 of file FPGATrackSimBinStep.h.

63 { return m_parMin[par] + m_parStep[par] * (double(bin)); }

◆ binWidth()

double FPGATrackSimBinStep::binWidth ( unsigned  par) const
inline

Definition at line 65 of file FPGATrackSimBinStep.h.

65 { return m_parStep[par]; }

◆ convertToPrev()

IdxSet FPGATrackSimBinStep::convertToPrev ( const FPGATrackSimBinUtil::IdxSet cur) const

Definition at line 114 of file FPGATrackSimBinStep.cxx.

114  {
115  IdxSet retv{};
116  if (m_prev) {
117  for (unsigned par =0; par < FPGATrackSimTrackPars::NPARS; par++) {
119  }
120  } else {
121  ATH_MSG_FATAL("convertToPrev called, but no previous");
122  }
123  return retv;
124 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  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, V, H > &  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, V, H > &  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, V, H > &  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, V, H > &  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 FPGATrackSimBinStep::initialize ( )
overridevirtual

Definition at line 19 of file FPGATrackSimBinStep.cxx.

20 {
21  // Dump the configuration to make sure it propagated through right
22  const std::vector<Gaudi::Details::PropertyBase*> props = this->getProperties();
23  for( Gaudi::Details::PropertyBase* prop : props ) {
24  if (prop->ownerTypeName()==this->type()) {
25  ATH_MSG_DEBUG("Property:\t" << prop->name() << "\t : \t" << prop->toString());
26  }
27  }
28 
29  return StatusCode::SUCCESS;
30 }

◆ initValidBins()

void FPGATrackSimBinStep::initValidBins ( )

Definition at line 139 of file FPGATrackSimBinStep.cxx.

139  {
142 }

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

◆ isFirstStep()

bool FPGATrackSimBinStep::isFirstStep ( ) const
inline

Definition at line 84 of file FPGATrackSimBinStep.h.

84 {return m_prev==0;}

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

◆ nBins()

const std::vector<unsigned> FPGATrackSimBinStep::nBins ( ) const
inline

Definition at line 57 of file FPGATrackSimBinStep.h.

57 {return m_parBins;} // bin sizes for only the pars used in this step

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

◆ printValidBin()

void FPGATrackSimBinStep::printValidBin ( ) const

Definition at line 144 of file FPGATrackSimBinStep.cxx.

144  {
145  // count valid bins
146  int validBinsFull = 0;
147 
149  if (bin.data())
150  validBinsFull++;
151  }
152  ATH_MSG_INFO("Step" << name() << "Valid Bins Full: " << validBinsFull);
153 
154  // count valid bins local
155  int validBinsLocal = 0;
157  if (bin.data())
158  validBinsLocal++;
159  }
160  ATH_MSG_INFO("Step" << name() << "Valid Bins Local: " << validBinsLocal);
161 
162 }

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

◆ setRanges()

StatusCode FPGATrackSimBinStep::setRanges ( FPGATrackSimBinStep prev,
const FPGATrackSimBinUtil::ParSet parMin,
const FPGATrackSimBinUtil::ParSet parMax 
)

Definition at line 32 of file FPGATrackSimBinStep.cxx.

34  {
35 
36  m_prev = prev;
37  if (prev) {
38  m_stepNum = prev->m_stepNum+1;
39  } else {
40  m_stepNum = 0;
41  }
42  m_parMin = parMin;
43  m_parMax = parMax;
44  m_parBins = std::vector<unsigned>(m_parBinsConfig);
45  for (unsigned par = 0; par < FPGATrackSimTrackPars::NPARS; par++) {
46  if (m_parBins[par] <= 0) {
47  ATH_MSG_FATAL("Every dimension must be at least one bin");
48  return StatusCode::FAILURE;
49  }
51  if (m_parBins[par] <= 0)
52  {
53  ATH_MSG_FATAL("Every dimension must be at least one bin (set #bins=1 for not binning in that parameter)");
54  }
55  if (prev) {
56  if (m_parBins[par] < prev->m_parBins[par]) {
57  ATH_MSG_FATAL("Number of bins can only increase with each step");
58  return StatusCode::FAILURE;
59  }
60  if (m_parBins[par] % prev->m_parBins[par] !=0) {
61  ATH_MSG_FATAL("Number of bins must be integer multiple of bins in previous step");
62  return StatusCode::FAILURE;
63  }
64  if (m_parBins[par] != prev->m_parBins[par]) {
65  // This step involves this parameter
66  m_pars.push_back(par);
67  }
68  } else {
69  if (m_parBins[par] != 1) {
70  // This step involves this parameter
71  m_pars.push_back(par);
72  }
73  }
74  }
75 
76  ATH_MSG_DEBUG("Parameters = " << m_pars);
77 
78  return StatusCode::SUCCESS;
79 }

◆ setValidBin()

void FPGATrackSimBinStep::setValidBin ( const std::vector< unsigned > &  idx)

Definition at line 133 of file FPGATrackSimBinStep.cxx.

133  {
134  m_validBinFull[idx] = true;
135  m_validBinLocal[stepIdx(idx)] = true;
137 }

◆ stepBins()

const std::vector< unsigned > FPGATrackSimBinStep::stepBins ( ) const

Definition at line 130 of file FPGATrackSimBinStep.cxx.

130  {

◆ stepIdx()

const std::vector< unsigned > FPGATrackSimBinStep::stepIdx ( FPGATrackSimBinUtil::IdxSet  idx) const

Definition at line 127 of file FPGATrackSimBinStep.cxx.

127  {

◆ stepName()

const std::string FPGATrackSimBinStep::stepName ( ) const
inline

Definition at line 58 of file FPGATrackSimBinStep.h.

58 {return this->name().substr(this->name().find_last_of(".")+1);}

◆ stepNum()

unsigned FPGATrackSimBinStep::stepNum ( ) const
inline

Definition at line 59 of file FPGATrackSimBinStep.h.

59 {return m_stepNum;}

◆ stepPars()

const std::vector<unsigned>& FPGATrackSimBinStep::stepPars ( ) const
inline

Definition at line 56 of file FPGATrackSimBinStep.h.

56 {return m_pars;} // parameters used for this step

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

◆ validBinsFull()

const FPGATrackSimBinArray<int>& FPGATrackSimBinStep::validBinsFull ( ) const
inline

Definition at line 97 of file FPGATrackSimBinStep.h.

97 { return m_validBinFull;}

◆ validBinsLocal()

const FPGATrackSimBinArray<int>& FPGATrackSimBinStep::validBinsLocal ( ) const
inline

Definition at line 98 of file FPGATrackSimBinStep.h.

98 { return m_validBinLocal;}

Member Data Documentation

◆ FPGATrackSimBinTool

friend FPGATrackSimBinStep::FPGATrackSimBinTool
private

Definition at line 124 of file FPGATrackSimBinStep.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_parBins

FPGATrackSimBinUtil::IdxSet FPGATrackSimBinStep::m_parBins
private

Definition at line 117 of file FPGATrackSimBinStep.h.

◆ m_parBinsConfig

Gaudi::Property<std::vector<unsigned> > FPGATrackSimBinStep::m_parBinsConfig {this,"parBins",{},"Vector of number of bins for each parameter (expect 5)"}
private

Definition at line 101 of file FPGATrackSimBinStep.h.

◆ m_parMax

FPGATrackSimBinUtil::ParSet FPGATrackSimBinStep::m_parMax
private

Definition at line 122 of file FPGATrackSimBinStep.h.

◆ m_parMin

FPGATrackSimBinUtil::ParSet FPGATrackSimBinStep::m_parMin
private

Definition at line 121 of file FPGATrackSimBinStep.h.

◆ m_pars

std::vector<unsigned> FPGATrackSimBinStep::m_pars {}
private

Definition at line 104 of file FPGATrackSimBinStep.h.

◆ m_parStep

FPGATrackSimBinUtil::ParSet FPGATrackSimBinStep::m_parStep
private

Definition at line 118 of file FPGATrackSimBinStep.h.

◆ m_prev

FPGATrackSimBinStep* FPGATrackSimBinStep::m_prev {0}
private

Definition at line 113 of file FPGATrackSimBinStep.h.

◆ m_stepNum

unsigned FPGATrackSimBinStep::m_stepNum {}
private

Definition at line 114 of file FPGATrackSimBinStep.h.

◆ m_validBinFull

FPGATrackSimBinArray<int> FPGATrackSimBinStep::m_validBinFull
private

Definition at line 109 of file FPGATrackSimBinStep.h.

◆ m_validBinLocal

FPGATrackSimBinArray<int> FPGATrackSimBinStep::m_validBinLocal
private

Definition at line 110 of file FPGATrackSimBinStep.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:
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
FPGATrackSimBinStep::binLowEdge
double binLowEdge(unsigned par, unsigned bin) const
Definition: FPGATrackSimBinStep.h:63
FPGATrackSimBinStep::m_parMax
FPGATrackSimBinUtil::ParSet m_parMax
Definition: FPGATrackSimBinStep.h:122
getMenu.algname
algname
Definition: getMenu.py:54
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
FPGATrackSimBinStep
Definition: FPGATrackSimBinStep.h:45
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
FPGATrackSimBinStep::binIdx
unsigned binIdx(unsigned par, double val) const
Definition: FPGATrackSimBinStep.h:70
FPGATrackSimBinStep::m_parMin
FPGATrackSimBinUtil::ParSet m_parMin
Definition: FPGATrackSimBinStep.h:121
beamspotman.cur
def cur
Definition: beamspotman.py:669
FPGATrackSimBinStep::m_parBins
FPGATrackSimBinUtil::IdxSet m_parBins
Definition: FPGATrackSimBinStep.h:117
FPGATrackSimBinStep::validBinsLocal
const FPGATrackSimBinArray< int > & validBinsLocal() const
Definition: FPGATrackSimBinStep.h:98
FPGATrackSimBinStep::binCenter
double binCenter(unsigned par, unsigned bin) const
Definition: FPGATrackSimBinStep.h:62
bin
Definition: BinsDiffFromStripMedian.h:43
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
FPGATrackSimBinStep::convertToPrev
FPGATrackSimBinUtil::IdxSet convertToPrev(const FPGATrackSimBinUtil::IdxSet &cur) const
Definition: FPGATrackSimBinStep.cxx:114
FPGATrackSimBinStep::m_validBinFull
FPGATrackSimBinArray< int > m_validBinFull
Definition: FPGATrackSimBinStep.h:109
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
FPGATrackSimBinUtil::subVec
std::vector< unsigned > subVec(const std::vector< unsigned > &elems, const IdxSet &invec)
Definition: FPGATrackSimBinUtil.cxx:61
xAOD::unsigned
unsigned
Definition: RingSetConf_v1.cxx:662
FPGATrackSimBinStep::setValidBin
void setValidBin(const std::vector< unsigned > &idx)
Definition: FPGATrackSimBinStep.cxx:133
FPGATrackSimBinStep::m_parStep
FPGATrackSimBinUtil::ParSet m_parStep
Definition: FPGATrackSimBinStep.h:118
FPGATrackSimBinStep::m_validBinLocal
FPGATrackSimBinArray< int > m_validBinLocal
Definition: FPGATrackSimBinStep.h:110
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
FPGATrackSimBinArray::setsize
void setsize(const std::vector< unsigned int > &dims, const T &initval)
Definition: FPGATrackSimBinArray.h:51
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
FPGATrackSimBinStep::stepIdx
const std::vector< unsigned > stepIdx(FPGATrackSimBinUtil::IdxSet idx) const
Definition: FPGATrackSimBinStep.cxx:127
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
FPGATrackSimBinStep::m_pars
std::vector< unsigned > m_pars
Definition: FPGATrackSimBinStep.h:104
lumiFormat.i
int i
Definition: lumiFormat.py:85
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition: AthCommonDataStore.h:145
FPGATrackSimBinStep::m_parBinsConfig
Gaudi::Property< std::vector< unsigned > > m_parBinsConfig
Definition: FPGATrackSimBinStep.h:101
FPGATrackSimBinArray
Definition: FPGATrackSimBinArray.h:41
FPGATrackSimBinStep::validBinsFull
const FPGATrackSimBinArray< int > & validBinsFull() const
Definition: FPGATrackSimBinStep.h:97
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
FPGATrackSimBinUtil::ParSet
Definition: FPGATrackSimBinUtil.h:45
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
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
FPGATrackSimBinStep::m_prev
FPGATrackSimBinStep * m_prev
Definition: FPGATrackSimBinStep.h:113
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:28
FPGATrackSimBinStep::m_stepNum
unsigned m_stepNum
Definition: FPGATrackSimBinStep.h:114
a
TList * a
Definition: liststreamerinfos.cxx:10
h
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
FPGATrackSimTrackPars::NPARS
@ NPARS
Definition: FPGATrackSimTrackPars.h:49
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
FPGATrackSimBinUtil::IdxSet
Definition: FPGATrackSimBinUtil.h:50
fitman.k
k
Definition: fitman.py:528