Belle II Software  release-05-01-25
EKLMSegmentAlignment.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 /* Belle 2 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 EKLMSegmentAlignment : public TObject {
33 
34  public:
35 
40 
45 
51  void setSegmentAlignment(uint16_t segment, KLMAlignmentData* dat);
52 
57  const KLMAlignmentData* getSegmentAlignment(uint16_t segment) const;
58 
59  /* Interface to global Millepede calibration. */
60 
65  static unsigned short getGlobalUniqueID()
66  {
67  return 41;
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_SegmentAlignment;
96 
99 
100  };
101 
103 }
Belle2::EKLMSegmentAlignment::listGlobalParams
std::vector< std::pair< unsigned short, unsigned short > > listGlobalParams()
Get a list of stored global parameters.
Definition: EKLMSegmentAlignment.cc:79
Belle2::EKLMSegmentAlignment::setSegmentAlignment
void setSegmentAlignment(uint16_t segment, KLMAlignmentData *dat)
Set segment alignment data.
Definition: EKLMSegmentAlignment.cc:24
Belle2::EKLMSegmentAlignment::ClassDef
ClassDef(Belle2::EKLMSegmentAlignment, 1)
Class version.
Belle2::EKLMSegmentAlignment::getGlobalUniqueID
static unsigned short getGlobalUniqueID()
Get global unique identifier.
Definition: EKLMSegmentAlignment.h:73
Belle2::EKLMSegmentAlignment::getGlobalParam
double getGlobalParam(unsigned short element, unsigned short param) const
Get global parameter.
Definition: EKLMSegmentAlignment.cc:46
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::EKLMSegmentAlignment::~EKLMSegmentAlignment
~EKLMSegmentAlignment()
Destructor.
Definition: EKLMSegmentAlignment.cc:20
Belle2::EKLMSegmentAlignment
Class to store EKLM alignment data in the database.
Definition: EKLMSegmentAlignment.h:40
Belle2::EKLMSegmentAlignment::getSegmentAlignment
const KLMAlignmentData * getSegmentAlignment(uint16_t segment) const
Get segment alignment data.
Definition: EKLMSegmentAlignment.cc:36
Belle2::EKLMSegmentAlignment::EKLMSegmentAlignment
EKLMSegmentAlignment()
Constructor.
Definition: EKLMSegmentAlignment.cc:16
Belle2::KLMAlignmentData
KLM Alignment data.
Definition: KLMAlignmentData.h:33
Belle2::EKLMSegmentAlignment::m_SegmentAlignment
std::map< uint16_t, KLMAlignmentData > m_SegmentAlignment
Segment alignment.
Definition: EKLMSegmentAlignment.h:103
Belle2::EKLMSegmentAlignment::setGlobalParam
void setGlobalParam(double value, unsigned short element, unsigned short param)
Set global parameter.
Definition: EKLMSegmentAlignment.cc:56