|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    5 #ifndef MUONCONDALG_MUONALIGNMENTCONDALG_H 
    6 #define MUONCONDALG_MUONALIGNMENTCONDALG_H 
   10 #include "CoralBase/Blob.h" 
   15 #include "GaudiKernel/ServiceHandle.h" 
   18 #include "nlohmann/json.hpp" 
   32     template <
class ContType>
 
   35                                   std::unique_ptr<ContType>&& container) 
const;
 
   58                                                                   "/MUONALIGN/MDT/BARREL",
 
   59                                                                   "/MUONALIGN/MDT/ENDCAP/SIDEA",
 
   60                                                                   "/MUONALIGN/MDT/ENDCAP/SIDEC",
 
   61                                                                   "/MUONALIGN/TGC/SIDEA",
 
   62                                                                   "/MUONALIGN/TGC/SIDEC",
 
   64                                                                   "Folder names where the alignment paramters are stored"};
 
   68                                                               "Key of output muon alignment ALine condition data"};
 
   70                                                               "Key of output muon alignment BLine condition data"};
 
   75     Gaudi::Property<bool> 
m_loadALines{
this, 
"LoadALines", 
true, 
"Setup whether Alines shall be written"};
 
   76     Gaudi::Property<bool> 
m_loadBLines{
this, 
"LoadBLines", 
true, 
"Setup whether BLines shall be written"};
 
   79                           "The database folders are given in the new JSON format"};
 
   82                                  "Reads the A & B lines parameters from a JSON file instead from COOL"};
 
  
char data[hepevt_bytes_allocation_ATLAS]
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
MuonAlignmentCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode execute(const EventContext &ctx) const override
virtual StatusCode initialize() override
An algorithm that can be simultaneously executed in multiple threads.
virtual bool isReEntrant() const override
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< bool > m_newFormat2020
std::set< ALinePar, std::less<> > ALineContainer
SG::WriteCondHandleKey< ALineContainer > m_writeALineKey
SG::WriteCondHandleKey< BLineContainer > m_writeBLineKey
Gaudi::Property< bool > m_loadBLines
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
StatusCode writeContainer(const EventContext &ctx, const SG::WriteCondHandleKey< ContType > &writeKey, std::unique_ptr< ContType > &&container) const
Attaches the dependencies of the Alignment keys onto the A & Bline container.
SG::ReadCondHandleKeyArray< CondAttrListCollection > m_alignKeys
StatusCode loadDataFromLegacy(const std::string &data, nlohmann::json &json, bool loadBLines) const
Load the Alignment data from the legacy format where the channels are parsed line wise The data is th...
Gaudi::Property< std::string > m_readFromJSON
Load the alignment parameters from a JSON file.
StatusCode parseDataFromJSON(const nlohmann::json &lines, ALineContainer &writeALineCdo, BLineContainer &writeBLineCdo) const
Parse the JSON blob to fill the A & B Line containers.
Gaudi::Property< bool > m_loadALines
std::set< BLinePar, std::less<> > BLineContainer
StatusCode loadCoolFolder(const EventContext &ctx, const SG::ReadCondHandleKey< CondAttrListCollection > &key, ALineContainer &writeALineCdo, BLineContainer &writeBLineCdo) const
Retrieves the alignment parameters from a COOL folder.
virtual ~MuonAlignmentCondAlg()=default