BOSS
8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MucBoxCal.cxx
Go to the documentation of this file.
1
//------------------------------------------------------------------------------|
2
// [File ]: MucBoxCal.cxx |
3
// [Brief ]: MUC geometry box creating class for calibration |
4
// [Author]: Xie Yuguang, <ygxie@mail.ihep.ac.cn> |
5
// [Date ]: May 22, 2005 |
6
//------------------------------------------------------------------------------|
7
8
#include <cmath>
9
#include <iostream>
10
11
#include "MucCalib/MucBoxCal.h"
12
#include "MucCalib/MucStructConst.h"
13
14
using namespace
std
;
15
16
// Constructor
17
MucBoxCal::MucBoxCal
(
int
part,
int
segment,
int
layer )
18
:
MucEntityCal
( part, segment, layer ) {
19
MucBoxCal::Init
();
20
}
21
22
// Copy constructor
23
MucBoxCal::MucBoxCal
(
const
MucBoxCal
& other ) :
MucEntityCal
( other ) { ; }
24
25
// Operator =
26
MucBoxCal
&
MucBoxCal::operator=
(
const
MucBoxCal
& other ) {
27
if
(
this
== &other )
return
*
this
;
28
29
MucEntityCal::operator=
( other );
30
31
return
*
this
;
32
}
33
34
// Destructor
35
MucBoxCal::~MucBoxCal
() { ; }
36
37
// Initialize
38
void
MucBoxCal::Init
() {
39
SetTheta
();
40
SetRin
();
41
SetRout
();
42
SetRc
();
43
44
SetThin
();
45
SetW
();
46
SetWu
();
47
SetWd
();
48
SetH
();
49
SetL
();
50
SetArea
();
51
}
52
53
//------------------------------- Set motheds -------------------------
54
void
MucBoxCal::SetTheta
() {
55
if
(
m_Part
== BRID )
m_Theta
=
m_Segment
* (
PI
/ 4.0 );
56
else
m_Theta
= (
m_Segment
+ 1 ) * (
PI
/ 4.0 );
57
}
58
59
void
MucBoxCal::SetRin
() {
60
if
(
m_Part
== BRID )
m_Rin
= B_AS_RMIN[
m_Layer
] - ( AS_GAP + BOX_TH ) / 2.0;
61
else
m_Rin
= E_GP_RMIN[
m_Layer
] - E_STRPLN_DR;
62
}
63
64
void
MucBoxCal::SetRout
() {
65
if
(
m_Part
== BRID )
m_Rout
= B_AS_RMIN[
m_Layer
] - ( AS_GAP - BOX_TH ) / 2.0;
66
else
m_Rout
= E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[(
m_Layer
== 0 ) ? 0 : 1];
67
}
68
69
void
MucBoxCal::SetRc
() {
70
if
(
m_Part
== BRID )
m_Rc
= B_AS_RMIN[
m_Layer
] - AS_GAP / 2.0;
71
else
m_Rc
= (
m_Rin
+
m_Rout
) / 2.0;
72
}
73
74
void
MucBoxCal::SetThin
() {
m_Thin
= BOX_TH; }
75
76
void
MucBoxCal::SetW
() {
77
if
(
m_Part
== BRID ) {
m_W
= B_BOX_WT[
m_Layer
]; }
78
else
{
m_W
= E_AS_RMAX - E_BOX_DR - E_GP_DX; }
79
}
80
81
void
MucBoxCal::SetH
() {
82
if
(
m_Part
== BRID )
m_H
= BOX_TH;
83
else
84
m_H
= E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[(
m_Layer
== 0 ) ? 0 : 1] - E_STRPLN_DR -
85
E_GP_RMIN[
m_Layer
];
86
}
87
88
void
MucBoxCal::SetL
() {
89
if
(
m_Part
== BRID )
m_L
= B_BOX_LT;
90
else
m_L
= BOX_TH;
91
}
92
93
void
MucBoxCal::SetWu
() {
94
if
(
m_Part
== BRID )
m_Wu
=
m_W
;
95
else
m_Wu
= 2 * VALUE *
m_Rin
;
96
}
97
98
void
MucBoxCal::SetWd
() {
99
if
(
m_Part
== BRID )
m_Wd
=
m_W
;
100
else
m_Wd
= 2 * VALUE *
m_Rout
;
101
}
102
103
void
MucBoxCal::SetArea
() {
104
if
(
m_Part
== BRID )
105
{
106
m_Area
=
m_W
*
m_L
;
107
if
(
m_Segment
== B_TOP )
108
m_Area
-= B_BOX_SLOT_WT * B_TOPRPC_LTS[(
m_Layer
== 0 ) ? 1 : (
m_Layer
% 2 )];
109
}
110
else
m_Area
= (
m_Wu
+
m_Wd
) *
m_H
- ( E_GP_DX + E_GP_DY + 2 * E_STRPLN_DA ) *
m_H
;
111
112
m_Area
/= 100;
// mm^2 -> cm^2
113
}
114
115
// END
PI
#define PI
Definition
EvtD0ToKKpi0.cc:40
MucBoxCal::SetThin
virtual void SetThin()
Definition
MucBoxCal.cxx:74
MucBoxCal::SetArea
virtual void SetArea()
Definition
MucBoxCal.cxx:103
MucBoxCal::MucBoxCal
MucBoxCal(int part, int segment, int layer)
Definition
MucBoxCal.cxx:17
MucBoxCal::~MucBoxCal
~MucBoxCal()
Definition
MucBoxCal.cxx:35
MucBoxCal::SetL
virtual void SetL()
Definition
MucBoxCal.cxx:88
MucBoxCal::SetH
virtual void SetH()
Definition
MucBoxCal.cxx:81
MucBoxCal::SetWu
virtual void SetWu()
Definition
MucBoxCal.cxx:93
MucBoxCal::operator=
MucBoxCal & operator=(const MucBoxCal &other)
Definition
MucBoxCal.cxx:26
MucBoxCal::SetRin
virtual void SetRin()
Definition
MucBoxCal.cxx:59
MucBoxCal::Init
virtual void Init()
Definition
MucBoxCal.cxx:38
MucBoxCal::SetRout
virtual void SetRout()
Definition
MucBoxCal.cxx:64
MucBoxCal::SetTheta
virtual void SetTheta()
Definition
MucBoxCal.cxx:54
MucBoxCal::SetWd
virtual void SetWd()
Definition
MucBoxCal.cxx:98
MucBoxCal::SetW
virtual void SetW()
Definition
MucBoxCal.cxx:76
MucBoxCal::SetRc
virtual void SetRc()
Definition
MucBoxCal.cxx:69
MucEntityCal::MucEntityCal
MucEntityCal(int part, int segment, int layer)
Definition
MucEntityCal.cxx:16
MucEntityCal::m_Rout
double m_Rout
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:65
MucEntityCal::m_Thin
double m_Thin
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:67
MucEntityCal::m_Theta
double m_Theta
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:61
MucEntityCal::m_Layer
int m_Layer
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:58
MucEntityCal::m_Rc
double m_Rc
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:66
MucEntityCal::m_H
double m_H
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:69
MucEntityCal::m_L
double m_L
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:70
MucEntityCal::m_Area
double m_Area
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:73
MucEntityCal::m_Rin
double m_Rin
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:64
MucEntityCal::operator=
MucEntityCal & operator=(const MucEntityCal &other)
Definition
MucEntityCal.cxx:50
MucEntityCal::m_Wu
double m_Wu
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:71
MucEntityCal::m_Segment
int m_Segment
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:57
MucEntityCal::m_W
double m_W
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:68
MucEntityCal::m_Part
int m_Part
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:56
MucEntityCal::m_Wd
double m_Wd
Definition
InstallArea/x86_64-el9-gcc13-dbg/include/MucCalib/MucEntityCal.h:72
std
Definition
x86_64-el9-gcc13-dbg/Event/RootEventData/RootEventDataDict.cxx:101
8.0.0
BOSS_Source
Muc
MucCalib
src
MucBoxCal.cxx
Generated by
1.16.1