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

#include <TRT_TrackSegmentsMakerCondAlg_ATLxk.h>

Inheritance diagram for InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk:
Collaboration diagram for InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk:

Public Member Functions

 TRT_TrackSegmentsMakerCondAlg_ATLxk (const std::string &name, ISvcLocator *pSvcLocator)
 
virtual ~TRT_TrackSegmentsMakerCondAlg_ATLxk ()=default
 
virtual StatusCode initialize () override
 
virtual StatusCode execute (const EventContext &ctx) const override
 
virtual bool isReEntrant () const override final
 
void printStraw (const InDetDD::TRT_BaseElement *elementCS, unsigned int strawNum) const
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual bool isClonable () const override
 Specify if the algorithm is clonable. More...
 
virtual unsigned int cardinality () const override
 Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
 
virtual StatusCode sysExecute (const EventContext &ctx) override
 Execute an algorithm. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
virtual bool filterPassed (const EventContext &ctx) const
 
virtual void setFilterPassed (bool state, const EventContext &ctx) 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 sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

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

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

Private Attributes

const TRT_IDm_trtid {}
 
std::string m_fieldmode
 
ToolHandle< Trk::IPropagatorm_propTool
 
Trk::MagneticFieldProperties m_fieldprop
 
float m_pTmin
 
float m_Psi128 {}
 
int m_nMom
 
float m_A {}
 
float m_Psi {}
 
int m_nPhi {}
 
SG::ReadCondHandleKey< InDetDD::TRT_DetElementContainerm_trtDetEleContKey {this, "TRTDetEleContKey", "TRT_DetElementContainer", "Key of TRT_DetElementContainer"}
 
SG::WriteCondHandleKey< TRT_TrackSegmentsToolCondData_xkm_writeKey {this, "WriteKey", "TRT_TrackSegmentsToolCondData_xk", "Key of TRT_TrackSegmentsToolCondData_xk"}
 
DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
 
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

Author
Edson.nosp@m..Car.nosp@m.quin..nosp@m.Lope.nosp@m.z@cer.nosp@m.n.ch

Definition at line 30 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TRT_TrackSegmentsMakerCondAlg_ATLxk()

InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::TRT_TrackSegmentsMakerCondAlg_ATLxk ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 30 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.cxx.

31  : ::AthReentrantAlgorithm(name, pSvcLocator),
32  m_fieldmode ("MapSolenoid"),
33  m_propTool ("Trk::RungeKuttaPropagator"),
34  m_pTmin (500.),
35  m_nMom (70)
36 
37 {
38  declareProperty("PropagatorTool" ,m_propTool );
39  declareProperty("pTmin" ,m_pTmin );
40  declareProperty("NumberMomentumChannel" ,m_nMom );
41 
42 }

◆ ~TRT_TrackSegmentsMakerCondAlg_ATLxk()

virtual InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::~TRT_TrackSegmentsMakerCondAlg_ATLxk ( )
virtualdefault

Member Function Documentation

◆ cardinality()

unsigned int AthReentrantAlgorithm::cardinality ( ) const
overridevirtualinherited

Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.

Override this to return 0 for reentrant algorithms.

Override this to return 0 for reentrant algorithms.

Definition at line 55 of file AthReentrantAlgorithm.cxx.

56 {
57  return 0;
58 }

◆ declareGaudiProperty() [1/4]

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

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

Definition at line 170 of file AthCommonDataStore.h.

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

◆ declareGaudiProperty() [2/4]

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

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

Definition at line 156 of file AthCommonDataStore.h.

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

◆ declareGaudiProperty() [3/4]

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

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

Definition at line 184 of file AthCommonDataStore.h.

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

◆ declareGaudiProperty() [4/4]

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

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

Definition at line 199 of file AthCommonDataStore.h.

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

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

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

◆ detElementInformation()

void InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::detElementInformation ( const InDetDD::TRT_BaseElement ,
double *   
)
private

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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; }

◆ execute()

StatusCode InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::execute ( const EventContext &  ctx) const
overridevirtual

Definition at line 84 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.cxx.

85 {
86 
88  if (writeHandle.isValid()) {
89  ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid.");
90  return StatusCode::SUCCESS;
91  }
92 
93  EventIDRange rangeTrt;
94 
96  if (not trtDetEleHandle.isValid()) {
97  ATH_MSG_FATAL(m_trtDetEleContKey.fullKey() << " is not available.");
98  return StatusCode::FAILURE;
99  }
100 
101  const InDetDD::TRT_Numerology* trtNum = trtDetEleHandle->getTRTNumerology();
102  if (trtNum==nullptr){
103  ATH_MSG_FATAL("Pointer to TRT_Numerology not found in condition store" << m_trtDetEleContKey.fullKey());
104  }
105 
106  if (not trtDetEleHandle.range(rangeTrt)) {
107  ATH_MSG_FATAL("Failed to retrieve validity range for " << trtDetEleHandle.key());
108  return StatusCode::FAILURE;
109  }
110 
111  auto writeCdo = std::make_unique<InDet::TRT_TrackSegmentsToolCondData_xk>();
112  if(writeCdo->m_ndzdr ) delete [] writeCdo->m_ndzdr ;
113  if(writeCdo->m_slope ) delete [] writeCdo->m_slope ;
114  if(writeCdo->m_islope ) delete [] writeCdo->m_islope ;
115 
116  float RZ [4][200];
117  float Tmin [4][200];
118  float Tmax [4][200];
119 
120  // Map straws production for barrel geometry
121  //
122  int Rings = trtNum->getNBarrelRings();
123  int NPhi = trtNum->getNBarrelPhi();
124  int n = 0;
125 
126  for(int ring = 0; ring!=Rings; ++ring) {
127 
128  int NSlayers = trtNum->getNBarrelLayers(ring);
129 
130  writeCdo->m_flayers[1][ring] = writeCdo->m_nlayers[1]; writeCdo->m_flayers[2][ring] = writeCdo->m_nlayers[2];
131  writeCdo->m_nlayers[1] += NSlayers ; writeCdo->m_nlayers[2] += NSlayers ;
132 
133  for(int nsl=0; nsl!=NSlayers; ++nsl) {
134 
135 
136  for(int f=0; f!=NPhi; ++f) {
137 
138  const InDetDD::TRT_BaseElement* base1 = trtDetEleHandle->getBarrelDetElement(0,ring,f,nsl);
139  const InDetDD::TRT_BaseElement* base2 = trtDetEleHandle->getBarrelDetElement(1,ring,f,nsl);
140  if(!base1 || !base2) continue;
141  const InDetDD::TRT_BarrelElement* bael1 =
142  dynamic_cast<const InDetDD::TRT_BarrelElement*>(base1);
143  const Trk::RectangleBounds* rb1 =
144  dynamic_cast<const Trk::RectangleBounds*>(&base1->bounds());
145  const Trk::RectangleBounds* rb2 =
146  dynamic_cast<const Trk::RectangleBounds*>(&base2->bounds());
147  if(!bael1 || !rb1 || !rb2) continue;
148  float rmean = 0;
149  if(f==0) {
150 
151  Amg::Vector3D C1 = base1->center();
152  Amg::Vector3D C2 = base2->center();
153  RZ [1][n] = std::sqrt(C1.x()*C1.x()+C1.y()*C1.y());
154 
155  Tmin [1][n] = (C1.z()-rb1->halflengthY())/RZ[1][n];
156  Tmax [1][n] = -.001;
157 
158  RZ [2][n] = std::sqrt(C2.x()*C2.x()+C2.y()*C2.y());
159 
160  Tmin [2][n] = +.001;
161  Tmax [2][n] = (C2.z()+rb2->halflengthY())/RZ[2][n];
162  ++n;
163  }
164  int ns = bael1->nStraws();
165  for(int s=0; s!=ns; ++s) {
166 
167  const Identifier id1 = m_trtid->straw_id(-1,f,ring,nsl,s );
168  const Amg::Vector3D * sc1 = &(base1->strawCenter (s));
169  const Amg::Transform3D* st1 = &(base1->strawTransform (s));
170  const Amg::Transform3D* tr1 = &(base1->surface(id1).transform() );
171  if(f==0) rmean+=std::sqrt(sc1->x()*sc1->x()+sc1->y()*sc1->y());
172 
173  if(!sc1 || !st1 || !tr1 ) {ATH_MSG_ERROR("problem with TRT geometry");}
174  ++writeCdo->m_nstraws[1];
175  const Identifier id2 = m_trtid->straw_id(+1,f,ring,nsl,s );
176  const Amg::Vector3D * sc2 = &(base2->strawCenter (s));
177  const Amg::Transform3D* st2 = &(base2->strawTransform (s));
178  const Amg::Transform3D* tr2 = &(base2->surface(id2).transform() );
179  if(!sc2 || !st2 || !tr2) {ATH_MSG_ERROR("problem with TRT geometry");}
180  ++writeCdo->m_nstraws[2];
181  }
182  if(f==0) { RZ[1][n-1] = RZ[2][n-1] = rmean/float(ns);}
183  }
184  }
185  }
186 
187  // Endcap
188  //
189  int Wheels = trtNum->getNEndcapWheels(); if(!Wheels) return StatusCode::SUCCESS;
190  NPhi = trtNum->getNEndcapPhi ();
191  n = 0;
192  for(int wh = 0; wh!=Wheels; ++wh) {
193 
194  int NSlayers = trtNum->getNEndcapLayers(wh);
195  writeCdo->m_flayers[0][wh] = writeCdo->m_nlayers[0]; writeCdo->m_flayers[3][wh] = writeCdo->m_nlayers[3];
196  writeCdo->m_nlayers[0] += NSlayers ; writeCdo->m_nlayers[3] += NSlayers ;
197 
198  for(int nsl = 0; nsl!=NSlayers; ++nsl) {
199 
200  for(int f=0; f!=NPhi; ++f) {
201 
202  const InDetDD::TRT_BaseElement* base1 = trtDetEleHandle->getEndcapDetElement(0,wh,nsl,f);
203  const InDetDD::TRT_BaseElement* base2 = trtDetEleHandle->getEndcapDetElement(1,wh,nsl,f);
204  if(!base1 || !base2) continue;
205 
206  const InDetDD::TRT_EndcapElement* enel1 =
207  dynamic_cast<const InDetDD::TRT_EndcapElement*>(base1);
208  const Trk::DiscBounds* db1 =
209  dynamic_cast<const Trk::DiscBounds*>(&base1->bounds());
210  const Trk::DiscBounds* db2 =
211  dynamic_cast<const Trk::DiscBounds*>(&base2->bounds());
212  if(!enel1 || !db1 || !db2) continue;
213  if(f==0) {
214 
215  Amg::Vector3D C1 = base1->center();
216  Amg::Vector3D C2 = base2->center();
217  RZ [0][n] = C1.z();
218  Tmin [0][n] = RZ[0][n]/db1->rMin();
219  Tmax [0][n] = RZ[0][n]/db1->rMax();
220 
221  RZ [3][n] = C2.z();
222  Tmin [3][n] = RZ[3][n]/db2->rMax();
223  Tmax [3][n] = RZ[3][n]/db2->rMin();
224 
225  ++n;
226  }
227 
228  int ns = enel1->nStraws();
229 
230  for(int s=0; s!=ns; ++s) {
231 
232  const Identifier id1 = m_trtid->straw_id(-2,f,wh,nsl,s );
233  const Amg::Vector3D * sc1 = &(base1->strawCenter (s) );
234  const Amg::Transform3D* st1 = &(base1->strawTransform (s) );
235  const Amg::Transform3D* tr1 = &(base1->surface(id1).transform());
236 
237  if(!sc1 || !st1 || !tr1) {ATH_MSG_ERROR("problem with TRT geometry");}
238  ++writeCdo->m_nstraws[0];
239 
240  const Identifier id2 = m_trtid->straw_id(+2,f,wh,nsl,s );
241  const Amg::Vector3D * sc2 = &(base2->strawCenter (s) );
242  const Amg::Transform3D* st2 = &(base2->strawTransform (s) );
243  const Amg::Transform3D* tr2 = &(base2->surface(id2).transform());
244 
245  if(!sc2 || !st2 || !tr2) {ATH_MSG_ERROR("problem with TRT geometry");}
246  ++writeCdo->m_nstraws[3];
247  }
248  }
249  }
250  }
251 
252  double zmax = RZ[3][writeCdo->m_nlayers[3]-1]+10.;
253  double rmax = RZ[2][writeCdo->m_nlayers[2]-1]+10.;
254  const Trk::CylinderBounds CB(rmax,zmax);
255 
256  float rapidity[26]=
257  {-2.05,-1.95,-1.84,-1.72,-1.62,-1.53,-1.43,-1.33,-1.21,-1.00,-.94, -.85,-.32,
258  .32, .85, .94, 1.00, 1.21, 1.33, 1.43, 1.53, 1.62, 1.72,1.84, 1.95,2.05};
259 
260  std::deque<Amg::Vector3D> G [26];
261  Amg::Vector3D psv(0.,0.,0.);
262  Trk::PerigeeSurface ps(psv);
263 
264  for(int r=0; r!=26; ++r) {
265  writeCdo->m_dzdr[r] = 1./std::tan(2.*std::atan(std::exp(-rapidity[r])));
266  double pinv =-1./(m_pTmin*std::sqrt(1.+writeCdo->m_dzdr[r]*writeCdo->m_dzdr[r]));
267  auto trackPar = ps.createUniqueTrackParameters(
268  0.,
269  0.,
270  0.,
271  std::atan2(1., double(writeCdo->m_dzdr[r])),
272  pinv,
273  std::nullopt);
274  m_propTool->globalPositions(ctx,
275  G[r], *trackPar, m_fieldprop, CB, 5., Trk::pion);
276  }
277 
278  n = 0;
279  for(int b=0; b!=4; ++b) {
280  for(unsigned int i=0; i!=writeCdo->m_nlayers[b]; ++i) {
281  writeCdo->m_begin[b][i] = n;
282  for(float r : writeCdo->m_dzdr) {
283  if( r >= Tmin[b][i] && r <= Tmax[b][i] ) {
284  writeCdo->m_end[b][i] = n++;
285  }
286  }
287  }
288  }
289 
290  writeCdo->m_ndzdr = new unsigned int[n];
291  writeCdo->m_islope = new int[n];
292  writeCdo->m_slope = new float [n];
293  writeCdo->m_cirsize = writeCdo->m_nstraws[0]+writeCdo->m_nstraws[1];
294 
295  n = 0;
296  for (int b = 0; b != 4; ++b) {
297 
298  for (unsigned int i = 0; i != writeCdo->m_nlayers[b]; ++i) {
299 
300  for (int r = 0; r != 26; ++r) {
301  if (writeCdo->m_dzdr[r] >= Tmin[b][i] &&
302  writeCdo->m_dzdr[r] <= Tmax[b][i]) {
303  writeCdo->m_ndzdr[n] = r;
304  std::deque<Amg::Vector3D>::iterator gp0, gp1, gp = G[r].begin(),gpe = G[r].end();
305  if (b == 0 || b == 3) {
306 
307  gp0 = gp;
308  for (++gp; gp != gpe; ++gp) {
309  if (b == 3 && (*gp).z() >= RZ[b][i])
310  break;
311  if (b == 0 && (*gp).z() <= RZ[b][i])
312  break;
313  gp1 = gp0;
314  gp0 = gp;
315  }
316  } else {
317  gp0 = gp;
318  for (++gp; gp != gpe; ++gp) {
319  if (std::sqrt((*gp).x() * (*gp).x() + (*gp).y() * (*gp).y()) >
320  RZ[b][i])
321  break;
322  gp1 = gp0;
323  gp0 = gp;
324  }
325  }
326  double x, y, z, ax, ay, az;
327  if (gp != gpe) {
328  x = (*gp0).x();
329  ax = (*gp).x() - x;
330  y = (*gp0).y();
331  ay = (*gp).y() - y;
332  z = (*gp0).z();
333  az = (*gp).z() - z;
334  double as = 1. / std::sqrt(ax * ax + ay * ay + az * az);
335  ax *= as;
336  ay *= as;
337  az *= as;
338  } else {
339  x = (*gp1).x();
340  ax = (*gp0).x() - x;
341  y = (*gp1).y();
342  ay = (*gp0).y() - y;
343  z = (*gp1).z();
344  az = (*gp0).z() - z;
345  double as = 1. / std::sqrt(ax * ax + ay * ay + az * az);
346  ax *= as;
347  ay *= as;
348  az *= as;
349  }
350  double S = 0;
351 
352  if (b == 0 || b == 3) {
353  S = (RZ[b][i] - z) / az;
354  } else {
355  double A = (ax * x + ay * y) * 2.;
356  double D = (RZ[b][i] - x - y) * (RZ[b][i] + x + y) + 2. * x * y;
357  S = D / A;
358  double B = 2. * (ax * ax + ay * ay);
359  double Sq = A * A + 2. * D * B;
360  Sq > 0. ? Sq = std::sqrt(Sq) : Sq = 0.;
361  double S1 = -(A + Sq) / B;
362  double S2 = -(A - Sq) / B;
363  if (S > S2)
364  S = S2;
365  else if (S < S1)
366  S = S1;
367  }
368  writeCdo->m_slope[n] = std::atan2(y + S * ay, x + S * ax) * m_A;
369  writeCdo->m_islope[n] = int(writeCdo->m_slope[n] * m_Psi128);
370  ++n;
371  }
372  }
373  }
374  }
375 
376  if (writeHandle.record(rangeTrt, std::move(writeCdo)).isFailure()) {
377  ATH_MSG_FATAL("Could not record " << writeHandle.key()
378  << " with EventRange " << rangeTrt
379  << " into Conditions Store");
380  return StatusCode::FAILURE;
381  }
382  ATH_MSG_DEBUG("recorded new CDO " << writeHandle.key() << " with range "
383  << rangeTrt << " into Conditions Store");
384 
385  return StatusCode::SUCCESS;
386 
387 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthReentrantAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 79 of file AthReentrantAlgorithm.cxx.

80 {
81  // If we didn't find any symlinks to add, just return the collection
82  // from the base class. Otherwise, return the extended collection.
83  if (!m_extendedExtraObjects.empty()) {
85  }
86  return Algorithm::extraOutputDeps();
87 }

◆ filterPassed()

virtual bool AthReentrantAlgorithm::filterPassed ( const EventContext &  ctx) const
inlinevirtualinherited

Definition at line 135 of file AthReentrantAlgorithm.h.

135  {
136  return execState( ctx ).filterPassed();
137  }

◆ initialize()

StatusCode InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::initialize ( )
overridevirtual

Definition at line 48 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.cxx.

49 {
50 
52  ATH_CHECK(m_writeKey.initialize());
53 
54  // Get propagator tool
55  //
56  if( m_propTool.retrieve().isFailure()) {
57  ATH_MSG_FATAL("Failed to retrieve tool "<< m_propTool);
58  return StatusCode::FAILURE;
59  }
60  ATH_MSG_DEBUG("Retrieved tool " << m_propTool);
61 
63 
64  // Get TRT ID
65  if (detStore()->retrieve(m_trtid, "TRT_ID").isFailure()) {
66  ATH_MSG_FATAL("Could not get TRT ID helper");
67  return StatusCode::FAILURE;
68  }
69 
70  m_nPhi = 500 ;
71  m_Psi = 2./float(m_nMom-1) ;
72  m_Psi128 = m_Psi*128. ;
73  m_A = float(m_nPhi)/(2.*M_PI) ;
74 
75  return StatusCode::SUCCESS;
76 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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.

◆ isClonable()

bool AthReentrantAlgorithm::isClonable ( ) const
overridevirtualinherited

◆ isReEntrant()

virtual bool InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::isReEntrant ( ) const
inlinefinaloverridevirtual

Definition at line 46 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

46 { return false; }

◆ magneticFieldInit()

void InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::magneticFieldInit ( )
private

Definition at line 389 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.cxx.

390 {
391  // Build MagneticFieldProperties
392  //
396 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

MsgStream& AthCommonMsg< Gaudi::Algorithm >::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< Gaudi::Algorithm >::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< Gaudi::Algorithm > >::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.

◆ printStraw()

void InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::printStraw ( const InDetDD::TRT_BaseElement elementCS,
unsigned int  strawNum 
) const

◆ 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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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  }

◆ setFilterPassed()

virtual void AthReentrantAlgorithm::setFilterPassed ( bool  state,
const EventContext &  ctx 
) const
inlinevirtualinherited

Definition at line 139 of file AthReentrantAlgorithm.h.

139  {
140  execState( ctx ).setFilterPassed( state );
141  }

◆ sysExecute()

StatusCode AthReentrantAlgorithm::sysExecute ( const EventContext &  ctx)
overridevirtualinherited

Execute an algorithm.

We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.

Definition at line 67 of file AthReentrantAlgorithm.cxx.

68 {
69  return Gaudi::Algorithm::sysExecute (ctx);
70 }

◆ sysInitialize()

StatusCode AthReentrantAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.

Reimplemented in InputMakerBase, and HypoBase.

Definition at line 96 of file AthReentrantAlgorithm.cxx.

96  {
98 
99  if (sc.isFailure()) {
100  return sc;
101  }
102 
103  ServiceHandle<ICondSvc> cs("CondSvc",name());
104  for (auto h : outputHandles()) {
105  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
106  // do this inside the loop so we don't create the CondSvc until needed
107  if ( cs.retrieve().isFailure() ) {
108  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
109  return StatusCode::SUCCESS;
110  }
111  if (cs->regHandle(this,*h).isFailure()) {
112  sc = StatusCode::FAILURE;
113  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
114  << " with CondSvc");
115  }
116  }
117  }
118  return sc;
119 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_A

float InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_A {}
private

Definition at line 64 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 153 of file AthReentrantAlgorithm.h.

◆ m_fieldmode

std::string InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_fieldmode
private

Definition at line 58 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_fieldprop

Trk::MagneticFieldProperties InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_fieldprop
private

Definition at line 60 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_nMom

int InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_nMom
private

Definition at line 63 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_nPhi

int InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_nPhi {}
private

Definition at line 66 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_propTool

ToolHandle<Trk::IPropagator> InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_propTool
private

Definition at line 59 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_Psi

float InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_Psi {}
private

Definition at line 65 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_Psi128

float InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_Psi128 {}
private

Definition at line 62 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_pTmin

float InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_pTmin
private

Definition at line 61 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_trtDetEleContKey

SG::ReadCondHandleKey<InDetDD::TRT_DetElementContainer> InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_trtDetEleContKey {this, "TRTDetEleContKey", "TRT_DetElementContainer", "Key of TRT_DetElementContainer"}
private

Definition at line 70 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_trtid

const TRT_ID* InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_trtid {}
private

Definition at line 56 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_writeKey

SG::WriteCondHandleKey<TRT_TrackSegmentsToolCondData_xk> InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_writeKey {this, "WriteKey", "TRT_TrackSegmentsToolCondData_xk", "Key of TRT_TrackSegmentsToolCondData_xk"}
private

Definition at line 71 of file TRT_TrackSegmentsMakerCondAlg_ATLxk.h.


The documentation for this class was generated from the following files:
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_pTmin
float m_pTmin
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:61
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
beamspotman.r
def r
Definition: beamspotman.py:676
Trk::RectangleBounds
Definition: RectangleBounds.h:38
S1
struct TBPatternUnitContext S1
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
InDetDD::TRT_BarrelElement
Definition: TRT_BarrelElement.h:44
GlobalVariables.Tmin
Tmin
Definition: GlobalVariables.py:200
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_trtid
const TRT_ID * m_trtid
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:56
fitman.ax
ax
Definition: fitman.py:522
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
Trk::MagneticFieldProperties
Definition: MagneticFieldProperties.h:31
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_nMom
int m_nMom
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:63
Trk::PerigeeSurface
Definition: PerigeeSurface.h:43
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_fieldprop
Trk::MagneticFieldProperties m_fieldprop
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:60
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
InDetDD::TRT_BaseElement::nStraws
unsigned int nStraws() const
Number of straws in the element.
AthCommonDataStore::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 > renounce(T &h)
Definition: AthCommonDataStore.h:380
M_PI
#define M_PI
Definition: ActiveFraction.h:11
InDetDD::TRT_EndcapElement
Definition: TRT_EndcapElement.h:44
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
InDetDD::TRT_BaseElement::strawCenter
const Amg::Vector3D & strawCenter(int straw) const
Straw Surface: Local -> global transform of the straw via integer.
Definition: TRT_BaseElement.cxx:143
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
x
#define x
JetTiledMap::S
@ S
Definition: TiledEtaPhiMap.h:44
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:27
dqt_zlumi_alleff_HIST.A
A
Definition: dqt_zlumi_alleff_HIST.py:110
bsCompare.db1
int db1
Definition: bsCompare.py:40
Trk::FastField
@ FastField
call the fast field access method of the FieldSvc
Definition: MagneticFieldMode.h:20
InDetDD::TRT_Numerology::getNEndcapWheels
unsigned int getNEndcapWheels() const
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_trtDetEleContKey
SG::ReadCondHandleKey< InDetDD::TRT_DetElementContainer > m_trtDetEleContKey
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:70
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_nPhi
int m_nPhi
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:66
A
InDetDD::TRT_Numerology
Definition: TRT_Numerology.h:22
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
id2
HWIdentifier id2
Definition: LArRodBlockPhysicsV0.cxx:562
DeMoUpdate.db2
string db2
Definition: DeMoUpdate.py:1032
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
lumiFormat.i
int i
Definition: lumiFormat.py:85
z
#define z
G
#define G(x, y, z)
Definition: MD5.cxx:113
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_propTool
ToolHandle< Trk::IPropagator > m_propTool
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:59
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Trk::CylinderBounds
Definition: CylinderBounds.h:46
Trk::pion
@ pion
Definition: ParticleHypothesis.h:29
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
PixelAthClusterMonAlgCfg.zmax
zmax
Definition: PixelAthClusterMonAlgCfg.py:169
parseDir.wh
wh
Definition: parseDir.py:46
InDetDD::TRT_Numerology::getNBarrelPhi
unsigned int getNBarrelPhi() const
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
hist_file_dump.f
f
Definition: hist_file_dump.py:135
InDetDD::TRT_Numerology::getNBarrelLayers
unsigned int getNBarrelLayers(unsigned int iMod) const
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_fieldmode
std::string m_fieldmode
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:58
Trk::FullField
@ FullField
Field is set to be realistic, but within a given Volume.
Definition: MagneticFieldMode.h:21
AthReentrantAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Definition: AthReentrantAlgorithm.h:153
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
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_Psi
float m_Psi
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:65
Trk::NoField
@ NoField
Field is set to 0., 0., 0.,.
Definition: MagneticFieldMode.h:18
GlobalVariables.Tmax
Tmax
Definition: GlobalVariables.py:201
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
AthReentrantAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthReentrantAlgorithm.cxx:96
Trk::RectangleBounds::halflengthY
double halflengthY() const
for consitant naming
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
dqt_zlumi_alleff_HIST.B
B
Definition: dqt_zlumi_alleff_HIST.py:110
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDetDD::TRT_BaseElement::bounds
virtual const Trk::SurfaceBounds & bounds() const override final
Straw layer bounds.
InDetDD::TRT_BaseElement::strawTransform
const Amg::Transform3D & strawTransform(unsigned int straw) const
Straw transform - fast access in array, in Tracking frame: Amg.
Definition: TRT_BaseElement.cxx:89
a
TList * a
Definition: liststreamerinfos.cxx:10
y
#define y
h
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_A
float m_A
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:64
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
InDetDD::TRT_BaseElement::center
virtual const Amg::Vector3D & center() const override final
Element Surface: center of a straw layer.
S2
struct TBPatternUnitContext S2
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
python.SystemOfUnits.ns
int ns
Definition: SystemOfUnits.py:130
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::magneticFieldInit
void magneticFieldInit()
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.cxx:389
InDetDD::TRT_Numerology::getNEndcapPhi
unsigned int getNEndcapPhi() const
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
InDetDD::TRT_Numerology::getNEndcapLayers
unsigned int getNEndcapLayers(unsigned int iWheel) const
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
InDetDD::TRT_Numerology::getNBarrelRings
unsigned int getNBarrelRings() const
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_Psi128
float m_Psi128
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:62
Trk::Surface::transform
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
SG::WriteCondHandle
Definition: WriteCondHandle.h:26
InDetDD::TRT_BaseElement::surface
virtual const Trk::Surface & surface() const override final
Element Surface: access to the Surface (straw layer)
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
readCCLHist.float
float
Definition: readCCLHist.py:83
InDet::TRT_TrackSegmentsMakerCondAlg_ATLxk::m_writeKey
SG::WriteCondHandleKey< TRT_TrackSegmentsToolCondData_xk > m_writeKey
Definition: TRT_TrackSegmentsMakerCondAlg_ATLxk.h:71
MCP::DetectorType::CB
@ CB
Definition: EnumDef.h:37
fitman.k
k
Definition: fitman.py:528
Trk::DiscBounds
Definition: DiscBounds.h:44
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:57
TRT_ID::straw_id
Identifier straw_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer, int straw) const
Three ways of getting id for a single straw:
Definition: TRT_ID.h:581
ServiceHandle< ICondSvc >
fitman.ay
ay
Definition: fitman.py:525
Identifier
Definition: IdentifierFieldParser.cxx:14