Belle II Software development
BKLMAlignment.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 BKLMAlignment : 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 30;
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);
87 std::vector<std::pair<unsigned short, unsigned short>> listGlobalParams();
88
89 private:
90
92 std::map<KLMModuleNumber, KLMAlignmentData> m_ModuleAlignment;
93
96
97 };
98
100}
Class to store BKLM alignment data in the database.
Definition: BKLMAlignment.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: BKLMAlignment.h:63
double getGlobalParam(unsigned short element, unsigned short param) const
Get global parameter.
ClassDef(Belle2::BKLMAlignment, 3)
Class version.
void setModuleAlignment(KLMModuleNumber module, KLMAlignmentData *dat)
Set module alignment data.
std::map< KLMModuleNumber, KLMAlignmentData > m_ModuleAlignment
Module alignment.
Definition: BKLMAlignment.h:92
const KLMAlignmentData * getModuleAlignment(KLMModuleNumber module) const
Get module alignment data.
BKLMAlignment()
Constructor.
void setGlobalParam(double value, unsigned short element, unsigned short param)
Set global parameter.
~BKLMAlignment()
Destructor.
KLM Alignment data.
uint16_t KLMModuleNumber
Module number.
Abstract base class for different kinds of events.