DD4hep  1.37.0
Detector Description Toolkit for High Energy Physics
PropertyTable.h
Go to the documentation of this file.
1 //==========================================================================
2 // AIDA Detector description implementation
3 //--------------------------------------------------------------------------
4 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
5 // All rights reserved.
6 //
7 // For the licensing terms see $DD4hepINSTALL/LICENSE.
8 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
9 //
10 // Author : M.Frank
11 //
12 //==========================================================================
13 #ifndef DD4HEP_PROPERTYTABLE_H
14 #define DD4HEP_PROPERTYTABLE_H
15 
16 // Framework include files
17 #include <DD4hep/Handle.h>
18 
19 // ROOT include files
20 #include <TGDMLMatrix.h>
21 
23 namespace dd4hep {
24 
26 
32  class PropertyTable : public Handle<TGDMLMatrix> {
33  public:
34  typedef TGDMLMatrix Object;
35 
36  public:
38  PropertyTable() = default;
40  PropertyTable(const PropertyTable& e) = default;
44  template <typename Q>
45  PropertyTable(const Handle<Q>& e) : Handle<Object>(e) { }
47  PropertyTable(Object* obj) : Handle<Object>(obj) { }
49  PropertyTable(Detector& description,
50  const std::string& table_name,
51  const std::string& property_name,
52  size_t num_rows,
53  size_t num_cols);
54 
56  PropertyTable& operator=(const PropertyTable& e) = default;
60  PropertyTable& operator=(Object* matrix);
62  const char* title() const;
64  std::size_t numRows() const;
66  std::size_t numColumns() const;
67  };
68 } // End namespace dd4hep
69 #endif // DD4HEP_PROPERTYTABLE_H
dd4hep::PropertyTable::Object
TGDMLMatrix Object
Definition: PropertyTable.h:34
dd4hep::PropertyTable::numRows
std::size_t numRows() const
Number of rows in the property table.
Definition: PropertyTable.cpp:52
dd4hep::PropertyTable::PropertyTable
PropertyTable(Object *obj)
Initializing constructor using object pointer.
Definition: PropertyTable.h:47
dd4hep::PropertyTable
Class to support the handling of optical surfaces.
Definition: PropertyTable.h:32
dd4hep::PropertyTable::numColumns
std::size_t numColumns() const
Number of colums in the property table.
Definition: PropertyTable.cpp:57
Handle.h
dd4hep::Handle
Handle: a templated class like a shared pointer, which allows specialized access to tgeometry objects...
Definition: Handle.h:82
dd4hep::PropertyTable::PropertyTable
PropertyTable()=default
Default constructor.
dd4hep::PropertyTable::title
const char * title() const
Access property title.
Definition: PropertyTable.cpp:47
dd4hep::PropertyTable::operator=
PropertyTable & operator=(PropertyTable &&e)=default
Assignment from object copy.
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
dd4hep::Detector
The main interface to the dd4hep detector description package.
Definition: Detector.h:89
dd4hep::PropertyTable::PropertyTable
PropertyTable(const PropertyTable &e)=default
Copy constructor.
dd4hep::PropertyTable::operator=
PropertyTable & operator=(const PropertyTable &e)=default
Assignment from object copy.
dd4hep::PropertyTable::PropertyTable
PropertyTable(const Handle< Object > &e)
Constructor from same-type handle.
Definition: PropertyTable.h:42
dd4hep::PropertyTable::PropertyTable
PropertyTable(const Handle< Q > &e)
Constructor from arbitray handle.
Definition: PropertyTable.h:45