Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:17

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 DD4HEP_PROPERTYTABLE_H
0014 #define DD4HEP_PROPERTYTABLE_H
0015 
0016 // Framework include files
0017 #include <DD4hep/Handle.h>
0018 
0019 // ROOT include files
0020 #include <TGDMLMatrix.h>
0021 
0022 /// Namespace for the AIDA detector description toolkit
0023 namespace dd4hep {
0024 
0025   /// Class to support the handling of optical surfaces.
0026   /**
0027    *
0028    *   \author  M.Frank
0029    *   \version 1.0
0030    *   \ingroup DD4HEP_CORE
0031    */
0032   class PropertyTable : public Handle<TGDMLMatrix> {
0033   public:
0034     typedef TGDMLMatrix Object;
0035     
0036   public:
0037     /// Default constructor
0038     PropertyTable() = default;
0039     /// Copy constructor
0040     PropertyTable(const PropertyTable& e) = default;
0041     /// Constructor from same-type handle
0042     PropertyTable(const Handle<Object>& e) : Handle<Object>(e) {  }
0043     /// Constructor from arbitray handle
0044     template <typename Q>
0045     PropertyTable(const Handle<Q>& e) : Handle<Object>(e) { }
0046     /// Initializing constructor using object pointer
0047     PropertyTable(Object* obj) : Handle<Object>(obj) { }
0048     /// Initializing constructor.
0049     PropertyTable(Detector& description,
0050                   const std::string& table_name,
0051                   const std::string& property_name,
0052                   size_t             num_rows,
0053                   size_t             num_cols);
0054 
0055     /// Assignment operator
0056     PropertyTable& operator=(const PropertyTable& m) = default;
0057   };
0058 
0059 }      // End namespace dd4hep
0060 #endif // DD4HEP_PROPERTYTABLE_H