TGeoBBox* shDDIP2 = new TGeoBBox(164., 182., 36.);
shDDIP2->SetName("shDDIP2");
- TGeoTranslation* trDDIP2 = new TGeoTranslation("trDDIP2", 0., 0., kZDipole);
+ TGeoTranslation* trDDIP2 = new TGeoTranslation("trDDIP2", 0., 0., kZDipole - 12.);
trDDIP2->RegisterYourself();
- TGeoCompositeShape* shDDIP = new TGeoCompositeShape("shDDIP", "shDDIP1+shDDIP2:trDDIP2");
+ TGeoTube* shDDIP3 = new TGeoTube(0., 30., 40.);
+ shDDIP3->SetName("shDDIP3");
+
+ TGeoCompositeShape* shDDIP = new TGeoCompositeShape("shDDIP", "shDDIP1+(shDDIP2:trDDIP2-shDDIP3:trDDIP2)");
TGeoVolume* voDDIP = new TGeoVolume("DDIP", shDDIP, kMedAir);
//
// Yoke
new TGeoTubeSeg(coilRo, coilRo + 3.125, sW/2., 21., 51.),
kMedAlu);
TGeoVolume* voDCS021 = new TGeoVolume("DCS021",
- new TGeoConeSeg(sW/2., coilRo, 320., coilRo, coilRo + 2., 21., 21.4),
+ new TGeoConeSeg(sW/2., coilRo + 3.124, 320., coilRo + 3.125, coilRo + 5.125, 21., 21.4),
kMedAlu);
asDCoilSupport->AddNode(voDCS04, 1, gGeoIdentity);
for (Int_t i = 0; i < 9; i++)
{
- char name[16];
- sprintf(name, "rotdcs%1d", i);
+ char nameR[16];
+ sprintf(nameR, "rotdcs%1d", i);
Float_t phi = Float_t(i) * 3.75;
- TGeoRotation* rot = new TGeoRotation(name, 90., phi, 90., 90. + phi, 0., 0.);
- asDCoilSupport->AddNode(voDCS021, i, new TGeoCombiTrans(0., 0., -(sW - coilH)/2., rot));
+ TGeoRotation* rot = new TGeoRotation(nameR, 90., phi, 90., 90. + phi, 0., 0.);
+ asDCoilSupport->AddNode(voDCS021, i, new TGeoCombiTrans(0., 0.004, -(sW - coilH)/2., rot));
}
TGeoVolume* voHS1 = new TGeoVolume("DHS1", new TGeoBBox( 1.5, 12.5, hsLength/2.), kMedSteel);
TGeoVolume* voHS2 = new TGeoVolume("DHS2", new TGeoBBox(12.5, 1.5, hsLength/2.), kMedSteel);
- Float_t hsH = gapHeight/2. + blockHeight - (rmax1+rmax2)/2.;
+ Float_t hsH = gapHeight/2. + blockHeight - (rmax1+rmax2)/2. - 2.;
TGeoVolume* voHS3 = new TGeoVolume("DHS3", new TGeoBBox(3.5/2., hsH/2., 25./2.), kMedSteel);
asHS->AddNode(voHS1, 1, gGeoIdentity);
asHS->AddNode(voHS2, 1, new TGeoTranslation(0., +14., 0.));
asHS->AddNode(voHS2, 2, new TGeoTranslation(0., -14., 0.));
- asHS->AddNode(voHS3, 1, new TGeoTranslation(0., -hsH/2. - 14., hsLength/2. - 25./2.));
+ asHS->AddNode(voHS3, 1, new TGeoTranslation(0., -hsH/2. - 14. -1.5, hsLength/2. - 25./2.));
// Hanger (Support)
dy = gapHeight/2. + blockHeight + 14.;
- asDipole->AddNode(asHS, 1, new TGeoTranslation(0., dy, ((zHanger2 - kZDipole - yokeLength/2.) + 25./2.)/2.));
+ asDipole->AddNode(asHS, 1, new TGeoTranslation(0., dy + 1.5, ((zHanger2 - kZDipole - yokeLength/2.) + 25./2.)/2.));
asDipole->SetVisContainers(1);