![]() |
ATLAS Offline Software
|
#include <ReadoutGeomCnvAlg.h>
Classes | |
| struct | ConstructionCache |
Public Member Functions | |
| ~ReadoutGeomCnvAlg ()=default | |
| StatusCode | execute (const EventContext &ctx) const override |
| StatusCode | initialize () override |
| virtual bool | isReEntrant () const override |
| Avoid scheduling algorithm multiple times. | |
| virtual StatusCode | sysInitialize () override |
| Override sysInitialize. | |
| virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. | |
| virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. | |
| virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. | |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. | |
| 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. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| StatusCode | buildStation (const ActsTrk::GeometryContext &gctx, const Identifier &stationId, ConstructionCache &cacheObj) const |
| builds a station object from readout element. | |
| StatusCode | cloneReadoutVolume (const ActsTrk::GeometryContext &gctx, const Identifier &stationId, ConstructionCache &cacheObj, GeoIntrusivePtr< GeoVFullPhysVol > &clonedPhysVol, MuonGM::MuonStation *&station) const |
| Clones the fullPhysical volume of the readoutElement and embeds it into the associated station. | |
| GeoIntrusivePtr< GeoVFullPhysVol > | cloneNswWedge (const ActsTrk::GeometryContext &gctx, const MuonGMR4::MuonReadoutElement *nswRE, ConstructionCache &cacheObj) const |
| Clones the fullPhysicalVolume of the. | |
| StatusCode | buildMdt (const ActsTrk::GeometryContext &gctx, ConstructionCache &cacheObj) const |
| StatusCode | buildRpc (const ActsTrk::GeometryContext &gctx, ConstructionCache &cacheObj) const |
| StatusCode | buildSTGC (const ActsTrk::GeometryContext &gctx, ConstructionCache &cacheObj) const |
| StatusCode | buildMM (const ActsTrk::GeometryContext &gctx, ConstructionCache &cacheObj) const |
| StatusCode | buildTgc (const ActsTrk::GeometryContext &gctx, ConstructionCache &cacheObj) const |
| StatusCode | dumpAndCompare (const ActsTrk::GeometryContext &gctx, const MuonGMR4::RpcReadoutElement &refEle, const MuonGM::RpcReadoutElement &testEle) const |
| StatusCode | dumpAndCompare (const ActsTrk::GeometryContext &gctx, const MuonGMR4::MdtReadoutElement &refEle, const MuonGM::MdtReadoutElement &testEle) const |
| StatusCode | dumpAndCompare (const ActsTrk::GeometryContext &gctx, const MuonGMR4::MmReadoutElement &refEle, const MuonGM::MMReadoutElement &testEle) const |
| StatusCode | dumpAndCompare (const ActsTrk::GeometryContext &gctx, const MuonGMR4::TgcReadoutElement &refEle, const MuonGM::TgcReadoutElement &testEle) const |
| StatusCode | dumpAndCompare (const ActsTrk::GeometryContext &gctx, const MuonGMR4::sTgcReadoutElement &refEle, const MuonGM::sTgcReadoutElement &testEle) const |
| StatusCode | checkIdCompability (const MuonGMR4::MuonReadoutElement &refEle, const MuonGM::MuonReadoutElement &testEle) const |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"} |
| SG::WriteCondHandleKey< MuonGM::MuonDetectorManager > | m_writeKey {this, "WriteKey", "MuonDetectorManager"} |
| SG::ReadCondHandleKeyArray< ActsTrk::DetectorAlignStore > | m_alignStoreKeys {this, "AlignmentKeys", {}, "Alignment key"} |
| Gaudi::Property< bool > | m_checkGeo {this, "checkGeo", false, "Checks the positions of the sensors"} |
| Gaudi::Property< bool > | m_dumpGeo {this, "dumpGeo", false, "Dumps the constructed geometry"} |
| Gaudi::Property< std::string > | m_geoDumpName {this,"geoDumpName", "ConvMuonGeoModel.db",} |
| const MuonGMR4::MuonDetectorManager * | m_detMgr {nullptr} |
| DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. | |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Definition at line 32 of file ReadoutGeomCnvAlg.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
default |
|
private |
Access the B-Line and As-built parameters
Build the mother station
1 cm is added as safety margin to the Mdt multilayer envelope
Need to check how to obtain this parameter from the new geometry newElement->m_cutoutShift;
Determine the tube length's
Define the tube staggering
Add the readout element to the detector manager
Definition at line 686 of file ReadoutGeomCnvAlg.cxx.
|
private |
Loop over the gas gaps & efine the
Definition at line 515 of file ReadoutGeomCnvAlg.cxx.
|
private |
Define the dimensions
Hack to assign the proper strip positions for REs having doubletPhi =2 in their Identifier
Resignment in face of the rpc readout geometry. Overwrite all the parameters
Definition at line 306 of file ReadoutGeomCnvAlg.cxx.
|
private |
builds a station object from readout element.
The parent PhysVol of the readoutElement is interpreted as embedding station volume and all children which are not fullPhysical volumes are attached to the copied clone.
Fetch the readout element to get its parent volume
Retrieve the full phyiscal volume
There is one alignable node in front of the
Check whether the alignable node is displaced from the station
Copy the full physical volume of the muon station
Make sure to copy all the children from the original tree that're not FullPhysVols -> represent They represent the passive material inside the station and are needed for the TrackinGeometry building
Skip the full physical volumes as they represent the readout elements
To create the muon station, we need to extract the dimensions --> Recieve the edge points from the shapes
Fetch the transform of the detector element which is AlignableNode x Station x [relative pos in station]
S / R / Z size
S / R / Z size (long)
Add the physical volume to the world
Definition at line 152 of file ReadoutGeomCnvAlg.cxx.
|
private |
Initialize the eta design
Initialize the phi design
To circumvent the yCutout calculations in padCorner function in MuonPadDesign
Definition at line 571 of file ReadoutGeomCnvAlg.cxx.
|
private |
Define the local gasGap positions
In the sector frame, the gasGap is oriented along the x-axis
Definition at line 399 of file ReadoutGeomCnvAlg.cxx.
|
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.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
|
private |
Definition at line 798 of file ReadoutGeomCnvAlg.cxx.
|
private |
Clones the fullPhysicalVolume of the.
Definition at line 502 of file ReadoutGeomCnvAlg.cxx.
|
private |
Clones the fullPhysical volume of the readoutElement and embeds it into the associated station.
If creations of the needed station fails, failure is returned. The references to the clonedPhysVol & to the station are set if the procedure was successful.
This is a hack to include the BIL Rpcs into the translation. Recall that the BI-RPCs break the station paradigm Hence, in the new description they have their own alignable transform. However, the legacy geometry tries to sort them into the corresponding Mdt station with the same stName, stEta, stPhi. So quite a lot of gymnastics is now needed to place them accordingly into that frame. getX(Mdt) * delta(Mdt) * X = getX(Rpc) * delta(Rpc) X = [getX(Mdt) * delta(Mdt)]^{-1} * getX(Rpc) * delta(Rpc) The second term is the transform of the transform of the Muon station. The second one needs to be rewritten Y = getX(Rpc) * delta(Rpc) * getX(alignNode -> readoutFrame) X = Y * getX(alignNode -> readoutFrame)^{-1}
Clone the detector element with all of its subvolumes
Definition at line 266 of file ReadoutGeomCnvAlg.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
private |
Definition at line 863 of file ReadoutGeomCnvAlg.cxx.
|
private |
Definition at line 815 of file ReadoutGeomCnvAlg.cxx.
|
private |
Definition at line 920 of file ReadoutGeomCnvAlg.cxx.
|
private |
wireGroup center is defined to be half a wire pitch off in R4 compared to R3 convention
Definition at line 1058 of file ReadoutGeomCnvAlg.cxx.
|
private |
Definition at line 981 of file ReadoutGeomCnvAlg.cxx.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
override |
Prepare the Geometry context
Ensure that the position & tracking alignment caches are split from the conditions object
Check that for every detector technology there's an DetectorAlignStore in the geometry context Otherwise create an empty one.
Create the cache and populate it with the geoWolds
Build the chamber technologies
Finally add the passives
Move the passives also onto the new world tree...
Final check that all elements are cached properly
Definition at line 80 of file ReadoutGeomCnvAlg.cxx.
|
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
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
|
inlinevirtualinherited |
Definition at line 96 of file AthCommonReentrantAlgorithm.h.
|
override |
Definition at line 71 of file ReadoutGeomCnvAlg.cxx.
|
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.
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ITkPixelCablingAlg, ITkStripCablingAlg, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, and Simulation::BeamEffectsAlg.
Definition at line 68 of file AthCommonReentrantAlgorithm.cxx.
|
inlineoverridevirtualinherited |
Avoid scheduling algorithm multiple times.
With multiple concurrent events, conditions objects often expire simultaneously for all slots. To avoid that the scheduler runs the CondAlg in each slot, we declare it as "non-reentrant". This ensures that the conditions objects are only created once.
In case a particular CondAlg should behave differently, it can override this method again and return true.
Definition at line 39 of file AthCondAlgorithm.h.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
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.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
inlinevirtualinherited |
Definition at line 100 of file AthCommonReentrantAlgorithm.h.
|
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 85 of file AthCommonReentrantAlgorithm.cxx.
|
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 HypoBase, and InputMakerBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 123 of file ReadoutGeomCnvAlg.h.
|
private |
Definition at line 125 of file ReadoutGeomCnvAlg.h.
|
private |
Definition at line 128 of file ReadoutGeomCnvAlg.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 126 of file ReadoutGeomCnvAlg.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
|
private |
Definition at line 127 of file ReadoutGeomCnvAlg.h.
|
private |
Definition at line 119 of file ReadoutGeomCnvAlg.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
private |
Definition at line 121 of file ReadoutGeomCnvAlg.h.