ATLAS Offline Software
Loading...
Searching...
No Matches
ccaw Namespace Reference

Functions

double sqr (double a)
double area (double R)
double gaugeDiam (int gauge)
double gaugeSurface (int gauge)
double ccawDensity ()
 Units: kg/m3.
double conductorWeight (int gauge)
 Weight per unit of length for the CCAW conductor, in kg/meter.
double insulatorWeight (int gauge, double thick=90.e-6, double dens=1.27e3)
 Weight per unit of length for the insulator.
double ccawResistivity (int gauge)
int closestResistivityCcawGauge (double res)

Function Documentation

◆ area()

double ccaw::area ( double R)
inline

Definition at line 14 of file CcawUtils.h.

14{return M_PI*R*R;}
#define M_PI

◆ ccawDensity()

double ccaw::ccawDensity ( )
inline

Units: kg/m3.

Definition at line 21 of file CcawUtils.h.

21 {
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 }

◆ ccawResistivity()

double ccaw::ccawResistivity ( int gauge)
inline

Definition at line 38 of file CcawUtils.h.

38 {
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 }
double gaugeSurface(int gauge)
Definition CcawUtils.h:18

◆ closestResistivityCcawGauge()

int ccaw::closestResistivityCcawGauge ( double res)
inline

Definition at line 50 of file CcawUtils.h.

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 }
std::pair< std::vector< unsigned int >, bool > res
double ccawResistivity(int gauge)
Definition CcawUtils.h:38

◆ conductorWeight()

double ccaw::conductorWeight ( int gauge)
inline

Weight per unit of length for the CCAW conductor, in kg/meter.

Definition at line 28 of file CcawUtils.h.

28{ return gaugeSurface(gauge) * ccawDensity();}
double ccawDensity()
Units: kg/m3.
Definition CcawUtils.h:21

◆ gaugeDiam()

double ccaw::gaugeDiam ( int gauge)
inline

Definition at line 16 of file CcawUtils.h.

16{ return 0.127e-3*pow(92, double(36-gauge)/39.0);}
constexpr int pow(int base, int exp) noexcept

◆ gaugeSurface()

double ccaw::gaugeSurface ( int gauge)
inline

Definition at line 18 of file CcawUtils.h.

18{ return M_PI*sqr(gaugeDiam(gauge))/4.;}
#define sqr(t)
double gaugeDiam(int gauge)
Definition CcawUtils.h:16

◆ insulatorWeight()

double ccaw::insulatorWeight ( int gauge,
double thick = 90.e-6,
double dens = 1.27e3 )
inline

Weight per unit of length for the insulator.

The defaults correspond to Quadruple ML insulation (check density!) Units are meters for thickness, kg/m3 for density, and kg/m for the result

Definition at line 33 of file CcawUtils.h.

33 {
34 double radius = gaugeDiam(gauge) / 2.;
35 return (area( radius+thick) - area( radius)) * dens;
36 }
double area(double R)
Definition CcawUtils.h:14

◆ sqr()

double ccaw::sqr ( double a)
inline

Definition at line 12 of file CcawUtils.h.

12{return a*a;}
static Double_t a