Allowed array of index for xtru

Hi everybody

The error that root shows when using xtru is:
Error: Array index out of range xvert[51] -> [51] valid upto xvert[49]

So, what should I do if I need more than 50 index in xtru?

Thank you for your time

Could you post the shortest possible RUNNING script reproducing the problem?

Rene

Here is the extract of the code that has the problem:

// Shape: ITS SPD Hole in Carbon fiber support End plate type: TGeoXtru
nz = 2;
nvert = 96;
TGeoXtru *xtru = new TGeoXtru(nz);
xtru->SetName(“ITS SPD Hole in Carbon fiber support End plate”);
xvert[0] = 0.862600; yvert[0] = 0.000000;
xvert[1] = 0.857670; yvert[1] = 0.047739;
xvert[2] = 0.843088; yvert[2] = 0.093464;
xvert[3] = 0.819469; yvert[3] = 0.135243;
xvert[4] = 0.787810; yvert[4] = 0.171313;
xvert[5] = 0.749448; yvert[5] = 0.200153;
xvert[6] = 0.706002; yvert[6] = 0.220544;
xvert[7] = 0.659306; yvert[7] = 0.231626;
xvert[8] = 0.611331; yvert[8] = 0.232931;
xvert[9] = 0.564101; yvert[9] = 0.224404;
xvert[10] = 0.527118; yvert[10] = 0.216377;
xvert[11] = 0.507007; yvert[11] = 0.260031;
xvert[12] = 0.483288; yvert[12] = 0.301835;
xvert[13] = 0.456131; yvert[13] = 0.341491;
xvert[14] = 0.425729; yvert[14] = 0.378718;
xvert[15] = 0.392297; yvert[15] = 0.413250;
xvert[16] = 0.356074; yvert[16] = 0.444841;
xvert[17] = 0.317317; yvert[17] = 0.473267;
xvert[18] = 0.276303; yvert[18] = 0.498326;
xvert[19] = 0.233322; yvert[19] = 0.519839;
xvert[20] = 0.188682; yvert[20] = 0.537653;
xvert[21] = 0.142699; yvert[21] = 0.551642;
xvert[22] = 0.095700; yvert[22] = 0.561706;
xvert[23] = 0.048021; yvert[23] = 0.567773;
xvert[24] = -0.000000; yvert[24] = 0.569800;
xvert[25] = -0.048021; yvert[25] = 0.567773;
xvert[26] = -0.095700; yvert[26] = 0.561706;
xvert[27] = -0.142699; yvert[27] = 0.551642;
xvert[28] = -0.188682; yvert[28] = 0.537653;
xvert[29] = -0.233322; yvert[29] = 0.519839;
xvert[30] = -0.276303; yvert[30] = 0.498326;
xvert[31] = -0.317317; yvert[31] = 0.473267;
xvert[32] = -0.356074; yvert[32] = 0.444841;
xvert[33] = -0.392297; yvert[33] = 0.413250;
xvert[34] = -0.425729; yvert[34] = 0.378718;
xvert[35] = -0.456131; yvert[35] = 0.341491;
xvert[36] = -0.483288; yvert[36] = 0.301835;
xvert[37] = -0.507007; yvert[37] = 0.260031;
xvert[38] = -0.527118; yvert[38] = 0.216377;
xvert[39] = -0.564101; yvert[39] = 0.224404;
xvert[40] = -0.611331; yvert[40] = 0.232931;
xvert[41] = -0.659306; yvert[41] = 0.231626;
xvert[42] = -0.706002; yvert[42] = 0.220544;
xvert[43] = -0.749448; yvert[43] = 0.200153;
xvert[44] = -0.787810; yvert[44] = 0.171313;
xvert[45] = -0.819469; yvert[45] = 0.135243;
xvert[46] = -0.843088; yvert[46] = 0.093464;
xvert[47] = -0.857670; yvert[47] = 0.047739;
xvert[48] = -0.862600; yvert[48] = -0.000000;
xvert[49] = -0.857670; yvert[49] = -0.047739;
xvert[50] = -0.843088; yvert[50] = -0.093464;
xvert[51] = -0.819469; yvert[51] = -0.135243;
xvert[52] = -0.787810; yvert[52] = -0.171313;
xvert[53] = -0.749448; yvert[53] = -0.200153;
xvert[54] = -0.706002; yvert[54] = -0.220544;
xvert[55] = -0.659306; yvert[55] = -0.231626;
xvert[56] = -0.611331; yvert[56] = -0.232931;
xvert[57] = -0.564101; yvert[57] = -0.224404;
xvert[58] = -0.527118; yvert[58] = -0.216377;
xvert[59] = -0.507007; yvert[59] = -0.260031;
xvert[60] = -0.483288; yvert[60] = -0.301835;
xvert[61] = -0.456131; yvert[61] = -0.341491;
xvert[62] = -0.425729; yvert[62] = -0.378718;
xvert[63] = -0.392297; yvert[63] = -0.413250;
xvert[64] = -0.356074; yvert[64] = -0.444841;
xvert[65] = -0.317317; yvert[65] = -0.473267;
xvert[66] = -0.276303; yvert[66] = -0.498326;
xvert[67] = -0.233322; yvert[67] = -0.519839;
xvert[68] = -0.188682; yvert[68] = -0.537653;
xvert[69] = -0.142699; yvert[69] = -0.551642;
xvert[70] = -0.095700; yvert[70] = -0.561706;
xvert[71] = -0.048021; yvert[71] = -0.567773;
xvert[72] = -0.000000; yvert[72] = -0.569800;
xvert[73] = 0.048021; yvert[73] = -0.567773;
xvert[74] = 0.095700; yvert[74] = -0.561706;
xvert[75] = 0.142699; yvert[75] = -0.551642;
xvert[76] = 0.188682; yvert[76] = -0.537653;
xvert[77] = 0.233322; yvert[77] = -0.519839;
xvert[78] = 0.276303; yvert[78] = -0.498326;
xvert[79] = 0.317317; yvert[79] = -0.473267;
xvert[80] = 0.356074; yvert[80] = -0.444841;
xvert[81] = 0.392297; yvert[81] = -0.413250;
xvert[82] = 0.425729; yvert[82] = -0.378718;
xvert[83] = 0.456131; yvert[83] = -0.341491;
xvert[84] = 0.483288; yvert[84] = -0.301835;
xvert[85] = 0.507007; yvert[85] = -0.260031;
xvert[86] = 0.527118; yvert[86] = -0.216377;
xvert[87] = 0.564101; yvert[87] = -0.224404;
xvert[88] = 0.611331; yvert[88] = -0.232931;
xvert[89] = 0.659306; yvert[89] = -0.231626;
xvert[90] = 0.706002; yvert[90] = -0.220544;
xvert[91] = 0.749448; yvert[91] = -0.200153;
xvert[92] = 0.787810; yvert[92] = -0.171313;
xvert[93] = 0.819469; yvert[93] = -0.135243;
xvert[94] = 0.843088; yvert[94] = -0.093464;
xvert[95] = 0.857670; yvert[95] = -0.047739;
xtru->DefinePolygon(nvert,xvert,yvert);
zsect = 27.940000;
x0 = 0.000000;
y0 = 0.000000;
scale0 = 1.000000;
xtru->DefineSection(0,zsect,x0,y0,scale0);
zsect = 28.000000;
x0 = 0.000000;
y0 = 0.000000;
scale0 = 1.000000;
xtru->DefineSection(1,zsect,x0,y0,scale0);
TGeoShape *pITS SPD Hole in Carbon fiber support End plate_739 = xtru;

And when I try to execute it, I get the following message:
Error: Array index out of range xvert[51] -> [51] valid upto xvert[49]

Thank you very much for your help

Hi,

In your example I am not seeing your declaration of xvert.

[quote]Error: Array index out of range xvert[51] -> [51] valid upto xvert[49] [/quote]This usually means that your code look like:double xvert[50];. If that is the case you need to increase ‘50’ to a number high enough to hold all your data.

cheers,
Philippe.

Thank you very much!!! That was the problem!!!