Belle II Software  release-08-01-10
VXDHalfShellPar.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 #pragma once
9 
10 
11 #include <TObject.h>
12 #include <string>
13 #include <map>
14 #include <vector>
15 
16 
17 namespace Belle2 {
27  class VXDHalfShellPar: public TObject {
28 
29  public:
31  VXDHalfShellPar(std::string const& name = "", double shellAngle = 0) : m_name(name), m_shellAngle(shellAngle) {}
33  std::string getName() const { return m_name; }
35  double getShellAngle() const { return m_shellAngle; }
37  void addLadder(int layerID, int ladderID, double phi) { m_layers[layerID].push_back(std::pair<int, double>(ladderID, phi)); }
39  const std::map< int, std::vector<std::pair<int, double>> >& getLayers() const { return m_layers; }
40 
41  private:
43  std::string m_name;
45  double m_shellAngle;
47  std::map< int, std::vector<std::pair<int, double>> > m_layers;
48 
50  };
52 } // end of namespace Belle2
53 
The Class for VXD half shell payload.
void addLadder(int layerID, int ladderID, double phi)
add ladder
VXDHalfShellPar(std::string const &name="", double shellAngle=0)
Constructor.
double m_shellAngle
Rotation angle of half shell.
std::string getName() const
get shell name
ClassDef(VXDHalfShellPar, 5)
ClassDef, must be the last term before the closing {}.
std::string m_name
Name of half shell.
std::map< int, std::vector< std::pair< int, double > > > m_layers
Map for keeping ladderID and its phi rotation angle for all layers.
const std::map< int, std::vector< std::pair< int, double > > > & getLayers() const
get layers
double getShellAngle() const
get shellAngle
Abstract base class for different kinds of events.