Belle II Software development
EKLMSegmentAlignment.h
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/* Basf2 headers. */
12#include <klm/dataobjects/KLMElementNumberDefinitions.h>
13#include <klm/dbobjects/KLMAlignmentData.h>
14
15/* ROOT headers. */
16#include <TObject.h>
17
18/* C++ headers. */
19#include <map>
20
21namespace Belle2 {
30 class EKLMSegmentAlignment : public TObject {
31
32 public:
33
38
43
50
56
57 /* Interface to global Millepede calibration. */
58
63 static unsigned short getGlobalUniqueID()
64 {
65 return 41;
66 }
67
74 double getGlobalParam(unsigned short element, unsigned short param) const;
75
82 void setGlobalParam(double value, unsigned short element,
83 unsigned short param);
84
88 std::vector<std::pair<unsigned short, unsigned short>> listGlobalParams();
89
90 private:
91
93 std::map<EKLMSegmentNumber, KLMAlignmentData> m_SegmentAlignment;
94
97
98 };
99
101}
Class to store EKLM alignment data in the database.
std::vector< std::pair< unsigned short, unsigned short > > listGlobalParams()
Get a list of stored global parameters.
static unsigned short getGlobalUniqueID()
Get global unique identifier.
double getGlobalParam(unsigned short element, unsigned short param) const
Get global parameter.
const KLMAlignmentData * getSegmentAlignment(EKLMSegmentNumber segment) const
Get segment alignment data.
void setSegmentAlignment(EKLMSegmentNumber segment, KLMAlignmentData *dat)
Set segment alignment data.
void setGlobalParam(double value, unsigned short element, unsigned short param)
Set global parameter.
std::map< EKLMSegmentNumber, KLMAlignmentData > m_SegmentAlignment
Segment alignment.
ClassDef(Belle2::EKLMSegmentAlignment, 1)
Class version.
KLM Alignment data.
uint16_t EKLMSegmentNumber
EKLM segment number.
Abstract base class for different kinds of events.