Belle II Software  release-05-01-25
ARICHBtestGeometryPar.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Luka Santelj, Rok Pestotnik *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <framework/logging/Logger.h>
12 
13 #include <arich/geometry/ARICHBtestGeometryPar.h>
14 
15 #include <boost/format.hpp>
16 #include <boost/foreach.hpp>
17 
18 using namespace std;
19 using namespace boost;
20 
21 namespace Belle2 {
27  ARICHBtestGeometryPar* ARICHBtestGeometryPar::p_B4ARICHBtestGeometryParDB = 0;
28 
29  ARICHBtestGeometryPar* ARICHBtestGeometryPar::Instance()
30  {
31  if (!p_B4ARICHBtestGeometryParDB) {
32  p_B4ARICHBtestGeometryParDB = new ARICHBtestGeometryPar();
33  }
34  return p_B4ARICHBtestGeometryParDB;
35  }
36 
37  ARICHBtestGeometryPar::ARICHBtestGeometryPar():
38  m_mwpc(new ARICHTracking),
39  m_trackingShift(TVector3()),
40  m_rotationCenter(TVector3()),
41  m_frameRotation(TRotation()),
42  m_averageAgel(0),
43  m_nPads(0),
44  m_init(0),
45  m_simple(0)
46  {
47  clear();
48  }
49 
50 
52  {
53 
57  m_averageAgel = arichPar.m_averageAgel;
58  m_hapdmap = arichPar.m_hapdmap;
59  m_hapdeid = arichPar.m_hapdeid;
60  m_nPads = arichPar.m_nPads;
61  m_init = arichPar.m_init;
62  m_simple = arichPar.m_simple;
63  m_mwpc = new ARICHTracking();
64  *m_mwpc = *arichPar.m_mwpc;
66  }
67 
69  {
70  }
71 
72 
74  {
75  m_mwpc = m;
76  }
77 
78 
80  {
81  return m_mwpc;
82  }
83 
84  std::pair<double, double> ARICHBtestGeometryPar::GetHapdChannelPosition(int id)
85  {
86  return m_hapdmap[id];
87  }
88 
89  std::pair<int, int> ARICHBtestGeometryPar::GetHapdElectronicMap(int id)
90  {
91  return m_hapdeid[id];
92  }
93 
95  {
96  m_hapdmap.push_back(std::make_pair(x, y));
97  return m_hapdmap.size();
98  }
99 
101  {
102  m_hapdeid.push_back(std::make_pair(x, y));
103  return m_hapdeid.size();
104  }
105 
107  {
108  m_trackingShift = v;
109  B2INFO("ARICHBtestGeometryPar::setTrackingShift=" << m_trackingShift.x() << "," << m_trackingShift.y() << "," <<
110  m_trackingShift.z());
111 
112  }
113 
114 
116  {
117  return m_trackingShift;
118  }
119 
121  {
122  m_rotationCenter = v;
123  B2INFO("ARICHBtestGeometryPar::setRotationCenter=" << m_rotationCenter.x() << "," << m_rotationCenter.y() << "," <<
124  m_rotationCenter.z());
125 
126  }
127 
129  {
130  return m_rotationCenter;
131  }
132 
134  {
135  m_frameRotation = TRotation();
136  m_frameRotation.RotateY(v);
137  B2INFO("ARICHBtestGeometryPar::setFrameRotation=" << v);
138 
139  }
140 
142  {
143  return m_frameRotation;
144  }
145 
147  {
148  m_averageAgel = v;
149  }
150 
152  {
153  return m_averageAgel;
154  }
155 
156 
157 
159  {
160  m_init = false;
161  m_simple = false;
162  m_trackingShift = TVector3();
163  m_frameRotation = TRotation();
164  m_rotationCenter = TVector3();
165  }
166 
167  void ARICHBtestGeometryPar::setOffset(const TVector3& v)
168  {
169  m_offset = v;
170  B2INFO("ARICHBtestGeometryPar::setOffset=" << m_offset.x() << "," << m_offset.y() << "," << m_offset.z());
171 
172  }
173 
175  {
176  return m_offset;
177  }
178 
179 
181  {
182 
183  }
184 
185 
187 } // namespace Belle2
Belle2::ARICHBtestGeometryPar::AddHapdElectronicMapPair
int AddHapdElectronicMapPair(int, int)
Set the mapping of the electronic channel to the HAPD module nr and the channel number.
Definition: ARICHBtestGeometryPar.cc:100
Belle2::ARICHBtestGeometryPar::setRotationCenter
void setRotationCenter(const TVector3 &)
Set the rotation center of the Aerogel RICH frame.
Definition: ARICHBtestGeometryPar.cc:120
Belle2::ARICHBtestGeometryPar::m_trackingShift
TVector3 m_trackingShift
Tracking shift.
Definition: ARICHBtestGeometryPar.h:184
Belle2::ARICHBtestGeometryPar::m_frameRotation
TRotation m_frameRotation
rotation matrix of the Aerogel RICH frame
Definition: ARICHBtestGeometryPar.h:188
Belle2::ARICHBtestGeometryPar::m_averageAgel
bool m_averageAgel
flag for the reconstruction by using the average aerogel refractive index
Definition: ARICHBtestGeometryPar.h:190
Belle2::ARICHBtestGeometryPar::getFrameRotation
TRotation getFrameRotation()
Get the rotation matrix of the Aerogel RICH frame.
Definition: ARICHBtestGeometryPar.cc:141
Belle2::ARICHBtestGeometryPar::AddHapdChannelPositionPair
int AddHapdChannelPositionPair(double, double)
Set the position of the HAPD channel.
Definition: ARICHBtestGeometryPar.cc:94
Belle2::ARICHBtestGeometryPar::ARICHBtestGeometryPar
ARICHBtestGeometryPar()
Constructor.
Definition: ARICHBtestGeometryPar.cc:37
Belle2::ARICHBtestGeometryPar::clear
void clear(void)
Clears.
Definition: ARICHBtestGeometryPar.cc:158
Belle2::ARICHBtestGeometryPar::setFrameRotation
void setFrameRotation(double)
Set the rotation angle of the Aerogel RICH frame.
Definition: ARICHBtestGeometryPar.cc:133
Belle2::ARICHBtestGeometryPar::~ARICHBtestGeometryPar
virtual ~ARICHBtestGeometryPar()
Destructor.
Definition: ARICHBtestGeometryPar.cc:68
Belle2::ARICHBtestGeometryPar::GetHapdChannelPosition
std::pair< double, double > GetHapdChannelPosition(int)
Get the position of the HAPD channel.
Definition: ARICHBtestGeometryPar.cc:84
Belle2::ARICHBtestGeometryPar::setAverageAgel
void setAverageAgel(bool)
Set the flag for the reconstruction by using the average aerogel refractive index.
Definition: ARICHBtestGeometryPar.cc:146
Belle2::ARICHBtestGeometryPar::getMwpc
ARICHTracking * getMwpc()
Get the pointer of the tracking MWPCs.
Definition: ARICHBtestGeometryPar.cc:79
Belle2::ARICHBtestGeometryPar::getOffset
TVector3 getOffset()
Get the setup global offset.
Definition: ARICHBtestGeometryPar.cc:174
Belle2::ARICHBtestGeometryPar::setOffset
void setOffset(const TVector3 &)
Set of the setup global offset.
Definition: ARICHBtestGeometryPar.cc:167
Belle2::ARICHBtestGeometryPar::getAverageAgel
bool getAverageAgel()
Get the flag for the reconstruction by using the average aerogel refractive index.
Definition: ARICHBtestGeometryPar.cc:151
Belle2::ARICHBtestGeometryPar::m_init
bool m_init
True if parametrization is already initialized.
Definition: ARICHBtestGeometryPar.h:198
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHBtestGeometryPar::p_B4ARICHBtestGeometryParDB
static ARICHBtestGeometryPar * p_B4ARICHBtestGeometryParDB
Pointer that saves the instance of this class.
Definition: ARICHBtestGeometryPar.h:203
Belle2::ARICHBtestGeometryPar::getRotationCenter
TVector3 getRotationCenter()
Get the rotation center of the Aerogel RICH frame.
Definition: ARICHBtestGeometryPar.cc:128
Belle2::ARICHBtestGeometryPar::getTrackingShift
TVector3 getTrackingShift()
Get the tracking shift.
Definition: ARICHBtestGeometryPar.cc:115
Belle2::ARICHBtestGeometryPar::m_offset
TVector3 m_offset
Global offset.
Definition: ARICHBtestGeometryPar.h:182
Belle2::ARICHBtestGeometryPar::GetHapdElectronicMap
std::pair< int, int > GetHapdElectronicMap(int)
Get the mapping of the electronic channel to the HAPD module nr and the channel number.
Definition: ARICHBtestGeometryPar.cc:89
Belle2::ARICHBtestGeometryPar::setMwpc
void setMwpc(ARICHTracking *m_mwpc)
Set the pointer of the tracking MWPCs.
Definition: ARICHBtestGeometryPar.cc:73
Belle2::ARICHBtestGeometryPar::m_hapdeid
std::vector< std::pair< int, int > > m_hapdeid
mapping of the electronic channel to the HAPD module nr and the channel number
Definition: ARICHBtestGeometryPar.h:194
Belle2::ARICHTracking
Beamtest ARICH Geometry Tracking Class.
Definition: ARICHBtestGeometryPar.h:36
Belle2::ARICHBtestGeometryPar::m_rotationCenter
TVector3 m_rotationCenter
rotation center of the Aerogel RICH frame
Definition: ARICHBtestGeometryPar.h:186
Belle2::ARICHBtestGeometryPar::m_hapdmap
std::vector< std::pair< double, double > > m_hapdmap
the position of the HAPD channels
Definition: ARICHBtestGeometryPar.h:192
Belle2::ARICHBtestGeometryPar::m_simple
bool m_simple
True if parametrization initialized with simple geometry (beamtest)
Definition: ARICHBtestGeometryPar.h:199
Belle2::ARICHBtestGeometryPar::m_nPads
int m_nPads
Number of detector module pads.
Definition: ARICHBtestGeometryPar.h:196
Belle2::ARICHBtestGeometryPar::setTrackingShift
void setTrackingShift(const TVector3 &)
Set the tracking shift.
Definition: ARICHBtestGeometryPar.cc:106
Belle2::ARICHBtestGeometryPar::Print
void Print(void) const
Print some debug information.
Definition: ARICHBtestGeometryPar.cc:180
Belle2::ARICHBtestGeometryPar
The Class for ARICH Beamtest Geometry Parameters.
Definition: ARICHBtestGeometryPar.h:109
Belle2::ARICHBtestGeometryPar::m_mwpc
ARICHTracking * m_mwpc
Pointer to the tracking chambers.
Definition: ARICHBtestGeometryPar.h:180