Belle II Software  release-08-01-10
AlignmentChecker.h
Go to the documentation of this file.
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 /* KLM headers. */
12 #include <klm/dbobjects/eklm/EKLMAlignment.h>
13 #include <klm/dbobjects/eklm/EKLMSegmentAlignment.h>
14 #include <klm/eklm/geometry/Arc2D.h>
15 #include <klm/eklm/geometry/GeometryData.h>
16 #include <klm/eklm/geometry/LineSegment2D.h>
17 #include <klm/eklm/geometry/Polygon2D.h>
18 
24 namespace Belle2 {
30  namespace EKLM {
31 
37 
38  public:
39 
44  explicit AlignmentChecker(bool printOverlaps);
45 
50 
55 
60 
69  bool checkSectorAlignment(int section, int layer, int sector,
70  const KLMAlignmentData* sectorAlignment) const;
71 
85  bool checkSegmentAlignment(int section, int layer, int sector, int plane,
86  int segment,
87  const KLMAlignmentData* sectorAlignment,
88  const KLMAlignmentData* segmentAlignment,
89  bool calledFromSectorCheck) const;
90 
97  bool checkAlignment(const EKLMAlignment* alignment,
98  const EKLMSegmentAlignment* segmentAlignment) const;
99 
100  private:
101 
104 
107 
110 
113 
116 
119 
122 
125 
128 
129  };
130 
131  }
132 
134 }
Class to store EKLM alignment data in the database.
Definition: EKLMAlignment.h:30
EKLM element numbers.
Class to store EKLM alignment data in the database.
Class for EKLM alignment checking.
bool m_PrintOverlaps
Print information about overlaps or not.
bool checkAlignment(const EKLMAlignment *alignment, const EKLMSegmentAlignment *segmentAlignment) const
Check alignment.
LineSegment2D * m_Line23
Sector support edge: line between corners 2 and 3.
bool checkSectorAlignment(int section, int layer, int sector, const KLMAlignmentData *sectorAlignment) const
Check sector alignment.
AlignmentChecker(const AlignmentChecker &)=delete
Copy constructor (disabled).
Arc2D * m_ArcOuter
Sector support edge: outer arc.
bool checkSegmentAlignment(int section, int layer, int sector, int plane, int segment, const KLMAlignmentData *sectorAlignment, const KLMAlignmentData *segmentAlignment, bool calledFromSectorCheck) const
Check segment alignment.
LineSegment2D * m_Line41
Sector support edge: line between corners 4 and 1.
const EKLMElementNumbers * m_ElementNumbers
Element numbers.
AlignmentChecker(bool printOverlaps)
Constructor.
Polygon2D *** m_SegmentSupport
Segment support.
LineSegment2D * m_LineCorner1
Sector support edge: corner 1 line.
Arc2D * m_ArcInner
Sector support edge: inner arc.
AlignmentChecker & operator=(const AlignmentChecker &)=delete
Operator = (disabled).
const GeometryData * m_GeoDat
Geometry data.
EKLM geometry data.
Definition: GeometryData.h:38
KLM Alignment data.
Abstract base class for different kinds of events.