Belle II Software  release-08-01-10
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 
21 namespace 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.