Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 09:58:05

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : M.Frank
0011 //
0012 //==========================================================================
0013 #ifndef DDCOND_CONDITIONSREPOSITORY_H
0014 #define DDCOND_CONDITIONSREPOSITORY_H
0015 
0016 // Framework include files
0017 #include "DDCond/ConditionsManager.h"
0018 
0019 // C/C++ include files
0020 
0021 /// Namespace for the AIDA detector description toolkit
0022 namespace dd4hep {
0023 
0024   /// Forward declarations
0025   class IOV;
0026   class IOVType;
0027 
0028   /// Namespace for implementation details of the AIDA detector description toolkit
0029   namespace cond {
0030 
0031     /// Base class to be implemented by objects to listen on condition callbacks
0032     /**
0033      *
0034      *  \author  M.Frank
0035      *  \version 1.0
0036      *  \ingroup DD4HEP_CONDITIONS
0037      */
0038     class ConditionsRepository  {
0039     public:
0040       /// Definition of a single Entry in the conditions repository
0041       /**
0042        *  \author  M.Frank
0043        *  \version 1.0
0044        *  \ingroup DD4HEP_CONDITIONS
0045        */
0046       class Entry  {
0047       public:
0048         std::string name, address;
0049         Condition::key_type key = 0;
0050         Entry() = default;
0051         Entry(const Entry& e) = default;
0052         Entry& operator=(const Entry& e) = default;
0053       };
0054 
0055       /// Definition of the entry collection
0056       typedef std::vector<Entry> Data;
0057 
0058     public:
0059       /// Default constructor
0060       ConditionsRepository();
0061       /// Default destructor
0062       virtual ~ConditionsRepository();
0063       /// Save the repository to file
0064       int save(ConditionsManager m, const std::string& output)  const;
0065       /// Load the repository from file and fill user passed data structory
0066       int load(const std::string& input, Data& data)  const;
0067     };
0068 
0069   } /* End namespace cond             */
0070 } /* End namespace dd4hep                   */
0071 
0072 #endif // DDCOND_CONDITIONSREPOSITORY_H