Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-28 09:27:09

0001 /// \file ROOT/RNTupleWriteOptionsDaos.hxx
0002 /// \ingroup NTuple
0003 /// \author Jakob Blomer <jblomer@cern.ch>
0004 /// \date 2024-02-22
0005 /// \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback
0006 /// is welcome!
0007 
0008 /*************************************************************************
0009  * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers.               *
0010  * All rights reserved.                                                  *
0011  *                                                                       *
0012  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0013  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0014  *************************************************************************/
0015 
0016 #ifndef ROOT_RNTupleWriteOptionsDaos
0017 #define ROOT_RNTupleWriteOptionsDaos
0018 
0019 #include <ROOT/RNTupleWriteOptions.hxx>
0020 
0021 #include <cstdint>
0022 #include <memory>
0023 #include <string>
0024 #include <utility>
0025 
0026 namespace ROOT {
0027 namespace Experimental {
0028 
0029 // clang-format off
0030 /**
0031 \class ROOT::Experimental::RNTupleWriteOptionsDaos
0032 \ingroup NTuple
0033 \brief DAOS-specific user-tunable settings for storing ntuples
0034 */
0035 // clang-format on
0036 class RNTupleWriteOptionsDaos : public ROOT::RNTupleWriteOptions {
0037    std::string fObjectClass{"SX"};
0038 
0039 public:
0040    ~RNTupleWriteOptionsDaos() override = default;
0041    std::unique_ptr<RNTupleWriteOptions> Clone() const override
0042    {
0043       return std::make_unique<RNTupleWriteOptionsDaos>(*this);
0044    }
0045 
0046    const std::string &GetObjectClass() const { return fObjectClass; }
0047    /// Set the object class used to generate OIDs that relate to user data. Any
0048    /// `OC_xxx` constant defined in `daos_obj_class.h` may be used here without
0049    /// the OC_ prefix.
0050    void SetObjectClass(const std::string &val) { fObjectClass = val; }
0051 };
0052 
0053 } // namespace Experimental
0054 } // namespace ROOT
0055 
0056 #endif // ROOT_RNTupleWriteOptionsDaos