![]() |
|
|||
File indexing completed on 2025-02-22 10:32:42
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 // 0014 // NOTE: 0015 // 0016 // This is an internal include file. It should only be included to 0017 // instantiate code. Otherwise the Alignments include file should be 0018 // sufficient for all practical purposes. 0019 // 0020 //========================================================================== 0021 #ifndef DD4HEP_DETAIL_ALIGNMENTSINTERNA_H 0022 #define DD4HEP_DETAIL_ALIGNMENTSINTERNA_H 0023 0024 // Framework include files 0025 #include <DD4hep/IOV.h> 0026 #include <DD4hep/Alignments.h> 0027 #include <DD4hep/detail/ConditionsInterna.h> 0028 0029 // C/C++ include files 0030 #include <map> 0031 0032 /// Namespace for the AIDA detector description toolkit 0033 namespace dd4hep { 0034 0035 // Forward declarations 0036 class Alignment; 0037 0038 /// Alignments internal namespace declaration 0039 /** Internaly defined datastructures are not presented to the 0040 * user directly, but are used by dedicated views. 0041 * 0042 * \author M.Frank 0043 * \version 1.0 0044 * \ingroup DD4HEP_ALIGNMENTS 0045 */ 0046 namespace detail { 0047 0048 /// The data class behind an alignments handle. 0049 /** 0050 * See AlignmentsInterna.cpp for the implementation. 0051 * 0052 * \author M.Frank 0053 * \version 1.0 0054 * \ingroup DD4HEP_ALIGNMENTS 0055 */ 0056 class AlignmentObject : public detail::ConditionObject { 0057 public: 0058 /// Cached pointer to the bound conditions data, since these may be accessed very frequently 0059 AlignmentData* alignment_data = 0; //! This variable is internally bound and not ROOT persistent! 0060 0061 public: 0062 /// Default constructor. Alignment data wuill be bound to the heap. 0063 AlignmentObject(); 0064 /// Copy constructor 0065 AlignmentObject(const AlignmentObject& copy) = delete; 0066 /// Standard constructor with user provided payload pointer to bind alignment data 0067 AlignmentObject(const std::string& nam, const std::string& tit, void* payload, size_t len); 0068 /// Standard Destructor 0069 virtual ~AlignmentObject(); 0070 /// Assignment operator 0071 AlignmentObject& operator=(const AlignmentObject& copy) = delete; 0072 /// Clear data 0073 void clear(); 0074 /// Accessor to the alignment data. Cannot be NULL. Initialized in the constructor(s) 0075 AlignmentData& values() { return *alignment_data; } 0076 }; 0077 } /* End namespace detail */ 0078 } /* End namespace dd4hep */ 0079 #endif // DD4HEP_DETAIL_ALIGNMENTSINTERNA_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |