Belle II Software development
ARICHGeoMirrorDisplacement.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#include <arich/dbobjects/ARICHGeoBase.h>
12#include <arich/dbobjects/ARICHPositionElement.h>
13
14namespace Belle2 {
24 public:
25
30 {}
31
33 {}
34
41 {
42 m_elements[id - 1] = pars;
43 }
44
50 {
51 return m_elements[mirrorID - 1];
52 }
53
54 void print(const std::string& title = "Mirror Displacement Parameters") const
55 {
57 int i = 1;
58 for (auto el : m_elements) { std::cout << "Mirror plate " << i++ << std::endl; el.print(); std::cout << std::endl;}
59 }
60
61
62 private:
63
64 std::vector<ARICHPositionElement> m_elements{std::vector<ARICHPositionElement>(18)};
67 };
68
70} // end namespace Belle2
Base class for geometry parameters.
Definition: ARICHGeoBase.h:24
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
Mirror displacement parameters for ARICH.
const ARICHPositionElement & getDisplacementElement(int mirrorID) const
Returns displacement parameters for given mirror plate.
ClassDef(ARICHGeoMirrorDisplacement, 1)
ClassDef.
std::vector< ARICHPositionElement > m_elements
vector of positions elements for displacement
void print(const std::string &title="Mirror Displacement Parameters") const
Print the content of the class.
void setDisplacementElement(int id, const ARICHPositionElement &pars)
Sets displacement parameters (element) for mirror plate.
Position element for ARICH.
Abstract base class for different kinds of events.