Belle II Software  release-05-02-19
EKLMAlignment.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/dbobjects/KLMAlignmentData.h>
15 
16 /* ROOT headers. */
17 #include <TObject.h>
18 
19 /* C++ headers. */
20 #include <cstdint>
21 #include <map>
22 
23 namespace Belle2 {
32  class EKLMAlignment : public TObject {
33 
34  public:
35 
39  EKLMAlignment();
40 
45 
51  void setModuleAlignment(uint16_t module, KLMAlignmentData* dat);
52 
57  const KLMAlignmentData* getModuleAlignment(uint16_t module) const;
58 
59  /* Interface to global Millepede calibration. */
60 
65  static unsigned short getGlobalUniqueID()
66  {
67  return 40;
68  }
69 
76  double getGlobalParam(unsigned short element, unsigned short param) const;
77 
84  void setGlobalParam(double value, unsigned short element,
85  unsigned short param);
86 
90  std::vector<std::pair<unsigned short, unsigned short>> listGlobalParams();
91 
92  private:
93 
95  std::map<uint16_t, KLMAlignmentData> m_ModuleAlignment;
96 
99 
100  };
101 
103 }
Belle2::EKLMAlignment::~EKLMAlignment
~EKLMAlignment()
Destructor.
Definition: EKLMAlignment.cc:20
Belle2::EKLMAlignment::setModuleAlignment
void setModuleAlignment(uint16_t module, KLMAlignmentData *dat)
Set module alignment data.
Definition: EKLMAlignment.cc:24
Belle2::EKLMAlignment
Class to store EKLM alignment data in the database.
Definition: EKLMAlignment.h:40
Belle2::EKLMAlignment::listGlobalParams
std::vector< std::pair< unsigned short, unsigned short > > listGlobalParams()
Get a list of stored global parameters.
Definition: EKLMAlignment.cc:80
Belle2::EKLMAlignment::ClassDef
ClassDef(Belle2::EKLMAlignment, 3)
Class version.
Belle2::EKLMAlignment::EKLMAlignment
EKLMAlignment()
Constructor.
Definition: EKLMAlignment.cc:16
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::EKLMAlignment::setGlobalParam
void setGlobalParam(double value, unsigned short element, unsigned short param)
Set global parameter.
Definition: EKLMAlignment.cc:57
Belle2::EKLMAlignment::getGlobalUniqueID
static unsigned short getGlobalUniqueID()
Get global unique identifier.
Definition: EKLMAlignment.h:73
Belle2::KLMAlignmentData
KLM Alignment data.
Definition: KLMAlignmentData.h:33
Belle2::EKLMAlignment::getGlobalParam
double getGlobalParam(unsigned short element, unsigned short param) const
Get global parameter.
Definition: EKLMAlignment.cc:47
Belle2::EKLMAlignment::m_ModuleAlignment
std::map< uint16_t, KLMAlignmentData > m_ModuleAlignment
Module alignment.
Definition: EKLMAlignment.h:103
Belle2::EKLMAlignment::getModuleAlignment
const KLMAlignmentData * getModuleAlignment(uint16_t module) const
Get module alignment data.
Definition: EKLMAlignment.cc:37