- Float_t Z_SDD_lay3[6] = { 18.55, 10.95, 3.70, -3.70,-11.20,-18.35};
- Float_t Z_SDD_lay4[8] = { 25.75, 18.60, 11.00, 3.70, -3.70,-11.20,
+ Float_t zSDDlay3[6] = { 18.55, 10.95, 3.70, -3.70,-11.20,-18.35};
+ Float_t zSDDlay4[8] = { 25.75, 18.60, 11.00, 3.70, -3.70,-11.20,
- Float_t I028dits[3], I420dits[3], I421dits[3], I422dits[6], I423dits[3];
- Float_t I424dits[3], xI424, yI424;
- Float_t I425dits[3];
+ Float_t iI028dits[3], iI420dits[3], iI421dits[3], iI422dits[6], iI423dits[3];
+ Float_t iI424dits[3], xI424, yI424;
+ Float_t iI425dits[3];
- Float_t SDD_CoolPipe[3] = {1.7000, -0.5500, 0.0000};
- Float_t I035dits[3], I037dits[3], I038dits[3];
- Float_t I039dits[3], xI039, yI039;
- Float_t I041dits[5];
+ Float_t iSDDCoolPipe[3] = {1.7000, -0.5500, 0.0000};
+ Float_t iI035dits[3], iI037dits[3], iI038dits[3];
+ Float_t iI039dits[3], xI039, yI039;
+ Float_t iI041dits[5];
- Float_t I050dits[3], xI050, yI050;
- Float_t I052dits[3], xI052, yI052;
- Float_t I042dits[3], xI042, yI042;
+ Float_t iI050dits[3], xI050, yI050;
+ Float_t iI052dits[3], xI052, yI052;
+ Float_t iI042dits[3], xI042, yI042;
// --- Place the ghost volume in its mother volume (ALIC) and make it
// invisible
// gMC->Gspos("ITSV", 1, "ALIC", 0., 0., 0., 0, "ONLY");
// --- Place the ghost volume in its mother volume (ALIC) and make it
// invisible
// gMC->Gspos("ITSV", 1, "ALIC", 0., 0., 0., 0, "ONLY");
- I047dits[0] = I018dits[0];
- I047dits[1] = I018dits[1];
- I047dits[2] = 6*I018dits[2] + 2*I024dits[2];
- gMC->Gsvolu("I047", "BOX ", idtmed[209], I047dits, 3);
+ iI047dits[0] = iI018dits[0];
+ iI047dits[1] = iI018dits[1];
+ iI047dits[2] = 6*iI018dits[2] + 2*iI024dits[2];
+ gMC->Gsvolu("I047", "BOX ", idtmed[209], iI047dits, 3);
- I048dits[0] = I018dits[0];
- I048dits[1] = I018dits[1];
- I048dits[2] = 8*I018dits[2] + 2*I024dits[2];
- gMC->Gsvolu("I048", "BOX ", idtmed[209], I048dits, 3);
+ iI048dits[0] = iI018dits[0];
+ iI048dits[1] = iI018dits[1];
+ iI048dits[2] = 8*iI018dits[2] + 2*iI024dits[2];
+ gMC->Gsvolu("I048", "BOX ", idtmed[209], iI048dits, 3);
- I004dits[0] = I302dits[0]+0.005;
- I004dits[1] = 2*I302dits[1]+Y_SDD_sep/2.;
- I004dits[2] = TMath::Abs(Z_SDD_lay3[0]);
- if (I004dits[2] < TMath::Abs(Z_SDD_lay3[5])) {
- I004dits[2] = TMath::Abs(Z_SDD_lay3[5]);
+ iI004dits[0] = iI302dits[0]+0.005;
+ iI004dits[1] = 2*iI302dits[1]+ySDDsep/2.;
+ iI004dits[2] = TMath::Abs(zSDDlay3[0]);
+ if (iI004dits[2] < TMath::Abs(zSDDlay3[5])) {
+ iI004dits[2] = TMath::Abs(zSDDlay3[5]);
- I005dits[0] = I402dits[0]+0.005;
- I005dits[1] = 2*I402dits[1]+Y_SDD_sep/2.;
- I005dits[2] = TMath::Abs(Z_SDD_lay4[0]);
- if (I005dits[2] < TMath::Abs(Z_SDD_lay4[7])) {
- I005dits[2] = TMath::Abs(Z_SDD_lay4[7]);
+ iI005dits[0] = iI402dits[0]+0.005;
+ iI005dits[1] = 2*iI402dits[1]+ySDDsep/2.;
+ iI005dits[2] = TMath::Abs(zSDDlay4[0]);
+ if (iI005dits[2] < TMath::Abs(zSDDlay4[7])) {
+ iI005dits[2] = TMath::Abs(zSDDlay4[7]);
- I425dits[0] = 1.350000;
- I425dits[1] = 0.015250;
- I425dits[2] = I024dits[2];
- gMC->Gsvolu("I425", "BOX ", idtmed[279], I425dits, 3);
+ iI425dits[0] = 1.350000;
+ iI425dits[1] = 0.015250;
+ iI425dits[2] = iI024dits[2];
+ gMC->Gsvolu("I425", "BOX ", idtmed[279], iI425dits, 3);
dits[3] = 0.015;
gMC->Gsvolu("I026", "TRD1", idtmed[208], dits, 4);
// new: for the 1st top rod of the structure
// at the end-ladder - F.T. March,7-2001
dits[3] = 0.015;
gMC->Gsvolu("I026", "TRD1", idtmed[208], dits, 4);
// new: for the 1st top rod of the structure
// at the end-ladder - F.T. March,7-2001
- I032dits[0] = 0;
- I032dits[1] = I031dits[0];
- I032dits[2] = I024dits[2];
- gMC->Gsvolu("I032", "TUBE", idtmed[211], I032dits, 3);
+ iI032dits[0] = 0;
+ iI032dits[1] = iI031dits[0];
+ iI032dits[2] = iI024dits[2];
+ gMC->Gsvolu("I032", "TUBE", idtmed[211], iI032dits, 3);
- I032dits[0] = 0;
- I032dits[1] = I031dits[0];
- I032dits[2] = I024dits[2];
- gMC->Gsvolu("I032", "TUBE", idtmed[212], I032dits, 3);
+ iI032dits[0] = 0;
+ iI032dits[1] = iI031dits[0];
+ iI032dits[2] = iI024dits[2];
+ gMC->Gsvolu("I032", "TUBE", idtmed[212], iI032dits, 3);
gMC->Gsvolu("I036", "BOX ", idtmed[208], dits, 3);
// inox cooling tubes - F.T. March,7-2001
gMC->Gsvolu("I036", "BOX ", idtmed[208], dits, 3);
// inox cooling tubes - F.T. March,7-2001
- I038dits[0] = 0;
- I038dits[1] = I037dits[0];
- I038dits[2] = I018dits[2];
- gMC->Gsvolu("I038", "TUBE", idtmed[211], I038dits, 3);
+ iI038dits[0] = 0;
+ iI038dits[1] = iI037dits[0];
+ iI038dits[2] = iI018dits[2];
+ gMC->Gsvolu("I038", "TUBE", idtmed[211], iI038dits, 3);
- I038dits[0] = 0;
- I038dits[1] = I037dits[0];
- I038dits[2] = I018dits[2];
- gMC->Gsvolu("I038", "TUBE", idtmed[212], I038dits, 3);
+ iI038dits[0] = 0;
+ iI038dits[1] = iI037dits[0];
+ iI038dits[2] = iI018dits[2];
+ gMC->Gsvolu("I038", "TUBE", idtmed[212], iI038dits, 3);
- I052dits[0] = 1.725000;
- I052dits[1] = 0.003743;
- I052dits[2] = I039dits[2];
- gMC->Gsvolu("I052", "BOX ", idtmed[281], I052dits, 3);
+ iI052dits[0] = 1.725000;
+ iI052dits[1] = 0.003743;
+ iI052dits[2] = iI039dits[2];
+ gMC->Gsvolu("I052", "BOX ", idtmed[281], iI052dits, 3);
- I044dits[0] = I018dits[2];
- I044dits[1] = I039dits[2];
- I044dits[2] = 0.00084;
- I044dits[3] = (15.189149/(I044dits[0]+I044dits[1]))/2;
- gMC->Gsvolu("I044", "TRD1", idtmed[282], I044dits, 4);
- volI044 = ((2*I044dits[0] + 2*I044dits[1]) * 2*I044dits[2])/2 * 2*I044dits[3];
+ iI044dits[0] = iI018dits[2];
+ iI044dits[1] = iI039dits[2];
+ iI044dits[2] = 0.00084;
+ iI044dits[3] = (15.189149/(iI044dits[0]+iI044dits[1]))/2;
+ gMC->Gsvolu("I044", "TRD1", idtmed[282], iI044dits, 4);
+ volI044 = ((2*iI044dits[0] + 2*iI044dits[1]) * 2*iI044dits[2])/2 * 2*iI044dits[3];
- I050dits[1] = I039dits[1]+I052dits[1]+I051dits[1]+I044dits[2];
- I050dits[0] = I018dits[1]/cos(30.*3.14159/180.)-I050dits[1]*sin(30.*3.14159/180.);
- I050dits[2] = I018dits[2];
- gMC->Gsvolu("I050", "BOX ", idtmed[209], I050dits, 3);
+ iI050dits[1] = iI039dits[1]+iI052dits[1]+iI051dits[1]+iI044dits[2];
+ iI050dits[0] = iI018dits[1]/cos(30.*3.14159/180.)-iI050dits[1]*sin(30.*3.14159/180.);
+ iI050dits[2] = iI018dits[2];
+ gMC->Gsvolu("I050", "BOX ", idtmed[209], iI050dits, 3);
// -- position SDD detectors of ladder 3 / layer 3
gMC->Gspos("ITS3", 1,"I302", 0.0, 0.0, 0.0, 0, "ONLY");
// -- position SDD detectors of ladder 3 / layer 3
gMC->Gspos("ITS3", 1,"I302", 0.0, 0.0, 0.0, 0, "ONLY");
// -- position SDD detectors of ladder 4 / layer 4
gMC->Gspos("ITS4", 1,"I402", 0.0, 0.000, 0.0, 0,"ONLY");
// -- position SDD detectors of ladder 4 / layer 4
gMC->Gspos("ITS4", 1,"I402", 0.0, 0.000, 0.0, 0,"ONLY");
gMC->Gspos("I034", 3,"I018", -1.6, -1.775, 1.35, idrotm[348], "ONLY");
gMC->Gspos("I034", 4,"I018", 1.6, -1.775, -2.65, idrotm[312], "ONLY");
gMC->Gspos("I034", 3,"I018", -1.6, -1.775, 1.35, idrotm[348], "ONLY");
gMC->Gspos("I034", 4,"I018", 1.6, -1.775, -2.65, idrotm[312], "ONLY");
- gMC->Gspos("I035", 1,"I018", 1.7, -0.55, I018dits[2]-I035dits[2], 0, "MANY");
- gMC->Gspos("I035", 2,"I018", -1.7, -0.55, I018dits[2]-I035dits[2], 0, "MANY");
+ gMC->Gspos("I035", 1,"I018", 1.7, -0.55, iI018dits[2]-iI035dits[2], 0, "MANY");
+ gMC->Gspos("I035", 2,"I018", -1.7, -0.55, iI018dits[2]-iI035dits[2], 0, "MANY");
gMC->Gspos("I036", 1,"I018", 0.3087, 1.7191, 3.56, idrotm[346], "ONLY");
gMC->Gspos("I036", 2,"I018", 0.3087, 1.7191,-0.11, idrotm[346], "ONLY");
gMC->Gspos("I036", 3,"I018", -0.3087, 1.7191,-0.11, idrotm[347], "ONLY");
gMC->Gspos("I036", 4,"I018", -0.3087, 1.7191, 3.56, idrotm[347], "ONLY");
gMC->Gspos("I036", 1,"I018", 0.3087, 1.7191, 3.56, idrotm[346], "ONLY");
gMC->Gspos("I036", 2,"I018", 0.3087, 1.7191,-0.11, idrotm[346], "ONLY");
gMC->Gspos("I036", 3,"I018", -0.3087, 1.7191,-0.11, idrotm[347], "ONLY");
gMC->Gspos("I036", 4,"I018", -0.3087, 1.7191, 3.56, idrotm[347], "ONLY");
- gMC->Gspos("I037", 1,"I018", SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 , "ONLY");
- gMC->Gspos("I037", 2,"I018", -SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 , "ONLY");
+ gMC->Gspos("I037", 1,"I018", iSDDCoolPipe[0], iSDDCoolPipe[1], iSDDCoolPipe[2], 0 , "ONLY");
+ gMC->Gspos("I037", 2,"I018", -iSDDCoolPipe[0], iSDDCoolPipe[1], iSDDCoolPipe[2], 0 , "ONLY");
- gMC->Gspos("I038", 1,"I018", SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 , "ONLY");
- gMC->Gspos("I038", 2,"I018", -SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 , "ONLY");
+ gMC->Gspos("I038", 1,"I018", iSDDCoolPipe[0], iSDDCoolPipe[1], iSDDCoolPipe[2], 0 , "ONLY");
+ gMC->Gspos("I038", 2,"I018", -iSDDCoolPipe[0], iSDDCoolPipe[1], iSDDCoolPipe[2], 0 , "ONLY");
gMC->Gspos("I040", 1,"I018", 1.9204, -0.7118, 0.0, idrotm[346],"ONLY");
gMC->Gspos("I040", 2,"I018", -1.9204, -0.7118, 0.0, idrotm[347],"ONLY");
gMC->Gspos("I040", 1,"I018", 1.9204, -0.7118, 0.0, idrotm[346],"ONLY");
gMC->Gspos("I040", 2,"I018", -1.9204, -0.7118, 0.0, idrotm[347],"ONLY");
- gMC->Gspos("I041", 1,"I018", SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], idrotm[346], "ONLY");
- gMC->Gspos("I041", 2,"I018", -SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], idrotm[347], "ONLY");
+ gMC->Gspos("I041", 1,"I018", iSDDCoolPipe[0], iSDDCoolPipe[1], iSDDCoolPipe[2], idrotm[346], "ONLY");
+ gMC->Gspos("I041", 2,"I018", -iSDDCoolPipe[0], iSDDCoolPipe[1], iSDDCoolPipe[2], idrotm[347], "ONLY");
- xI042 = xI039+I039dits[0]-xI042space-I042dits[0];
- yI042 = yI039+I039dits[1]+I042dits[1];
- xI043 = xI039-I039dits[0]+xI043space+I043dits[0];
- yI043 = yI039+I039dits[1]+I043dits[1];
- zChipSpace = I042dits[2];
- if (zChipSpace < I043dits[2]) {
- zChipSpace = I043dits[2];
+ xI042 = xI039+iI039dits[0]-xI042space-iI042dits[0];
+ yI042 = yI039+iI039dits[1]+iI042dits[1];
+ xI043 = xI039-iI039dits[0]+xI043space+iI043dits[0];
+ yI043 = yI039+iI039dits[1]+iI043dits[1];
+ zChipSpace = iI042dits[2];
+ if (zChipSpace < iI043dits[2]) {
+ zChipSpace = iI043dits[2];
for (ichip=0; ichip<4; ichip++) {
gMC->Gspos("I042", ichip+1, "I050", xI042, yI042, zchip, 0, "ONLY");
gMC->Gspos("I043", ichip+1, "I050", xI043, yI043, zchip, 0, "ONLY");
zchip += zChipSpace + yI051space;
}
for (ichip=0; ichip<4; ichip++) {
gMC->Gspos("I042", ichip+1, "I050", xI042, yI042, zchip, 0, "ONLY");
gMC->Gspos("I043", ichip+1, "I050", xI043, yI043, zchip, 0, "ONLY");
zchip += zChipSpace + yI051space;
}
gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
zI051 += yI051space/3.;
gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
zI051 += yI051space/3.;
gMC->Gspos("I051", icap++,"I050", xI051, yI051, zI051, 0, "ONLY");
gMC->Gspos("I044", 1,"I050", xI044, yI044, 0.0, idrotm[301], "ONLY");
gMC->Gspos("I050", 1,"I018", xI050, yI050, 0.0, idrotm[346],"ONLY");
gMC->Gspos("I050", 2,"I018", -xI050, yI050, 0.0, idrotm[347],"ONLY");
gMC->Gspos("I044", 1,"I050", xI044, yI044, 0.0, idrotm[301], "ONLY");
gMC->Gspos("I050", 1,"I018", xI050, yI050, 0.0, idrotm[346],"ONLY");
gMC->Gspos("I050", 2,"I018", -xI050, yI050, 0.0, idrotm[347],"ONLY");
gMC->Gspos("I026", 1,"I024", -1.9782, -1.5689, 0.0, idrotm[342], "ONLY");
gMC->Gspos("I026", 2,"I024", 1.8824, -1.7349, 0.0, idrotm[344], "ONLY");
gMC->Gspos("I026", 1,"I024", -1.9782, -1.5689, 0.0, idrotm[342], "ONLY");
gMC->Gspos("I026", 2,"I024", 1.8824, -1.7349, 0.0, idrotm[344], "ONLY");
- gMC->Gspos("I029", 1,"I024", -0.087, 1.7067, I029dits[2]-I024dits[2], idrotm[342], "ONLY");
+ gMC->Gspos("I029", 1,"I024", -0.087, 1.7067, iI029dits[2]-iI024dits[2], idrotm[342], "ONLY");
- gMC->Gspos("I030", 1,"I024", 0.0958, 1.6914, I030dits[2]-I024dits[2], idrotm[343], "ONLY");
+ gMC->Gspos("I030", 1,"I024", 0.0958, 1.6914, iI030dits[2]-iI024dits[2], idrotm[343], "ONLY");
- gMC->Gspos("I031", 1,"I024", SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 ,"ONLY");
- gMC->Gspos("I031", 2,"I024", -SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 ,"ONLY");
+ gMC->Gspos("I031", 1,"I024", iSDDCoolPipe[0], iSDDCoolPipe[1], iSDDCoolPipe[2], 0 ,"ONLY");
+ gMC->Gspos("I031", 2,"I024", -iSDDCoolPipe[0], iSDDCoolPipe[1], iSDDCoolPipe[2], 0 ,"ONLY");
- gMC->Gspos("I032", 1,"I024", SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 ,"ONLY");
- gMC->Gspos("I032", 2,"I024", -SDD_CoolPipe[0], SDD_CoolPipe[1], SDD_CoolPipe[2], 0 ,"ONLY");
+ gMC->Gspos("I032", 1,"I024", iSDDCoolPipe[0], iSDDCoolPipe[1], iSDDCoolPipe[2], 0 ,"ONLY");
+ gMC->Gspos("I032", 2,"I024", -iSDDCoolPipe[0], iSDDCoolPipe[1], iSDDCoolPipe[2], 0 ,"ONLY");
- gMC->Gspos("I420", 1,"I028", -I028dits[0]/3., I028dits[1]-I420dits[1], 0.0, 0, "ONLY");
+ gMC->Gspos("I420", 1,"I028", -iI028dits[0]/3., iI028dits[1]-iI420dits[1], 0.0, 0, "ONLY");
- gMC->Gspos("I028", 1,"I024", 0.0, I028dits[1]-I024dits[1], I024dits[2]-I028dits[2], 0, "MANY");
+ gMC->Gspos("I028", 1,"I024", 0.0, iI028dits[1]-iI024dits[1], iI024dits[2]-iI028dits[2], 0, "MANY");
gMC->Gspos("I018", 5,"I047", 0.0, 0.0, -10.95, 0, "ONLY");
gMC->Gspos("I018", 6,"I047", 0.0, 0.0, -18.25, 0, "ONLY");
gMC->Gspos("I024", 2,"I047", 0.0, 0.0, -24.625, idrotm[355], "ONLY");
gMC->Gspos("I018", 5,"I047", 0.0, 0.0, -10.95, 0, "ONLY");
gMC->Gspos("I018", 6,"I047", 0.0, 0.0, -18.25, 0, "ONLY");
gMC->Gspos("I024", 2,"I047", 0.0, 0.0, -24.625, idrotm[355], "ONLY");
- dits[1] = I425dits[1];
- dits[2] = (I047dits[2] - 2*I024dits[2] - Z_SDD_lay3[iSDD])/2.;
- gMC->Gsvolu(HVname, "BOX ", idtmed[279], dits, 3);
+ dits[1] = iI425dits[1];
+ dits[2] = (iI047dits[2] - 2*iI024dits[2] - zSDDlay3[iSDD])/2.;
+ gMC->Gsvolu(nameHV, "BOX ", idtmed[279], dits, 3);
- yHV = -I047dits[1] + (2*iSDD+1)*dits[1];
- zHV = I047dits[2] - 2*I024dits[2] - dits[2];
- gMC->Gspos(HVname, 1,"I047", xHV, yHV, zHV, 0, "ONLY");
- gMC->Gspos(HVname, 2,"I047", xHV, yHV, -zHV, 0, "ONLY");
+ yHV = -iI047dits[1] + (2*iSDD+1)*dits[1];
+ zHV = iI047dits[2] - 2*iI024dits[2] - dits[2];
+ gMC->Gspos(nameHV, 1,"I047", xHV, yHV, zHV, 0, "ONLY");
+ gMC->Gspos(nameHV, 2,"I047", xHV, yHV, -zHV, 0, "ONLY");
gMC->Gspos("I425", indI425++,"I047", xI424, yHV, 24.625, 0, "ONLY");
gMC->Gspos("I425", indI425++,"I047", -xI424, yHV, -24.625, 0, "ONLY");
}
gMC->Gspos("I425", indI425++,"I047", xI424, yHV, 24.625, 0, "ONLY");
gMC->Gspos("I425", indI425++,"I047", -xI424, yHV, -24.625, 0, "ONLY");
}
- dits[2] = (I047dits[2] - (2*iSDD+1)*I018dits[2] - I039dits[2])/2.;
- gMC->Gsvolu(LVname, "BOX ", idtmed[280], dits, 3);
- yLV = I018dits[1] - dits[0]*cos30 - dits[1]*sin30;
+ dits[2] = (iI047dits[2] - (2*iSDD+1)*iI018dits[2] - iI039dits[2])/2.;
+ gMC->Gsvolu(nameLV, "BOX ", idtmed[280], dits, 3);
+ yLV = iI018dits[1] - dits[0]*cos30 - dits[1]*sin30;
- fabs(yI050-yLV)*sin30/cos30 +
- (I050dits[1]+(2*iSDD+1)*dits[1])/cos30;
- zLV = I047dits[2] - dits[2];
- gMC->Gspos(LVname, 1,"I047", xLV, yLV, zLV, idrotm[346], "ONLY");
- gMC->Gspos(LVname, 2,"I047", xLV, yLV, -zLV, idrotm[346], "ONLY");
- gMC->Gspos(LVname, 3,"I047", -xLV, yLV, zLV, idrotm[347], "ONLY");
- gMC->Gspos(LVname, 4,"I047", -xLV, yLV, -zLV, idrotm[347], "ONLY");
+ TMath::Abs(yI050-yLV)*sin30/cos30 +
+ (iI050dits[1]+(2*iSDD+1)*dits[1])/cos30;
+ zLV = iI047dits[2] - dits[2];
+ gMC->Gspos(nameLV, 1,"I047", xLV, yLV, zLV, idrotm[346], "ONLY");
+ gMC->Gspos(nameLV, 2,"I047", xLV, yLV, -zLV, idrotm[346], "ONLY");
+ gMC->Gspos(nameLV, 3,"I047", -xLV, yLV, zLV, idrotm[347], "ONLY");
+ gMC->Gspos(nameLV, 4,"I047", -xLV, yLV, -zLV, idrotm[347], "ONLY");
gMC->Gspos("I018",13,"I048", -0.0001, 0.0, -18.25, 0, "ONLY");
gMC->Gspos("I018",14,"I048", -0.0001, 0.0, -25.55, 0, "ONLY");
gMC->Gspos("I024", 4,"I048", -0.0001, 0.0, -31.925, idrotm[355], "ONLY");
gMC->Gspos("I018",13,"I048", -0.0001, 0.0, -18.25, 0, "ONLY");
gMC->Gspos("I018",14,"I048", -0.0001, 0.0, -25.55, 0, "ONLY");
gMC->Gspos("I024", 4,"I048", -0.0001, 0.0, -31.925, idrotm[355], "ONLY");
- dits[1] = I425dits[1];
- dits[2] = (I048dits[2] - 2*I024dits[2] - Z_SDD_lay4[iSDD])/2.;
- gMC->Gsvolu(HVname, "BOX ", idtmed[279], dits, 3);
+ dits[1] = iI425dits[1];
+ dits[2] = (iI048dits[2] - 2*iI024dits[2] - zSDDlay4[iSDD])/2.;
+ gMC->Gsvolu(nameHV, "BOX ", idtmed[279], dits, 3);
- yHV = -I048dits[1] + (2*iSDD+1)*dits[1];
- zHV = I048dits[2] - 2*I024dits[2] - dits[2];
- gMC->Gspos(HVname, 1,"I048", xHV, yHV, zHV, 0, "ONLY");
- gMC->Gspos(HVname, 2,"I048", xHV, yHV, -zHV, 0, "ONLY");
+ yHV = -iI048dits[1] + (2*iSDD+1)*dits[1];
+ zHV = iI048dits[2] - 2*iI024dits[2] - dits[2];
+ gMC->Gspos(nameHV, 1,"I048", xHV, yHV, zHV, 0, "ONLY");
+ gMC->Gspos(nameHV, 2,"I048", xHV, yHV, -zHV, 0, "ONLY");
gMC->Gspos("I425", indI425++,"I048", xI424, yHV, 31.925, 0, "ONLY");
gMC->Gspos("I425", indI425++,"I048", -xI424, yHV, -31.925, 0, "ONLY");
}
gMC->Gspos("I425", indI425++,"I048", xI424, yHV, 31.925, 0, "ONLY");
gMC->Gspos("I425", indI425++,"I048", -xI424, yHV, -31.925, 0, "ONLY");
}
- dits[2] = (I048dits[2] - (2*iSDD+1)*I018dits[2] - I039dits[2])/2.;
- gMC->Gsvolu(LVname, "BOX ", idtmed[280], dits, 3);
- yLV = I018dits[1] - dits[0]*cos30 - dits[1]*sin30;
+ dits[2] = (iI048dits[2] - (2*iSDD+1)*iI018dits[2] - iI039dits[2])/2.;
+ gMC->Gsvolu(nameLV, "BOX ", idtmed[280], dits, 3);
+ yLV = iI018dits[1] - dits[0]*cos30 - dits[1]*sin30;
- fabs(yI050-yLV)*sin30/cos30 +
- (I050dits[1]+(2*iSDD+1)*dits[1])/cos30;
- zLV = I048dits[2] - dits[2];
- gMC->Gspos(LVname, 1,"I048", xLV, yLV, zLV, idrotm[346], "ONLY");
- gMC->Gspos(LVname, 2,"I048", xLV, yLV, -zLV, idrotm[346], "ONLY");
- gMC->Gspos(LVname, 3,"I048", -xLV, yLV, zLV, idrotm[347], "ONLY");
- gMC->Gspos(LVname, 4,"I048", -xLV, yLV, -zLV, idrotm[347], "ONLY");
+ TMath::Abs(yI050-yLV)*sin30/cos30 +
+ (iI050dits[1]+(2*iSDD+1)*dits[1])/cos30;
+ zLV = iI048dits[2] - dits[2];
+ gMC->Gspos(nameLV, 1,"I048", xLV, yLV, zLV, idrotm[346], "ONLY");
+ gMC->Gspos(nameLV, 2,"I048", xLV, yLV, -zLV, idrotm[346], "ONLY");
+ gMC->Gspos(nameLV, 3,"I048", -xLV, yLV, zLV, idrotm[347], "ONLY");
+ gMC->Gspos(nameLV, 4,"I048", -xLV, yLV, -zLV, idrotm[347], "ONLY");
gMC->Gspos("I200",21,"IS02",0.0,0.0,0.0,idrotm[892],"ONLY");
gMC->Gspos("I200",20,"IS02",0.0,0.0,0.0,idrotm[868],"ONLY");
gMC->Gspos("I200",19,"IS02",0.0,0.0,0.0,idrotm[893],"ONLY");
gMC->Gspos("I200",21,"IS02",0.0,0.0,0.0,idrotm[892],"ONLY");
gMC->Gspos("I200",20,"IS02",0.0,0.0,0.0,idrotm[868],"ONLY");
gMC->Gspos("I200",19,"IS02",0.0,0.0,0.0,idrotm[893],"ONLY");
- gMC->Gspos("I098",1,"IS02",0.0,0.0,33.6,0,"ONLY");
- gMC->Gspos("I097",1,"IS02",0.0,0.0,26.6,0,"ONLY");
- gMC->Gspos("I097",2,"IS02",0.0,0.0,-26.6,idrotm[856],"ONLY");
- gMC->Gspos("I098",2,"IS02",0.0,0.0,-33.6,idrotm[856],"ONLY");
+ gMC->Gspos("I098",1,"IS02",0.0,0.0,33.6,0,"MANY");
+ gMC->Gspos("I097",1,"IS02",0.0,0.0,26.6,0,"MANY");
+ gMC->Gspos("I097",2,"IS02",0.0,0.0,-26.6,idrotm[856],"MANY");
+ gMC->Gspos("I098",2,"IS02",0.0,0.0,-33.6,idrotm[856],"MANY");
gMC->Gspos("I202",1,"IS02",12.1,0.0,33.84,0,"ONLY");
gMC->Gspos("I202",6,"IS02",-6.05,-10.4789,33.84,idrotm[930],"ONLY");
gMC->Gspos("I202",5,"IS02",-6.05,10.4789,33.84,idrotm[929],"ONLY");
gMC->Gspos("I202",1,"IS02",12.1,0.0,33.84,0,"ONLY");
gMC->Gspos("I202",6,"IS02",-6.05,-10.4789,33.84,idrotm[930],"ONLY");
gMC->Gspos("I202",5,"IS02",-6.05,10.4789,33.84,idrotm[929],"ONLY");
- gMC->Gspos("IT12",1,"ITSD",0.0,0.0,0.0,0,"ONLY"); // SPD mother volume
- gMC->Gspos("IT34",1,"ITSD",0.0,0.0,0.0,0,"ONLY"); // SDD mother volume
- gMC->Gspos("IT56",1,"ITSD",0.0,0.0,0.0,0,"ONLY"); // SSD mother volume
- gMC->Gspos("IS02",1,"ITSD",0.0,0.0,0.0,0,"ONLY"); // SDD cones/supports
- gMC->Gspos("IS01",1,"ITSD",0.0,0.0,0.0,0,"ONLY"); // SSD cones/supports
+ gMC->Gspos("IT12",1,"ITSD",0.0,0.0,0.0,0,"MANY"); // SPD mother volume
+ gMC->Gspos("IT34",1,"ITSD",0.0,0.0,0.0,0,"MANY"); // SDD mother volume
+ gMC->Gspos("IT56",1,"ITSD",0.0,0.0,0.0,0,"MANY"); // SSD mother volume
+ gMC->Gspos("IS02",1,"ITSD",0.0,0.0,0.0,0,"MANY"); // SDD cones/supports
+ gMC->Gspos("IS01",1,"ITSD",0.0,0.0,0.0,0,"MANY"); // SSD cones/supports
- gMC->Gspos("ISR6", 1, "ALIC", 0., 54., -77., idrotm[199], "ONLY");
- gMC->Gspos("ISR6", 2, "ALIC", 0., 54., 77., idrotm[199], "ONLY");
- gMC->Gspos("ISR6", 3, "ALIC", 0., -54., 77., idrotm[199], "ONLY");
+ gMC->Gspos("ISR6", 1, "ITSV", 0., 54., -77., idrotm[199], "MANY");
+ gMC->Gspos("ISR6", 2, "ITSV", 0., 54., 77., idrotm[199], "MANY");
+ gMC->Gspos("ISR6", 3, "ITSV", 0., -54., 77., idrotm[199], "MANY");
- Z[0] = 1.0; A[0] = 1.00794; // Hydrogen
- Z[1] = 6.0; A[1] = 12.011; // Carbon
- Z[2] = 7.0; A[2] = 14.00674; // Nitrogen
- Z[3] = 8.0; A[3] = 15.9994; // Oxigen
- Z[4] = 14.0; A[4] = 28.0855; // Silicon
- Z[5] = 24.0; A[5] = 51.9961; //Cromium
- Z[6] = 25.0; A[6] = 54.938049; // Manganese
- Z[7] = 26.0; A[7] = 55.845; // Iron
- Z[8] = 28.0; A[8] = 58.6934; // Nickle
- Z[9] = 29.0; A[9] = 63.546; // Copper
- Z[10] = 13.0; A[10] = 26.981539; // Alulminum
- Z[11] = 47.0; A[11] = 107.8682; // Silver
- Z[12] = 27.0; A[12] = 58.9332; // Cobolt
- W[0] = 0.019965;
- W[1] = 0.340961;
- W[2] = 0.041225;
- W[3] = 0.200352;
- W[4] = 0.000386;
- W[5] = 0.001467;
- W[6] = 0.000155;
- W[7] = 0.005113;
- W[8] = 0.000993;
- W[9] = 0.381262;
- W[10] = 0.008121;
- W[11] = 0.000000;
- W[12] = 0.000000;
+ zZ[0] = 1.0; aA[0] = 1.00794; // Hydrogen
+ zZ[1] = 6.0; aA[1] = 12.011; // Carbon
+ zZ[2] = 7.0; aA[2] = 14.00674; // Nitrogen
+ zZ[3] = 8.0; aA[3] = 15.9994; // Oxigen
+ zZ[4] = 14.0; aA[4] = 28.0855; // Silicon
+ zZ[5] = 24.0; aA[5] = 51.9961; //Cromium
+ zZ[6] = 25.0; aA[6] = 54.938049; // Manganese
+ zZ[7] = 26.0; aA[7] = 55.845; // Iron
+ zZ[8] = 28.0; aA[8] = 58.6934; // Nickle
+ zZ[9] = 29.0; aA[9] = 63.546; // Copper
+ zZ[10] = 13.0; aA[10] = 26.981539; // Alulminum
+ zZ[11] = 47.0; aA[11] = 107.8682; // Silver
+ zZ[12] = 27.0; aA[12] = 58.9332; // Cobolt
+ wW[0] = 0.019965;
+ wW[1] = 0.340961;
+ wW[2] = 0.041225;
+ wW[3] = 0.200352;
+ wW[4] = 0.000386;
+ wW[5] = 0.001467;
+ wW[6] = 0.000155;
+ wW[7] = 0.005113;
+ wW[8] = 0.000993;
+ wW[9] = 0.381262;
+ wW[10] = 0.008121;
+ wW[11] = 0.000000;
+ wW[12] = 0.000000;
if(fByThick){// New values seeITS_MatBudget_4B.xls
den = 1.5253276; // g/cm^3 Cell O370
}else{
den = 2.58423412; // g/cm^3 Cell L370
} // end if fByThick
//den = 6161.7/(3671.58978);//g/cm^3 Volume does not exclude holes
if(fByThick){// New values seeITS_MatBudget_4B.xls
den = 1.5253276; // g/cm^3 Cell O370
}else{
den = 2.58423412; // g/cm^3 Cell L370
} // end if fByThick
//den = 6161.7/(3671.58978);//g/cm^3 Volume does not exclude holes
AliMedium(86,"AIRFMDSDD$",86,0,ifield,fieldm,tmaxfdAir,stemaxAir,
deemaxAir,epsilAir,stminAir);
//AliMaterial(87,"AIRFMDSSD$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
// From Pierluigi Barberis calculations of SSD October 2 2002.
AliMedium(86,"AIRFMDSDD$",86,0,ifield,fieldm,tmaxfdAir,stemaxAir,
deemaxAir,epsilAir,stminAir);
//AliMaterial(87,"AIRFMDSSD$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
// From Pierluigi Barberis calculations of SSD October 2 2002.
if(fByThick){// New values seeITS_MatBudget_4B.xls
den = 1.2464275; // g/cm^3 Cell O403
}else{
den = 1.28134409; // g/cm^3 Cell L403
} // end if fByThick
//den = 7666.3/(9753.553259); // volume does not exclude holes
if(fByThick){// New values seeITS_MatBudget_4B.xls
den = 1.2464275; // g/cm^3 Cell O403
}else{
den = 1.28134409; // g/cm^3 Cell L403
} // end if fByThick
//den = 7666.3/(9753.553259); // volume does not exclude holes
AliMedium(87,"AIRFMDSSD$",87,0,ifield,fieldm,tmaxfdAir,stemaxAir,
deemaxAir,epsilAir,stminAir);
//AliMaterial(88,"ITS SANDW CFMDSDD$",0.12011E+02,0.60000E+01,0.41000E+00,0.90868E+02,0.99900E+03);
// From Pierluigi Barberis calculations of 1SDD+Carbon fiber October 2 2002
AliMedium(87,"AIRFMDSSD$",87,0,ifield,fieldm,tmaxfdAir,stemaxAir,
deemaxAir,epsilAir,stminAir);
//AliMaterial(88,"ITS SANDW CFMDSDD$",0.12011E+02,0.60000E+01,0.41000E+00,0.90868E+02,0.99900E+03);
// From Pierluigi Barberis calculations of 1SDD+Carbon fiber October 2 2002
AliMedium(88,"ITS SANDW CFMDSDD$",88,0,ifield,fieldm,tmaxfd,stemax,
deemax,epsil,stmin);
//AliMaterial(89,"ITS SANDW CFMDSSD$",0.12011E+02,0.60000E+01,0.41000E+00,0.90868E+02,0.99900E+03);
// From Pierluigi Barberis calculations of SSD+Carbon fiber October 2 2002.
AliMedium(88,"ITS SANDW CFMDSDD$",88,0,ifield,fieldm,tmaxfd,stemax,
deemax,epsil,stmin);
//AliMaterial(89,"ITS SANDW CFMDSSD$",0.12011E+02,0.60000E+01,0.41000E+00,0.90868E+02,0.99900E+03);
// From Pierluigi Barberis calculations of SSD+Carbon fiber October 2 2002.
AliMedium(89,"ITS SANDW CFMDSSD$",89,0,ifield,fieldm,tmaxfd,stemax,
deemax,epsil,stmin);
//AliMaterial(97,"SPD SERVICES$",0.12011E+02,0.60000E+01,0.41000E+00,0.90868E+02,0.99900E+03);
// From Pierluigi Barberis calculations of 1SPD October 2 2002.
AliMedium(89,"ITS SANDW CFMDSSD$",89,0,ifield,fieldm,tmaxfd,stemax,
deemax,epsil,stmin);
//AliMaterial(97,"SPD SERVICES$",0.12011E+02,0.60000E+01,0.41000E+00,0.90868E+02,0.99900E+03);
// From Pierluigi Barberis calculations of 1SPD October 2 2002.
if(fByThick){// New values seeITS_MatBudget_4B.xls
den = 80.31136576; // g/cm^3 Cell H329
}else{
den = 87.13062; // g/cm^3 Cell G329
} // end if fByThick
//den = 1251.3/(0.05*2.0*TMath::Pi()*(7.75*7.75 - 3.7*3.7)); // g/cm^3
if(fByThick){// New values seeITS_MatBudget_4B.xls
den = 80.31136576; // g/cm^3 Cell H329
}else{
den = 87.13062; // g/cm^3 Cell G329
} // end if fByThick
//den = 1251.3/(0.05*2.0*TMath::Pi()*(7.75*7.75 - 3.7*3.7)); // g/cm^3
AliMedium(97,"SPD SERVICES$",97,0,ifield,fieldm,tmaxfd,stemax,
deemax,epsil,stmin);
AliMedium(97,"SPD SERVICES$",97,0,ifield,fieldm,tmaxfd,stemax,
deemax,epsil,stmin);
- const Int_t nlayers = 6;
- const Int_t ndeep = 9;
- Int_t itsGeomTreeNames[nlayers][ndeep],lnam[20],lnum[20];
- Int_t nlad[nlayers],ndet[nlayers];
+ const Int_t knlayers = 6;
+ const Int_t kndeep = 9;
+ Int_t itsGeomTreeNames[knlayers][kndeep],lnam[20],lnum[20];
+ Int_t nlad[knlayers],ndet[knlayers];
Double_t t[3],r[10];
Float_t par[20],att[20];
Int_t npar,natt,idshape,imat,imed;
AliITSGeant3Geometry *ig = new AliITSGeant3Geometry();
Int_t mod,lay,lad,det,i,j,k;
Double_t t[3],r[10];
Float_t par[20],att[20];
Int_t npar,natt,idshape,imat,imed;
AliITSGeant3Geometry *ig = new AliITSGeant3Geometry();
Int_t mod,lay,lad,det,i,j,k;
{"ALIC","ITSV","ITSD","IT12","I12A","I10A","I103","I101","ITS1"}, // lay=1
{"ALIC","ITSV","ITSD","IT12","I12A","I20A","I1D3","I1D1","ITS2"}, // lay=2
{"ALIC","ITSV","ITSD","IT34","I004","I302","ITS3"," "," "}, // lay=3
{"ALIC","ITSV","ITSD","IT34","I005","I402","ITS4"," "," "}, // lay=4
{"ALIC","ITSV","ITSD","IT56","I565","I562","ITS5"," "," "}, // lay=5
{"ALIC","ITSV","ITSD","IT56","I569","I566","ITS6"," "," "}};// lay=6
{"ALIC","ITSV","ITSD","IT12","I12A","I10A","I103","I101","ITS1"}, // lay=1
{"ALIC","ITSV","ITSD","IT12","I12A","I20A","I1D3","I1D1","ITS2"}, // lay=2
{"ALIC","ITSV","ITSD","IT34","I004","I302","ITS3"," "," "}, // lay=3
{"ALIC","ITSV","ITSD","IT34","I005","I402","ITS4"," "," "}, // lay=4
{"ALIC","ITSV","ITSD","IT56","I565","I562","ITS5"," "," "}, // lay=5
{"ALIC","ITSV","ITSD","IT56","I569","I566","ITS6"," "," "}};// lay=6
- Int_t itsGeomTreeCopysA[nlayers][ndeep]= {{1,1,1,1,10, 2, 4,1,1},// lay=1
+ Int_t itsGeomTreeCopysA[knlayers][kndeep]= {{1,1,1,1,10, 2, 4,1,1},// lay=1
{1,1,1,1,10, 4, 4,1,1},// lay=2
{1,1,1,1,14, 6, 1,0,0},// lay=3
{1,1,1,1,22, 8, 1,0,0},// lay=4
{1,1,1,1,34,22, 1,0,0},// lay=5
{1,1,1,1,38,25, 1,0,0}};//lay=6
{1,1,1,1,10, 4, 4,1,1},// lay=2
{1,1,1,1,14, 6, 1,0,0},// lay=3
{1,1,1,1,22, 8, 1,0,0},// lay=4
{1,1,1,1,34,22, 1,0,0},// lay=5
{1,1,1,1,38,25, 1,0,0}};//lay=6
{"ALIC","ITSV","ITSD","IT12","I12B","I10B","I107","I101","ITS1"}, // lay=1
{"ALIC","ITSV","ITSD","IT12","I12B","I20B","I1D7","I1D1","ITS2"}, // lay=2
{"ALIC","ITSV","ITSD","IT34","I004","I302","ITS3"," "," "}, // lay=3
{"ALIC","ITSV","ITSD","IT34","I005","I402","ITS4"," "," "}, // lay=4
{"ALIC","ITSV","ITSD","IT56","I565","I562","ITS5"," "," "}, // lay=5
{"ALIC","ITSV","ITSD","IT56","I569","I566","ITS6"," "," "}};// lay=6
{"ALIC","ITSV","ITSD","IT12","I12B","I10B","I107","I101","ITS1"}, // lay=1
{"ALIC","ITSV","ITSD","IT12","I12B","I20B","I1D7","I1D1","ITS2"}, // lay=2
{"ALIC","ITSV","ITSD","IT34","I004","I302","ITS3"," "," "}, // lay=3
{"ALIC","ITSV","ITSD","IT34","I005","I402","ITS4"," "," "}, // lay=4
{"ALIC","ITSV","ITSD","IT56","I565","I562","ITS5"," "," "}, // lay=5
{"ALIC","ITSV","ITSD","IT56","I569","I566","ITS6"," "," "}};// lay=6
- Int_t itsGeomTreeCopysB[nlayers][ndeep]= {{1,1,1,1,10, 2, 4,1,1},// lay=1
+ Int_t itsGeomTreeCopysB[knlayers][kndeep]= {{1,1,1,1,10, 2, 4,1,1},// lay=1
{1,1,1,1,10, 4, 4,1,1},// lay=2
{1,1,1,1,14, 6, 1,0,0},// lay=3
{1,1,1,1,22, 8, 1,0,0},// lay=4
{1,1,1,1,34,22, 1,0,0},// lay=5
{1,1,1,1,38,25, 1,0,0}};//lay=6
{1,1,1,1,10, 4, 4,1,1},// lay=2
{1,1,1,1,14, 6, 1,0,0},// lay=3
{1,1,1,1,22, 8, 1,0,0},// lay=4
{1,1,1,1,34,22, 1,0,0},// lay=5
{1,1,1,1,38,25, 1,0,0}};//lay=6
- ig->GetGeometry(ndeep,lnam,lnum,t,r,idshape,npar,natt,
+ ig->GetGeometry(kndeep,lnam,lnum,t,r,idshape,npar,natt,
par,att,imat,imed);
fITSgeom->CreatMatrix(mod,lay,lad,det,kSPD,t,r);
if(!(fITSgeom->IsShapeDefined((Int_t)kSPD)))
par,att,imat,imed);
fITSgeom->CreatMatrix(mod,lay,lad,det,kSPD,t,r);
if(!(fITSgeom->IsShapeDefined((Int_t)kSPD)))