Belle II Software  release-08-01-10
ARICHAerogelHist.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 //root
12 #include <TH2Poly.h>
13 #include <TVector2.h>
14 
15 //c, c++
16 #include <vector>
17 #include <map>
18 
19 namespace Belle2 {
28  class ARICHAerogelHist: public TH2Poly {
29 
30  public:
31 
36 
41 
47  ARICHAerogelHist(const char* name, const char* title);
48 
54  Int_t GetBinIDFromRingColumn(Int_t ring, Int_t column);
55 
61  void DrawHisto(TString opt, TString outDirName);
62 
63  protected:
64 
69 
73  void SetUpVerticesMap();
74 
78  void dumpVerticesMap();
79 
88  void makeRotation(double xold, double yold, double& xnew, double& ynew, double phi);
89 
90  std::vector<Int_t> m_nTiles;
91  std::vector<double> m_tileRmin;
92  std::vector<double> m_tileRmax;
93  std::vector<double> m_tileRcenter;
94  std::vector<double>
96  std::vector<double>
103  std::map<Int_t, std::vector<TVector2>> m_verticesMap;
105  TString m_histName;
106  TString m_histTitle;
110  };
111 
113 } //end namespace Belle2
Base class for geometry parameters.
TString m_histTitle
Histogram title.
TString m_histName
Histogram name.
std::map< Int_t, std::vector< TVector2 > > m_verticesMap
Aerogel vertices map.
ClassDef(ARICHAerogelHist, 1)
ClassDef.
Int_t m_verboseLevel
Verbose level.
std::vector< double > m_tileRmax
Maximum radius of aerogel ring.
~ARICHAerogelHist()
Default destructor.
void SetUpVerticesMap()
Function for calculation vertices for one aerogel tile.
std::vector< Int_t > m_nTiles
Number of tiles per ring.
std::vector< double > m_tileRcenter
Center radius of aerogel ring.
void SetInitialParametersByDefault()
Function which set initial values of input parameters.
Int_t m_nCircularPoints
Number of circular points.
ARICHAerogelHist()
Default constructor.
std::vector< double > m_tileDeltaPhiCenter
Angle opening (phi) of the aerogel tile measured between two rays (0.0,0.0 : and centre of the ring f...
std::vector< double > m_tileRmin
Minimum radius of aerogel ring.
void dumpVerticesMap()
Function to print vertices for one aerogel tile.
std::vector< double > m_aerogelAriGapDeltaPhiCenter
Angle opening (phi) of the air gap between aerogel tiles.
Int_t GetBinIDFromRingColumn(Int_t ring, Int_t column)
Function which return histogram bin id from ring and column id's.
double m_aerogelTileGap
Distance between aerogel tiles.
void makeRotation(double xold, double yold, double &xnew, double &ynew, double phi)
Function to rotate 2D point (x and y) around z axis by angle phi.
void DrawHisto(TString opt, TString outDirName)
Function to draw the histogram.
Abstract base class for different kinds of events.