+
+ //--------------------------------------------------------------------
+
+ //
+ // Mother volume (Air) - all volumes will be positioned in it
+ //
+
+ dm[0]=0.;
+ dm[1]=360.;
+ dm[2]=12.;
+
+ //
+
+ dm[3]= -283.7;
+ dm[4]= 66.2;
+ dm[5]= 277.95;
+
+ //
+
+ dm[6]= -255.6;
+ dm[7]= 66.2;
+ dm[8]= 277.95;
+
+ //
+
+ dm[9]= -73.3;
+ dm[10]= 59.0;
+ dm[11]= 277.95;
+
+ //
+
+ dm[12]= -73.3;
+ dm[13]= 56.9;
+ dm[14]= 277.95;
+
+ //
+
+ dm[15]= -72.1;
+ dm[16]= 56.9;
+ dm[17]= 277.95;
+
+ //
+
+ dm[18]= -72.1;
+ dm[19]= 60.65;
+ dm[20]= 277.95;
+
+ //
+
+ dm[21]= 72.1;
+ dm[22]= 60.65;
+ dm[23]= 277.95;
+
+ //
+
+ dm[24]= 72.1;
+ dm[25]= 56.9;
+ dm[26]= 277.95;
+
+ //
+
+ dm[27]= 73.3;
+ dm[28]= 56.9;
+ dm[29]= 277.95;
+
+ //
+
+ dm[30]= 73.3;
+ dm[31]= 60.65;
+ dm[32]= 277.95;
+
+ //
+
+ dm[33]= 250.4;
+ dm[34]= 66.0;
+ dm[35]= 277.95;
+
+ //
+
+ dm[36]= 283.7;
+ dm[37]= 66.0;
+ dm[38]= 277.95;
+
+
+ gMC->Gsvolu("TPC ","PCON",idtmed[0],dm,39);
+
+
+ //-------------------------------------------------------------------
+ // Tpc Outer INsulator (CO2)
+ //-------------------------------------------------------------------
+
+ dm[0]= 0.;
+ dm[1]= 360.;
+ dm[2]= 6.;
+
+ //
+
+ dm[3]= -253.6;
+ dm[4]= 258.;
+ dm[5]= 266.65;
+
+ //
+
+ dm[6]= -253.;
+ dm[7]= 258.;
+ dm[8]= 266.65;
+
+ dm[9]= -253.;
+ dm[10]= 258.;
+ dm[11]= 277.97;
+
+ dm[12]= 253.6;
+ dm[13]= 258.;
+ dm[14]= 277.97;
+
+ //
+
+ dm[15]= 253.6;
+ dm[16]= 265.2;
+ dm[17]= 277.95;
+
+ //
+
+ dm[18]= 255.6;
+ dm[19]= 265.2;
+ dm[20]= 277.95;
+
+
+ gMC->Gsvolu("TOIN","PCON",idtmed[3],dm,21);
+
+ //---------------------------------------------------------------
+ // shreds (G10) - TPC Rings
+ //---------------------------------------------------------------
+
+ gMC->Gsvolu("TPCR","TUBE",idtmed[12],dm,0);
+
+ dm[0]= 258.;
+ dm[1]= 266.65;
+ dm[2]= 0.3;
+
+ gMC->Gsposp("TPCR",1,"TOIN",0.,0.,-253.3,0,"ONLY",dm,3); // left bottom
+
+ //
+
+ dm[0]= 258.;
+ dm[1]= 270.9;
+ dm[2]= 0.3;
+
+ gMC->Gsposp("TPCR",2,"TOIN",0.,0.,253.3,0,"ONLY",dm,3); // right
+
+ //
+
+ dm[0]= 272.2;
+ dm[1]= 277.95;
+ dm[2]= 0.3;
+
+ gMC->Gsposp("TPCR",3,"TOIN",0.,0.,-250.7,0,"ONLY",dm,3); // left top
+
+ //----------------------------------------------------------------
+ // Tpc Outer Contaiment Vessel
+ // mother volume - Al, daughters - composite (sandwich)
+ //----------------------------------------------------------------
+
+ dm[0]= 0.;
+ dm[1]= 360.;
+ dm[2]=5.;
+
+ //
+
+ dm[3]= -250.4;
+ dm[4]= 272.2;
+ dm[5]= 277.95;
+
+ //
+
+ dm[6]= -248.4;
+ dm[7]= 272.2;
+ dm[8]= 277.95;
+
+ //
+
+ dm[9]= 253.6;
+ dm[10]= 272.2;
+ dm[11]= 277.95;
+
+ //
+
+ dm[12]= 253.6;
+ dm[13]= 265.2;
+ dm[14]= 277.95;
+
+ //
+
+ dm[15]= 255.6;
+ dm[16]= 265.2;
+ dm[17]= 277.95;
+
+ gMC->Gsvolu("TOCV","PCON",idtmed[4],dm,18);
+
+ // Daughter volumes
+
+ // Tpc SAndwich 1 - Al
+
+ dm[0]= 274.81;
+ dm[1]= 277.95;
+ dm[2]= 251.7;
+
+ gMC->Gsvolu("TSA1","TUBE",idtmed[4],dm,3);
+
+ // Tpc SAndwich 2 - Tedlar
+
+ dm[0] += 5.e-3;
+ dm[1] -= 5.e-3;
+
+ gMC->Gsvolu("TSA2","TUBE",idtmed[9],dm,3);
+
+ // Tpc SAndwich 3 - Kevlar
+
+ dm[0] += 5e-3;
+ dm[1] -= 5.e-3;
+
+ gMC->Gsvolu("TSA3","TUBE",idtmed[5],dm,3);
+
+ // Tpc SAndwich 4 - NOMEX honeycomb
+
+ dm[0] += 0.06;
+ dm[1] -= 0.06;
+
+ gMC->Gsvolu("TSA4","TUBE",idtmed[5],dm,3);
+
+ // 4->3->2->1->TOCV
+
+ gMC->Gspos("TSA4",1,"TSA3",0.,0.,0.,0,"ONLY");
+ gMC->Gspos("TSA3",1,"TSA2",0.,0.,0.,0,"ONLY");
+ gMC->Gspos("TSA2",1,"TSA1",0.,0.,0.,0,"ONLY");
+
+ gMC->Gspos("TSA1",1,"TOCV",0.,0.,2.6,0,"ONLY");
+
+ // TCOV-> TOIN
+
+ gMC->Gspos("TOCV",1,"TOIN",0.,0.,0.,0,"ONLY");
+
+ //-------------------------------------------------------
+ // Tpc Outer Field Cage
+ // mother volume - Al, daughters - composite (sandwich)
+ //-------------------------------------------------------
+
+ dm[0]=0.;
+ dm[1]=360.;
+ dm[2]=6.;
+
+ dm[3]= -253.;
+ dm[4]= 258.;
+ dm[5]= 277.95;
+
+ //
+
+ dm[6]= -251.;
+ dm[7]= 258.;
+ dm[8]= 277.95;
+
+ //
+
+ dm[9]= -251.;
+ dm[10]= 258.;
+ dm[11]= 260.05;
+
+ //
+
+ dm[12]= 251.;
+ dm[13]= 258.;
+ dm[14]= 260.05;
+
+ //
+
+ dm[15]= 251.;
+ dm[16]= 258.;
+ dm[17]= 260.05;
+
+ //
+
+ dm[18]= 253.;
+ dm[19]= 258.;
+ dm[20]= 270.9;
+
+ gMC->Gsvolu("TOFC","PCON",idtmed[4],dm,21);
+
+ // Daughter volumes
+
+ // Tpc SAndwich 5 - Al
+
+ dm[0]= 258.;
+ dm[1]= 260.05;
+ dm[2]= 251.7;
+
+ gMC->Gsvolu("TSA5","TUBE",idtmed[4],dm,3);
+
+ // Tpc SAndwich 6 - Tedlar
+
+ dm[0] += 5.e-3;
+ dm[1] -= 5.e-3;
+
+ gMC->Gsvolu("TSA6","TUBE",idtmed[9],dm,3);
+
+ // Tpc SAndwich 7 - Kevlar
+
+ dm[0] += 5.e-3;
+ dm[1] -= 5.e-3;
+
+ gMC->Gsvolu("TSA7","TUBE",idtmed[5],dm,3);
+
+ // Tpc SAndwich 8 - NOMEX
+
+ dm[0] += 0.02;
+ dm[1] -= 0.02;
+
+ gMC->Gsvolu("TSA8","TUBE",idtmed[6],dm,3);
+
+ // 8->7->6->5->TOFC
+
+ gMC->Gspos("TSA8",1,"TSA7",0.,0.,0.,0,"ONLY");
+ gMC->Gspos("TSA7",1,"TSA6",0.,0.,0.,0,"ONLY");
+ gMC->Gspos("TSA6",1,"TSA5",0.,0.,0.,0,"ONLY");
+
+ gMC->Gspos("TSA5",1,"TOFC",0.,0.,0.,0,"ONLY");
+
+ // TOFC->TOIN
+
+ gMC->Gspos("TOFC",1,"TOIN",0.,0.,0.,0,"ONLY");
+
+ // TOIN->TPC
+
+ gMC->Gspos("TOIN",1,"TPC ",0.,0.,0.,0,"ONLY");
+
+ //--------------------------------------------------------------------
+ // Tpc Inner INsulator (CO2)
+ //--------------------------------------------------------------------
+
+
+ dm[0]=0.;
+ dm[1]= 360.;
+ dm[2]= 15.;
+
+ //
+
+ dm[3]= -255.6;
+ dm[4]= 66.2;
+ dm[5]= 74.8;
+
+ //
+
+ Float_t tanL = (66.2-59.0)/(255.6-73.3); // tangent of the left cone part
+
+ dm[6]= -253.6;
+ dm[7]= 59.0+ (253.6-73.3)*tanL;
+ dm[8]= 74.8;
+
+ //
+
+ dm[9]= -253.6;
+ dm[10]= dm[7];
+ dm[11]= 79.2;
+
+ //
+
+ dm[12]= -73.3;
+ dm[13]= 59.0;
+ dm[14]= 79.2;
+
+ //
+
+ dm[15]= -73.3;
+ dm[16]= 56.9;
+ dm[17]= 79.2;
+
+ //
+
+ dm[18]= -72.1;
+ dm[19]= 59.6;
+ dm[20]= 79.2;
+
+ //
+
+ dm[21]= -72.1;
+ dm[22]= 60.65;
+ dm[23]= 79.2;
+
+ //
+
+ dm[24]= 72.1;
+ dm[25]= 60.65;
+ dm[26]= 79.2;
+
+ //
+
+ dm[27]= 72.1;
+ dm[28]= 59.6;
+ dm[29]= 79.2;
+
+ //
+
+ dm[30]= 73.3;
+ dm[31]= 56.9;
+ dm[32]= 79.2;
+
+ //
+
+ dm[33]= 73.3;
+ dm[34]= 59.0;
+ dm[35]= 79.2;
+
+ //
+
+ dm[36]= 250.4;
+ dm[37]= 66.0;
+ dm[38]= 79.2;
+
+ //
+
+ dm[39]= 253.0;
+ dm[40]= 66.0;
+ dm[41]= 79.2;
+
+ //
+
+ dm[42]= 253.0;
+ dm[43]= 75.3;
+ dm[44]= 79.2;
+
+ //
+
+ dm[45]= 253.6;
+ dm[46]= 75.3;
+ dm[47]= 79.2;
+
+ gMC->Gsvolu("TIIN","PCON",idtmed[3],dm,48);
+
+
+ //--------------------------------------------------------------------
+ // Tpc Inner Containment vessel, Left part
+ // mother volume - Al, daughter - composite (sandwich)
+ //--------------------------------------------------------------------
+
+ dm[0]= 0.;
+ dm[1]= 360.;
+ dm[2]= 8.;
+
+ //
+
+ dm[3]= -255.6;
+ dm[4]= 66.2;
+ dm[5]= 74.8;
+
+ //
+
+ Float_t cosL = 1./TMath::Sqrt(1.+tanL*tanL);
+ Float_t sandThick = 2.14; // cone composite thickness
+
+
+ //
+
+ dm[6]= -253.6;
+ dm[7]= 59.0 + (253.6-73.3)*tanL;
+ dm[8]= 74.8;
+
+ //
+
+ dm[9]= -253.6;
+ dm[10]= dm[7];
+ dm[11]= dm[7]+sandThick/cosL;
+
+ //
+
+ dm[12]= -75.6;
+ dm[13]= 59.0+(75.6-73.3)*tanL;
+ dm[14]= dm[13]+sandThick/cosL;
+
+ //
+
+ dm[15]= -75.6;
+ dm[16]= dm[13];
+ dm[17]= 60.65;
+
+ //
+
+ dm[18]= -73.3;
+ dm[19]= 59.0;
+ dm[20]= 60.65;
+
+ //
+
+ dm[21]= -73.3;
+ dm[22]= 56.9;
+ dm[23]= 60.65;
+
+ //
+
+ dm[24]= -72.1;
+ dm[25]= 56.9;
+ dm[26]= 60.65;
+
+ gMC->Gsvolu("TICL","PCON",idtmed[4],dm,27);
+
+ // Daughter volumes
+
+ // Tpc SAndwich 9 - Al
+
+ dm[0]= 0.;
+ dm[1]= 360.;
+ dm[2]= 2.;
+
+ //
+
+ dm[3]= - 254.3;
+ dm[4]= 59.0+(254.3-73.3)*tanL;
+ dm[5]= dm[4]+sandThick/cosL;
+
+ //
+
+ dm[6]= -78.3;
+ dm[7]= 59.0+(78.3-73.3)*tanL;
+ dm[8]= dm[7]+sandThick/cosL;
+
+ //
+
+ gMC->Gsvolu("TSA9","PCON",idtmed[4],dm,9);
+
+ // Tpc SAndwich 10 - Tedlar
+
+ dm[4]+= 5.e-3/cosL;
+ dm[5]-= 5.e-3/cosL;
+
+ //
+
+ dm[7]+= 5.e-3/cosL;
+ dm[8]+= 5.e-3/cosL;
+
+ gMC->Gsvolu("TS10","PCON",idtmed[9],dm,9);
+
+ // Tpc SAndwich 11 - Kevlar
+
+ dm[4]+= 5.e-3/cosL;
+ dm[5]-= 5.e-3/cosL;
+
+ //
+
+ dm[7]+= 5.e-3/cosL;
+ dm[8]+= 5.e-3/cosL;
+
+ gMC->Gsvolu("TS11","PCON",idtmed[5],dm,9);
+
+ // Tpc SAndwich 12 - NOMEX
+
+ dm[4]+= 0.06/cosL;
+ dm[5]-= 0.06/cosL;
+
+ //
+
+ dm[7]+= 0.06/cosL;
+ dm[8]+= 0.06/cosL;
+
+ gMC->Gsvolu("TS12","PCON",idtmed[6],dm,9);
+
+ // 12->11->10->9
+
+ gMC->Gspos("TS12",1,"TS11",0.,0.,0.,0,"ONLY");
+ gMC->Gspos("TS11",1,"TS10",0.,0.,0.,0,"ONLY");
+ gMC->Gspos("TS10",1,"TSA9",0.,0.,0.,0,"ONLY");
+
+ // TSA9->TICL
+
+ gMC->Gspos("TSA9",1,"TICL",0.,0.,0.,0,"ONLY");
+
+ //--------------------------------------------------------------------
+ // Tpc Inner Containment vessel, Right part
+ // mother volume - Al, daughter - composite (sandwich)
+ //--------------------------------------------------------------------
+
+ dm[0]= 0.;
+ dm[1]= 360.;
+ dm[2]=8.;
+
+ //
+
+ dm[3]= 72.1;
+ dm[4]= 56.9;
+ dm[5]= 60.65;
+
+ //
+
+ dm[6]= 73.3;
+ dm[7]= 56.9;
+ dm[8]= 60.65;
+
+ //
+
+ dm[9]= 73.3;
+ dm[10]= 59.0;
+ dm[11]= 60.65;
+
+ //
+
+ Float_t tanR = (66.0-59.0)/(250.5-73.3); // to avoid accuracy problems
+ Float_t cosR = 1./TMath::Sqrt(1.+tanR*tanR); //as above
+
+ //
+
+ dm[12]= 75.6;
+ dm[13]= 59.0+(75.6-73.3)*tanR;
+ dm[14]= 60.65;
+
+ //
+
+ dm[15]= 75.6;
+ dm[16]= dm[13];
+ dm[17]= dm[16]+sandThick/cosR;
+
+ //
+
+ dm[18]= 248.4;
+ dm[19]= 59.0+(248.4-73.3)*tanR;
+ dm[20]= dm[19]+sandThick/cosR;
+
+ //
+
+ dm[21]= 248.4;
+ dm[22]= dm[19];
+ dm[23]= 70.2;
+
+ //
+
+ dm[24]= 250.4;
+ dm[25]= 66.0;
+ dm[26]= 70.2;
+
+ gMC->Gsvolu("TICR","PCON",idtmed[4],dm,27);
+
+
+
+ // Daughter volumes
+
+ // Tpc SAndwich 13 - Al
+
+ dm[0]= 0.;
+ dm[1]= 360.;
+ dm[2]= 2.;
+
+ //
+
+ dm[3]= 78.3;
+ dm[4]= 59.0+(78.3-73.3)*tanR;
+ dm[5]= dm[4]+sandThick/cosR;
+
+ //
+
+ dm[6]= 249.1;
+ dm[7]= 59.0+(249.1-73.3)*tanR;
+ dm[8]= dm[7]+sandThick/cosR;
+
+ //
+
+ gMC->Gsvolu("TS13","PCON",idtmed[4],dm,9);
+
+ // Tpc SAndwich 14 - Tedlar
+
+ dm[4]+= 5.e-3/cosR;
+ dm[5]-= 5.e-3/cosR;
+
+ //
+
+ dm[7]+= 5.e-3/cosR;
+ dm[8]+= 5.e-3/cosR;
+
+ gMC->Gsvolu("TS14","PCON",idtmed[9],dm,9);
+
+ // Tpc SAndwich 15 - Kevlar
+
+ dm[4]+= 5.e-3/cosR;
+ dm[5]-= 5.e-3/cosR;
+
+ //
+
+ dm[7]+= 5.e-3/cosR;
+ dm[8]+= 5.e-3/cosR;
+
+ gMC->Gsvolu("TS15","PCON",idtmed[5],dm,9);
+
+ // Tpc SAndwich 16 - NOMEX
+
+ dm[4]+= 0.06/cosR;
+ dm[5]-= 0.06/cosR;
+
+ //
+
+ dm[7]+= 0.06/cosR;
+ dm[8]+= 0.06/cosR;
+
+ gMC->Gsvolu("TS16","PCON",idtmed[6],dm,9);
+
+ // 16->15->14->13
+
+ gMC->Gspos("TS16",1,"TS15",0.,0.,0.,0,"ONLY");
+ gMC->Gspos("TS15",1,"TS14",0.,0.,0.,0,"ONLY");
+ gMC->Gspos("TS14",1,"TS13",0.,0.,0.,0,"ONLY");
+
+ // TS12->TICR
+
+ gMC->Gspos("TS13",1,"TICR",0.,0.,0.,0,"ONLY");
+
+ //------------------------------------------------------
+ // Tpc Inner Field Cage
+ // mother volume - Al, daughters - composite (sandwich)
+ //------------------------------------------------------
+
+ dm[0]= 0.;
+ dm[1]= 360.;
+ dm[2]=6.;
+
+ //
+
+ dm[3]= -253.0;
+ dm[4]= 70.7;
+ dm[5]= 79.2;
+
+ //
+
+ dm[6]= -251.0;
+ dm[7]= 70.7;
+ dm[8]= 79.2;
+
+ //
+
+ dm[9]= -251.0;
+ dm[10]= 77.15;
+ dm[11]= 79.2;
+
+ //