ATLAS Offline Software
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
Muon::MuonInertMaterialBuilderImpl Class Reference

#include <MuonInertMaterialBuilderImpl.h>

Inheritance diagram for Muon::MuonInertMaterialBuilderImpl:
Collaboration diagram for Muon::MuonInertMaterialBuilderImpl:

Public Types

using DetachedVolVec = std::vector< std::unique_ptr< Trk::DetachedTrackingVolume > >
 

Public Member Functions

virtual ~MuonInertMaterialBuilderImpl ()=default
 Destructor. More...
 
virtual StatusCode initialize () override
 AlgTool initialize method. More...
 
DetachedVolVec buildDetachedTrackingVolumesImpl (const PVConstLink treeTop, bool blend) 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 > &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 Types

using DetachedVolumeVecWithTrfs = std::vector< std::pair< std::unique_ptr< Trk::DetachedTrackingVolume >, std::vector< Amg::Transform3D > >>
 Method creating material object prototypes. More...
 

Protected Member Functions

 MuonInertMaterialBuilderImpl (const std::string &, const std::string &, const IInterface *)
 Constructor. More...
 
DetachedVolumeVecWithTrfs buildDetachedTrackingVolumeTypes (const PVConstLink top, bool blend) const
 
void getObjsForTranslation (const GeoVPhysVol *pv, const Amg::Transform3D &, std::vector< std::pair< const GeoVPhysVol *, std::vector< Amg::Transform3D >>> &vols) const
 Method extracting material objects from GeoModel tree. More...
 
void printInfo (const GeoVPhysVol *pv) const
 Dump from GeoModel tree
More...
 
void printChildren (const GeoVPhysVol *pv) const
 
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...
 
void glueVolumes (TrackingVolume &firstVol, BoundarySurfaceFace firstFace, TrackingVolume &secondVol, BoundarySurfaceFace secondFace) const
 protected method to glue two Volumes together input: More...
 

Static Protected Member Functions

static void setBoundarySurface (TrackingVolume &tvol, SharedObject< BoundarySurface< TrackingVolume >> bsurf, BoundarySurfaceFace face)
 protected method to set the boundary surface of a tracking volume More...
 
static void setInsideVolume (TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *insidevol)
 protected method to set inside Volume of a BoundarySurface: input: More...
 
static void setInsideVolumeArray (TrackingVolume &tvol, BoundarySurfaceFace face, BinnedArray< TrackingVolume > *insidevolarray)
 protected method to set inside VolumeArray of a BoundarySurface: input: More...
 
static void setInsideVolumeArray (TrackingVolume &tvol, BoundarySurfaceFace face, const SharedObject< BinnedArray< TrackingVolume >> &insidevolarray)
 protected method to set inside VolumeArray of a BoundarySurface: input: More...
 
static void setOutsideVolume (TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *outsidevol)
 protected method to set outside Volume of a BoundarySurface: input: More...
 
static void setOutsideVolumeArray (TrackingVolume &tvol, BoundarySurfaceFace face, BinnedArray< TrackingVolume > *outsidevolarray)
 protected method to set outside VolumeArray of a BoundarySurface: input: More...
 
static void setOutsideVolumeArray (TrackingVolume &tvol, BoundarySurfaceFace face, const SharedObject< BinnedArray< TrackingVolume >> &outsidevolarray)
 protected method to set outside VolumeArray of a BoundarySurface: input: More...
 
static void confineVolume (TrackingVolume &tvol, TrackingVolume *outsidevol)
 protected method to confine (dense) volumes: input: More...
 

Protected Attributes

Gaudi::Property< bool > m_simplify
 
Gaudi::Property< bool > m_simplifyToLayers
 
Gaudi::Property< bool > m_debugMode
 
Gaudi::Property< bool > m_buildBT
 
Gaudi::Property< bool > m_buildECT
 
Gaudi::Property< bool > m_buildFeets
 
Gaudi::Property< int > m_buildRails {this, "BuildRails", 1}
 
Gaudi::Property< bool > m_buildShields
 
Gaudi::Property< bool > m_buildSupports
 
Gaudi::Property< bool > m_buildNSWInert
 
Gaudi::Property< double > m_blendLimit
 
Trk::GeoShapeConverter m_geoShapeConverter
 shape converter More...
 
Trk::GMTreeBrowser m_gmBrowser
 gm tree helper More...
 
Trk::VolumeConverter m_volumeConverter
 gm->trk volume helper More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

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

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

The Muon::MuonInertMaterialBuilderImpl retrieves muon stations from Muon Geometry Tree

by Sarka.nosp@m..Tod.nosp@m.orova.nosp@m.@cer.nosp@m.n.ch, Marci.nosp@m.n.Wo.nosp@m.lter@.nosp@m.cern.nosp@m..ch

Definition at line 51 of file MuonInertMaterialBuilderImpl.h.

Member Typedef Documentation

◆ DetachedVolumeVecWithTrfs

using Muon::MuonInertMaterialBuilderImpl::DetachedVolumeVecWithTrfs = std::vector<std::pair<std::unique_ptr<Trk::DetachedTrackingVolume>, std::vector<Amg::Transform3D> >>
protected

Method creating material object prototypes.

Definition at line 69 of file MuonInertMaterialBuilderImpl.h.

◆ DetachedVolVec

Definition at line 58 of file MuonInertMaterialBuilderImpl.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ~MuonInertMaterialBuilderImpl()

virtual Muon::MuonInertMaterialBuilderImpl::~MuonInertMaterialBuilderImpl ( )
virtualdefault

Destructor.

◆ MuonInertMaterialBuilderImpl()

Muon::MuonInertMaterialBuilderImpl::MuonInertMaterialBuilderImpl ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)
protected

Constructor.

Definition at line 20 of file MuonInertMaterialBuilderImpl.cxx.

Member Function Documentation

◆ buildDetachedTrackingVolumesImpl()

Muon::MuonInertMaterialBuilderImpl::DetachedVolVec Muon::MuonInertMaterialBuilderImpl::buildDetachedTrackingVolumesImpl ( const PVConstLink  treeTop,
bool  blend 
) const

Definition at line 36 of file MuonInertMaterialBuilderImpl.cxx.

36  {
37 
38  if (!treeTop) {
39  throw std::runtime_error("No tree top has been parsed");
40  }
41  // collect inert material objects
42  DetachedVolVec mInert{};
43  // retrieve muon station prototypes from GeoModel
44  auto msTypes = buildDetachedTrackingVolumeTypes(treeTop, blend);
45  ATH_MSG_DEBUG(" obtained " << msTypes.size() << " prototypes");
46 
47 
48  for (auto& [msTV, transforms]: msTypes) {
49  std::string msTypeName = msTV->name();
50  for (Amg::Transform3D& combTr : transforms) {
51  std::unique_ptr<Trk::DetachedTrackingVolume> newStat{msTV->clone(msTypeName, combTr)};
52  mInert.push_back(std::move(newStat));
53  }
54  }
55  ATH_MSG_DEBUG(" returns " << mInert.size() << " objects (detached volumes)");
56 
57  return mInert;
58 }

◆ buildDetachedTrackingVolumeTypes()

Muon::MuonInertMaterialBuilderImpl::DetachedVolumeVecWithTrfs Muon::MuonInertMaterialBuilderImpl::buildDetachedTrackingVolumeTypes ( const PVConstLink  top,
bool  blend 
) const
protected

link to top tree

Definition at line 62 of file MuonInertMaterialBuilderImpl.cxx.

62  {
63 
66  GeoVolumeCursor vol(top);
67  while (!vol.atEnd()) {
68  const GeoVPhysVol* cv = vol.getVolume();
69  const GeoLogVol* clv = cv->getLogVol();
70  const std::string_view vname = clv->getName();
71  if (vname.size() > 7 && vname.substr(vname.size() - 7, 7) ==
72  "Station") { // do nothing, active station
73  } else {
74  bool accepted = true;
75  if (vname.substr(0, 3) == "BAR" || vname.substr(0, 2) == "BT" ||
76  vname.substr(0, 6) == "EdgeBT" || vname.substr(0, 6) == "HeadBT"){
77  accepted = m_buildBT;
78  } else if (vname.substr(0, 3) == "ECT") {
79  accepted = m_buildECT;
80  } else if (vname.substr(0, 4) == "Feet" ||
81  (vname.size() > 7 && (vname.substr(3, 4) == "Feet" || vname.substr(4, 4) == "Feet"))) {
82  accepted = m_buildFeets;
83  } else if (vname.substr(0, 4) == "Rail") {
84  accepted = m_buildRails > 0;
85  } else if (vname.substr(0, 1) == "J") {
86  accepted = m_buildShields > 0;
87  // NSW build inertmaterial for spacer frame, aluminium HUB, NJD disk
88  // and A plate
89  } else if (vname.substr(0, 3) == "NSW" && vname.substr(1, 6) == "Spacer") {
90  accepted = m_buildNSWInert;
91  } else if (vname.substr(0, 3) == "NSW" && vname.substr(1, 2) == "Al") {
92  accepted = m_buildNSWInert;
93  } else if (vname.substr(0, 3) == "NJD"){
94  accepted = m_buildNSWInert;
95  } else if (vname.substr(0, 1) == "A" && vname.substr(1, 5) == "Plate"){
96  accepted = m_buildNSWInert;
97  // strange NSW will be anyway build
98  } else if (vname.substr(0, 1) != "J") {
99  accepted = m_buildSupports > 0;
100  }
101  if (!accepted) {
102  ATH_MSG_VERBOSE(" INERT muon object found and rejected :" << vname);
103  vol.next();
104  continue;
105  }
106  ATH_MSG_VERBOSE(" INERT muon object found and accepted :" << vname);
107 
108  if (msg().level() == MSG::VERBOSE)
109  printInfo(cv);
110 
111  std::vector<std::pair<const GeoVPhysVol*, std::vector<Amg::Transform3D>>> vols;
112 
113  bool simpleTree = false;
114  if (!cv->getNChildVols()) {
115  if (!m_gmBrowser.findNamePattern(cv, "Sensitive")) {
116  std::vector<Amg::Transform3D> volTr;
117  volTr.push_back(vol.getTransform());
118  vols.emplace_back(cv, volTr);
119  simpleTree = true;
120  }
121  } else {
122  getObjsForTranslation(cv, Amg::Transform3D::Identity(), vols);
123  }
124 
125  for (auto& [physVol, physVolTrfs]: vols) {
126  std::string protoName(vname);
127  if (!simpleTree)
128  protoName += physVol->getLogVol()->getName();
129  ATH_MSG_VERBOSE(" check in:"<< protoName << ", made of "
130  << physVol->getLogVol()->getMaterial()->getName()
131  << " x0 " << physVol->getLogVol()->getMaterial()->getRadLength()
132  << "," << physVol->getLogVol()->getShape()->type());
133 
134  bool found = false;
135  for (auto& obj : objs) {
136  if (protoName == obj.first->name()) { // found in another branch already ?
137  found = true;
138  if (simpleTree) {
139  obj.second.push_back(vol.getTransform());
140  } else {
141  obj.second.insert(obj.second.end(),
142  std::make_move_iterator(physVolTrfs.begin()),
143  std::make_move_iterator(physVolTrfs.end()));
144  }
145  }
146  }
147  if (found) {
148  continue;
149  }
150  // envelope creation & simplification done with
151  // TrkDetDescrGeoModelCnv helpers
152  auto newType = m_volumeConverter.translate(physVol, m_simplify, blend, m_blendLimit);
153  if (newType) {
154  const std::string volName = newType->volumeName();
155  auto typeDet = std::make_unique<Trk::DetachedTrackingVolume>(volName, newType.release());
156  objs.emplace_back(std::move(typeDet), std::move(physVolTrfs));
157  } else {
158  ATH_MSG_WARNING("volume not translated: " << vname);
159  }
160  } // end new object
161  }
162  vol.next();
163  }
164 
165  int count = 0;
166  for (auto& obj : objs)
167  count += obj.second.size();
168 
169  ATH_MSG_DEBUG(" returns " << objs.size()<< " prototypes, to be cloned into " << count << " objects");
170 
171  return objs;
172 }

◆ confineVolume()

void Trk::TrackingVolumeManipulator::confineVolume ( TrackingVolume tvol,
TrackingVolume outsidevol 
)
staticprotectedinherited

protected method to confine (dense) volumes: input:

  • the volume that holdes the BoundarySurfaces (embedded)
  • the volume to be set as outside volume

Definition at line 112 of file TrackingVolumeManipulator.cxx.

114 {
115 
116  const auto& bounds = tvol.boundarySurfaces();
117  for (const auto & bound : bounds) {
118  if (bound->outsideVolume() == nullptr) {
119  bound->setOutsideVolume(outsideVol);
120  }
121  if (bound->insideVolume() == nullptr) {
122  bound->setInsideVolume(outsideVol);
123  }
124  }
125 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< 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 > &  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

◆ getObjsForTranslation()

void Muon::MuonInertMaterialBuilderImpl::getObjsForTranslation ( const GeoVPhysVol *  pv,
const Amg::Transform3D transform,
std::vector< std::pair< const GeoVPhysVol *, std::vector< Amg::Transform3D >>> &  vols 
) const
protected

Method extracting material objects from GeoModel tree.

Definition at line 210 of file MuonInertMaterialBuilderImpl.cxx.

213  {
214  // subcomponents
215  unsigned int nc = pv->getNChildVols();
216  ATH_MSG_VERBOSE(" INERT getObjsForTranslation from:"
217  << pv->getLogVol()->getName() << ","
218  << pv->getLogVol()->getMaterial()->getName()
219  << ", looping over " << nc << " children");
220  for (unsigned int ic = 0; ic < nc; ic++) {
221  Amg::Transform3D transf = pv->getXToChildVol(ic);
222  const GeoVPhysVol* cv = &(*(pv->getChildVol(ic)));
223  const GeoLogVol* clv = cv->getLogVol();
224  if (clv->getMaterial()->getDensity() > 0. &&
225  m_gmBrowser.findNamePattern(cv, "Sensitive"))
226  continue; // skip sensitive material branches
227  if (!cv->getNChildVols()) {
228  bool found = false;
229  for (auto& vol : vols) {
230  if (clv->getName() == vol.first->getLogVol()->getName()) {
231  if (m_gmBrowser.compareGeoVolumes(cv, vol.first, 1.e-3) !=
232  0)
234  "INERT name branch matching differences detected "
235  "in:"
236  << clv->getName());
237  found = true;
238  vol.second.push_back(transform * transf);
239  break;
240  }
241  }
242  if (!found) {
243  std::vector<Amg::Transform3D> volTr;
244  volTr.push_back(transform * transf);
245  vols.emplace_back(cv, volTr);
246  ATH_MSG_VERBOSE("INERT new volume added:"
247  << clv->getName() << ","
248  << clv->getMaterial()->getName());
249  if (msg().level() <= MSG::VERBOSE)
250  printInfo(cv);
251  }
252  } else {
253  getObjsForTranslation(cv, transform * transf, vols);
254  }
255  }
256 }

◆ glueVolumes()

void Trk::TrackingVolumeManipulator::glueVolumes ( Trk::TrackingVolume firstVol,
Trk::BoundarySurfaceFace  firstFace,
Trk::TrackingVolume secondVol,
Trk::BoundarySurfaceFace  secondFace 
) const
protectedinherited

protected method to glue two Volumes together input:

  • first TrackingVolume that keeps boundary surface
  • face of the BoundarySurface to be kept
  • second volume that gets glued to the first volume
  • face of the BoundarySurface to be shared

Definition at line 17 of file TrackingVolumeManipulator.cxx.

22 {
23  // check if it is a cylinder volume
24  const Trk::CylinderVolumeBounds* cylBounds =
25  dynamic_cast<const Trk::CylinderVolumeBounds*>(&(firstVol.volumeBounds()));
26 
27  if (firstFace == Trk::tubeOuterCover && secondFace == Trk::tubeInnerCover)
28  return glueVolumes(secondVol, secondFace, firstVol, firstFace);
29 
30  // the second volume gets the face of the first volume assigned
31  (secondVol.m_boundarySurfaces)[secondFace] =
32  (firstVol.m_boundarySurfaces)[firstFace];
33  // the face of the first volume has been an inner tube
34  if (cylBounds && firstFace == Trk::tubeInnerCover &&
35  secondFace == Trk::tubeOuterCover) {
36  (secondVol.m_boundarySurfaces)[secondFace]->setInsideVolume(&secondVol);
37  } else {
38  (secondVol.m_boundarySurfaces)[secondFace]->setOutsideVolume(&secondVol);
39  }
40 }

◆ initialize()

StatusCode Muon::MuonInertMaterialBuilderImpl::initialize ( )
overridevirtual

AlgTool initialize method.

Reimplemented in Muon::MuonInertMaterialBuilder, and Muon::MuonInertMaterialBuilderCond.

Definition at line 26 of file MuonInertMaterialBuilderImpl.cxx.

26  {
27 
28  if (m_simplifyToLayers) {
29  ATH_MSG_INFO(" option Simplify(Muon)GeometryToLayers no longer maintained ");
30  }
31  ATH_MSG_INFO( " initialize() successful");
32  return StatusCode::SUCCESS;
33 }

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

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

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

◆ printChildren()

void Muon::MuonInertMaterialBuilderImpl::printChildren ( const GeoVPhysVol *  pv) const
protected

Definition at line 186 of file MuonInertMaterialBuilderImpl.cxx.

187  {
188  // subcomponents
189  unsigned int nc = pv->getNChildVols();
190  for (unsigned int ic = 0; ic < nc; ic++) {
191  Amg::Transform3D transf = pv->getXToChildVol(ic);
192 
193  const GeoVPhysVol* cv = &(*(pv->getChildVol(ic)));
194  const GeoLogVol* clv = cv->getLogVol();
195  ATH_MSG_VERBOSE(" ");
197  "subcomponent:"
198  << ic << ":" << clv->getName() << ", made of "
199  << clv->getMaterial()->getName() << " x0 "
200  << clv->getMaterial()->getRadLength() << " , "
201  << clv->getShape()->type() << "," << transf.translation().x() << " "
202  << transf.translation().y() << " " << transf.translation().z());
203 
204  m_geoShapeConverter.decodeShape(clv->getShape());
205 
206  printChildren(cv);
207  }
208 }

◆ printInfo()

void Muon::MuonInertMaterialBuilderImpl::printInfo ( const GeoVPhysVol *  pv) const
protected

Dump from GeoModel tree

Definition at line 174 of file MuonInertMaterialBuilderImpl.cxx.

175  {
176  const GeoLogVol* lv = pv->getLogVol();
177  ATH_MSG_VERBOSE("New Muon Inert Object:"
178  << lv->getName() << ", made of "
179  << lv->getMaterial()->getName() << " x0 "
180  << lv->getMaterial()->getRadLength() << ","
181  << lv->getShape()->type());
182  m_geoShapeConverter.decodeShape(lv->getShape());
183  printChildren(pv);
184 }

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

◆ setBoundarySurface()

void Trk::TrackingVolumeManipulator::setBoundarySurface ( TrackingVolume tvol,
SharedObject< BoundarySurface< TrackingVolume >>  bsurf,
BoundarySurfaceFace  face 
)
staticprotectedinherited

protected method to set the boundary surface of a tracking volume

Definition at line 43 of file TrackingVolumeManipulator.cxx.

47 {
48  (tvol.m_boundarySurfaces)[face] = std::move(bsurf);
49 }

◆ setInsideVolume()

void Trk::TrackingVolumeManipulator::setInsideVolume ( Trk::TrackingVolume tvol,
Trk::BoundarySurfaceFace  face,
Trk::TrackingVolume insidevol 
)
staticprotectedinherited

protected method to set inside Volume of a BoundarySurface: input:

  • the volume that holdes the BoundarySurface
  • the face type of the boundary to be set
  • the volume to be set as inside volume

Definition at line 52 of file TrackingVolumeManipulator.cxx.

55 {
56 
57  (tvol.m_boundarySurfaces)[face]->setInsideVolume(insidevol);
58 }

◆ setInsideVolumeArray() [1/2]

void Trk::TrackingVolumeManipulator::setInsideVolumeArray ( Trk::TrackingVolume tvol,
Trk::BoundarySurfaceFace  face,
BinnedArray< TrackingVolume > *  insidevolarray 
)
staticprotectedinherited

protected method to set inside VolumeArray of a BoundarySurface: input:

  • ithe volume that holdes the BoundarySurface
  • the face type of the boundary to be set
  • the volume array to be set as inside volume array

Definition at line 61 of file TrackingVolumeManipulator.cxx.

65 {
66 
69 }

◆ setInsideVolumeArray() [2/2]

static void Trk::TrackingVolumeManipulator::setInsideVolumeArray ( TrackingVolume tvol,
BoundarySurfaceFace  face,
const SharedObject< BinnedArray< TrackingVolume >> &  insidevolarray 
)
staticprotectedinherited

protected method to set inside VolumeArray of a BoundarySurface: input:

  • ithe volume that holdes the BoundarySurface
  • the face type of the boundary to be set
  • the volume array to be set as inside volume array

◆ setOutsideVolume()

void Trk::TrackingVolumeManipulator::setOutsideVolume ( Trk::TrackingVolume tvol,
Trk::BoundarySurfaceFace  face,
Trk::TrackingVolume outsidevol 
)
staticprotectedinherited

protected method to set outside Volume of a BoundarySurface: input:

  • the volume that holdes the BoundarySurface
  • the face type of the boundary to be set
  • the volume to be set as outside volume

Definition at line 82 of file TrackingVolumeManipulator.cxx.

86 {
87  (tvol.m_boundarySurfaces)[face]->setOutsideVolume(outsidevol);
88 }

◆ setOutsideVolumeArray() [1/2]

void Trk::TrackingVolumeManipulator::setOutsideVolumeArray ( Trk::TrackingVolume tvol,
Trk::BoundarySurfaceFace  face,
BinnedArray< TrackingVolume > *  outsidevolarray 
)
staticprotectedinherited

protected method to set outside VolumeArray of a BoundarySurface: input:

  • the volume that holdes the BoundarySurface
  • the face type of the boundary to be set
  • the volume array to be set as outside volume array

Definition at line 91 of file TrackingVolumeManipulator.cxx.

95 {
96 
99 }

◆ setOutsideVolumeArray() [2/2]

static void Trk::TrackingVolumeManipulator::setOutsideVolumeArray ( TrackingVolume tvol,
BoundarySurfaceFace  face,
const SharedObject< BinnedArray< TrackingVolume >> &  outsidevolarray 
)
staticprotectedinherited

protected method to set outside VolumeArray of a BoundarySurface: input:

  • the volume that holdes the BoundarySurface
  • the face type of the boundary to be set
  • the volume array to be set as outside volume array

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

Member Data Documentation

◆ m_blendLimit

Gaudi::Property<double> Muon::MuonInertMaterialBuilderImpl::m_blendLimit
protected
Initial value:
{this, "BlendLimit",
1e+06}

Definition at line 107 of file MuonInertMaterialBuilderImpl.h.

◆ m_buildBT

Gaudi::Property<bool> Muon::MuonInertMaterialBuilderImpl::m_buildBT
protected
Initial value:
{this, "BuildBarrelToroids",
true}

Definition at line 94 of file MuonInertMaterialBuilderImpl.h.

◆ m_buildECT

Gaudi::Property<bool> Muon::MuonInertMaterialBuilderImpl::m_buildECT
protected
Initial value:
{this, "BuildEndcapToroids",
true}

Definition at line 96 of file MuonInertMaterialBuilderImpl.h.

◆ m_buildFeets

Gaudi::Property<bool> Muon::MuonInertMaterialBuilderImpl::m_buildFeets
protected
Initial value:
{this, "BuildFeets",
true}

Definition at line 98 of file MuonInertMaterialBuilderImpl.h.

◆ m_buildNSWInert

Gaudi::Property<bool> Muon::MuonInertMaterialBuilderImpl::m_buildNSWInert
protected
Initial value:
{this, "BuildNSWInert",
true}

Definition at line 105 of file MuonInertMaterialBuilderImpl.h.

◆ m_buildRails

Gaudi::Property<int> Muon::MuonInertMaterialBuilderImpl::m_buildRails {this, "BuildRails", 1}
protected

Definition at line 100 of file MuonInertMaterialBuilderImpl.h.

◆ m_buildShields

Gaudi::Property<bool> Muon::MuonInertMaterialBuilderImpl::m_buildShields
protected
Initial value:
{this, "BuildShields",
true}

Definition at line 101 of file MuonInertMaterialBuilderImpl.h.

◆ m_buildSupports

Gaudi::Property<bool> Muon::MuonInertMaterialBuilderImpl::m_buildSupports
protected
Initial value:
{this, "BuildSupports",
true}

Definition at line 103 of file MuonInertMaterialBuilderImpl.h.

◆ m_debugMode

Gaudi::Property<bool> Muon::MuonInertMaterialBuilderImpl::m_debugMode
protected
Initial value:
{
this, "DebugMode", false}

Definition at line 91 of file MuonInertMaterialBuilderImpl.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_geoShapeConverter

Trk::GeoShapeConverter Muon::MuonInertMaterialBuilderImpl::m_geoShapeConverter
protected

shape converter

Definition at line 109 of file MuonInertMaterialBuilderImpl.h.

◆ m_gmBrowser

Trk::GMTreeBrowser Muon::MuonInertMaterialBuilderImpl::m_gmBrowser
protected

gm tree helper

Definition at line 110 of file MuonInertMaterialBuilderImpl.h.

◆ m_simplify

Gaudi::Property<bool> Muon::MuonInertMaterialBuilderImpl::m_simplify
protected
Initial value:
{
this, "SimplifyGeometry",
false}

Definition at line 85 of file MuonInertMaterialBuilderImpl.h.

◆ m_simplifyToLayers

Gaudi::Property<bool> Muon::MuonInertMaterialBuilderImpl::m_simplifyToLayers
protected
Initial value:
{
this, "SimplifyGeometryToLayers",
false}

Definition at line 88 of file MuonInertMaterialBuilderImpl.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.

◆ m_volumeConverter

Trk::VolumeConverter Muon::MuonInertMaterialBuilderImpl::m_volumeConverter
protected

gm->trk volume helper

Definition at line 111 of file MuonInertMaterialBuilderImpl.h.


The documentation for this class was generated from the following files:
Trk::TrackingVolumeManipulator
Definition: TrackingVolumeManipulator.h:32
Muon::MuonInertMaterialBuilderImpl::m_buildBT
Gaudi::Property< bool > m_buildBT
Definition: MuonInertMaterialBuilderImpl.h:94
Muon::MuonInertMaterialBuilderImpl::m_buildFeets
Gaudi::Property< bool > m_buildFeets
Definition: MuonInertMaterialBuilderImpl.h:98
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
Muon::MuonInertMaterialBuilderImpl::m_buildECT
Gaudi::Property< bool > m_buildECT
Definition: MuonInertMaterialBuilderImpl.h:96
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
Muon::MuonInertMaterialBuilderImpl::m_buildRails
Gaudi::Property< int > m_buildRails
Definition: MuonInertMaterialBuilderImpl.h:100
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Muon::MuonInertMaterialBuilderImpl::m_simplify
Gaudi::Property< bool > m_simplify
Definition: MuonInertMaterialBuilderImpl.h:85
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
Muon::MuonInertMaterialBuilderImpl::m_buildShields
Gaudi::Property< bool > m_buildShields
Definition: MuonInertMaterialBuilderImpl.h:101
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
Trk::GMTreeBrowser::findNamePattern
bool findNamePattern(const GeoVPhysVol *gv, std::string_view name) const
search of matching name patterns
Definition: GMTreeBrowser.cxx:398
bound
@ bound
Definition: L1CaloPprPlotManager.h:74
Muon::MuonInertMaterialBuilderImpl::m_buildNSWInert
Gaudi::Property< bool > m_buildNSWInert
Definition: MuonInertMaterialBuilderImpl.h:105
Trk::TrackingVolumeManipulator::setOutsideVolume
static void setOutsideVolume(TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *outsidevol)
protected method to set outside Volume of a BoundarySurface: input:
Definition: TrackingVolumeManipulator.cxx:82
Muon::MuonInertMaterialBuilderImpl::buildDetachedTrackingVolumeTypes
DetachedVolumeVecWithTrfs buildDetachedTrackingVolumeTypes(const PVConstLink top, bool blend) const
Definition: MuonInertMaterialBuilderImpl.cxx:62
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
Trk::TrackingVolumeManipulator::setInsideVolumeArray
static void setInsideVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, BinnedArray< TrackingVolume > *insidevolarray)
protected method to set inside VolumeArray of a BoundarySurface: input:
Definition: TrackingVolumeManipulator.cxx:61
Muon::MuonInertMaterialBuilderImpl::m_gmBrowser
Trk::GMTreeBrowser m_gmBrowser
gm tree helper
Definition: MuonInertMaterialBuilderImpl.h:110
Trk::TrackingVolumeManipulator::setOutsideVolumeArray
static void setOutsideVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, BinnedArray< TrackingVolume > *outsidevolarray)
protected method to set outside VolumeArray of a BoundarySurface: input:
Definition: TrackingVolumeManipulator.cxx:91
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Muon::MuonInertMaterialBuilderImpl::DetachedVolumeVecWithTrfs
std::vector< std::pair< std::unique_ptr< Trk::DetachedTrackingVolume >, std::vector< Amg::Transform3D > >> DetachedVolumeVecWithTrfs
Method creating material object prototypes.
Definition: MuonInertMaterialBuilderImpl.h:71
Trk::GMTreeBrowser::compareGeoVolumes
int compareGeoVolumes(const GeoVPhysVol *gv1, const GeoVPhysVol *gv2, double tolerance, bool printFullInfo=false, int level=0) const
Recursive comparison of trees/branches/volumes : in quiet mode (printFullInfo=False) ,...
Definition: GMTreeBrowser.cxx:42
Muon::MuonInertMaterialBuilderImpl::getObjsForTranslation
void getObjsForTranslation(const GeoVPhysVol *pv, const Amg::Transform3D &, std::vector< std::pair< const GeoVPhysVol *, std::vector< Amg::Transform3D >>> &vols) const
Method extracting material objects from GeoModel tree.
Definition: MuonInertMaterialBuilderImpl.cxx:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
beamspotman.n
n
Definition: beamspotman.py:731
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Muon::MuonInertMaterialBuilderImpl::m_buildSupports
Gaudi::Property< bool > m_buildSupports
Definition: MuonInertMaterialBuilderImpl.h:103
checkFileSG.objs
list objs
Definition: checkFileSG.py:93
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
Muon::MuonInertMaterialBuilderImpl::DetachedVolVec
std::vector< std::unique_ptr< Trk::DetachedTrackingVolume > > DetachedVolVec
Definition: MuonInertMaterialBuilderImpl.h:58
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
Trk::GeoShapeConverter::decodeShape
void decodeShape(const GeoShape *) const
Decode and dump arbitrary GeoShape for visual inspection.
Definition: GeoShapeConverter.cxx:516
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
grepfile.ic
int ic
Definition: grepfile.py:33
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
Trk::CylinderVolumeBounds
Definition: CylinderVolumeBounds.h:70
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
Muon::MuonInertMaterialBuilderImpl::printInfo
void printInfo(const GeoVPhysVol *pv) const
Dump from GeoModel tree
Definition: MuonInertMaterialBuilderImpl.cxx:174
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Muon::MuonInertMaterialBuilderImpl::printChildren
void printChildren(const GeoVPhysVol *pv) const
Definition: MuonInertMaterialBuilderImpl.cxx:186
Muon::MuonInertMaterialBuilderImpl::m_volumeConverter
Trk::VolumeConverter m_volumeConverter
gm->trk volume helper
Definition: MuonInertMaterialBuilderImpl.h:111
Trk::TrackingVolumeManipulator::setInsideVolume
static void setInsideVolume(TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *insidevol)
protected method to set inside Volume of a BoundarySurface: input:
Definition: TrackingVolumeManipulator.cxx:52
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
Trk::SharedObject
std::shared_ptr< T > SharedObject
Definition: SharedObject.h:24
h
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Trk::TrackingVolumeManipulator::glueVolumes
void glueVolumes(TrackingVolume &firstVol, BoundarySurfaceFace firstFace, TrackingVolume &secondVol, BoundarySurfaceFace secondFace) const
protected method to glue two Volumes together input:
Definition: TrackingVolumeManipulator.cxx:17
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
Trk::Volume::volumeBounds
const VolumeBounds & volumeBounds() const
returns the volumeBounds()
Definition: Volume.h:97
Muon::MuonInertMaterialBuilderImpl::m_simplifyToLayers
Gaudi::Property< bool > m_simplifyToLayers
Definition: MuonInertMaterialBuilderImpl.h:88
python.changerun.pv
pv
Definition: changerun.py:81
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
Muon::MuonInertMaterialBuilderImpl::m_blendLimit
Gaudi::Property< double > m_blendLimit
Definition: MuonInertMaterialBuilderImpl.h:107
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
Trk::tubeOuterCover
@ tubeOuterCover
Definition: BoundarySurfaceFace.h:40
Trk::VolumeConverter::translate
std::unique_ptr< TrackingVolume > translate(const GeoVPhysVol *gv, bool simplify, bool blend, double blendMassLimit) const
translation of GeoVPhysVol to Trk::TrackingVolume
Definition: VolumeConverter.cxx:42
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
Trk::tubeInnerCover
@ tubeInnerCover
Definition: BoundarySurfaceFace.h:39
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
Trk::BinnedArray
Definition: BinnedArray.h:38
Trk::TrackingVolume::m_boundarySurfaces
std::vector< SharedObject< BoundarySurface< TrackingVolume > > > m_boundarySurfaces
Definition: TrackingVolume.h:454
python.PyAthena.obj
obj
Definition: PyAthena.py:135
Muon::MuonInertMaterialBuilderImpl::m_geoShapeConverter
Trk::GeoShapeConverter m_geoShapeConverter
shape converter
Definition: MuonInertMaterialBuilderImpl.h:109
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
plotBeamSpotMon.nc
int nc
Definition: plotBeamSpotMon.py:83
fitman.k
k
Definition: fitman.py:528