Belle II Software development
EKLMAlignment.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/* KLM 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 EKLMAlignment : 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 40;
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<KLMModuleNumber, KLMAlignmentData> m_ModuleAlignment;
94
97
98 };
99
101}
Class to store EKLM alignment data in the database.
Definition: EKLMAlignment.h:30
std::vector< std::pair< unsigned short, unsigned short > > listGlobalParams()
Get a list of stored global parameters.
static unsigned short getGlobalUniqueID()
Get global unique identifier.
Definition: EKLMAlignment.h:63
double getGlobalParam(unsigned short element, unsigned short param) const
Get global parameter.
EKLMAlignment()
Constructor.
void setModuleAlignment(KLMModuleNumber module, KLMAlignmentData *dat)
Set module alignment data.
std::map< KLMModuleNumber, KLMAlignmentData > m_ModuleAlignment
Module alignment.
Definition: EKLMAlignment.h:93
const KLMAlignmentData * getModuleAlignment(KLMModuleNumber module) const
Get module alignment data.
ClassDef(Belle2::EKLMAlignment, 3)
Class version.
void setGlobalParam(double value, unsigned short element, unsigned short param)
Set global parameter.
~EKLMAlignment()
Destructor.
KLM Alignment data.
uint16_t KLMModuleNumber
Module number.
Abstract base class for different kinds of events.