Belle II Software development
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
24namespace 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 & operator=(const AlignmentChecker &)=delete
Operator = (disabled).
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.
Polygon2D *** m_SegmentSupport
Segment support.
LineSegment2D * m_LineCorner1
Sector support edge: corner 1 line.
Arc2D * m_ArcInner
Sector support edge: inner arc.
const GeometryData * m_GeoDat
Geometry data.
EKLM geometry data.
Definition: GeometryData.h:38
KLM Alignment data.
Abstract base class for different kinds of events.