Belle II Software development
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
17namespace 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;
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.
const std::map< int, std::vector< std::pair< int, double > > > & getLayers() const
get layers
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.
double getShellAngle() const
get shellAngle
Abstract base class for different kinds of events.