ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
InDetServMatGeoModel
src
CcawUtils.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef CcawUtils_H
6
#define CcawUtils_H
7
8
#include <cmath>
9
10
namespace
ccaw
{
11
12
inline
double
sqr
(
double
a
) {
return
a
*
a
;}
13
14
inline
double
area
(
double
R) {
return
M_PI
*R*R;}
15
16
inline
double
gaugeDiam
(
int
gauge) {
return
0.127e-3*pow(92,
double
(36-gauge)/39.0);}
17
18
inline
double
gaugeSurface
(
int
gauge) {
return
M_PI
*
sqr
(
gaugeDiam
(gauge))/4.;}
19
21
inline
double
ccawDensity
() {
22
double
dens_cu = 8.94e3;
// kg/m3
23
double
dens_al = 2.70e3;
// kg/m3
24
return
0.1*dens_cu + 0.9*dens_al;
25
}
26
28
inline
double
conductorWeight
(
int
gauge) {
return
gaugeSurface
(gauge) *
ccawDensity
();}
29
33
inline
double
insulatorWeight
(
int
gauge,
double
thick=90.e-6,
double
dens=1.27e3) {
34
double
radius =
gaugeDiam
(gauge) / 2.;
35
return
(
area
( radius+thick) -
area
( radius)) * dens;
36
}
37
38
inline
double
ccawResistivity
(
int
gauge) {
39
double
res_cu = 16.78e-9;
// Ohm*m
40
double
res_al = 28.2e-9;
// Ohm*m
41
42
double
s =
gaugeSurface
( gauge);
43
double
R_al = res_al/(s*0.9);
44
double
R_cu = res_cu/(s*0.1);
45
46
double
invR = 1/R_al + 1/R_cu;
47
return
1./invR;
48
}
49
50
inline
int
closestResistivityCcawGauge
(
double
res
)
51
{
52
// start arbitrarily with gauge 22
53
int
gauge = 22;
54
double
oldres =
ccawResistivity
(gauge);
55
double
newres;
56
if
(
res
> oldres) {
57
do
{
58
newres =
ccawResistivity
(++gauge);
59
if
(newres >
res
)
break
;
60
oldres = newres;
61
}
while
(gauge < 37);
62
if
( fabs( 1-newres/
res
) < fabs( 1-
res
/oldres))
return
gauge;
63
else
return
--gauge;
// old gauge was closer
64
}
65
else
{
66
do
{
67
newres =
ccawResistivity
(--gauge);
68
if
(newres <
res
)
break
;
69
oldres = newres;
70
}
while
(gauge > 14);
71
if
( fabs( 1-newres/
res
) < fabs( 1-
res
/oldres))
return
gauge;
72
else
return
++gauge;
// old gauge was closer
73
}
74
}
75
76
}
77
#endif
M_PI
#define M_PI
Definition
ActiveFraction.h:14
res
std::pair< std::vector< unsigned int >, bool > res
Definition
JetGroupProductTest.cxx:11
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
sqr
#define sqr(t)
Definition
PolygonTriangulator.cxx:113
ccaw
Definition
CcawUtils.h:10
ccaw::ccawResistivity
double ccawResistivity(int gauge)
Definition
CcawUtils.h:38
ccaw::gaugeDiam
double gaugeDiam(int gauge)
Definition
CcawUtils.h:16
ccaw::gaugeSurface
double gaugeSurface(int gauge)
Definition
CcawUtils.h:18
ccaw::conductorWeight
double conductorWeight(int gauge)
Weight per unit of length for the CCAW conductor, in kg/meter.
Definition
CcawUtils.h:28
ccaw::ccawDensity
double ccawDensity()
Units: kg/m3.
Definition
CcawUtils.h:21
ccaw::closestResistivityCcawGauge
int closestResistivityCcawGauge(double res)
Definition
CcawUtils.h:50
ccaw::insulatorWeight
double insulatorWeight(int gauge, double thick=90.e-6, double dens=1.27e3)
Weight per unit of length for the insulator.
Definition
CcawUtils.h:33
ccaw::area
double area(double R)
Definition
CcawUtils.h:14
Generated on
for ATLAS Offline Software by
1.17.0