DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
NoSegmentation.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 Markus Frank
11 // \date 2016-10-18
12 // \version 1.0
13 //
14 //==========================================================================
15 #ifndef DD4HEP_NOSEGMENTATION_H
16 #define DD4HEP_NOSEGMENTATION_H 1
17 
18 // Framework include files
19 #include <DD4hep/Segmentations.h>
20 
22 namespace dd4hep {
23 
25  namespace DDSegmentation { class NoSegmentation; }
26 
29 
31 
38  public:
39  NoSegmentation() = default;
40  NoSegmentation(const NoSegmentation& e) = default;
43  template <typename Q>
44  NoSegmentation(const Handle<Q>& e) : Handle<Object>(e) { }
45  NoSegmentation& operator=(const NoSegmentation& seg) = default;
46  bool operator==(const NoSegmentation& seg) const {
47  return m_element == seg.m_element;
48  }
49 
50  Position position(const CellID& cellID) const;
51  CellID cellID(const Position& local, const Position& global, const VolumeID& volID) const;
52  };
53 } /* End namespace dd4hep */
54 #endif // DD4HEP_NOSEGMENTATION_H
Segmentations.h
dd4hep::Handle::Object
T Object
Extern accessible definition of the contained element type.
Definition: Handle.h:88
dd4hep::NoSegmentation::NoSegmentation
NoSegmentation(const Handle< Q > &e)
Definition: NoSegmentation.h:44
dd4hep::NoSegmentation
Implementation class for the grid XY segmentation.
Definition: NoSegmentation.h:37
dd4hep::Handle
Handle: a templated class like a shared pointer, which allows specialized access to tgeometry objects...
Definition: Handle.h:84
dd4hep::NoSegmentationHandle
Handle< SegmentationWrapper< DDSegmentation::NoSegmentation > > NoSegmentationHandle
We need some abbreviation to make the code more readable.
Definition: NoSegmentation.h:28
dd4hep::NoSegmentation::cellID
CellID cellID(const Position &local, const Position &global, const VolumeID &volID) const
determine the cell ID based on the position
Definition: NoSegmentation.cpp:25
dd4hep::NoSegmentation::operator=
NoSegmentation & operator=(const NoSegmentation &seg)=default
dd4hep::Handle::m_element
T * m_element
Single and only data member: Reference to the actual element.
Definition: Handle.h:93
dd4hep::NoSegmentation::NoSegmentation
NoSegmentation(const Handle< Object > &e)
Definition: NoSegmentation.h:42
dd4hep::NoSegmentation::NoSegmentation
NoSegmentation(const Segmentation &e)
Definition: NoSegmentation.h:41
dd4hep::NoSegmentation::operator==
bool operator==(const NoSegmentation &seg) const
Definition: NoSegmentation.h:46
dd4hep::Position
ROOT::Math::XYZVector Position
Definition: Objects.h:81
VolumeID
dd4hep::DDSegmentation::VolumeID VolumeID
Definition: SegmentationDictionary.h:49
dd4hep::NoSegmentation::NoSegmentation
NoSegmentation(const NoSegmentation &e)=default
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
dd4hep::Segmentation
Handle class supporting generic Segmentations of sensitive detectors.
Definition: Segmentations.h:41
dd4hep::NoSegmentation::position
Position position(const CellID &cellID) const
Definition: NoSegmentation.cpp:20
dd4hep::NoSegmentation::NoSegmentation
NoSegmentation()=default
CellID
dd4hep::DDSegmentation::CellID CellID
Definition: SegmentationDictionary.h:50