Belle II Software  release-05-02-19
AlignmentChecker.h
Go to the documentation of this file.
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/dbobjects/eklm/EKLMAlignment.h>
15 #include <klm/dbobjects/eklm/EKLMSegmentAlignment.h>
16 #include <klm/eklm/geometry/Arc2D.h>
17 #include <klm/eklm/geometry/GeometryData.h>
18 #include <klm/eklm/geometry/LineSegment2D.h>
19 #include <klm/eklm/geometry/Polygon2D.h>
20 
26 namespace Belle2 {
32  namespace EKLM {
33 
39 
40  public:
41 
46  explicit AlignmentChecker(bool printOverlaps);
47 
51  AlignmentChecker(const AlignmentChecker&) = delete;
52 
57 
62 
71  bool checkSectorAlignment(int section, int layer, int sector,
72  const KLMAlignmentData* sectorAlignment) const;
73 
87  bool checkSegmentAlignment(int section, int layer, int sector, int plane,
88  int segment,
89  const KLMAlignmentData* sectorAlignment,
90  const KLMAlignmentData* segmentAlignment,
91  bool calledFromSectorCheck) const;
92 
99  bool checkAlignment(const EKLMAlignment* alignment,
100  const EKLMSegmentAlignment* segmentAlignment) const;
101 
102  private:
103 
106 
109 
112 
115 
118 
121 
124 
127 
130 
131  };
132 
133  }
134 
136 }
Belle2::EKLM::AlignmentChecker::operator=
AlignmentChecker & operator=(const AlignmentChecker &)=delete
Operator = (disabled).
Belle2::EKLMElementNumbers
EKLM element numbers.
Definition: EKLMElementNumbers.h:34
Belle2::EKLM::AlignmentChecker::checkSegmentAlignment
bool checkSegmentAlignment(int section, int layer, int sector, int plane, int segment, const KLMAlignmentData *sectorAlignment, const KLMAlignmentData *segmentAlignment, bool calledFromSectorCheck) const
Check segment alignment.
Definition: AlignmentChecker.cc:197
Belle2::EKLM::Arc2D
2D arc.
Definition: Arc2D.h:35
Belle2::EKLM::AlignmentChecker::AlignmentChecker
AlignmentChecker(bool printOverlaps)
Constructor.
Definition: AlignmentChecker.cc:24
Belle2::EKLMAlignment
Class to store EKLM alignment data in the database.
Definition: EKLMAlignment.h:40
Belle2::EKLM::AlignmentChecker::checkSectorAlignment
bool checkSectorAlignment(int section, int layer, int sector, const KLMAlignmentData *sectorAlignment) const
Check sector alignment.
Definition: AlignmentChecker.cc:84
Belle2::EKLM::AlignmentChecker
Class for EKLM alignment checking.
Definition: AlignmentChecker.h:38
Belle2::EKLM::AlignmentChecker::m_SegmentSupport
Polygon2D *** m_SegmentSupport
Segment support.
Definition: AlignmentChecker.h:129
Belle2::EKLM::AlignmentChecker::m_ArcOuter
Arc2D * m_ArcOuter
Sector support edge: outer arc.
Definition: AlignmentChecker.h:117
Belle2::EKLM::AlignmentChecker::m_LineCorner1
LineSegment2D * m_LineCorner1
Sector support edge: corner 1 line.
Definition: AlignmentChecker.h:114
Belle2::EKLM::LineSegment2D
2D line segment.
Definition: LineSegment2D.h:38
Belle2::EKLM::AlignmentChecker::m_Line41
LineSegment2D * m_Line41
Sector support edge: line between corners 4 and 1.
Definition: AlignmentChecker.h:126
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::EKLM::AlignmentChecker::m_ArcInner
Arc2D * m_ArcInner
Sector support edge: inner arc.
Definition: AlignmentChecker.h:123
Belle2::EKLM::AlignmentChecker::m_ElementNumbers
const EKLMElementNumbers * m_ElementNumbers
Element numbers.
Definition: AlignmentChecker.h:111
Belle2::EKLM::GeometryData
EKLM geometry data.
Definition: GeometryData.h:40
Belle2::EKLMSegmentAlignment
Class to store EKLM alignment data in the database.
Definition: EKLMSegmentAlignment.h:40
Belle2::EKLM::AlignmentChecker::~AlignmentChecker
~AlignmentChecker()
Destructor.
Definition: AlignmentChecker.cc:64
Belle2::EKLM::AlignmentChecker::m_PrintOverlaps
bool m_PrintOverlaps
Print information about overlaps or not.
Definition: AlignmentChecker.h:105
Belle2::EKLM::AlignmentChecker::m_Line23
LineSegment2D * m_Line23
Sector support edge: line between corners 2 and 3.
Definition: AlignmentChecker.h:120
Belle2::EKLM::AlignmentChecker::checkAlignment
bool checkAlignment(const EKLMAlignment *alignment, const EKLMSegmentAlignment *segmentAlignment) const
Check alignment.
Definition: AlignmentChecker.cc:310
Belle2::EKLM::AlignmentChecker::m_GeoDat
const GeometryData * m_GeoDat
Geometry data.
Definition: AlignmentChecker.h:108
Belle2::KLMAlignmentData
KLM Alignment data.
Definition: KLMAlignmentData.h:33
Belle2::EKLM::Polygon2D
2D polygon.
Definition: Polygon2D.h:39