7 #include "TPolyMarker3D.h"
8 #include "TPolyLine3D.h"
9 #include "TControlBar.h"
12 Int_t openFile(Char_t *name);
13 void drawControlPanel(Int_t tracks, Int_t found, Int_t unused);
17 void showFoundCluster(Bool_t clusters);
18 void showUnusedCluster(Bool_t clusters);
19 void showTracks(Bool_t tracks);
20 void createDependencies();
21 void toggleFoundClusterVisibility();
22 void toggleUnusedClusterVisibility();
23 void toggleTrackVisibility();
24 void toggleAxisVisibility();
25 void toggleFrameVisibility();
26 void toggleDeadAreaVisibility();
27 void togglePadVisibility();
30 void measurementsOn();
31 void measurementsOff();
32 void setFrameVisibility();
33 void setPadVisibility();
34 void setDeadAreaVisibility();
36 void defineDefaults();
37 void toggleFrameDensity();
38 void setFrameDensity();
40 void show(Int_t s, Bool_t erase = kTRUE);
46 void generateAxis(Float_t arrowSize);
51 TTUBE *ftpc1_out, *ftpc2_out, *ftpc1_in, *ftpc2_in;
52 TTUBS *dead_seg1, *dead_seg2, *dead_seg3, *dead_seg4, *dead_seg5, *dead_seg6;
53 TTUBS *padrow1, *padrow2, *padrow3, *padrow4, *padrow5, *padrow6;
54 TNode *node0, *node1, *node2, *node01_out, *node01_in, *node02_out, *node02_in, *node1_out, *node1_in, *node2_out, *node2_in;
55 TNode *node01_seg1, *node01_seg2, *node01_seg3, *node01_seg4, *node01_seg5, *node01_seg6;
56 TNode *node02_seg1, *node02_seg2, *node02_seg3, *node02_seg4, *node02_seg5, *node02_seg6;
57 TNode *node1_seg1, *node1_seg2, *node1_seg3, *node1_seg4, *node1_seg5, *node1_seg6;
58 TNode *node2_seg1, *node2_seg2, *node2_seg3, *node2_seg4, *node2_seg5, *node2_seg6;
59 TNode *node01_pad01, *node01_pad11, *node01_pad21, *node01_pad31, *node01_pad41, *node01_pad51, *node01_pad61, *node01_pad71, *node01_pad81, *node01_pad91;
60 TNode *node01_pad02, *node01_pad12, *node01_pad22, *node01_pad32, *node01_pad42, *node01_pad52, *node01_pad62, *node01_pad72, *node01_pad82, *node01_pad92;
61 TNode *node01_pad03, *node01_pad13, *node01_pad23, *node01_pad33, *node01_pad43, *node01_pad53, *node01_pad63, *node01_pad73, *node01_pad83, *node01_pad93;
62 TNode *node01_pad04, *node01_pad14, *node01_pad24, *node01_pad34, *node01_pad44, *node01_pad54, *node01_pad64, *node01_pad74, *node01_pad84, *node01_pad94;
63 TNode *node01_pad05, *node01_pad15, *node01_pad25, *node01_pad35, *node01_pad45, *node01_pad55, *node01_pad65, *node01_pad75, *node01_pad85, *node01_pad95;
64 TNode *node01_pad06, *node01_pad16, *node01_pad26, *node01_pad36, *node01_pad46, *node01_pad56, *node01_pad66, *node01_pad76, *node01_pad86, *node01_pad96;
65 TNode *node02_pad01, *node02_pad11, *node02_pad21, *node02_pad31, *node02_pad41, *node02_pad51, *node02_pad61, *node02_pad71, *node02_pad81, *node02_pad91;
66 TNode *node02_pad02, *node02_pad12, *node02_pad22, *node02_pad32, *node02_pad42, *node02_pad52, *node02_pad62, *node02_pad72, *node02_pad82, *node02_pad92;
67 TNode *node02_pad03, *node02_pad13, *node02_pad23, *node02_pad33, *node02_pad43, *node02_pad53, *node02_pad63, *node02_pad73, *node02_pad83, *node02_pad93;
68 TNode *node02_pad04, *node02_pad14, *node02_pad24, *node02_pad34, *node02_pad44, *node02_pad54, *node02_pad64, *node02_pad74, *node02_pad84, *node02_pad94;
69 TNode *node02_pad05, *node02_pad15, *node02_pad25, *node02_pad35, *node02_pad45, *node02_pad55, *node02_pad65, *node02_pad75, *node02_pad85, *node02_pad95;
70 TNode *node02_pad06, *node02_pad16, *node02_pad26, *node02_pad36, *node02_pad46, *node02_pad56, *node02_pad66, *node02_pad76, *node02_pad86, *node02_pad96;
71 TNode *node1_pad01, *node1_pad11, *node1_pad21, *node1_pad31, *node1_pad41, *node1_pad51, *node1_pad61, *node1_pad71, *node1_pad81, *node1_pad91;
72 TNode *node1_pad02, *node1_pad12, *node1_pad22, *node1_pad32, *node1_pad42, *node1_pad52, *node1_pad62, *node1_pad72, *node1_pad82, *node1_pad92;
73 TNode *node1_pad03, *node1_pad13, *node1_pad23, *node1_pad33, *node1_pad43, *node1_pad53, *node1_pad63, *node1_pad73, *node1_pad83, *node1_pad93;
74 TNode *node1_pad04, *node1_pad14, *node1_pad24, *node1_pad34, *node1_pad44, *node1_pad54, *node1_pad64, *node1_pad74, *node1_pad84, *node1_pad94;
75 TNode *node1_pad05, *node1_pad15, *node1_pad25, *node1_pad35, *node1_pad45, *node1_pad55, *node1_pad65, *node1_pad75, *node1_pad85, *node1_pad95;
76 TNode *node1_pad06, *node1_pad16, *node1_pad26, *node1_pad36, *node1_pad46, *node1_pad56, *node1_pad66, *node1_pad76, *node1_pad86, *node1_pad96;
77 TNode *node2_pad01, *node2_pad11, *node2_pad21, *node2_pad31, *node2_pad41, *node2_pad51, *node2_pad61, *node2_pad71, *node2_pad81, *node2_pad91;
78 TNode *node2_pad02, *node2_pad12, *node2_pad22, *node2_pad32, *node2_pad42, *node2_pad52, *node2_pad62, *node2_pad72, *node2_pad82, *node2_pad92;
79 TNode *node2_pad03, *node2_pad13, *node2_pad23, *node2_pad33, *node2_pad43, *node2_pad53, *node2_pad63, *node2_pad73, *node2_pad83, *node2_pad93;
80 TNode *node2_pad04, *node2_pad14, *node2_pad24, *node2_pad34, *node2_pad44, *node2_pad54, *node2_pad64, *node2_pad74, *node2_pad84, *node2_pad94;
81 TNode *node2_pad05, *node2_pad15, *node2_pad25, *node2_pad35, *node2_pad45, *node2_pad55, *node2_pad65, *node2_pad75, *node2_pad85, *node2_pad95;
82 TNode *node2_pad06, *node2_pad16, *node2_pad26, *node2_pad36, *node2_pad46, *node2_pad56, *node2_pad66, *node2_pad76, *node2_pad86, *node2_pad96;
84 Int_t side, def_side = 1;
85 Bool_t axis, def_axis = kTRUE;
86 Bool_t pads, def_pads = kFALSE;
87 Bool_t frame_on, def_frame_on = kTRUE;
88 Bool_t dead_area, def_dead_area = kFALSE;
89 Bool_t divisions, def_divisions = kFALSE;
92 Bool_t foundclusters, def_foundclusters = kTRUE;
93 Bool_t unusedclusters, def_unusedclusters = kTRUE;
94 Bool_t tracks, def_tracks = kTRUE;
100 TPolyLine3D *lx[3], *ly[3], *lz[3];
103 Int_t FtpcDisplay(Char_t *filename = 0)
108 if (openFile(filename) == 0) {
111 canvas =
new TCanvas(
"canvas",
"3D views of FTPC", 300, 100);
115 origin =
new TBRIK(
"origin",
"origin",
"void", 0.1, 0.1, 0.1);
118 node0 =
new TNode(
"node0",
"node0",
"origin");
119 node1 =
new TNode(
"node1",
"node1",
"origin");
120 node2 =
new TNode(
"node2",
"node2",
"origin");
126 drawControlPanel(tr, fo, un);
143 frame_on = def_frame_on;
144 dead_area = def_dead_area;
146 divisions = def_divisions;
149 unusedclusters = def_unusedclusters;
150 foundclusters = def_foundclusters;
155 void defineDefaults() {
160 def_frame_on = frame_on;
161 def_dead_area = dead_area;
163 def_divisions = divisions;
166 def_unusedclusters = unusedclusters;
167 def_foundclusters = foundclusters;
172 Int_t openFile(Char_t *name) {
176 file =
new TFile(
"ftpc_display.root",
"READ");
178 if (!file->IsOpen()) {
179 cout <<
"Sorry, file (ftpc_display.root) not found!" << endl;
185 file =
new TFile(name,
"READ");
187 if (!file->IsOpen()) {
188 cout <<
"Sorry, file (" << name <<
") not found!" << endl;
217 for (s = 0; s < 3; s++) {
226 void showTracks(Bool_t tracks) {
233 sprintf(name,
"TPolyLine3D;%d", l_count);
235 while ((l = (TPolyLine3D *)file->Get(name))) {
236 Float_t *coord = l->GetP();
250 sprintf(name,
"TPolyLine3D;%d", ++l_count);
257 void showFoundCluster(Bool_t clusters) {
263 p = (TPolyMarker3D *)file->Get(
"TPolyMarker3D;2");
270 p = (TPolyMarker3D *)file->Get(
"TPolyMarker3D;3");
277 p = (TPolyMarker3D *)file->Get(
"TPolyMarker3D;1");
288 void showUnusedCluster(Bool_t clusters) {
294 p = (TPolyMarker3D *)file->Get(
"TPolyMarker3D;5");
301 p = (TPolyMarker3D *)file->Get(
"TPolyMarker3D;6");
308 p = (TPolyMarker3D *)file->Get(
"TPolyMarker3D;4");
322 for (Int_t i = 0; i < 3; i++) {
329 void toggleAxisVisibility() {
337 void toggleFoundClusterVisibility() {
340 foundclusters = !foundclusters;
345 void toggleUnusedClusterVisibility() {
348 unusedclusters = !unusedclusters;
353 void toggleTrackVisibility() {
405 void measurementsOn() {
408 if (!tracks) tracks = kTRUE;
409 if (!unusedclusters) unusedclusters = kTRUE;
410 if (!foundclusters) foundclusters = kTRUE;
416 void measurementsOff() {
419 if (tracks) tracks = kFALSE;
420 if (unusedclusters) unusedclusters = kFALSE;
421 if (foundclusters) foundclusters = kFALSE;
430 createDependencies();
432 setFrameVisibility();
433 setDeadAreaVisibility();
437 showFoundCluster(foundclusters);
438 showUnusedCluster(unusedclusters);
453 void toggleFrameVisibility() {
456 frame_on = !frame_on;
457 setFrameVisibility();
461 void toggleDeadAreaVisibility() {
464 dead_area = !dead_area;
465 setDeadAreaVisibility();
469 void togglePadVisibility() {
477 void setFrameVisibility() {
480 ftpc1_out->SetVisibility(frame_on);
481 ftpc2_out->SetVisibility(frame_on);
482 ftpc1_in->SetVisibility(frame_on);
483 ftpc2_in->SetVisibility(frame_on);
486 void setDeadAreaVisibility() {
489 dead_seg1->SetVisibility(dead_area);
490 dead_seg2->SetVisibility(dead_area);
491 dead_seg3->SetVisibility(dead_area);
492 dead_seg4->SetVisibility(dead_area);
493 dead_seg5->SetVisibility(dead_area);
494 dead_seg6->SetVisibility(dead_area);
497 void setPadVisibility() {
500 padrow1->SetVisibility(pads);
501 padrow2->SetVisibility(pads);
502 padrow3->SetVisibility(pads);
503 padrow4->SetVisibility(pads);
504 padrow5->SetVisibility(pads);
505 padrow6->SetVisibility(pads);
508 void toggleFrameDensity() {
512 divisions = !divisions;
518 divisions = !divisions;
527 void setFrameDensity() {
530 ftpc1_out->SetNumberOfDivisions(divi);
531 ftpc2_out->SetNumberOfDivisions(divi);
532 ftpc1_in->SetNumberOfDivisions(divi);
533 ftpc2_in->SetNumberOfDivisions(divi);
535 dead_seg1->SetNumberOfDivisions(1);
536 dead_seg2->SetNumberOfDivisions(1);
537 dead_seg3->SetNumberOfDivisions(1);
538 dead_seg4->SetNumberOfDivisions(1);
539 dead_seg5->SetNumberOfDivisions(1);
540 dead_seg6->SetNumberOfDivisions(1);
542 padrow1->SetNumberOfDivisions(divipad);
543 padrow2->SetNumberOfDivisions(divipad);
544 padrow3->SetNumberOfDivisions(divipad);
545 padrow4->SetNumberOfDivisions(divipad);
546 padrow5->SetNumberOfDivisions(divipad);
547 padrow6->SetNumberOfDivisions(divipad);
550 void show(Int_t s, Bool_t erase) {
589 gROOT->ProcessLine(
"R__x3d->CloseWindow()");
595 gROOT->ProcessLine(
".q");
612 void drawControlPanel(Int_t tracks, Int_t found, Int_t unused) {
619 sprintf(n1,
"tracks (%d) [green]", tr);
620 sprintf(n2,
"clusters on tracks (%d) [red]", fo);
621 sprintf(n3,
"unused clusters (%d) [yellow]", un);
623 bar =
new TControlBar(
"vertical",
"3D view control bar");
625 bar->AddButton(
"show both FTPCs",
"showBoth();",
"3D view of both FTPCs");
626 bar->AddButton(
"show FTPC east",
"showEast();",
"3D view of FTPC east");
627 bar->AddButton(
"show FTPC west",
"showWest();",
"3D view FTPC of west");
628 bar->AddButton(
"ALL MEASUREMENTS ON",
"measurementsOn();",
"switchs all clusters and tracks on");
629 bar->AddButton(
"ALL MEASUREMENTS OFF",
"measurementsOff();",
"switchs all clusters and tracks off");
630 bar->AddButton(n1,
"toggleTrackVisibility();",
"switchs tracks on/off");
631 bar->AddButton(n2,
"toggleFoundClusterVisibility();",
"switchs found clusters on/off");
632 bar->AddButton(n3,
"toggleUnusedClusterVisibility();",
"switchs unused clusters on/off");
633 bar->AddButton(
"DETECTOR ON",
"detectorOn();",
"switchs complete detector on");
634 bar->AddButton(
"DETECTOR OFF",
"detectorOff();",
"switchs complete detector off");
635 bar->AddButton(
"frame [blue] visibility",
"toggleFrameVisibility();",
"switchs frames on/off");
636 bar->AddButton(
"pad [yellow] visibility",
"togglePadVisibility();",
"switchs pads on/off");
637 bar->AddButton(
"dead segments [red] visibility",
"toggleDeadAreaVisibility();",
"switchs dead segments on/off");
638 bar->AddButton(
"line density",
"toggleFrameDensity();",
"switchs frame grid density");
639 bar->AddButton(
"axis (x,y,z) = (yellow, green, red)",
"toggleAxisVisibility();",
"switchs axis visibility");
640 bar->AddButton(
"BACK TO DEFAULT SETTINGS",
"setDefaults(); clear(); showAll();",
"resets all changes");
641 bar->AddButton(
"set default settings",
"defineDefaults();",
"defines current settings as default");
642 bar->AddButton(
"close x3d display",
"close();",
"closes x3d window and control panel");
643 bar->AddButton(
"quit ROOT",
"quit();",
"quits ROOT");
648 void generateAxis(Float_t arrowSize) {
666 const Float_t arrowWidthFactor = 0.25;
668 Float_t origin[3] = {0,0,0};
675 const Float_t arrowHeadLegth = 0.2*arrowSize;
676 const Float_t arrWidth = arrowWidthFactor*arrowHeadLegth;
679 for (Int_t ii = 0; ii < 3; ii++) {
682 lx[ii] =
new TPolyLine3D(5,
"L");
686 lx[ii]->SetNextPoint(x,y,z);
688 lx[ii]->SetNextPoint(x,y,z);
692 lx[ii]->SetNextPoint(x,y,z);
693 x = origin[indx] + arrowSize;
695 lx[ii]->SetNextPoint(x,y,z);
698 lx[ii]->SetNextPoint(x,y,z);
700 lx[ii]->SetLineColor(kYellow);
704 ly[ii] =
new TPolyLine3D(5,
"L");
708 ly[ii]->SetNextPoint(x,y,z);
709 y = origin[indx] + arrowSize;
710 ly[ii]->SetNextPoint(x,y,z);
714 ly[ii]->SetNextPoint(x,y,z);
716 y = origin[indx] + arrowSize;
717 ly[ii]->SetNextPoint(x,y,z);
720 ly[ii]->SetNextPoint(x,y,z);
722 ly[ii]->SetLineColor(kGreen);
726 lz[ii] =
new TPolyLine3D(5,
"L");
730 lz[ii]->SetNextPoint(x,y,z);
732 lz[ii]->SetNextPoint(x,y,z);
736 lz[ii]->SetNextPoint(x,y,z);
738 z = origin[indx] + arrowSize;
739 lz[ii]->SetNextPoint(x,y,z);
742 lz[ii]->SetNextPoint(x,y,z);
743 lz[ii]->SetLineColor(kRed);
747 void createDependencies() {
750 Float_t inner_radius = 7.73;
751 Float_t outer_radius = 30.05;
752 Float_t padlength = 2.;
753 Float_t z_first = 162.75 - 7.5;
754 Float_t z_last = 256.45 + 7.5;
755 Float_t z[10] = {162.75, 171.25, 184.05, 192.55, 205.35, 213.85, 226.65, 235.15, 247.95, 256.45};
759 Float_t dead_angle = outer_radius/8./TMath::Pi()*1.6;
760 Float_t used_angle = 30.-dead_angle;
763 dead_seg1 =
new TTUBS(
"dead_seg1",
"dead_seg1",
"void", inner_radius, outer_radius, (z[9]-z[0]+padlength)/2., -dead_angle+angle, dead_angle+angle);
764 padrow1 =
new TTUBS(
"padrow1",
"padrow1",
"void", outer_radius, outer_radius, padlength, -used_angle+angle - 30., used_angle+angle - 30.);
766 dead_seg2 =
new TTUBS(
"dead_seg2",
"dead_seg2",
"void", inner_radius, outer_radius, (z[9]-z[0]+padlength)/2., -dead_angle+angle, dead_angle+angle);
767 padrow2 =
new TTUBS(
"padrow2",
"padrow2",
"void", outer_radius, outer_radius, padlength, -used_angle+angle - 30., used_angle+angle - 30.);
769 dead_seg3 =
new TTUBS(
"dead_seg3",
"dead_seg3",
"void", inner_radius, outer_radius, (z[9]-z[0]+padlength)/2., -dead_angle+angle, dead_angle+angle);
770 padrow3 =
new TTUBS(
"padrow3",
"padrow3",
"void", outer_radius, outer_radius, padlength, -used_angle+angle - 30., used_angle+angle - 30.);
772 dead_seg4 =
new TTUBS(
"dead_seg4",
"dead_seg4",
"void", inner_radius, outer_radius, (z[9]-z[0]+padlength)/2., -dead_angle+angle, dead_angle+angle);
773 padrow4 =
new TTUBS(
"padrow4",
"padrow4",
"void", outer_radius, outer_radius, padlength, -used_angle+angle - 30., used_angle+angle - 30.);
775 dead_seg5 =
new TTUBS(
"dead_seg5",
"dead_seg5",
"void", inner_radius, outer_radius, (z[9]-z[0]+padlength)/2., -dead_angle+angle, dead_angle+angle);
776 padrow5 =
new TTUBS(
"padrow5",
"padrow5",
"void", outer_radius, outer_radius, padlength, -used_angle+angle - 30., used_angle+angle - 30.);
778 dead_seg6 =
new TTUBS(
"dead_seg6",
"dead_seg6",
"void", inner_radius, outer_radius, (z[9]-z[0]+padlength)/2., -dead_angle+angle, dead_angle+angle);
779 padrow6 =
new TTUBS(
"padrow6",
"padrow6",
"void", outer_radius, outer_radius, padlength, -used_angle+angle - 30., used_angle+angle - 30.);
783 ftpc1_out =
new TTUBE(
"ftpc1_out",
"Ftpc + (out)",
"void", outer_radius, outer_radius, (z_last-z_first)/2., 1);
784 ftpc1_in =
new TTUBE(
"ftpc1_in",
"Ftpc + (in)",
"void", inner_radius, inner_radius, (z_last-z_first)/2., 1);
785 ftpc2_out =
new TTUBE(
"ftpc2_out",
"Ftpc - (out)",
"void", outer_radius, outer_radius, (z_last-z_first)/2., 1);
786 ftpc2_in =
new TTUBE(
"ftpc2_in",
"Ftpc - (in)",
"void", inner_radius, inner_radius, (z_last-z_first)/2., 1);
789 origin->SetLineColor(1);
790 ftpc1_out->SetLineColor(4);
791 ftpc1_in->SetLineColor(4);
792 ftpc2_out->SetLineColor(4);
793 ftpc2_in->SetLineColor(4);
795 dead_seg1->SetLineColor(kRed);
796 dead_seg2->SetLineColor(kRed);
797 dead_seg3->SetLineColor(kRed);
798 dead_seg4->SetLineColor(kRed);
799 dead_seg5->SetLineColor(kRed);
800 dead_seg6->SetLineColor(kRed);
802 padrow1->SetLineColor(kYellow);
803 padrow2->SetLineColor(kYellow);
804 padrow3->SetLineColor(kYellow);
805 padrow4->SetLineColor(kYellow);
806 padrow5->SetLineColor(kYellow);
807 padrow6->SetLineColor(kYellow);
812 node01_out =
new TNode(
"node01_out",
"node01_out",
"ftpc1_out", 0, 0, z_first+(z_last-z_first)/2.);
813 node01_in =
new TNode(
"node01_in",
"node01_in",
"ftpc1_in", 0, 0, z_first+(z_last-z_first)/2.);
814 node02_out =
new TNode(
"node02_out",
"node02_out",
"ftpc2_out", 0, 0, -z_first-(z_last-z_first)/2.);
815 node02_in =
new TNode(
"node02_in",
"node02_in",
"ftpc2_in", 0, 0, -z_first-(z_last-z_first)/2.);
817 node01_seg1 =
new TNode(
"node01_seg1",
"node01_seg1",
"dead_seg1", 0., 0., z_first+(z_last-z_first)/2.);
818 node01_seg2 =
new TNode(
"node01_seg2",
"node01_seg2",
"dead_seg2", 0., 0., z_first+(z_last-z_first)/2.);
819 node01_seg3 =
new TNode(
"node01_seg3",
"node01_seg3",
"dead_seg3", 0., 0., z_first+(z_last-z_first)/2.);
820 node01_seg4 =
new TNode(
"node01_seg4",
"node01_seg4",
"dead_seg4", 0., 0., z_first+(z_last-z_first)/2.);
821 node01_seg5 =
new TNode(
"node01_seg5",
"node01_seg5",
"dead_seg5", 0., 0., z_first+(z_last-z_first)/2.);
822 node01_seg6 =
new TNode(
"node01_seg6",
"node01_seg6",
"dead_seg6", 0., 0., z_first+(z_last-z_first)/2.);
823 node02_seg1 =
new TNode(
"node02_seg1",
"node02_seg1",
"dead_seg1", 0., 0., -z_first-(z_last-z_first)/2.);
824 node02_seg2 =
new TNode(
"node02_seg2",
"node02_seg2",
"dead_seg2", 0., 0., -z_first-(z_last-z_first)/2.);
825 node02_seg3 =
new TNode(
"node02_seg3",
"node02_seg3",
"dead_seg3", 0., 0., -z_first-(z_last-z_first)/2.);
826 node02_seg4 =
new TNode(
"node02_seg4",
"node02_seg4",
"dead_seg4", 0., 0., -z_first-(z_last-z_first)/2.);
827 node02_seg5 =
new TNode(
"node02_seg5",
"node02_seg5",
"dead_seg5", 0., 0., -z_first-(z_last-z_first)/2.);
828 node02_seg6 =
new TNode(
"node02_seg6",
"node02_seg6",
"dead_seg6", 0., 0., -z_first-(z_last-z_first)/2.);
830 node01_pad01 =
new TNode(
"node01_pad01",
"node01_pad01",
"padrow1", 0., 0., z[0]);
831 node01_pad02 =
new TNode(
"node01_pad02",
"node01_pad02",
"padrow2", 0., 0., z[0]);
832 node01_pad03 =
new TNode(
"node01_pad03",
"node01_pad03",
"padrow3", 0., 0., z[0]);
833 node01_pad04 =
new TNode(
"node01_pad04",
"node01_pad04",
"padrow4", 0., 0., z[0]);
834 node01_pad05 =
new TNode(
"node01_pad05",
"node01_pad05",
"padrow5", 0., 0., z[0]);
835 node01_pad06 =
new TNode(
"node01_pad06",
"node01_pad06",
"padrow6", 0., 0., z[0]);
836 node02_pad01 =
new TNode(
"node02_pad01",
"node02_pad01",
"padrow1", 0., 0., -z[0]);
837 node02_pad02 =
new TNode(
"node02_pad02",
"node02_pad02",
"padrow2", 0., 0., -z[0]);
838 node02_pad03 =
new TNode(
"node02_pad03",
"node02_pad03",
"padrow3", 0., 0., -z[0]);
839 node02_pad04 =
new TNode(
"node02_pad04",
"node02_pad04",
"padrow4", 0., 0., -z[0]);
840 node02_pad05 =
new TNode(
"node02_pad05",
"node02_pad05",
"padrow5", 0., 0., -z[0]);
841 node02_pad06 =
new TNode(
"node02_pad06",
"node02_pad06",
"padrow6", 0., 0., -z[0]);
843 node01_pad11 =
new TNode(
"node01_pad11",
"node01_pad11",
"padrow1", 0., 0., z[1]);
844 node01_pad12 =
new TNode(
"node01_pad12",
"node01_pad12",
"padrow2", 0., 0., z[1]);
845 node01_pad13 =
new TNode(
"node01_pad13",
"node01_pad13",
"padrow3", 0., 0., z[1]);
846 node01_pad14 =
new TNode(
"node01_pad14",
"node01_pad14",
"padrow4", 0., 0., z[1]);
847 node01_pad15 =
new TNode(
"node01_pad15",
"node01_pad15",
"padrow5", 0., 0., z[1]);
848 node01_pad16 =
new TNode(
"node01_pad16",
"node01_pad16",
"padrow6", 0., 0., z[1]);
849 node02_pad11 =
new TNode(
"node02_pad11",
"node02_pad11",
"padrow1", 0., 0., -z[1]);
850 node02_pad12 =
new TNode(
"node02_pad12",
"node02_pad12",
"padrow2", 0., 0., -z[1]);
851 node02_pad13 =
new TNode(
"node02_pad13",
"node02_pad13",
"padrow3", 0., 0., -z[1]);
852 node02_pad14 =
new TNode(
"node02_pad14",
"node02_pad14",
"padrow4", 0., 0., -z[1]);
853 node02_pad15 =
new TNode(
"node02_pad15",
"node02_pad15",
"padrow5", 0., 0., -z[1]);
854 node02_pad16 =
new TNode(
"node02_pad16",
"node02_pad16",
"padrow6", 0., 0., -z[1]);
856 node01_pad21 =
new TNode(
"node01_pad21",
"node01_pad21",
"padrow1", 0., 0., z[2]);
857 node01_pad22 =
new TNode(
"node01_pad22",
"node01_pad22",
"padrow2", 0., 0., z[2]);
858 node01_pad23 =
new TNode(
"node01_pad23",
"node01_pad23",
"padrow3", 0., 0., z[2]);
859 node01_pad24 =
new TNode(
"node01_pad24",
"node01_pad24",
"padrow4", 0., 0., z[2]);
860 node01_pad25 =
new TNode(
"node01_pad25",
"node01_pad25",
"padrow5", 0., 0., z[2]);
861 node01_pad26 =
new TNode(
"node01_pad26",
"node01_pad26",
"padrow6", 0., 0., z[2]);
862 node02_pad21 =
new TNode(
"node02_pad21",
"node02_pad21",
"padrow1", 0., 0., -z[2]);
863 node02_pad22 =
new TNode(
"node02_pad22",
"node02_pad22",
"padrow2", 0., 0., -z[2]);
864 node02_pad23 =
new TNode(
"node02_pad23",
"node02_pad23",
"padrow3", 0., 0., -z[2]);
865 node02_pad24 =
new TNode(
"node02_pad24",
"node02_pad24",
"padrow4", 0., 0., -z[2]);
866 node02_pad25 =
new TNode(
"node02_pad25",
"node02_pad25",
"padrow5", 0., 0., -z[2]);
867 node02_pad26 =
new TNode(
"node02_pad26",
"node02_pad26",
"padrow6", 0., 0., -z[2]);
869 node01_pad31 =
new TNode(
"node01_pad31",
"node01_pad31",
"padrow1", 0., 0., z[3]);
870 node01_pad32 =
new TNode(
"node01_pad32",
"node01_pad32",
"padrow2", 0., 0., z[3]);
871 node01_pad33 =
new TNode(
"node01_pad33",
"node01_pad33",
"padrow3", 0., 0., z[3]);
872 node01_pad34 =
new TNode(
"node01_pad34",
"node01_pad34",
"padrow4", 0., 0., z[3]);
873 node01_pad35 =
new TNode(
"node01_pad35",
"node01_pad35",
"padrow5", 0., 0., z[3]);
874 node01_pad36 =
new TNode(
"node01_pad36",
"node01_pad36",
"padrow6", 0., 0., z[3]);
875 node02_pad31 =
new TNode(
"node02_pad31",
"node02_pad31",
"padrow1", 0., 0., -z[3]);
876 node02_pad32 =
new TNode(
"node02_pad32",
"node02_pad32",
"padrow2", 0., 0., -z[3]);
877 node02_pad33 =
new TNode(
"node02_pad33",
"node02_pad33",
"padrow3", 0., 0., -z[3]);
878 node02_pad34 =
new TNode(
"node02_pad34",
"node02_pad34",
"padrow4", 0., 0., -z[3]);
879 node02_pad35 =
new TNode(
"node02_pad35",
"node02_pad35",
"padrow5", 0., 0., -z[3]);
880 node02_pad36 =
new TNode(
"node02_pad36",
"node02_pad36",
"padrow6", 0., 0., -z[3]);
882 node01_pad41 =
new TNode(
"node01_pad41",
"node01_pad41",
"padrow1", 0., 0., z[4]);
883 node01_pad42 =
new TNode(
"node01_pad42",
"node01_pad42",
"padrow2", 0., 0., z[4]);
884 node01_pad43 =
new TNode(
"node01_pad43",
"node01_pad43",
"padrow3", 0., 0., z[4]);
885 node01_pad44 =
new TNode(
"node01_pad44",
"node01_pad44",
"padrow4", 0., 0., z[4]);
886 node01_pad45 =
new TNode(
"node01_pad45",
"node01_pad45",
"padrow5", 0., 0., z[4]);
887 node01_pad46 =
new TNode(
"node01_pad46",
"node01_pad46",
"padrow6", 0., 0., z[4]);
888 node02_pad41 =
new TNode(
"node02_pad41",
"node02_pad41",
"padrow1", 0., 0., -z[4]);
889 node02_pad42 =
new TNode(
"node02_pad42",
"node02_pad42",
"padrow2", 0., 0., -z[4]);
890 node02_pad43 =
new TNode(
"node02_pad43",
"node02_pad43",
"padrow3", 0., 0., -z[4]);
891 node02_pad44 =
new TNode(
"node02_pad44",
"node02_pad44",
"padrow4", 0., 0., -z[4]);
892 node02_pad45 =
new TNode(
"node02_pad45",
"node02_pad45",
"padrow5", 0., 0., -z[4]);
893 node02_pad46 =
new TNode(
"node02_pad46",
"node02_pad46",
"padrow6", 0., 0., -z[4]);
895 node01_pad51 =
new TNode(
"node01_pad51",
"node01_pad51",
"padrow1", 0., 0., z[5]);
896 node01_pad52 =
new TNode(
"node01_pad52",
"node01_pad52",
"padrow2", 0., 0., z[5]);
897 node01_pad53 =
new TNode(
"node01_pad53",
"node01_pad53",
"padrow3", 0., 0., z[5]);
898 node01_pad54 =
new TNode(
"node01_pad54",
"node01_pad54",
"padrow4", 0., 0., z[5]);
899 node01_pad55 =
new TNode(
"node01_pad55",
"node01_pad55",
"padrow5", 0., 0., z[5]);
900 node01_pad56 =
new TNode(
"node01_pad56",
"node01_pad56",
"padrow6", 0., 0., z[5]);
901 node02_pad51 =
new TNode(
"node02_pad51",
"node02_pad51",
"padrow1", 0., 0., -z[5]);
902 node02_pad52 =
new TNode(
"node02_pad52",
"node02_pad52",
"padrow2", 0., 0., -z[5]);
903 node02_pad53 =
new TNode(
"node02_pad53",
"node02_pad53",
"padrow3", 0., 0., -z[5]);
904 node02_pad54 =
new TNode(
"node02_pad54",
"node02_pad54",
"padrow4", 0., 0., -z[5]);
905 node02_pad55 =
new TNode(
"node02_pad55",
"node02_pad55",
"padrow5", 0., 0., -z[5]);
906 node02_pad56 =
new TNode(
"node02_pad56",
"node02_pad56",
"padrow6", 0., 0., -z[5]);
908 node01_pad61 =
new TNode(
"node01_pad61",
"node01_pad61",
"padrow1", 0., 0., z[6]);
909 node01_pad62 =
new TNode(
"node01_pad62",
"node01_pad62",
"padrow2", 0., 0., z[6]);
910 node01_pad63 =
new TNode(
"node01_pad63",
"node01_pad63",
"padrow3", 0., 0., z[6]);
911 node01_pad64 =
new TNode(
"node01_pad64",
"node01_pad64",
"padrow4", 0., 0., z[6]);
912 node01_pad65 =
new TNode(
"node01_pad65",
"node01_pad65",
"padrow5", 0., 0., z[6]);
913 node01_pad66 =
new TNode(
"node01_pad66",
"node01_pad66",
"padrow6", 0., 0., z[6]);
914 node02_pad61 =
new TNode(
"node02_pad61",
"node02_pad61",
"padrow1", 0., 0., -z[6]);
915 node02_pad62 =
new TNode(
"node02_pad62",
"node02_pad62",
"padrow2", 0., 0., -z[6]);
916 node02_pad63 =
new TNode(
"node02_pad63",
"node02_pad63",
"padrow3", 0., 0., -z[6]);
917 node02_pad64 =
new TNode(
"node02_pad64",
"node02_pad64",
"padrow4", 0., 0., -z[6]);
918 node02_pad65 =
new TNode(
"node02_pad65",
"node02_pad65",
"padrow5", 0., 0., -z[6]);
919 node02_pad66 =
new TNode(
"node02_pad66",
"node02_pad66",
"padrow6", 0., 0., -z[6]);
921 node01_pad71 =
new TNode(
"node01_pad71",
"node01_pad71",
"padrow1", 0., 0., z[7]);
922 node01_pad72 =
new TNode(
"node01_pad72",
"node01_pad72",
"padrow2", 0., 0., z[7]);
923 node01_pad73 =
new TNode(
"node01_pad73",
"node01_pad73",
"padrow3", 0., 0., z[7]);
924 node01_pad74 =
new TNode(
"node01_pad74",
"node01_pad74",
"padrow4", 0., 0., z[7]);
925 node01_pad75 =
new TNode(
"node01_pad75",
"node01_pad75",
"padrow5", 0., 0., z[7]);
926 node01_pad76 =
new TNode(
"node01_pad76",
"node01_pad76",
"padrow6", 0., 0., z[7]);
927 node02_pad71 =
new TNode(
"node02_pad71",
"node02_pad71",
"padrow1", 0., 0., -z[7]);
928 node02_pad72 =
new TNode(
"node02_pad72",
"node02_pad72",
"padrow2", 0., 0., -z[7]);
929 node02_pad73 =
new TNode(
"node02_pad73",
"node02_pad73",
"padrow3", 0., 0., -z[7]);
930 node02_pad74 =
new TNode(
"node02_pad74",
"node02_pad74",
"padrow4", 0., 0., -z[7]);
931 node02_pad75 =
new TNode(
"node02_pad75",
"node02_pad75",
"padrow5", 0., 0., -z[7]);
932 node02_pad76 =
new TNode(
"node02_pad76",
"node02_pad76",
"padrow6", 0., 0., -z[7]);
934 node01_pad81 =
new TNode(
"node01_pad81",
"node01_pad81",
"padrow1", 0., 0., z[8]);
935 node01_pad82 =
new TNode(
"node01_pad82",
"node01_pad82",
"padrow2", 0., 0., z[8]);
936 node01_pad83 =
new TNode(
"node01_pad83",
"node01_pad83",
"padrow3", 0., 0., z[8]);
937 node01_pad84 =
new TNode(
"node01_pad84",
"node01_pad84",
"padrow4", 0., 0., z[8]);
938 node01_pad85 =
new TNode(
"node01_pad85",
"node01_pad85",
"padrow5", 0., 0., z[8]);
939 node01_pad86 =
new TNode(
"node01_pad86",
"node01_pad86",
"padrow6", 0., 0., z[8]);
940 node02_pad81 =
new TNode(
"node02_pad81",
"node02_pad81",
"padrow1", 0., 0., -z[8]);
941 node02_pad82 =
new TNode(
"node02_pad82",
"node02_pad82",
"padrow2", 0., 0., -z[8]);
942 node02_pad83 =
new TNode(
"node02_pad83",
"node02_pad83",
"padrow3", 0., 0., -z[8]);
943 node02_pad84 =
new TNode(
"node02_pad84",
"node02_pad84",
"padrow4", 0., 0., -z[8]);
944 node02_pad85 =
new TNode(
"node02_pad85",
"node02_pad85",
"padrow5", 0., 0., -z[8]);
945 node02_pad86 =
new TNode(
"node02_pad86",
"node02_pad86",
"padrow6", 0., 0., -z[8]);
947 node01_pad91 =
new TNode(
"node01_pad91",
"node01_pad91",
"padrow1", 0., 0., z[9]);
948 node01_pad92 =
new TNode(
"node01_pad92",
"node01_pad92",
"padrow2", 0., 0., z[9]);
949 node01_pad93 =
new TNode(
"node01_pad93",
"node01_pad93",
"padrow3", 0., 0., z[9]);
950 node01_pad94 =
new TNode(
"node01_pad94",
"node01_pad94",
"padrow4", 0., 0., z[9]);
951 node01_pad95 =
new TNode(
"node01_pad95",
"node01_pad95",
"padrow5", 0., 0., z[9]);
952 node01_pad96 =
new TNode(
"node01_pad96",
"node01_pad96",
"padrow6", 0., 0., z[9]);
953 node02_pad91 =
new TNode(
"node02_pad91",
"node02_pad91",
"padrow1", 0., 0., -z[9]);
954 node02_pad92 =
new TNode(
"node02_pad92",
"node02_pad92",
"padrow2", 0., 0., -z[9]);
955 node02_pad93 =
new TNode(
"node02_pad93",
"node02_pad93",
"padrow3", 0., 0., -z[9]);
956 node02_pad94 =
new TNode(
"node02_pad94",
"node02_pad94",
"padrow4", 0., 0., -z[9]);
957 node02_pad95 =
new TNode(
"node02_pad95",
"node02_pad95",
"padrow5", 0., 0., -z[9]);
958 node02_pad96 =
new TNode(
"node02_pad96",
"node02_pad96",
"padrow6", 0., 0., -z[9]);
964 node2_out =
new TNode(
"node2_out",
"node2_out",
"ftpc2_out", 0, 0, -z_first-(z_last-z_first)/2.);
965 node2_in =
new TNode(
"node2_in",
"node2_in",
"ftpc2_in", 0, 0, -z_first-(z_last-z_first)/2.);
967 node2_seg1 =
new TNode(
"node2_seg1",
"node2_seg1",
"dead_seg1", 0., 0., -z_first-(z_last-z_first)/2.);
968 node2_seg2 =
new TNode(
"node2_seg2",
"node2_seg2",
"dead_seg2", 0., 0., -z_first-(z_last-z_first)/2.);
969 node2_seg3 =
new TNode(
"node2_seg3",
"node2_seg3",
"dead_seg3", 0., 0., -z_first-(z_last-z_first)/2.);
970 node2_seg4 =
new TNode(
"node2_seg4",
"node2_seg4",
"dead_seg4", 0., 0., -z_first-(z_last-z_first)/2.);
971 node2_seg5 =
new TNode(
"node2_seg5",
"node2_seg5",
"dead_seg5", 0., 0., -z_first-(z_last-z_first)/2.);
972 node2_seg6 =
new TNode(
"node2_seg6",
"node2_seg6",
"dead_seg6", 0., 0., -z_first-(z_last-z_first)/2.);
974 node2_pad01 =
new TNode(
"node2_pad01",
"node2_pad01",
"padrow1", 0., 0., -z[0]);
975 node2_pad02 =
new TNode(
"node2_pad02",
"node2_pad02",
"padrow2", 0., 0., -z[0]);
976 node2_pad03 =
new TNode(
"node2_pad03",
"node2_pad03",
"padrow3", 0., 0., -z[0]);
977 node2_pad04 =
new TNode(
"node2_pad04",
"node2_pad04",
"padrow4", 0., 0., -z[0]);
978 node2_pad05 =
new TNode(
"node2_pad05",
"node2_pad05",
"padrow5", 0., 0., -z[0]);
979 node2_pad06 =
new TNode(
"node2_pad06",
"node2_pad06",
"padrow6", 0., 0., -z[0]);
981 node2_pad11 =
new TNode(
"node2_pad11",
"node2_pad11",
"padrow1", 0., 0., -z[1]);
982 node2_pad12 =
new TNode(
"node2_pad12",
"node2_pad12",
"padrow2", 0., 0., -z[1]);
983 node2_pad13 =
new TNode(
"node2_pad13",
"node2_pad13",
"padrow3", 0., 0., -z[1]);
984 node2_pad14 =
new TNode(
"node2_pad14",
"node2_pad14",
"padrow4", 0., 0., -z[1]);
985 node2_pad15 =
new TNode(
"node2_pad15",
"node2_pad15",
"padrow5", 0., 0., -z[1]);
986 node2_pad16 =
new TNode(
"node2_pad16",
"node2_pad16",
"padrow6", 0., 0., -z[1]);
988 node2_pad21 =
new TNode(
"node2_pad21",
"node2_pad21",
"padrow1", 0., 0., -z[2]);
989 node2_pad22 =
new TNode(
"node2_pad22",
"node2_pad22",
"padrow2", 0., 0., -z[2]);
990 node2_pad23 =
new TNode(
"node2_pad23",
"node2_pad23",
"padrow3", 0., 0., -z[2]);
991 node2_pad24 =
new TNode(
"node2_pad24",
"node2_pad24",
"padrow4", 0., 0., -z[2]);
992 node2_pad25 =
new TNode(
"node2_pad25",
"node2_pad25",
"padrow5", 0., 0., -z[2]);
993 node2_pad26 =
new TNode(
"node2_pad26",
"node2_pad26",
"padrow6", 0., 0., -z[2]);
995 node2_pad31 =
new TNode(
"node2_pad31",
"node2_pad31",
"padrow1", 0., 0., -z[3]);
996 node2_pad32 =
new TNode(
"node2_pad32",
"node2_pad32",
"padrow2", 0., 0., -z[3]);
997 node2_pad33 =
new TNode(
"node2_pad33",
"node2_pad33",
"padrow3", 0., 0., -z[3]);
998 node2_pad34 =
new TNode(
"node2_pad34",
"node2_pad34",
"padrow4", 0., 0., -z[3]);
999 node2_pad35 =
new TNode(
"node2_pad35",
"node2_pad35",
"padrow5", 0., 0., -z[3]);
1000 node2_pad36 =
new TNode(
"node2_pad36",
"node2_pad36",
"padrow6", 0., 0., -z[3]);
1002 node2_pad41 =
new TNode(
"node2_pad41",
"node2_pad41",
"padrow1", 0., 0., -z[4]);
1003 node2_pad42 =
new TNode(
"node2_pad42",
"node2_pad42",
"padrow2", 0., 0., -z[4]);
1004 node2_pad43 =
new TNode(
"node2_pad43",
"node2_pad43",
"padrow3", 0., 0., -z[4]);
1005 node2_pad44 =
new TNode(
"node2_pad44",
"node2_pad44",
"padrow4", 0., 0., -z[4]);
1006 node2_pad45 =
new TNode(
"node2_pad45",
"node2_pad45",
"padrow5", 0., 0., -z[4]);
1007 node2_pad46 =
new TNode(
"node2_pad46",
"node2_pad46",
"padrow6", 0., 0., -z[4]);
1009 node2_pad51 =
new TNode(
"node2_pad51",
"node2_pad51",
"padrow1", 0., 0., -z[5]);
1010 node2_pad52 =
new TNode(
"node2_pad52",
"node2_pad52",
"padrow2", 0., 0., -z[5]);
1011 node2_pad53 =
new TNode(
"node2_pad53",
"node2_pad53",
"padrow3", 0., 0., -z[5]);
1012 node2_pad54 =
new TNode(
"node2_pad54",
"node2_pad54",
"padrow4", 0., 0., -z[5]);
1013 node2_pad55 =
new TNode(
"node2_pad55",
"node2_pad55",
"padrow5", 0., 0., -z[5]);
1014 node2_pad56 =
new TNode(
"node2_pad56",
"node2_pad56",
"padrow6", 0., 0., -z[5]);
1016 node2_pad61 =
new TNode(
"node2_pad61",
"node2_pad61",
"padrow1", 0., 0., -z[6]);
1017 node2_pad62 =
new TNode(
"node2_pad62",
"node2_pad62",
"padrow2", 0., 0., -z[6]);
1018 node2_pad63 =
new TNode(
"node2_pad63",
"node2_pad63",
"padrow3", 0., 0., -z[6]);
1019 node2_pad64 =
new TNode(
"node2_pad64",
"node2_pad64",
"padrow4", 0., 0., -z[6]);
1020 node2_pad65 =
new TNode(
"node2_pad65",
"node2_pad65",
"padrow5", 0., 0., -z[6]);
1021 node2_pad66 =
new TNode(
"node2_pad66",
"node2_pad66",
"padrow6", 0., 0., -z[6]);
1023 node2_pad71 =
new TNode(
"node2_pad71",
"node2_pad71",
"padrow1", 0., 0., -z[7]);
1024 node2_pad72 =
new TNode(
"node2_pad72",
"node2_pad72",
"padrow2", 0., 0., -z[7]);
1025 node2_pad73 =
new TNode(
"node2_pad73",
"node2_pad73",
"padrow3", 0., 0., -z[7]);
1026 node2_pad74 =
new TNode(
"node2_pad74",
"node2_pad74",
"padrow4", 0., 0., -z[7]);
1027 node2_pad75 =
new TNode(
"node2_pad75",
"node2_pad75",
"padrow5", 0., 0., -z[7]);
1028 node2_pad76 =
new TNode(
"node2_pad76",
"node2_pad76",
"padrow6", 0., 0., -z[7]);
1030 node2_pad81 =
new TNode(
"node2_pad81",
"node2_pad81",
"padrow1", 0., 0., -z[8]);
1031 node2_pad82 =
new TNode(
"node2_pad82",
"node2_pad82",
"padrow2", 0., 0., -z[8]);
1032 node2_pad83 =
new TNode(
"node2_pad83",
"node2_pad83",
"padrow3", 0., 0., -z[8]);
1033 node2_pad84 =
new TNode(
"node2_pad84",
"node2_pad84",
"padrow4", 0., 0., -z[8]);
1034 node2_pad85 =
new TNode(
"node2_pad85",
"node2_pad85",
"padrow5", 0., 0., -z[8]);
1035 node2_pad86 =
new TNode(
"node2_pad86",
"node2_pad86",
"padrow6", 0., 0., -z[8]);
1037 node2_pad91 =
new TNode(
"node2_pad91",
"node2_pad91",
"padrow1", 0., 0., -z[9]);
1038 node2_pad92 =
new TNode(
"node2_pad92",
"node2_pad92",
"padrow2", 0., 0., -z[9]);
1039 node2_pad93 =
new TNode(
"node2_pad93",
"node2_pad93",
"padrow3", 0., 0., -z[9]);
1040 node2_pad94 =
new TNode(
"node2_pad94",
"node2_pad94",
"padrow4", 0., 0., -z[9]);
1041 node2_pad95 =
new TNode(
"node2_pad95",
"node2_pad95",
"padrow5", 0., 0., -z[9]);
1042 node2_pad96 =
new TNode(
"node2_pad96",
"node2_pad96",
"padrow6", 0., 0., -z[9]);
1048 node1_out =
new TNode(
"node1_out",
"node1_out",
"ftpc1_out", 0, 0, z_first+(z_last-z_first)/2.);
1049 node1_in =
new TNode(
"node1_in",
"node1_in",
"ftpc1_in", 0, 0, z_first+(z_last-z_first)/2.);
1051 node1_seg1 =
new TNode(
"node1_seg1",
"node1_seg1",
"dead_seg1", 0., 0., z_first+(z_last-z_first)/2.);
1052 node1_seg2 =
new TNode(
"node1_seg2",
"node1_seg2",
"dead_seg2", 0., 0., z_first+(z_last-z_first)/2.);
1053 node1_seg3 =
new TNode(
"node1_seg3",
"node1_seg3",
"dead_seg3", 0., 0., z_first+(z_last-z_first)/2.);
1054 node1_seg4 =
new TNode(
"node1_seg4",
"node1_seg4",
"dead_seg4", 0., 0., z_first+(z_last-z_first)/2.);
1055 node1_seg5 =
new TNode(
"node1_seg5",
"node1_seg5",
"dead_seg5", 0., 0., z_first+(z_last-z_first)/2.);
1056 node1_seg6 =
new TNode(
"node1_seg6",
"node1_seg6",
"dead_seg6", 0., 0., z_first+(z_last-z_first)/2.);
1058 node1_pad01 =
new TNode(
"node1_pad01",
"node1_pad01",
"padrow1", 0., 0., z[0]);
1059 node1_pad02 =
new TNode(
"node1_pad02",
"node1_pad02",
"padrow2", 0., 0., z[0]);
1060 node1_pad03 =
new TNode(
"node1_pad03",
"node1_pad03",
"padrow3", 0., 0., z[0]);
1061 node1_pad04 =
new TNode(
"node1_pad04",
"node1_pad04",
"padrow4", 0., 0., z[0]);
1062 node1_pad05 =
new TNode(
"node1_pad05",
"node1_pad05",
"padrow5", 0., 0., z[0]);
1063 node1_pad06 =
new TNode(
"node1_pad06",
"node1_pad06",
"padrow6", 0., 0., z[0]);
1065 node1_pad11 =
new TNode(
"node1_pad11",
"node1_pad11",
"padrow1", 0., 0., z[1]);
1066 node1_pad12 =
new TNode(
"node1_pad12",
"node1_pad12",
"padrow2", 0., 0., z[1]);
1067 node1_pad13 =
new TNode(
"node1_pad13",
"node1_pad13",
"padrow3", 0., 0., z[1]);
1068 node1_pad14 =
new TNode(
"node1_pad14",
"node1_pad14",
"padrow4", 0., 0., z[1]);
1069 node1_pad15 =
new TNode(
"node1_pad15",
"node1_pad15",
"padrow5", 0., 0., z[1]);
1070 node1_pad16 =
new TNode(
"node1_pad16",
"node1_pad16",
"padrow6", 0., 0., z[1]);
1072 node1_pad21 =
new TNode(
"node1_pad21",
"node1_pad21",
"padrow1", 0., 0., z[2]);
1073 node1_pad22 =
new TNode(
"node1_pad22",
"node1_pad22",
"padrow2", 0., 0., z[2]);
1074 node1_pad23 =
new TNode(
"node1_pad23",
"node1_pad23",
"padrow3", 0., 0., z[2]);
1075 node1_pad24 =
new TNode(
"node1_pad24",
"node1_pad24",
"padrow4", 0., 0., z[2]);
1076 node1_pad25 =
new TNode(
"node1_pad25",
"node1_pad25",
"padrow5", 0., 0., z[2]);
1077 node1_pad26 =
new TNode(
"node1_pad26",
"node1_pad26",
"padrow6", 0., 0., z[2]);
1079 node1_pad31 =
new TNode(
"node1_pad31",
"node1_pad31",
"padrow1", 0., 0., z[3]);
1080 node1_pad32 =
new TNode(
"node1_pad32",
"node1_pad32",
"padrow2", 0., 0., z[3]);
1081 node1_pad33 =
new TNode(
"node1_pad33",
"node1_pad33",
"padrow3", 0., 0., z[3]);
1082 node1_pad34 =
new TNode(
"node1_pad34",
"node1_pad34",
"padrow4", 0., 0., z[3]);
1083 node1_pad35 =
new TNode(
"node1_pad35",
"node1_pad35",
"padrow5", 0., 0., z[3]);
1084 node1_pad36 =
new TNode(
"node1_pad36",
"node1_pad36",
"padrow6", 0., 0., z[3]);
1086 node1_pad41 =
new TNode(
"node1_pad41",
"node1_pad41",
"padrow1", 0., 0., z[4]);
1087 node1_pad42 =
new TNode(
"node1_pad42",
"node1_pad42",
"padrow2", 0., 0., z[4]);
1088 node1_pad43 =
new TNode(
"node1_pad43",
"node1_pad43",
"padrow3", 0., 0., z[4]);
1089 node1_pad44 =
new TNode(
"node1_pad44",
"node1_pad44",
"padrow4", 0., 0., z[4]);
1090 node1_pad45 =
new TNode(
"node1_pad45",
"node1_pad45",
"padrow5", 0., 0., z[4]);
1091 node1_pad46 =
new TNode(
"node1_pad46",
"node1_pad46",
"padrow6", 0., 0., z[4]);
1093 node1_pad51 =
new TNode(
"node1_pad51",
"node1_pad51",
"padrow1", 0., 0., z[5]);
1094 node1_pad52 =
new TNode(
"node1_pad52",
"node1_pad52",
"padrow2", 0., 0., z[5]);
1095 node1_pad53 =
new TNode(
"node1_pad53",
"node1_pad53",
"padrow3", 0., 0., z[5]);
1096 node1_pad54 =
new TNode(
"node1_pad54",
"node1_pad54",
"padrow4", 0., 0., z[5]);
1097 node1_pad55 =
new TNode(
"node1_pad55",
"node1_pad55",
"padrow5", 0., 0., z[5]);
1098 node1_pad56 =
new TNode(
"node1_pad56",
"node1_pad56",
"padrow6", 0., 0., z[5]);
1100 node1_pad61 =
new TNode(
"node1_pad61",
"node1_pad61",
"padrow1", 0., 0., z[6]);
1101 node1_pad62 =
new TNode(
"node1_pad62",
"node1_pad62",
"padrow2", 0., 0., z[6]);
1102 node1_pad63 =
new TNode(
"node1_pad63",
"node1_pad63",
"padrow3", 0., 0., z[6]);
1103 node1_pad64 =
new TNode(
"node1_pad64",
"node1_pad64",
"padrow4", 0., 0., z[6]);
1104 node1_pad65 =
new TNode(
"node1_pad65",
"node1_pad65",
"padrow5", 0., 0., z[6]);
1105 node1_pad66 =
new TNode(
"node1_pad66",
"node1_pad66",
"padrow6", 0., 0., z[6]);
1107 node1_pad71 =
new TNode(
"node1_pad71",
"node1_pad71",
"padrow1", 0., 0., z[7]);
1108 node1_pad72 =
new TNode(
"node1_pad72",
"node1_pad72",
"padrow2", 0., 0., z[7]);
1109 node1_pad73 =
new TNode(
"node1_pad73",
"node1_pad73",
"padrow3", 0., 0., z[7]);
1110 node1_pad74 =
new TNode(
"node1_pad74",
"node1_pad74",
"padrow4", 0., 0., z[7]);
1111 node1_pad75 =
new TNode(
"node1_pad75",
"node1_pad75",
"padrow5", 0., 0., z[7]);
1112 node1_pad76 =
new TNode(
"node1_pad76",
"node1_pad76",
"padrow6", 0., 0., z[7]);
1114 node1_pad81 =
new TNode(
"node1_pad81",
"node1_pad81",
"padrow1", 0., 0., z[8]);
1115 node1_pad82 =
new TNode(
"node1_pad82",
"node1_pad82",
"padrow2", 0., 0., z[8]);
1116 node1_pad83 =
new TNode(
"node1_pad83",
"node1_pad83",
"padrow3", 0., 0., z[8]);
1117 node1_pad84 =
new TNode(
"node1_pad84",
"node1_pad84",
"padrow4", 0., 0., z[8]);
1118 node1_pad85 =
new TNode(
"node1_pad85",
"node1_pad85",
"padrow5", 0., 0., z[8]);
1119 node1_pad86 =
new TNode(
"node1_pad86",
"node1_pad86",
"padrow6", 0., 0., z[8]);
1121 node1_pad91 =
new TNode(
"node1_pad91",
"node1_pad91",
"padrow1", 0., 0., z[9]);
1122 node1_pad92 =
new TNode(
"node1_pad92",
"node1_pad92",
"padrow2", 0., 0., z[9]);
1123 node1_pad93 =
new TNode(
"node1_pad93",
"node1_pad93",
"padrow3", 0., 0., z[9]);
1124 node1_pad94 =
new TNode(
"node1_pad94",
"node1_pad94",
"padrow4", 0., 0., z[9]);
1125 node1_pad95 =
new TNode(
"node1_pad95",
"node1_pad95",
"padrow5", 0., 0., z[9]);
1126 node1_pad96 =
new TNode(
"node1_pad96",
"node1_pad96",
"padrow6", 0., 0., z[9]);
1232 delete node01_pad01;
1233 delete node01_pad02;
1234 delete node01_pad03;
1235 delete node01_pad04;
1236 delete node01_pad05;
1237 delete node01_pad06;
1238 delete node02_pad01;
1239 delete node02_pad02;
1240 delete node02_pad03;
1241 delete node02_pad04;
1242 delete node02_pad05;
1243 delete node02_pad06;
1268 delete node01_pad11;
1269 delete node01_pad12;
1270 delete node01_pad13;
1271 delete node01_pad14;
1272 delete node01_pad15;
1273 delete node01_pad16;
1274 delete node02_pad11;
1275 delete node02_pad12;
1276 delete node02_pad13;
1277 delete node02_pad14;
1278 delete node02_pad15;
1279 delete node02_pad16;
1292 delete node01_pad21;
1293 delete node01_pad22;
1294 delete node01_pad23;
1295 delete node01_pad24;
1296 delete node01_pad25;
1297 delete node01_pad26;
1298 delete node02_pad21;
1299 delete node02_pad22;
1300 delete node02_pad23;
1301 delete node02_pad24;
1302 delete node02_pad25;
1303 delete node02_pad26;
1316 delete node01_pad31;
1317 delete node01_pad32;
1318 delete node01_pad33;
1319 delete node01_pad34;
1320 delete node01_pad35;
1321 delete node01_pad36;
1322 delete node02_pad31;
1323 delete node02_pad32;
1324 delete node02_pad33;
1325 delete node02_pad34;
1326 delete node02_pad35;
1327 delete node02_pad36;
1340 delete node01_pad41;
1341 delete node01_pad42;
1342 delete node01_pad43;
1343 delete node01_pad44;
1344 delete node01_pad45;
1345 delete node01_pad46;
1346 delete node02_pad41;
1347 delete node02_pad42;
1348 delete node02_pad43;
1349 delete node02_pad44;
1350 delete node02_pad45;
1351 delete node02_pad46;
1364 delete node01_pad51;
1365 delete node01_pad52;
1366 delete node01_pad53;
1367 delete node01_pad54;
1368 delete node01_pad55;
1369 delete node01_pad56;
1370 delete node02_pad51;
1371 delete node02_pad52;
1372 delete node02_pad53;
1373 delete node02_pad54;
1374 delete node02_pad55;
1375 delete node02_pad56;
1388 delete node01_pad61;
1389 delete node01_pad62;
1390 delete node01_pad63;
1391 delete node01_pad64;
1392 delete node01_pad65;
1393 delete node01_pad66;
1394 delete node02_pad61;
1395 delete node02_pad62;
1396 delete node02_pad63;
1397 delete node02_pad64;
1398 delete node02_pad65;
1399 delete node02_pad66;
1412 delete node01_pad71;
1413 delete node01_pad72;
1414 delete node01_pad73;
1415 delete node01_pad74;
1416 delete node01_pad75;
1417 delete node01_pad76;
1418 delete node02_pad71;
1419 delete node02_pad72;
1420 delete node02_pad73;
1421 delete node02_pad74;
1422 delete node02_pad75;
1423 delete node02_pad76;
1436 delete node01_pad81;
1437 delete node01_pad82;
1438 delete node01_pad83;
1439 delete node01_pad84;
1440 delete node01_pad85;
1441 delete node01_pad86;
1442 delete node02_pad81;
1443 delete node02_pad82;
1444 delete node02_pad83;
1445 delete node02_pad84;
1446 delete node02_pad85;
1447 delete node02_pad86;
1460 delete node01_pad91;
1461 delete node01_pad92;
1462 delete node01_pad93;
1463 delete node01_pad94;
1464 delete node01_pad95;
1465 delete node01_pad96;
1466 delete node02_pad91;
1467 delete node02_pad92;
1468 delete node02_pad93;
1469 delete node02_pad94;
1470 delete node02_pad95;
1471 delete node02_pad96;