Belle II Software  release-08-01-10
DetectorSurface.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 <unordered_map>
12 #include <vector>
13 #include <string>
14 
15 namespace Belle2 {
26 
27  public:
35  DetSurfCylBoundaries(float rho, float zfwd, float zbwd, float th_fwd, float th_fwd_brl, float th_bwd_brl, float th_bwd)
36  {
37  m_rho = rho;
38  m_zfwd = zfwd;
39  m_zbwd = zbwd;
40  m_th_fwd = th_fwd;
41  m_th_fwd_brl = th_fwd_brl;
42  m_th_bwd_brl = th_bwd_brl;
43  m_th_bwd = th_bwd;
44  };
45  float m_rho;
46  float m_zfwd;
47  float m_zbwd;
48  float m_th_fwd;
49  float m_th_fwd_brl;
50  float m_th_bwd_brl;
51  float m_th_bwd;
52  };
53 
58  struct DetectorSurface {
59 
64  static const std::unordered_map<std::string, DetSurfCylBoundaries> detToSurfBoundaries;
65 
70  static const std::unordered_map<std::string, DetSurfCylBoundaries> detLayerToSurfBoundaries;
71 
75  static const std::unordered_map<std::string, std::vector<int>> detToLayers;
76 
81  static const std::unordered_map<int, double> cdcWireRadiuses;
82 
83  };
85 }
Simple class to encapsulate a detector surface's boundaries in cylindrical coordinates.
DetSurfCylBoundaries()
Default constructor.
DetSurfCylBoundaries(float rho, float zfwd, float zbwd, float th_fwd, float th_fwd_brl, float th_bwd_brl, float th_bwd)
Constructor with parameters.
float m_zfwd
Inner surface z fwd [cm].
float m_th_fwd_brl
fwd/barrel separation theta [rad]
float m_th_fwd
Lower theta edge of fwd region [rad].
float m_th_bwd_brl
bwd/barrel separation theta [rad]
float m_zbwd
Inner surface z bwd [cm].
float m_rho
Inner surface radius [cm].
float m_th_bwd
Upper theta edge of bwd region [rad].
Abstract base class for different kinds of events.
Detector surfaces information.
static const std::unordered_map< int, double > cdcWireRadiuses
CDC sense wire radiuses Values are take from cdc/data/CDC.xml.
static const std::unordered_map< std::string, DetSurfCylBoundaries > detToSurfBoundaries
Map that associates to each detector its valid cylindrical surface's boundaries.
static const std::unordered_map< std::string, DetSurfCylBoundaries > detLayerToSurfBoundaries
Map that associates to each detector layer its valid cylindrical surface's boundaries.
static const std::unordered_map< std::string, std::vector< int > > detToLayers
Map that associates to each detector its list of valid layers.