Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-15 09:35:19

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights For.
0006 //
0007 // reserved 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_CONDITIONSTEXTREPOSITORY_H
0014 #define DDCOND_CONDITIONSTEXTREPOSITORY_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     /// Forward declarations
0032 
0033 
0034     /// Base class to be implemented by objects to listen on condition callbacks
0035     /**
0036      *  \author  M.Frank
0037      *  \version 1.0
0038      *  \ingroup DD4HEP_CONDITIONS
0039      */
0040     class ConditionsTextRepository  {
0041     public:
0042       /// Definition of a single Entry in the conditions repository
0043       /**
0044        *  \author  M.Frank
0045        *  \version 1.0
0046        *  \ingroup DD4HEP_CONDITIONS
0047        */
0048       class Entry  {
0049       public:
0050         std::string name, address;
0051         Condition::key_type key = 0;
0052         Entry() = default;
0053         Entry(const Entry& copy) = default;
0054         ~Entry() = default;
0055         Entry& operator=(const Entry& copy) = default;
0056       };
0057 
0058       /// Definition of the entry collection
0059       typedef std::vector<Entry> Data;
0060 
0061     public:
0062       /// Default constructor
0063       ConditionsTextRepository();
0064       /// Default destructor
0065       virtual ~ConditionsTextRepository();
0066       /// Save the textrepository to file
0067       int save(ConditionsManager m, const std::string& output)  const;
0068       /// Load the textrepository from file and fill user passed data structory
0069       int load(const std::string& input, Data& data)  const;
0070     };
0071 
0072   } /* End namespace detail               */
0073 } /* End namespace dd4hep                   */
0074 
0075 #endif // DDCOND_CONDITIONSTEXTREPOSITORY_H