/*
$Log$
+Revision 1.15 2002/05/30 11:58:34 morsch
+More robust geometry for bellows: use divisions and neg. parameters.
+
Revision 1.14 2002/05/29 11:23:46 morsch
Numerical overlap for 2nd bellow corrected.
// end Fluka
- for (i=0; i<39; i++) pars1[i] = par1[i];
+ for (i=0; i<39; i++) {
+ pars1[i] = par1[i];
+ }
+
for (i=4; i<38; i+=3) pars1[i] = 0.;
gMC->Gsvolu("YMO1", "PCON", idtmed[kVacuum+40], pars1, 39);
gMC->Gspos("YBI1", 1, "YB1S", 0., 0., 0., 0, "ONLY");
gMC->Gspos("YBU1", 1, "YB1S", 0., 0., 0., 0, "ONLY");
- dz=-dl+(zvac1-zstart)+dr11+bsize;
+ dz=-dl+(zvac1-zstart)+dr11/2.+bsize;
gMC->Gspos("YBM1", 1, "YMO1", 0., 0., dz, 0, "ONLY");
// dz=dl-dr13-(zvac4-zvac3)-bsize;
gMC->Gspos("YF11", 1, "YFM1", 0., 0., 0., 0, "ONLY");
gMC->Gspos("YF12", 1, "YFM1", 0., 0., 0., 0, "ONLY");
- dz=-dl+(zvac2-zstart);
+ dz=-dl+(zvac1-zstart)+dr11/2.+2.*bsize+dF1/2.+3.;
gMC->Gspos("YFM1", 2, "YMO1", 0., 0., dz, 0, "ONLY");
//
// Steel
tpar[0]=rB1-dTubeS;
tpar[1]=rB1+0.6;
- tpar[2]=2.*(dB1+dr12-10.*lB1)/4.;
+ tpar[2]=1.5;
gMC->Gsvolu("YPF1", "TUBE", idtmed[kSteel+40], tpar, 3);
// Insulation
tpar[0]=rB1;
gMC->Gsvolu("YPS1", "TUBE", idtmed[kInsulation+40], tpar, 3);
gMC->Gspos("YPS1", 1, "YPF1", 0., 0., 0., 0, "ONLY");
- dz=-dl+(zvac2-zstart)-dF1/2.-tpar[2];
+ dz=dz-1.5-dF1/2.;
gMC->Gspos("YPF1", 1, "YMO1", 0., 0., dz, 0, "ONLY");
- dz=-dl+(zvac2-zstart)+dF1/2.+tpar[2];
+ dz=dz+3.0+dF1;
gMC->Gspos("YPF1", 2, "YMO1", 0., 0., dz, 0, "ONLY");
//
// pipe and heating jackets outside bellows
//
// left side
- cpar0[0]=(zvac1+dr11-zstart)/2;
+ cpar0[0]=(zvac1+dr11/2.-zstart)/2;
cpar0[1]=rVacu-0.05 +(zstart-zOpen)*TMath::Tan(thetaOpen1);
cpar0[2]=rVacu+0.7 +(zstart-zOpen)*TMath::Tan(thetaOpen1);
cpar0[3]=cpar0[1]+2.*cpar0[0]*TMath::Tan(thetaOpen1);
//
Int_t ii;
- for (ii = 0; ii < 33; ii++) printf("\n %d %f", ii, par0[ii] );
gMC->Gsvolu("YOPB", "PCON", idtmed[kPb], par0, 33);
Float_t dzs = -(zvac12-zstart)/2. + (zch32-zstart) + dl;
par0[30] = -dz + zch51 - 4.;
par0[32] = 30.+(zch51-4.-zConeE)*TMath::Tan(thetaOpenPbO);
par0[31] = par0[32] - 4.;
- printf("\n test: %f %f", par0[31], par0[32]);
par0[33] = -dz + zch51 - 4.;
par0[35] = par0[32];
par0[56] = par0[53];
par0[55] = par0[52];
- for (ii = 0; ii < 57; ii++) printf("\n %d %f", ii, par0[ii] );
-
gMC->Gsvolu("YOSE", "PCON", idtmed[kSteel], par0, 57);
gMC->Gspos ("YOSE", 1, "YOPB", 0., 0., 0., 0, "ONLY");
}
// flange length
const Float_t dF1=2.*3.9;
// bellow length
- const Float_t dB1=18.482-dF1/2-dr11;
+//
+ const Float_t rB1=5.5;
+ const Float_t hB1=2.25;
+ const Float_t lB1=0.77;
+ const Float_t eB1=0.04;
+//
+
+ const Float_t dB1=12.*lB1/2.;
// Flange position
- const Float_t zvac2=518.;
- const Float_t zvac1=zvac2-dF1/2-dB1-dr11-dr12;
- const Float_t zvac3=zvac2+dF1/2+dB1+dr12+dr13;
+ const Float_t zvac2=507.;
+ const Float_t zvac1=zvac2-dB1-dr11/2.-dr12;
+ const Float_t zvac3=zvac2+dB1+dF1+dr13+6.;
const Float_t zvac4=558.;
// Outer shield dimensions
const Float_t R11=15.45;
// Vacuum System
//
-// Bellow1
-//
- const Float_t rB1=5.5;
- const Float_t hB1=2.25;
- const Float_t lB1=0.77;
- const Float_t eB1=0.04;
+
//
// Flange1
//