Belle II Software  release-05-01-25
ARICHGeoMirrorDisplacement.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Luka Santelj *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <arich/dbobjects/ARICHGeoBase.h>
14 #include <arich/dbobjects/ARICHPositionElement.h>
15 
16 namespace Belle2 {
25  class ARICHGeoMirrorDisplacement: public ARICHGeoBase {
26  public:
27 
32  {}
33 
35  {}
36 
42  void setDisplacementElement(int id, const ARICHPositionElement& pars)
43  {
44  m_elements[id - 1] = pars;
45  }
46 
51  const ARICHPositionElement& getDisplacementElement(int mirrorID) const
52  {
53  return m_elements[mirrorID - 1];
54  }
55 
56  void print(const std::string& title = "Mirror Displacement Parameters") const
57  {
58  ARICHGeoBase::print(title);
59  int i = 1;
60  for (auto el : m_elements) { std::cout << "Mirror plate " << i++ << std::endl; el.print(); std::cout << std::endl;}
61  }
62 
63 
64  private:
65 
66  std::vector<ARICHPositionElement> m_elements{std::vector<ARICHPositionElement>(18)};
69  };
70 
72 } // end namespace Belle2
Belle2::ARICHPositionElement
Position element for ARICH.
Definition: ARICHPositionElement.h:36
Belle2::ARICHGeoMirrorDisplacement::ClassDef
ClassDef(ARICHGeoMirrorDisplacement, 1)
ClassDef.
Belle2::ARICHGeoMirrorDisplacement::getDisplacementElement
const ARICHPositionElement & getDisplacementElement(int mirrorID) const
Returns displacement parameters for given mirror plate.
Definition: ARICHGeoMirrorDisplacement.h:59
Belle2::ARICHGeoBase::print
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:22
Belle2::ARICHGeoMirrorDisplacement::ARICHGeoMirrorDisplacement
ARICHGeoMirrorDisplacement()
Default constructor.
Definition: ARICHGeoMirrorDisplacement.h:39
Belle2::ARICHGeoMirrorDisplacement::setDisplacementElement
void setDisplacementElement(int id, const ARICHPositionElement &pars)
Sets displacement parameters (element) for mirror plate.
Definition: ARICHGeoMirrorDisplacement.h:50
Belle2::ARICHGeoMirrorDisplacement::print
void print(const std::string &title="Mirror Displacement Parameters") const
Print the content of the class.
Definition: ARICHGeoMirrorDisplacement.h:64
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHGeoMirrorDisplacement
Mirror displacement parameters for ARICH.
Definition: ARICHGeoMirrorDisplacement.h:33
Belle2::ARICHGeoMirrorDisplacement::m_elements
std::vector< ARICHPositionElement > m_elements
vector of positions elements for displacement
Definition: ARICHGeoMirrorDisplacement.h:74