diff --git a/tutorials/CPUMeter.C b/tutorials/CPUMeter.C deleted file mode 100644 index 23a43cc925b43d73d8a59c0a1a8d2f6562e87784..0000000000000000000000000000000000000000 --- a/tutorials/CPUMeter.C +++ /dev/null @@ -1,145 +0,0 @@ - -// Simple macro showing capabilities of TGSpeedo widget. - -#include "TSystem.h" -#include "TGFrame.h" -#include "TGWindow.h" -#include "TGSpeedo.h" - -class TGShapedMain : public TGMainFrame { - -protected: - TGSpeedo *fSpeedo; // analog meter - Int_t fActInfo; // actual information value - Bool_t fRunning; // kTRUE while updating infos - -public: - TGShapedMain(const TGWindow *p, int w, int h); - virtual ~TGShapedMain(); - - void CloseWindow(); - TGSpeedo *GetSpeedo() const { return fSpeedo; } - Int_t GetActInfo() const { return fActInfo; } - Bool_t IsRunning() const { return fRunning; } - void ToggleInfos(); -}; - - -//______________________________________________________________________________ -TGShapedMain::TGShapedMain(const TGWindow *p, int w, int h) : - TGMainFrame(p, w, h) -{ - // Constructor. - - fActInfo = 1; - fRunning = kTRUE; - - fSpeedo = new TGSpeedo(this, 0.0, 100.0, "CPU", "[%]"); - fSpeedo->Connect("OdoClicked()", "TGShapedMain", this, "ToggleInfos()"); - fSpeedo->Connect("LedClicked()", "TGShapedMain", this, "CloseWindow()"); - TGMainFrame::Connect("CloseWindow()", "TGShapedMain", this, "CloseWindow()"); - AddFrame(fSpeedo, new TGLayoutHints(kLHintsCenterX | kLHintsCenterX, 0, 0, 0, 0)); - fSpeedo->SetDisplayText("Used RAM", "[MB]"); - - MapSubwindows(); - MapWindow(); - // To avoid closing the window while TGSpeedo is drawing - DontCallClose(); - Resize(GetDefaultSize()); - // Set fixed size - SetWMSizeHints(GetDefaultWidth(), GetDefaultHeight(), GetDefaultWidth(), GetDefaultHeight(), 1, 1); - SetWindowName("ROOT CPU Load Meter"); -} - -//______________________________________________________________________________ -void TGShapedMain::ToggleInfos() -{ - // Toggle information displayed in Analog Meter - - if (fActInfo < 2) - fActInfo++; - else - fActInfo = 0; - if (fActInfo == 0) - fSpeedo->SetDisplayText("Total RAM", "[MB]"); - else if (fActInfo == 1) - fSpeedo->SetDisplayText("Used RAM", "[MB]"); - else if (fActInfo == 2) - fSpeedo->SetDisplayText("Free RAM", "[MB]"); -} - -//______________________________________________________________________________ -TGShapedMain::~TGShapedMain() -{ - // Destructor. - -} - -//______________________________________________________________________________ -void TGShapedMain::CloseWindow() -{ - // Close Window. - - // stop updating - fRunning = kFALSE; - // reset kDontCallClose bit to be able to really close the window - ResetBit(kDontCallClose); -} - -//______________________________________________________________________________ -void CPUMeter() -{ - // Main application. - - MemInfo_t memInfo; - CpuInfo_t cpuInfo; - Float_t act_load, prev_load = 0.0; - Int_t i, memUsage, old_memUsage = 0; - - TGShapedMain *mainWindow = new TGShapedMain(gClient->GetRoot(), 500, 200); - TGSpeedo *speedo = mainWindow->GetSpeedo(); - - // set threshold values - speedo->SetThresholds(12.5, 50.0, 87.5); - // set threshold colors - speedo->SetThresholdColors(TGSpeedo::kGreen, TGSpeedo::kOrange, TGSpeedo::kRed); - // enable threshold - speedo->EnableThreshold(); - speedo->SetScaleValue(0.0, 5); - // enable peak marker - speedo->EnablePeakMark(); - // update the TGSpeedo widget - gSystem->GetCpuInfo(&cpuInfo); - gSystem->GetMemInfo(&memInfo); - gSystem->ProcessEvents(); - while (mainWindow->IsRunning() && mainWindow->IsMapped()) { - // Get CPU informations - gSystem->GetCpuInfo(&cpuInfo, 100); - // actual CPU load - act_load = cpuInfo.fTotal; - // Get Memory informations - gSystem->GetMemInfo(&memInfo); - // choose which value to display - if (mainWindow->GetActInfo() == 0) - memUsage = memInfo.fMemTotal; - else if (mainWindow->GetActInfo() == 1) - memUsage = memInfo.fMemUsed; - else if (mainWindow->GetActInfo() == 2) - memUsage = memInfo.fMemFree; - // small threshold to avoid "trembling" needle - if (fabs(act_load-prev_load) > 0.9) { - speedo->SetScaleValue(act_load, 10); - prev_load = act_load; - } - // update only if value has changed - if (memUsage != old_memUsage) { - speedo->SetOdoValue(memUsage); - old_memUsage = memUsage; - } - // sleep a bit - gSystem->ProcessEvents(); - gSystem->Sleep(250); - } - mainWindow->CloseWindow(); -} - diff --git a/tutorials/ConfidenceIntervals.C b/tutorials/ConfidenceIntervals.C deleted file mode 100644 index 64201d117065de9c5552af08b2e8f5087cb1258f..0000000000000000000000000000000000000000 --- a/tutorials/ConfidenceIntervals.C +++ /dev/null @@ -1,118 +0,0 @@ -#include "TGraphErrors.h" -#include "TGraph2DErrors.h" -#include "TCanvas.h" -#include "TF2.h" -#include "TH1.h" -#include "TVirtualFitter.h" -#include "TRandom.h" - -void ConfidenceIntervals() -{ -//This tutorial illustrates the TVirtualFitter::GetConfidenceIntervals() method -//This method computes confidence intervals for the fitted function - - TCanvas *myc = new TCanvas("myc", "Confidence intervals on the fitted function",1200, 500); - myc->Divide(3,1); - -/////1. A graph - //Create and fill a graph - Int_t ngr = 100; - TGraph *gr = new TGraph(ngr); - Double_t x, y; - Int_t i; - for (i=0; i<ngr; i++){ - x = gRandom->Uniform(-1, 1); - y = -1 + 2*x + gRandom->Gaus(0, 1); - gr->SetPoint(i, x, y); - } - //Create the fitting function - TF1 *fpol = new TF1("fpol", "pol1", -1, 1); - fpol->SetLineWidth(2); - gr->Fit(fpol, "Q"); - - //Create a TGraphErrors to hold the confidence intervals - TGraphErrors *grint = new TGraphErrors(ngr); - grint->SetTitle("Fitted line with .95 conf. band"); - for (i=0; i<ngr; i++) - grint->SetPoint(i, gr->GetX()[i], 0); - //Compute the confidence intervals at the x points of the created graph - (TVirtualFitter::GetFitter())->GetConfidenceIntervals(grint); - //Now the "grint" graph contains function values as its y-coordinates - //and confidence intervals as the errors on these coordinates - //Draw the graph, the function and the confidence intervals - myc->cd(1); - grint->SetLineColor(kRed); - grint->Draw("ap"); - gr->SetMarkerStyle(5); - gr->SetMarkerSize(0.7); - gr->Draw("psame"); - -/////2. A histogram - myc->cd(2); - //Create, fill and fit a histogram - Int_t nh=5000; - TH1D *h = new TH1D("h", "Fitted gaussian with .95 conf.band", 100, -3, 3); - h->FillRandom("gaus", nh); - TF1 *f = new TF1("fgaus", "gaus", -3, 3); - f->SetLineWidth(2); - h->Fit(f, "Q"); - h->Draw(); - - //Create a histogram to hold the confidence intervals - TH1D *hint = new TH1D("hint", "Fitted gaussian with .95 conf.band", 100, -3, 3); - (TVirtualFitter::GetFitter())->GetConfidenceIntervals(hint); - //Now the "hint" histogram has the fitted function values as the bin contents - //and the confidence intervals as bin errors - //hint->Draw("e3"); - hint->SetStats(kFALSE); - hint->SetFillColor(2); - hint->Draw("e3 same"); - -/////3. A 2d graph - //Create and fill the graph - Int_t ngr2 = 100; - Double_t z, rnd, e=0.3; - TGraph2D *gr2 = new TGraph2D(ngr2); - TF2 *f2 = new TF2("f2","1000*(([0]*sin(x)/x)*([1]*sin(y)/y))+250",-6,6,-6,6); - f2->SetParameters(1,1); - for (i=0; i<ngr2; i++){ - f2->GetRandom2(x,y); - // Generate a random number in [-e,e] - rnd = 2*gRandom->Rndm()*e-e; - z = f2->Eval(x,y)*(1+rnd); - gr2->SetPoint(i,x,y,z); - } - //Create a graph with errors to store the intervals - TGraph2DErrors *grint2 = new TGraph2DErrors(ngr2); - for (i=0; i<ngr2; i++) - grint2->SetPoint(i, gr2->GetX()[i], gr2->GetY()[i], 0); - - //Fit the graph - f2->SetParameters(0.5,1.5); - gr2->Fit(f2, "Q"); - //Compute the confidence intervals - (TVirtualFitter::GetFitter())->GetConfidenceIntervals(grint2); - //Now the "grint2" graph contains function values as z-coordinates - //and confidence intervals as their errors - //draw - myc->cd(3); - f2->SetNpx(30); - f2->SetNpy(30); - f2->SetFillColor(kBlue); - f2->Draw("surf4"); - grint2->SetNpx(20); - grint2->SetNpy(20); - grint2->SetMarkerStyle(24); - grint2->SetMarkerSize(0.7); - grint2->SetMarkerColor(kRed); - grint2->SetLineColor(kRed); - grint2->Draw("E0 same"); - grint2->SetTitle("Fitted 2d function with .95 error bars"); - - myc->cd(); - -} - - - - diff --git a/tutorials/ContourList.C b/tutorials/ContourList.C deleted file mode 100644 index 44cc7e92b79d0d6675cc5e33e31bf00de71bba03..0000000000000000000000000000000000000000 --- a/tutorials/ContourList.C +++ /dev/null @@ -1,165 +0,0 @@ -// TEST SCRIPT FOR: Getting Contours From TH2D -// Author: Josh de Bever -// CSI Medical Physics Group -// The University of Western Ontario -// London, Ontario, Canada -// Date: Oct. 22, 2004 -// Modified by O.Couet (Nov. 26, 2004) - -void ContourList(){ - - const Double_t PI = TMath::Pi(); - - TCanvas* c = new TCanvas("c","Contour List",0,0,600,600); - c->SetRightMargin(0.15); - c->SetTopMargin(0.15); - - Int_t i, j, TotalConts; - - Int_t nZsamples = 80; - Int_t nPhiSamples = 80; - - Double_t HofZwavelength = 4.0; // 4 meters - Double_t dZ = HofZwavelength/(Double_t)(nZsamples - 1); - Double_t dPhi = 2*PI/(Double_t)(nPhiSamples - 1); - - TArrayD z(nZsamples); - TArrayD HofZ(nZsamples); - TArrayD phi(nPhiSamples); - TArrayD FofPhi(nPhiSamples); - - - // Discretized Z and Phi Values - for ( i = 0; i < nZsamples; i++) { - z[i] = (i)*dZ - HofZwavelength/2.0; - HofZ[i] = SawTooth(z[i], HofZwavelength); - } - - for(Int_t i=0; i < nPhiSamples; i++){ - phi[i] = (i)*dPhi; - FofPhi[i] = sin(phi[i]); - } - - // Create Histogram - TH2D *HistStreamFn = new TH2D("HstreamFn", - "#splitline{Histogram with negative and positive contents. Six contours are defined.}{It is plotted with options CONT LIST to retrieve the contours points in TGraphs}", - nZsamples, z[0], z[nZsamples-1], nPhiSamples, phi[0], phi[nPhiSamples-1]); - - // Load Histogram Data - for (Int_t i = 0; i < nZsamples; i++) { - for(Int_t j = 0; j < nPhiSamples; j++){ - HistStreamFn->SetBinContent(i,j, HofZ[i]*FofPhi[j]); - } - } - - gStyle->SetPalette(1); - gStyle->SetOptStat(0); - gStyle->SetTitleW(0.99); - gStyle->SetTitleH(0.08); - - Double_t contours[6]; - contours[0] = -0.7; - contours[1] = -0.5; - contours[2] = -0.1; - contours[3] = 0.1; - contours[4] = 0.4; - contours[5] = 0.8; - - HistStreamFn->SetContour(6, contours); - - // Draw contours as filled regions, and Save points - HistStreamFn->Draw("CONT Z LIST"); - c->Update(); // Needed to force the plotting and retrieve the contours in TGraphs - - // Get Contours - TObjArray *conts = (TObjArray*)gROOT->GetListOfSpecials()->FindObject("contours"); - TList* contLevel = NULL; - TGraph* curv = NULL; - Int_t nGraphs = 0; - Int_t TotalConts = 0; - - - if (conts == NULL){ - printf("*** No Contours Were Extracted!\n"); - TotalConts = 0; - return; - } else { - TotalConts = conts->GetSize(); - } - - printf("TotalConts = %d\n", TotalConts); - - for(i = 0; i < TotalConts; i++){ - contLevel = (TList*)conts->At(i); - printf("Contour %d has %d Graphs\n", i, contLevel->GetSize()); - nGraphs += contLevel->GetSize(); - } - - nGraphs = 0; - - TCanvas* c1 = new TCanvas("c1","Contour List",610,0,600,600); - c1->SetTopMargin(0.15); - TH2F *hr = new TH2F("hr", - "#splitline{Negative contours are returned first (highest to lowest). Positive contours are returned from}{lowest to highest. On this plot Negative contours are drawn in red and positive contours in blue.}", - 2, -2, 2, 2, 0, 6.5); - - hr->Draw(); - Double_t x0, y0, z0; - TLatex l; - l.SetTextSize(0.03); - char val[20]; - - for(i = 0; i < TotalConts; i++){ - contLevel = (TList*)conts->At(i); - if (i<3) z0 = contours[2-i]; - else z0 = contours[i]; - printf("Z-Level Passed in as: Z = %f\n", z0); - - // Get first graph from list on curves on this level - curv = (TGraph*)contLevel->First(); - for(j = 0; j < contLevel->GetSize(); j++){ - curv->GetPoint(0, x0, y0); - if (z0<0) curv->SetLineColor(kRed); - if (z0>0) curv->SetLineColor(kBlue); - nGraphs ++; - printf("\tGraph: %d -- %d Elements\n", nGraphs,curv->GetN()); - curv->Draw("C"); - sprintf(val,"%g",z0); - l.DrawLatex(x0,y0,val); - curv = (TGraph*)contLevel->After(curv); // Get Next graph - } - } - c1->Update(); - printf("\n\n\tExtracted %d Contours and %d Graphs \n", TotalConts, nGraphs ); -} - - -Double_t SawTooth(Double_t x, Double_t WaveLen){ - -// This function is specific to a sawtooth function with period -// WaveLen, symmetric about x = 0, and with amplitude = 1. Each segment -// is 1/4 of the wavelength. -// -// | -// /\ | -// / \ | -// / \ | -// / \ -// /--------\--------/------------ -// |\ / -// | \ / -// | \ / -// | \/ -// - - Double_t y; - if ( (x < -WaveLen/2) || (x > WaveLen/2)) y = -99999999; // Error X out of bounds - if (x <= -WaveLen/4) { - y = x + 2.0; - } else if ((x > -WaveLen/4) && (x <= WaveLen/4)) { - y = -x ; - } else if (( x > WaveLen/4) && (x <= WaveLen/2)) { - y = x - 2.0; - } - return y; -} diff --git a/tutorials/DOMParsePerson.C b/tutorials/DOMParsePerson.C deleted file mode 100644 index 6c453c1bd1c661cc16ae4bfccd8a66d97d4e9344..0000000000000000000000000000000000000000 --- a/tutorials/DOMParsePerson.C +++ /dev/null @@ -1,232 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// // -// ROOT implementation of a XML DOM Parser // -// // -// This is an example of how Dom Parser works. It will parse the xml file // -// (person.xml) to the Person object. // -// A DTD validation will be run on this example. // -// // -// To run this program // -// .x DOMParsePerson.C // -// // -// Requires: person.xml and person.dtd // -// // -//////////////////////////////////////////////////////////////////////////////// - -#include <Riostream.h> -#include <TDOMParser.h> -#include <TXMLAttr.h> -#include <TXMLNode.h> -#include <TList.h> - - -class Date { -public: - Date() : day(0), month(0), year(0) { } - Date(Int_t d, Int_t m, Int_t y) : day(d), month(m), year(y) { } - Int_t GetDay() const { return day; } - Int_t GetMonth() const { return month; } - Int_t GetYear() const { return year; } - void SetDay(Int_t d) { day=d; } - void SetMonth(Int_t m) { month=m;} - void SetYear(Int_t y) { year=y;} -private: - Int_t day; - Int_t month; - Int_t year; -}; - -class Address { -public: - Address() { } - Address(TString s, TString p, TString c) : - street(s), postalCode(p), country(c) { } - TString GetStreet() const { return street; } - TString GetPostalCode() const { return postalCode; } - TString GetCountry() const { return country; } - void SetStreet(const TString &s) { street = s; } - void SetPostalCode(const TString &p) { postalCode = p; } - void SetCountry(const TString &c) { country = c; } -private: - TString street; - TString postalCode; - TString country; -}; - -class Person : public TObject { -public: - Person() { } - Person(Int_t i, TString f, TString l, Char_t g, Date * d, Address * a) : - id(i), firstName(f), lastName(l), gender(g), dateOfBirth(d), address(a){ } - - ~Person() { - delete dateOfBirth; - delete address; - } - - TString GetFirstName() const { return firstName; } - TString GetLastName() const { return lastName; } - Char_t GetGender() const { return gender; } - Date *GetDate() const { return dateOfBirth; } - Address *GetAddress() const { return address; } - Int_t GetID() const { return id; } - - friend ostream & operator << (ostream& out, const Person& p) { - out << "ID: " << p.id << endl; - out << "First name: " << p.firstName << endl; - out << "Last name: " << p.lastName << endl; - out << "Sex: " << p.gender << endl; - out << "Date of birth: " << p.dateOfBirth->GetDay() << "/" - << p.dateOfBirth->GetMonth() << "/" - << p.dateOfBirth->GetYear() << endl; - out << "Address: " << p.address->GetStreet() << endl; - out << "\t" << p.address->GetPostalCode() << endl; - out << "\t" << p.address->GetCountry() << endl; - out << endl; - return out; - } - -private: - Int_t id; - TString firstName; - TString lastName; - Char_t gender; - Date *dateOfBirth; - Address *address; -}; - -class PersonList { -public: - PersonList() { - listOfPerson = new TList(); - } - - Int_t ParseFile(TString filename) { - TDOMParser *domParser = new TDOMParser(); - Int_t parsecode = domParser->ParseFile(filename); - - if (parsecode < 0) { - cerr << domParser->GetParseCodeMessage(parsecode) << endl; - return -1; - } - - TXMLNode * node = domParser->GetXMLDocument()->GetRootNode(); - - ParsePersonList(node); - - return 0; - } - - void ParsePersonList(TXMLNode *node) { - for (; node; node = node->GetNextNode()) { - if (node->GetNodeType() == TXMLNode::kXMLElementNode) { // Element Node - if (strcmp(node->GetNodeName(), "Person") == 0) { - Int_t id=0; - if (node->HasAttributes()) { - TList *attrList = node->GetAttributes(); - TXMLAttr *attr = 0; - TIter next(attrList); - while ((attr=(TXMLAttr*)next())) { - if (strcmp(attr->GetName(), "ID") == 0) { - id = atoi(attr->GetValue()); - break; - } - } - } - listOfPerson->Add(ParsePerson(node->GetChildren(), id)); - } - } - ParsePersonList(node->GetChildren()); - } - } - - Date *ParseDate(TXMLNode *node) { - Int_t d=0, m=0, y=0; - for ( ; node; node = node->GetNextNode()) { - if (node->GetNodeType() == TXMLNode::kXMLElementNode) { // Element Node - if (strcmp(node->GetNodeName(), "Day") == 0) { - d = atoi(node->GetText()); - } - if (strcmp(node->GetNodeName(), "Month") == 0) { - m = atoi(node->GetText()); - } - if (strcmp(node->GetNodeName(), "Year") == 0) { - y = atoi(node->GetText()); - } - } - } - return new Date(d, m, y); - } - - Address *ParseAddress(TXMLNode *node) { - TString s, p, c; - for( ; node!=NULL; node = node->GetNextNode()){ - if (node->GetNodeType() == TXMLNode::kXMLElementNode) { // Element Node - if (strcmp(node->GetNodeName(), "Street") == 0) { - s = node->GetText(); - } - if (strcmp(node->GetNodeName(), "PostalCode") == 0) { - p = node->GetText(); - } - if (strcmp(node->GetNodeName(), "Country") == 0) { - c = node->GetText(); - } - } - } - return new Address(s, p, c); - } - - Person *ParsePerson(TXMLNode *node, Int_t id) { - TString firstName, lastName; - char gender = ' '; - Date *date; - Address *address; - - for ( ; node; node = node->GetNextNode()) { - if (node->GetNodeType() == TXMLNode::kXMLElementNode) { // Element Node - if (strcmp(node->GetNodeName(), "FirstName") == 0) - firstName = node->GetText(); - if (strcmp(node->GetNodeName(), "LastName") == 0) - lastName = node->GetText(); - if (strcmp(node->GetNodeName(), "Gender") == 0) - gender = node->GetText()[0]; - if (strcmp(node->GetNodeName(), "DateOfBirth") == 0) - date = ParseDate(node->GetChildren()); - if (strcmp(node->GetNodeName(), "Address") == 0) - address = ParseAddress(node->GetChildren()); - } - } - - return new Person(id, firstName, lastName, gender, date, address); - } - - friend ostream& operator << (ostream& out, const PersonList & pl) { - TIter next(pl.listOfPerson); - Person *p; - while ((p =(Person*)next())){ - out << *p << endl; - } - return out; - } - - void PrintPerson() { - TIter next(listOfPerson); - Person *p; - while ((p =(Person*)next())) { - cout << *p << endl; - } - } - -private: - Int_t numberOfPersons; - TList *listOfPerson; -}; - - -void DOMParsePerson() -{ - PersonList personlist; - - if (personlist.ParseFile("person.xml") == 0) - cout << personlist << endl; -} diff --git a/tutorials/DOMRecursive.C b/tutorials/DOMRecursive.C deleted file mode 100644 index 8ea37b7960f583818892b0fdc1118768e9eddfad..0000000000000000000000000000000000000000 --- a/tutorials/DOMRecursive.C +++ /dev/null @@ -1,57 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// // -// ROOT implementation of a XML DOM Parser // -// // -// This is an example of how Dom Parser walks the DOM tree recursively. // -// This example will parse any xml file. // -// // -// To run this program // -// .x domrecursive.C // -// // -// Requires: person.xml // -// // -//////////////////////////////////////////////////////////////////////////////// - -#include <Riostream.h> -#include <TDOMParser.h> -#include <TXMLNode.h> -#include <TXMLAttr.h> - - -void ParseContext(TXMLNode *node) -{ - for ( ; node; node = node->GetNextNode()) { - if (node->GetNodeType() == TXMLNode::kXMLElementNode) { // Element Node - cout << node->GetNodeName() << ": "; - if (node->HasAttributes()) { - TList* attrList = node->GetAttributes(); - TIter next(attrList); - TXMLAttr *attr; - while ((attr =(TXMLAttr*)next())) { - cout << attr->GetName() << ":" << attr->GetValue(); - } - } - } - if (node->GetNodeType() == TXMLNode::kXMLTextNode) { // Text node - cout << node->GetContent(); - } - if (node->GetNodeType() == TXMLNode::kXMLCommentNode) { //Comment node - cout << "Comment: " << node->GetContent(); - } - - ParseContext(node->GetChildren()); - } -} - - -void DOMRecursive() -{ - TDOMParser *domParser = new TDOMParser(); - - domParser->SetValidate(false); // do not validate with DTD - domParser->ParseFile("person.xml"); - - TXMLNode *node = domParser->GetXMLDocument()->GetRootNode(); - - ParseContext(node); -} diff --git a/tutorials/DynamicSlice.C b/tutorials/DynamicSlice.C deleted file mode 100644 index a7de0a131089594d7ff9fe553c03a021b98b3ec9..0000000000000000000000000000000000000000 --- a/tutorials/DynamicSlice.C +++ /dev/null @@ -1,76 +0,0 @@ -void DynamicSlice() -{ - // Create a new canvas. - c1 = new TCanvas("c1","Dynamic Slice Example",10,10,700,500); - c1->SetFillColor(42); - c1->SetFrameFillColor(33); - - //create a 2-d histogram, fill and draw it - TH2F *hpxpy = new TH2F("hpxpy","py vs px",40,-4,4,40,-4,4); - hpxpy->SetStats(0); - Double_t px,py; - for (Int_t i = 0; i < 50000; i++) { - gRandom->Rannor(px,py); - hpxpy->Fill(px,py); - } - hpxpy->Draw("col"); - - //Add a TExec object to the canvas - c1->AddExec("dynamic","DynamicExec()"); -} - -void DynamicExec() -{ - // Example of function called when a mouse event occurs in a pad. - // When moving the mouse in the canvas, a second canvas shows the - // projection along X of the bin corresponding to the Y position - // of the mouse. The resulting histogram is fitted with a gaussian. - // A "dynamic" line shows the current bin position in Y. - // This more elaborated example can be used as a starting point - // to develop more powerful interactive applications exploiting CINT - // as a development engine. - // - // Author: Rene Brun - - TObject *select = gPad->GetSelected(); - if(!select) return; - if (!select->InheritsFrom("TH2")) {gPad->SetUniqueID(0); return;} - TH2 *h = (TH2*)select; - gPad->GetCanvas()->FeedbackMode(kTRUE); - - //erase old position and draw a line at current position - int pyold = gPad->GetUniqueID(); - int px = gPad->GetEventX(); - int py = gPad->GetEventY(); - float uxmin = gPad->GetUxmin(); - float uxmax = gPad->GetUxmax(); - int pxmin = gPad->XtoAbsPixel(uxmin); - int pxmax = gPad->XtoAbsPixel(uxmax); - if(pyold) gVirtualX->DrawLine(pxmin,pyold,pxmax,pyold); - gVirtualX->DrawLine(pxmin,py,pxmax,py); - gPad->SetUniqueID(py); - Float_t upy = gPad->AbsPixeltoY(py); - Float_t y = gPad->PadtoY(upy); - - //create or set the new canvas c2 - TVirtualPad *padsav = gPad; - TCanvas *c2 = (TCanvas*)gROOT->GetListOfCanvases()->FindObject("c2"); - if(c2) delete c2->GetPrimitive("Projection"); - else c2 = new TCanvas("c2","Projection Canvas",710,10,700,500); - c2->SetGrid(); - c2->cd(); - - //draw slice corresponding to mouse position - Int_t biny = h->GetYaxis()->FindBin(y); - TH1D *hp = h->ProjectionX("",biny,biny); - hp->SetFillColor(38); - char title[80]; - sprintf(title,"Projection of biny=%d",biny); - hp->SetName("Projection"); - hp->SetTitle(title); - hp->Fit("gaus","ql"); - hp->GetFunction("gaus")->SetLineColor(kRed); - hp->GetFunction("gaus")->SetLineWidth(6); - c2->Update(); - padsav->cd(); -} diff --git a/tutorials/DynamicSlice.py b/tutorials/DynamicSlice.py deleted file mode 100644 index 231536c5cb49460f5769544d36445fc3ede93b87..0000000000000000000000000000000000000000 --- a/tutorials/DynamicSlice.py +++ /dev/null @@ -1,123 +0,0 @@ -import sys - -from ROOT import gRandom, gPad, gROOT, gVirtualX -from ROOT import kTRUE, kRed -from ROOT import TCanvas, TH2, TH2F - - -class DynamicExec: - """Example of function called when a mouse event occurs in a pad. -When moving the mouse in the canvas, a second canvas shows the -projection along X of the bin corresponding to the Y position -of the mouse. The resulting histogram is fitted with a gaussian. -A "dynamic" line shows the current bin position in Y. -This more elaborated example can be used as a starting point -to develop more powerful interactive applications exploiting CINT -as a development engine. - -Note that a class is used to hold on to the canvas that display -the selected slice. - -Original author: Rene Brun -Modified and pythonized: Johann Cohen-Tanugi, Wim Lavrijsen""" - - def __init__( self ): - self._cX = None - self._cY = None - self._old = None - - def __call__( self ): - - h = gPad.GetSelected(); - if not h: - return - - if not isinstance( h, TH2 ): - return - - gPad.GetCanvas().FeedbackMode( kTRUE ) - - # erase old position and draw a line at current position - px = gPad.GetEventX() - py = gPad.GetEventY() - - uxmin, uxmax = gPad.GetUxmin(), gPad.GetUxmax() - uymin, uymax = gPad.GetUymin(), gPad.GetUymax() - pxmin, pxmax = gPad.XtoAbsPixel( uxmin ), gPad.XtoAbsPixel( uxmax ) - pymin, pymax = gPad.YtoAbsPixel( uymin ), gPad.YtoAbsPixel( uymax ) - - if self._old != None: - gVirtualX.DrawLine( pxmin, self._old[1], pxmax, self._old[1] ) - gVirtualX.DrawLine( self._old[0], pymin, self._old[0], pymax ) - gVirtualX.DrawLine( pxmin, py, pxmax, py ) - gVirtualX.DrawLine( px, pymin, px, pymax ) - - self._old = px, py - - upx = gPad.AbsPixeltoX( px ) - x = gPad.PadtoX( upx ) - upy = gPad.AbsPixeltoY( py ) - y = gPad.PadtoY( upy ) - - padsav = gPad - - # create or set the display canvases - if not self._cX: - self._cX = TCanvas( 'c2', 'Projection Canvas in X', 730, 10, 700, 500 ) - else: - self._DestroyPrimitive( 'X' ) - - if not self._cY: - self._cY = TCanvas( 'c3', 'Projection Canvas in Y', 10, 550, 700, 500 ) - else: - self._DestroyPrimitive( 'Y' ) - - self.DrawSlice( h, y, 'Y' ) - self.DrawSlice( h, x, 'X' ) - - padsav.cd() - - def _DestroyPrimitive( self, xy ): - proj = getattr( self, '_c'+xy ).GetPrimitive( 'Projection '+xy ) - if proj: - proj.IsA().Destructor( proj ) - - def DrawSlice( self, histo, value, xy ): - yx = xy == 'X' and 'Y' or 'X' - - # draw slice corresponding to mouse position - canvas = getattr( self, '_c'+xy ) - canvas.SetGrid() - canvas.cd() - - bin = getattr( histo, 'Get%saxis' % xy )().FindBin( value ) - hp = getattr( histo, 'Projection' + yx )( '', bin, bin ) - hp.SetFillColor( 38 ) - hp.SetName( 'Projection ' + xy ) - hp.SetTitle( xy + 'Projection of bin=%d' % bin ) - hp.Fit( 'gaus', 'ql' ) - hp.GetFunction( 'gaus' ).SetLineColor( kRed ) - hp.GetFunction( 'gaus' ).SetLineWidth( 6 ) - canvas.Update() - - -if __name__ == '__main__': - # create a new canvas. - c1 = TCanvas('c1', 'Dynamic Slice Example', 10, 10, 700, 500 ) - c1.SetFillColor( 42 ) - c1.SetFrameFillColor( 33 ) - - # create a 2-d histogram, fill and draw it - hpxpy = TH2F( 'hpxpy', 'py vs px', 40, -4, 4, 40, -4, 4 ) - hpxpy.SetStats( 0 ) - x, y = 0.1, 0.101 - for i in xrange( 50000 ): - gRandom.Rannor( x, y ) - hpxpy.Fill( x, y ) - hpxpy.Draw( 'COL' ) - - # Add a TExec object to the canvas (explicit use of __main__ is for IPython) - import __main__ - __main__.slicer = DynamicExec() - c1.AddExec( 'dynamic', 'TPython::Exec( "slicer()" )' ) - c1.Update() diff --git a/tutorials/EditorBar.C b/tutorials/EditorBar.C deleted file mode 100644 index 80fca704238281c081111a76dd9b4ac0a78ed394..0000000000000000000000000000000000000000 --- a/tutorials/EditorBar.C +++ /dev/null @@ -1,15 +0,0 @@ - { - TControlBar *ed = new TControlBar("vertical"); - ed->AddButton("Arc", "gROOT->SetEditorMode(\"Arc\")", "Create an arc of circle"); - ed->AddButton("Arrow", "gROOT->SetEditorMode(\"Arrow\")", "Create an Arrow"); - ed->AddButton("Diamond", "gROOT->SetEditorMode(\"Diamond\")", "Create a diamond"); - ed->AddButton("Ellipse", "gROOT->SetEditorMode(\"Ellipse\")", "Create an Ellipse"); - ed->AddButton("Pad", "gROOT->SetEditorMode(\"Pad\")", "Create a pad"); - ed->AddButton("Pave", "gROOT->SetEditorMode(\"Pave\")", "Create a Pave"); - ed->AddButton("PaveLabel","gROOT->SetEditorMode(\"PaveLabel\")", "Create a PaveLabel (prompt for label)"); - ed->AddButton("PaveText", "gROOT->SetEditorMode(\"PaveText\")", "Create a PaveText"); - ed->AddButton("PavesText","gROOT->SetEditorMode(\"PavesText\")", "Create a PavesText"); - ed->AddButton("PolyLine", "gROOT->SetEditorMode(\"PolyLine\")", "Create a PolyLine (TGraph)"); - ed->AddButton("Text", "gROOT->SetEditorMode(\"Text\")", "Create a Text string"); - ed->Show(); -} diff --git a/tutorials/FFT.C b/tutorials/FFT.C deleted file mode 100644 index 4151a21dece2a334d9c8e49ef6f8bd59e9840d70..0000000000000000000000000000000000000000 --- a/tutorials/FFT.C +++ /dev/null @@ -1,154 +0,0 @@ -#include "TH1D.h" -#include "TVirtualFFT.h" -#include "TF1.h" -#include "TCanvas.h" - -void FFT() -{ -//This tutorial illustrates the Fast Fourier Transforms interface in ROOT. -//FFT transform types provided in ROOT: -// - "C2CFORWARD" - a complex input/output discrete Fourier transform (DFT) -// in one or more dimensions, -1 in the exponent -// - "C2CBACKWARD"- a complex input/output discrete Fourier transform (DFT) -// in one or more dimensions, +1 in the exponent -// - "R2C" - a real-input/complex-output discrete Fourier transform (DFT) -// in one or more dimensions, -// - "C2R" - inverse transforms to "R2C", taking complex input -// (storing the non-redundant half of a logically Hermitian array) -// to real output -// - "R2HC" - a real-input DFT with output in ¡Èhalfcomplex¡É format, -// i.e. real and imaginary parts for a transform of size n stored as -// r0, r1, r2, ..., rn/2, i(n+1)/2-1, ..., i2, i1 -// - "HC2R" - computes the reverse of FFTW_R2HC, above -// - "DHT" - computes a discrete Hartley transform -// Sine/cosine transforms: -// DCT-I (REDFT00 in FFTW3 notation) -// DCT-II (REDFT10 in FFTW3 notation) -// DCT-III(REDFT01 in FFTW3 notation) -// DCT-IV (REDFT11 in FFTW3 notation) -// DST-I (RODFT00 in FFTW3 notation) -// DST-II (RODFT10 in FFTW3 notation) -// DST-III(RODFT01 in FFTW3 notation) -// DST-IV (RODFT11 in FFTW3 notation) -//First part of the tutorial shows how to transform the histograms -//Second part shows how to transform the data arrays directly - - -//********* Histograms ********// - - //prepare the canvas for drawing - TCanvas *myc = new TCanvas("myc", "Fast Fourier Transform", 800, 600); - myc->SetFillColor(45); - TPad *c1_1 = new TPad("c1_1", "c1_1",0.01,0.51,0.49,0.99); - TPad *c1_2 = new TPad("c1_2", "c1_2",0.51,0.51,0.99,0.99); - TPad *c1_3 = new TPad("c1_3", "c1_3",0.01,0.01,0.49,0.49); - TPad *c1_4 = new TPad("c1_4", "c1_4",0.51,0.01,0.99,0.49); - c1_1->Draw(); - c1_2->Draw(); - c1_3->Draw(); - c1_4->Draw(); - c1_1->SetFillColor(30); - c1_1->SetFrameFillColor(42); - c1_2->SetFillColor(30); - c1_2->SetFrameFillColor(42); - c1_3->SetFillColor(30); - c1_3->SetFrameFillColor(42); - c1_4->SetFillColor(30); - c1_4->SetFrameFillColor(42); - c1_1->cd(); - - //A function to sample - TF1 *fsin = new TF1("fsin", "sin(x)+sin(2*x)+sin(0.5*x)+1", 0, 4*TMath::Pi()); - fsin->Draw(); - Int_t n=25; - TH1D *hsin = new TH1D("hsin", "hsin", n+1, 0, 4*TMath::Pi()); - Double_t x; - //Fill the histogram with function values - for (Int_t i=0; i<=n; i++){ - x = (Double_t(i)/n)*(4*TMath::Pi()); - hsin->SetBinContent(i+1, fsin->Eval(x)); - } - hsin->Draw("same"); - fsin->GetXaxis()->SetLabelSize(0.05); - fsin->GetYaxis()->SetLabelSize(0.05); - c1_2->cd(); - //Compute the transform and look at the magnitude of the output - TH1 *hm =0; - hm = hsin->FFT(hm, "MAG"); - hm->Draw(); - hm->SetStats(kFALSE); - hm->GetXaxis()->SetLabelSize(0.05); - hm->GetYaxis()->SetLabelSize(0.05); - c1_3->cd(); - //Look at the phase of the output - TH1 *hp = 0; - hp = hsin->FFT(hp, "PH"); - hp->Draw(); - hp->SetStats(kFALSE); - hp->GetXaxis()->SetLabelSize(0.05); - hp->GetYaxis()->SetLabelSize(0.05); - //Look at the DC component and the Nyquist harmonic: - TVirtualFFT *fft = TVirtualFFT::GetCurrentTransform(); - Double_t re, im; - fft->GetPointComplex(0, re, im); - printf("1st transform: DC component: %f\n", re); - fft->GetPointComplex(n/2+1, re, im); - printf("1st transform: Nyquist harmonic: %f\n", re); - -//********* Data array - same transform ********// - - //Allocate an array big enough to hold the transform output - //Transform output in 1d contains, for a transform of size N, - //N/2+1 complex numbers, i.e. 2*(N/2+1) real numbers - //our transform is of size n+1, because the histogram has n+1 bins - - Double_t *in = new Double_t[2*((n+1)/2+1)]; - for (Int_t i=0; i<=n; i++){ - x = (Double_t(i)/n)*(4*TMath::Pi()); - in[i] = fsin->Eval(x); - } - - //Make our own TVirtualFFT object (using option "K") - //Third parameter (option) consists of 3 parts: - //-transform type: - // real input/complex output in our case - //-transform flag: - // the amount of time spent in planning - // the transform (see TVirtualFFT class description) - //-to create a new TVirtualFFT object (option "K") or use the global (default) - Int_t n_size = n+1; - TVirtualFFT *fft_own = TVirtualFFT::FFT(1, &n_size, "R2C ES K"); - fft_own->SetPoints(in); - fft_own->Transform(); - - //Copy all the output points: - fft_own->GetPoints(in); - //Draw the real part of the output - c1_4->cd(); - TH1 *hr = 0; - hr = TH1::TransformHisto(fft_own, hr, "RE"); - hr->Draw(); - hr->SetStats(kFALSE); - hr->GetXaxis()->SetLabelSize(0.05); - hr->GetYaxis()->SetLabelSize(0.05); - myc->cd(); - //Now let's make another transform of the same size - //The same transform object can be used, as the size and the type of the transform - //haven't changed - TF1 *fcos = new TF1("fcos", "cos(x)+cos(0.5*x)+cos(2*x)+1", 0, 4*TMath::Pi()); - for (Int_t i=0; i<=n; i++){ - x = (Double_t(i)/n)*(4*TMath::Pi()); - in[i] = fcos->Eval(x); - } - fft_own->SetPoints(in); - fft_own->Transform(); - fft_own->GetPointComplex(0, re, im); - printf("2nd transform: DC component: %f\n", re); - fft_own->GetPointComplex(n/2+1, re, im); - printf("2nd transform: Nyquist harmonic: %f\n", re); - delete fft_own; - - - -} - diff --git a/tutorials/FeldmanCousins.C b/tutorials/FeldmanCousins.C deleted file mode 100644 index 78735420eb0d87ba58df942f31543cbc2f3ebf22..0000000000000000000000000000000000000000 --- a/tutorials/FeldmanCousins.C +++ /dev/null @@ -1,32 +0,0 @@ - -void FeldmanCousins() -{ - // Example macro of using the TFeldmanCousins class in root. - // Author : Adrian John Bevan <bevan@SLAC.Stanford.EDU> - // - // get a FeldmanCousins calculation object with the default limits - // of calculating a 90% CL with the minimum signal value scanned - // = 0.0 and the maximum signal value scanned of 50.0 - - if (!gROOT->GetClass("TFeldmanCousins")) gSystem->Load("libPhysics"); - - TFeldmanCousins f; - - // calculate either the upper or lower limit for 10 observerd - // events with an estimated background of 3. The calculation of - // either upper or lower limit will return that limit and fill - // data members with both the upper and lower limit for you. - Double_t Nobserved = 10.0; - Double_t Nbackground = 3.0; - - Double_t ul = f.CalculateUpperLimit(Nobserved, Nbackground); - Double_t ll = f.GetLowerLimit(); - - cout << "For " << Nobserved << " data observed with and estimated background"<<endl; - cout << "of " << Nbackground << " candidates, the Feldman-Cousins method of "<<endl; - cout << "calculating confidence limits gives:"<<endl; - cout << "\tUpper Limit = " << ul << endl; - cout << "\tLower Limit = " << ll << endl; - cout << "at the 90% CL"<< endl; -} - diff --git a/tutorials/FileDialog.png b/tutorials/FileDialog.png deleted file mode 100755 index 1862833966d9271bfc74d3058efda7279383e923..0000000000000000000000000000000000000000 Binary files a/tutorials/FileDialog.png and /dev/null differ diff --git a/tutorials/FirstContour.C b/tutorials/FirstContour.C deleted file mode 100644 index 739385466a4753da04d73a3d39b312301294a30b..0000000000000000000000000000000000000000 --- a/tutorials/FirstContour.C +++ /dev/null @@ -1,49 +0,0 @@ -//--------------script contours.C -void FirstContour() -{ - //this macro generates a color contour plot by selecting entries - //from an ntuple file. - //The TGraph object corresponding to the first contour line is - //accessed and displayed into a separate canvas. - - TFile *file = new TFile("hsimple.root"); - TTree *ntuple = (TTree*)file->Get("ntuple"); - - TCanvas *c1 = new TCanvas("c1","Contours",10,10,800,600); - gStyle->SetPalette(1); - ntuple->Draw("py:px","px*px+py*py < 20", "contz,list"); - - //we must call Update to force the canvas to be painted. When - //painting the contour plot, the list of contours is generated - //and a reference to it added to the Root list of special objects - c1->Update(); - - TCanvas *c2 = new TCanvas("c2","First contour",100,100,800,600); - - - TObjArray *contours = - (TObjArray*)gROOT->GetListOfSpecials()->FindObject("contours"); - TList *lcontour1 = (TList*)contours->At(0); - TGraph *gc1 = (TGraph*)lcontour1->First(); - gc1->SetMarkerStyle(21); - gc1->Draw("alp"); - - //We make a TCutG object with the array obtained from this graph - TCutG *cutg = new TCutG("cutg",gc1->GetN(),gc1->GetX(),gc1->GetY()); - - //We create a polymarker object with npmax points. - const Int_t npmax = 50000; - TPolyMarker *pm = new TPolyMarker(npmax); - Int_t np = 0; - while(1) { - Double_t x = -4 +8*gRandom->Rndm(); - Double_t y = -4 +8*gRandom->Rndm(); - if (cutg->IsInside(x,y)) { - pm->SetPoint(np,x,y); - np++; - if (np == npmax) break; - } - } - pm->Draw(); -} -//--------------end of script contours.C diff --git a/tutorials/FittingDemo.C b/tutorials/FittingDemo.C deleted file mode 100644 index 4661e173a76b1e99b7ee505e17285888a4f3548d..0000000000000000000000000000000000000000 --- a/tutorials/FittingDemo.C +++ /dev/null @@ -1,93 +0,0 @@ -#include "TH1.h" -#include "TF1.h" -#include "TLegend.h" -#include "TCanvas.h" - -// Quadratic background function -Double_t background(Double_t *x, Double_t *par) { - return par[0] + par[1]*x[0] + par[2]*x[0]*x[0]; -} - - -// Lorenzian Peak function -Double_t lorentzianPeak(Double_t *x, Double_t *par) { - return (0.5*par[0]*par[1]/TMath::Pi()) / - TMath::Max( 1.e-10,(x[0]-par[2])*(x[0]-par[2]) + .25*par[1]*par[1]); -} - -// Sum of background and peak function -Double_t fitFunction(Double_t *x, Double_t *par) { - return background(x,par) + lorentzianPeak(x,&par[3]); -} - -void FittingDemo() { - //Bevington Exercise by Peter Malzacher, modified by Rene Brun - - const int nBins = 60; - - Double_t data[nBins] = { 6, 1,10,12, 6,13,23,22,15,21, - 23,26,36,25,27,35,40,44,66,81, - 75,57,48,45,46,41,35,36,53,32, - 40,37,38,31,36,44,42,37,32,32, - 43,44,35,33,33,39,29,41,32,44, - 26,39,29,35,32,21,21,15,25,15}; - TCanvas *c1 = new TCanvas("c1","Fitting Demo",10,10,700,500); - c1->SetFillColor(33); - c1->SetFrameFillColor(41); - c1->SetGrid(); - - TH1F *histo = new TH1F("histo","Lorentzian Peak on Quadratic Background",60,0,3); - histo->SetMarkerStyle(21); - histo->SetMarkerSize(0.8); - histo->SetStats(0); - - for(int i=0; i < nBins; i++) histo->SetBinContent(i+1,data[i]); - - // create a TF1 with the range from 0 to 3 and 6 parameters - TF1 *fitFcn = new TF1("fitFcn",fitFunction,0,3,6); - fitFcn->SetNpx(500); - fitFcn->SetLineWidth(4); - fitFcn->SetLineColor(kMagenta); - - // first try without starting values for the parameters - // This defaults to 1 for each param. - // this results in an ok fit for the polynomial function - // however the non-linear part (lorenzian) does not - // respond well. - fitFcn->SetParameters(1,1,1,1,1,1); - histo->Fit("fitFcn","0"); - - // second try: set start values for some parameters - fitFcn->SetParameter(4,0.2); // width - fitFcn->SetParameter(5,1); // peak - - histo->Fit("fitFcn","V+","ep"); - - // improve the picture: - TF1 *backFcn = new TF1("backFcn",background,0,3,3); - backFcn->SetLineColor(kRed); - TF1 *signalFcn = new TF1("signalFcn",lorentzianPeak,0,3,3); - signalFcn->SetLineColor(kBlue); - signalFcn->SetNpx(500); - Double_t par[6]; - - // writes the fit results into the par array - fitFcn->GetParameters(par); - - backFcn->SetParameters(par); - backFcn->Draw("same"); - - signalFcn->SetParameters(&par[3]); - signalFcn->Draw("same"); - - // draw the legend - TLegend *legend=new TLegend(0.6,0.65,0.88,0.85); - legend->SetTextFont(72); - legend->SetTextSize(0.04); - legend->AddEntry(histo,"Data","lpe"); - legend->AddEntry(backFcn,"Background fit","l"); - legend->AddEntry(signalFcn,"Signal fit","l"); - legend->AddEntry(fitFcn,"Global Fit","l"); - legend->Draw(); - -} diff --git a/tutorials/Ifit.C b/tutorials/Ifit.C deleted file mode 100644 index 39f069839363f7cdea2d63b907104c18f8934bc3..0000000000000000000000000000000000000000 --- a/tutorials/Ifit.C +++ /dev/null @@ -1,99 +0,0 @@ -// -// Example of a program to fit non-equidistant data points -// ======================================================= -// -// The fitting function fcn is a simple chisquare function -// The data consists of 5 data points (arrays x,y,z) + the errors in errorsz -// More details on the various functions or parameters for these functions -// can be obtained in an interactive ROOT session with: -// Root > TMinuit *minuit = new TMinuit(10); -// Root > minuit->mnhelp("*") to see the list of possible keywords -// Root > minuit->mnhelp("SET") explains most parameters -// - -#include "TMinuit.h" - -Float_t z[5],x[5],y[5],errorz[5]; - -//______________________________________________________________________________ -Double_t func(float x,float y,Double_t *par) -{ - Double_t value=( (par[0]*par[0])/(x*x)-1)/ ( par[1]+par[2]*y-par[3]*y*y); - return value; -} - -//______________________________________________________________________________ -void fcn(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag) -{ - const Int_t nbins = 5; - Int_t i; - -//calculate chisquare - Double_t chisq = 0; - Double_t delta; - for (i=0;i<nbins; i++) { - delta = (z[i]-func(x[i],y[i],par))/errorz[i]; - chisq += delta*delta; - } - f = chisq; -} - -//______________________________________________________________________________ -void Ifit() -{ -// The z values - z[0]=1; - z[1]=0.96; - z[2]=0.89; - z[3]=0.85; - z[4]=0.78; -// The errors on z values - Float_t error = 0.01; - errorz[0]=error; - errorz[1]=error; - errorz[2]=error; - errorz[3]=error; - errorz[4]=error; -// the x values - x[0]=1.5751; - x[1]=1.5825; - x[2]=1.6069; - x[3]=1.6339; - x[4]=1.6706; -// the y values - y[0]=1.0642; - y[1]=0.97685; - y[2]=1.13168; - y[3]=1.128654; - y[4]=1.44016; - - TMinuit *gMinuit = new TMinuit(5); //initialize TMinuit with a maximum of 5 params - gMinuit->SetFCN(fcn); - - Double_t arglist[10]; - Int_t ierflg = 0; - - arglist[0] = 1; - gMinuit->mnexcm("SET ERR", arglist ,1,ierflg); - -// Set starting values and step sizes for parameters - static Double_t vstart[4] = {3, 1 , 0.1 , 0.01}; - static Double_t step[4] = {0.1 , 0.1 , 0.01 , 0.001}; - gMinuit->mnparm(0, "a1", vstart[0], step[0], 0,0,ierflg); - gMinuit->mnparm(1, "a2", vstart[1], step[1], 0,0,ierflg); - gMinuit->mnparm(2, "a3", vstart[2], step[2], 0,0,ierflg); - gMinuit->mnparm(3, "a4", vstart[3], step[3], 0,0,ierflg); - -// Now ready for minimization step - arglist[0] = 500; - arglist[1] = 1.; - gMinuit->mnexcm("MIGRAD", arglist ,2,ierflg); - -// Print results - Double_t amin,edm,errdef; - Int_t nvpar,nparx,icstat; - gMinuit->mnstat(amin,edm,errdef,nvpar,nparx,icstat); - gMinuit->mnprin(3,amin); - -} - diff --git a/tutorials/JetEvent.cxx b/tutorials/JetEvent.cxx deleted file mode 100644 index 2953757fa7f4672565ff0b5710536fc7f75c8192..0000000000000000000000000000000000000000 --- a/tutorials/JetEvent.cxx +++ /dev/null @@ -1,168 +0,0 @@ -// A JetEvent emulates 2 detectors A and B producing each -// a TClonesArray of Hit objects. -// A TClonesArray of Track objects is built with Hits objects -// of detectors A and B. Eack Track object has a TRefArray of hits. -// A TClonesArray of Jets is made with a subset of the Track objects -// also stored in a TRefArray. -// see $ROOTSYS/tutorials/jets.C for an example creating a Tree -// with JetEvents. - -#include "TRandom.h" -#include "JetEvent.h" - -ClassImp(Jet) -ClassImp(Track) -ClassImp(Hit) -ClassImp(JetEvent) - -TClonesArray *JetEvent::fgJets = 0; -TClonesArray *JetEvent::fgTracks = 0; -TClonesArray *JetEvent::fgHitsA = 0; -TClonesArray *JetEvent::fgHitsB = 0; - -//______________________________________________________________________________ -JetEvent::JetEvent() -{ - // Create a JetEvent object. - // When the constructor is invoked for the first time, the class static - // variables fgxxx are 0 and the TClonesArray fgxxx are created. - - if (!fgTracks) fgTracks = new TClonesArray("Track", 100); - if (!fgJets) fgJets = new TClonesArray("Jet", 10); - if (!fgHitsA) fgHitsA = new TClonesArray("Hit", 10000); - if (!fgHitsB) fgHitsB = new TClonesArray("Hit", 1000); - fJets = fgJets; - fTracks = fgTracks; - fHitsA = fgHitsA; - fHitsB = fgHitsB; -} - -//______________________________________________________________________________ -JetEvent::~JetEvent() -{ - Reset(); -} - -//______________________________________________________________________________ -void JetEvent::Build(Int_t jetm, Int_t trackm, Int_t hitam, Int_t hitbm) { - //Build one event - - //Save current Object count - Int_t ObjectNumber = TProcessID::GetObjectCount(); - Clear(); - - Hit *hit; - Track *track; - Jet *jet; - fNjet = fNtrack = fNhitA = fNhitB = 0; - - fVertex.SetXYZ(gRandom->Gaus(0,0.1), - gRandom->Gaus(0,0.2), - gRandom->Gaus(0,10)); - - Int_t njets = (Int_t)gRandom->Gaus(jetm,1); if (njets < 1) njets = 1; - for (Int_t j=0;j<njets;j++) { - jet = AddJet(); - jet->fPt = gRandom->Gaus(0,10); - jet->fPhi = 2*TMath::Pi()*gRandom->Rndm(); - Int_t ntracks = (Int_t)gRandom->Gaus(trackm,3); if (ntracks < 1) ntracks = 1; - for (Int_t t=0;t<ntracks;t++) { - track = AddTrack(); - track->fPx = gRandom->Gaus(0,1); - track->fPy = gRandom->Gaus(0,1); - track->fPz = gRandom->Gaus(0,5); - jet->fTracks.Add(track); - Int_t nhitsA = (Int_t)gRandom->Gaus(hitam,5); - for (Int_t ha=0;ha<nhitsA;ha++) { - hit = AddHitA(); - hit->fX = 10000*j + 100*t +ha; - hit->fY = 10000*j + 100*t +ha+0.1; - hit->fZ = 10000*j + 100*t +ha+0.2; - track->fHits.Add(hit); - } - Int_t nhitsB = (Int_t)gRandom->Gaus(hitbm,2); - for (Int_t hb=0;hb<nhitsB;hb++) { - hit = AddHitB(); - hit->fX = 20000*j + 100*t +hb+0.3; - hit->fY = 20000*j + 100*t +hb+0.4; - hit->fZ = 20000*j + 100*t +hb+0.5; - track->fHits.Add(hit); - } - track->fNhit = nhitsA + nhitsB; - } - } - //Restore Object count - //To save space in the table keeping track of all referenced objects - //we assume that our events do not address each other. We reset the - //object count to what it was at the beginning of the event. - TProcessID::SetObjectCount(ObjectNumber); -} - - -//______________________________________________________________________________ -Jet *JetEvent::AddJet() -{ - // Add a new Jet to the list of tracks for this event. - - TClonesArray &jets = *fJets; - Jet *jet = new(jets[fNjet++]) Jet(); - return jet; -} - - -//______________________________________________________________________________ -Track *JetEvent::AddTrack() -{ - // Add a new track to the list of tracks for this event. - - TClonesArray &tracks = *fTracks; - Track *track = new(tracks[fNtrack++]) Track(); - return track; -} - - -//______________________________________________________________________________ -Hit *JetEvent::AddHitA() -{ - // Add a new hit to the list of hits in detector A - - TClonesArray &hitsA = *fHitsA; - Hit *hit = new(hitsA[fNhitA++]) Hit(); - return hit; -} - -//______________________________________________________________________________ -Hit *JetEvent::AddHitB() -{ - // Add a new hit to the list of hits in detector B - - TClonesArray &hitsB = *fHitsB; - Hit *hit = new(hitsB[fNhitB++]) Hit(); - return hit; -} - -//______________________________________________________________________________ -void JetEvent::Clear(Option_t *option) -{ - fJets->Clear(option); - fTracks->Clear(option); - fHitsA->Clear(option); - fHitsB->Clear(option); -} - -//______________________________________________________________________________ -void JetEvent::Reset(Option_t *) -{ -// Static function to reset all static objects for this event - - delete fgJets; fgJets = 0; - delete fgTracks; fgTracks = 0; - delete fgHitsA; fgHitsA = 0; - delete fgHitsB; fgHitsB = 0; -} - - - - - - diff --git a/tutorials/JetEvent.h b/tutorials/JetEvent.h deleted file mode 100644 index 1dcf3aaca20f4eaf6d34ac5222a5b661bd149e6c..0000000000000000000000000000000000000000 --- a/tutorials/JetEvent.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef ROOT_JetEvent -#define ROOT_JetEvent - -////////////////////////////////////////////////////////////////////////// -// // -// JetEvent // -// // -// Description of the event and track parameters // -// // -////////////////////////////////////////////////////////////////////////// - -#include "TClonesArray.h" -#include "TRefArray.h" -#include "TVector3.h" - -class Hit : public TObject { - -public: - Float_t fX; //X of hit - Float_t fY; //Y of hit - Float_t fZ; //Z of hit - -public: - Hit() { } - virtual ~Hit() { } - - ClassDef(Hit,1) //A track hit -}; - -class Track : public TObject { - -public: - Float_t fPx; //X component of the momentum - Float_t fPy; //Y component of the momentum - Float_t fPz; //Z component of the momentum - Int_t fNhit; //Number of hits for this track - TRefArray fHits; //List of Hits for this track - -public: - Track() { } - virtual ~Track() { } - Int_t GetNhit() const { return fNhit; } - TRefArray &GetHits() {return fHits; } - - ClassDef(Track,1) //A track segment -}; - - -class Jet : public TObject { - -public: - Double_t fPt; //Pt of jet - Double_t fPhi; //Phi of jet - TRefArray fTracks; //List of tracks in the jet - -public: - Jet() { } - virtual ~Jet(){ } - TRefArray &GetTracks() {return fTracks; } - - ClassDef(Jet,1) //Jet class -}; - -class JetEvent : public TObject { - -private: - TVector3 fVertex; //vertex coordinates - Int_t fNjet; //Number of jets - Int_t fNtrack; //Number of tracks - Int_t fNhitA; //Number of hist in detector A - Int_t fNhitB; //Number of hist in detector B - TClonesArray *fJets; //->array with all jets - TClonesArray *fTracks; //->array with all tracks - TClonesArray *fHitsA; //->array of hits in detector A - TClonesArray *fHitsB; //->array of hits in detector B - - static TClonesArray *fgJets; - static TClonesArray *fgTracks; - static TClonesArray *fgHitsA; - static TClonesArray *fgHitsB; - -public: - JetEvent(); - virtual ~JetEvent(); - void Build(Int_t jetm=3, Int_t trackm=10, Int_t hitam=100, Int_t hitbm=10); - void Clear(Option_t *option =""); - void Reset(Option_t *option =""); - Int_t GetNjet() const { return fNjet; } - Int_t GetNtrack() const { return fNtrack; } - Int_t GetNhitA() const { return fNhitA; } - Int_t GetNhitB() const { return fNhitB; } - Jet *AddJet(); - Track *AddTrack(); - Hit *AddHitA(); - Hit *AddHitB(); - TClonesArray *GetJets() const { return fJets; } - - ClassDef(JetEvent,1) //Event structure -}; - -#endif - - - - - - - - - - - - - - - - - - - - diff --git a/tutorials/LDAPExample.C b/tutorials/LDAPExample.C deleted file mode 100644 index a34387d136be48f87e1840a7cfa7f845e39d4f9b..0000000000000000000000000000000000000000 --- a/tutorials/LDAPExample.C +++ /dev/null @@ -1,52 +0,0 @@ -void LDAPExample() -{ - gSystem->Load("libRLDAP.so"); - - TLDAPServer *server = new TLDAPServer("ldap.cern.ch"); - - TLDAPResult *result = server.Search(); - - if (result == 0) { - printf("Search failed\n"); - exit(1); - } - result->Print(); - delete result; - - const char *namingcontexts = server.GetNamingContexts(); - result = server.Search(namingcontexts, LDAP_SCOPE_ONELEVEL, 0, 0, 1); - TLDAPEntry *entry = result.GetNext(); - entry->Print(); - - TString dn = entry->GetDn(); - - delete result; - delete entry; - - cout << "The DN of the entry is " << dn << endl; - - result = server.Search(dn, LDAP_SCOPE_SUBTREE, 0, 0, 0); - - if (result == 0) { - printf("Search failed\n"); - exit(1); - } - - result->Print(); - Int_t counter = result.GetCount(); - cout << "The result contains " << counter << " entries !!!" << endl; - - entry = result.GetNext(); - - TLDAPAttribute *attribute = entry.GetAttribute("member"); - - Int_t counter2 = attribute.GetCount(); - cout << "The attribute " << attribute.GetName() << " contains " - << counter2 << " values !!!" << endl; - const char *value = attribute.GetValue(); - cout << "The first value of the attribute is " << endl; - cout << value << endl; - - delete result; - delete entry; -} diff --git a/tutorials/MyTasks.cxx b/tutorials/MyTasks.cxx deleted file mode 100644 index 42df3cc77a6597158f96abb70f403f5f27275322..0000000000000000000000000000000000000000 --- a/tutorials/MyTasks.cxx +++ /dev/null @@ -1,300 +0,0 @@ -// A set of classes deriving from TTask -// see macro tasks.C to see an example of use -// The Exec function of each class prints one line when it is called. - -#include "TTask.h" - -class MyRun : public TTask { - -public: - MyRun() {;} - MyRun(const char *name, const char *title); - virtual ~MyRun() {;} - void Exec(Option_t *option=""); - - ClassDef(MyRun,1) // Run Reconstruction task -}; - -class MyEvent : public TTask { - -public: - MyEvent() {;} - MyEvent(const char *name, const char *title); - virtual ~MyEvent() {;} - void Exec(Option_t *option=""); - - ClassDef(MyEvent,1) // Event Reconstruction task -}; - -class MyGeomInit : public TTask { - -public: - MyGeomInit() {;} - MyGeomInit(const char *name, const char *title); - virtual ~MyGeomInit() {;} - void Exec(Option_t *option=""); - - ClassDef(MyGeomInit,1) // Geometry initialisation task -}; - -class MyMaterialInit : public TTask { - -public: - MyMaterialInit() {;} - MyMaterialInit(const char *name, const char *title); - virtual ~MyMaterialInit() {;} - void Exec(Option_t *option=""); - - ClassDef(MyMaterialInit,1) // Materials initialisation task -}; - -class MyTracker : public TTask { - -public: - MyTracker() {;} - MyTracker(const char *name, const char *title); - virtual ~MyTracker() {;} - void Exec(Option_t *option=""); - - ClassDef(MyTracker,1) // Main Reconstruction task -}; - -class MyRecTPC : public TTask { - -public: - MyRecTPC() {;} - MyRecTPC(const char *name, const char *title); - virtual ~MyRecTPC() {;} - void Exec(Option_t *option=""); - - ClassDef(MyRecTPC,1) // TPC Reconstruction -}; - - -class MyRecITS : public TTask { - -public: - MyRecITS() {;} - MyRecITS(const char *name, const char *title); - virtual ~MyRecITS() {;} - void Exec(Option_t *option=""); - - ClassDef(MyRecITS,1) // ITS Reconstruction -}; - - -class MyRecMUON : public TTask { - -public: - MyRecMUON() {;} - MyRecMUON(const char *name, const char *title); - virtual ~MyRecMUON() {;} - void Exec(Option_t *option=""); - - ClassDef(MyRecMUON,1) // MUON Reconstruction -}; - - -class MyRecPHOS : public TTask { - -public: - MyRecPHOS() {;} - MyRecPHOS(const char *name, const char *title); - virtual ~MyRecPHOS() {;} - void Exec(Option_t *option=""); - - ClassDef(MyRecPHOS,1) // PHOS Reconstruction -}; - - -class MyRecRICH : public TTask { - -public: - MyRecRICH() {;} - MyRecRICH(const char *name, const char *title); - virtual ~MyRecRICH() {;} - void Exec(Option_t *option=""); - - ClassDef(MyRecRICH,1) // RICH Reconstruction -}; - - -class MyRecTRD : public TTask { - -public: - MyRecTRD() {;} - MyRecTRD(const char *name, const char *title); - virtual ~MyRecTRD() {;} - void Exec(Option_t *option=""); - - ClassDef(MyRecTRD,1) // TRD Reconstruction -}; - - -class MyRecGlobal : public TTask { - -public: - MyRecGlobal() {;} - MyRecGlobal(const char *name, const char *title); - virtual ~MyRecGlobal() {;} - void Exec(Option_t *option=""); - - ClassDef(MyRecGlobal,1) // Global Reconstruction -}; - - -//--------------------------------------------------------- -ClassImp(MyRun) - -MyRun::MyRun(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyRun::Exec(Option_t *option) -{ - printf("MyRun executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyEvent) - -MyEvent::MyEvent(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyEvent::Exec(Option_t *option) -{ - printf("MyEvent executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyGeomInit) - -MyGeomInit::MyGeomInit(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyGeomInit::Exec(Option_t *option) -{ - printf("MyGeomInit executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyMaterialInit) - -MyMaterialInit::MyMaterialInit(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyMaterialInit::Exec(Option_t *option) -{ - printf("MyMaterialInit executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyTracker) - -MyTracker::MyTracker(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyTracker::Exec(Option_t *option) -{ - printf("MyTracker executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyRecTPC) - -MyRecTPC::MyRecTPC(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyRecTPC::Exec(Option_t *option) -{ - printf("MyRecTPC executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyRecITS) - -MyRecITS::MyRecITS(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyRecITS::Exec(Option_t *option) -{ - printf("MyRecITS executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyRecMUON) - -MyRecMUON::MyRecMUON(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyRecMUON::Exec(Option_t *option) -{ - printf("MyRecMUON executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyRecPHOS) - -MyRecPHOS::MyRecPHOS(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyRecPHOS::Exec(Option_t *option) -{ - printf("MyRecPHOS executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyRecRICH) - -MyRecRICH::MyRecRICH(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyRecRICH::Exec(Option_t *option) -{ - printf("MyRecRICH executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyRecTRD) - -MyRecTRD::MyRecTRD(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyRecTRD::Exec(Option_t *option) -{ - printf("MyRecTRD executing\n"); -} - -//--------------------------------------------------------- -ClassImp(MyRecGlobal) - -MyRecGlobal::MyRecGlobal(const char *name, const char *title) - :TTask(name,title) -{ -} - -void MyRecGlobal::Exec(Option_t *option) -{ - printf("MyRecGlobal executing\n"); -} diff --git a/tutorials/PhaseSpace.C b/tutorials/PhaseSpace.C deleted file mode 100644 index 43b2f1d0a8f72b2c94a5c096fcf9118bb1cea2a8..0000000000000000000000000000000000000000 --- a/tutorials/PhaseSpace.C +++ /dev/null @@ -1,31 +0,0 @@ -{ -// example of use of TGenPhaseSpace by Valerio Filippini - gROOT.Reset(); - if (!gROOT->GetClass("TGenPhaseSpace")) gSystem.Load("libPhysics"); - - TLorentzVector target(0.0, 0.0, 0.0, 0.938); - TLorentzVector beam(0.0, 0.0, .65, .65); - TLorentzVector W = beam + target; - - Double_t masses[3] = { 0.938, 0.139, 0.139} ; - - TGenPhaseSpace event; - event.SetDecay(W, 3, masses); - - TH2F h2("h2","h2", 50,1.1,1.8, 50,1.1,1.8); - - for (Int_t n=0;n<100000;n++) { - Double_t weight = event.Generate(); - - TLorentzVector *pProton = event.GetDecay(0); - - TLorentzVector *pPip = event.GetDecay(1); - TLorentzVector *pPim = event.GetDecay(2); - - TLorentzVector pPPip = *pProton + *pPip; - TLorentzVector pPPim = *pProton + *pPim; - - h2.Fill(pPPip.M2() ,pPPim.M2() ,weight); - } - h2.Draw(); -} diff --git a/tutorials/QtFileDialog.C b/tutorials/QtFileDialog.C deleted file mode 100755 index 4a5c7182f48f1918c5c904d9c3c89c3902fe10bc..0000000000000000000000000000000000000000 --- a/tutorials/QtFileDialog.C +++ /dev/null @@ -1,35 +0,0 @@ -// @(#)root/qt:$Name: $:$Id: TGQt.h,v 1.49 2006/01/06 20:33:50 fine Exp $ -// Author: Valeri Fine 23/03/2006 -#ifndef __CINT__ -# include <qfiledialog.h> -# include <qstring.h> -#endif -TString QtFileDialog() { - // This is a small AClIC wrapper to use Qt 3.3 begin_html <a href="http://doc.trolltech.com/3.3/qfiledialog.html">QFileDialog</a> end_html class - // See: begin_html http://doc.trolltech.com/3.3/qfiledialog.html#getOpenFileName end_html - // - // To use, invoke ACLiC from the ROOT prompt: - // root [] .x QtFileDialog.C++ - // - // To use it with no ACLiC omit the trailing "++ - // root [] .x QtFileDialog.C - // - // The QtFileDialog returns TString object that conatisn the selected file name. - // returns its pointer. - // Teh nmacro QtMultiFileDialog.C provides an adavcned example. - // - // The full list of the Qt classes availbe from Cint is defined by - // begin_html <http://root.bnl.gov/QtRoot/htmldoc/src/qtclasses.h.html">by $ROOTSYS/cint/lib/qtclasses.h</a> end-html - // - -#ifdef __CINT__ - // Load the qt cint dictionary. - // One is recommended to do that at once somewhere. - // For example from his/her custom rootlogon.C script - gSystem->Load("$ROOTSYS/cint/include/qtcint"); -#endif - QString fileName = QFileDialog::getOpenFileName (); - return TString((const char *)fileName); -} - - diff --git a/tutorials/QtMultiFileDialog.C b/tutorials/QtMultiFileDialog.C deleted file mode 100755 index afb1e0f3c082ef844c40a4f88a250971e58f6765..0000000000000000000000000000000000000000 --- a/tutorials/QtMultiFileDialog.C +++ /dev/null @@ -1,65 +0,0 @@ -// @(#)root/qt:$Name: $:$Id: TGQt.h,v 1.49 2006/01/06 20:33:50 fine Exp $ -// Author: Valeri Fine 23/03/2006 -#ifndef __CINT__ -# include <qapplication.h> -# include <qstyle.h> -# include <qfiledialog.h> -# include <qstringlist.h> -# include <qstring.h> -# include "TObjString.h" -# include "TList.h" -#endif -TList *QtMultiFileDialog(const char *style="") { - // This is a small AClIC wrapper to use Qt 3.3 begin_html <a href="http://doc.trolltech.com/3.3/qfiledialog.html">QFileDialog</a> end_html class - // See: begin_html http://doc.trolltech.com/3.3/qfiledialog.html#getOpenFileNames end_html - // - // To use, invoke ACLiC from the ROOT prompt: - // root [] .x QtMultiFileDialog.C++ - // - // To use it with no ACLiC omit the trailing "++ - // root [] .x QtMultiFileDialog.C - // - // The QtMultiFileDialog creates TList of TObjString objects and - // returns its pointer. - // - // The "QtFileDialog.C" macro rpobvdies the simplified version of the "QtMultiFileDialog.C" - // - // Option: you can change the look and feel of the Qt file dialog - // ======= by providing the "style" optional parameter: - // The number of the available styles is defined by your local - // Qt installation. - // Try: "windows", "motif", "kde", "platinum" etc - // - // The full list of the Qt classes availbe from Cint is defined by - // begin_html <http://root.bnl.gov/QtRoot/htmldoc/src/qtclasses.h.html">by $ROOTSYS/cint/lib/qtclasses.h</a> end-html - // - -#ifdef __CINT__ - // Load the qt cint dictionary. - // One is recommended to do that at once somewhere. - // For example from his/her custom rootlogon.C script - gSystem->Load("$ROOTSYS/cint/include/qtcint"); -#endif - QStyle *saveStyle = 0; - if (!QString(style).isEmpty()) { - saveStyle = &QApplication::style(); - QApplication::setStyle(style); - } - TList *listOfNames = new TList(); - QStringList files = QFileDialog::getOpenFileNames (); - QStringList::Iterator it = files.begin(); - while ( it != files.end() ) { - printf ("Next file selected: %s\n", (const char *)(*it)); - // Convert QString to TObjString and add it to the output - listOfNames->Add(new TObjString((const char *)(*it))); - ++it; - } - // Restore the style - if (saveStyle) QApplication::setStyle(saveStyle); - printf ("\nThe TList of the file names contains:"); - printf ("\n-------------------------------------\n"); - listOfNames->ls(); - return listOfNames; -} - - diff --git a/tutorials/Quad.cxx b/tutorials/Quad.cxx deleted file mode 100644 index fb5670c3de87b7a6a078eba1d5a939c70fc20399..0000000000000000000000000000000000000000 --- a/tutorials/Quad.cxx +++ /dev/null @@ -1,42 +0,0 @@ -#include <math.h> -#include "Riostream.h" -#include "Quad.h" - -Quad::Quad(Float_t a,Float_t b,Float_t c) -{ - fA = a; - fB = b; - fC = c; -} - -Quad::~Quad() -{ - cout << "deleting object with coeffts: " - << fA << "," << fB << "," << fC << endl; -} - -void Quad::Solve() const -{ - Float_t temp = fB*fB -4*fA*fC; - if (temp > 0) { - temp = sqrt(temp); - cout << "There are two roots: " - << ( -fB - temp ) / (2.*fA) - << " and " - << ( -fB + temp ) / (2.*fA) - << endl; - } else { - if (temp == 0) { - cout << "There are two equal roots: " - << -fB / (2.*fA) << endl; - } else { - cout << "There are no roots" << endl; - } - } -} - -Float_t Quad::Evaluate(Float_t x) const -{ - return fA*x*x + fB*x + fC; - return 0; -} diff --git a/tutorials/Quad.h b/tutorials/Quad.h deleted file mode 100644 index 6e9f673df05e0a30985b3456b7a7c59580b6e2e8..0000000000000000000000000000000000000000 --- a/tutorials/Quad.h +++ /dev/null @@ -1,15 +0,0 @@ -#include "TObject.h" - -class Quad { - -public: - Quad(Float_t a, Float_t b, Float_t c); - ~Quad(); - Float_t Evaluate(Float_t x) const; - void Solve() const; - -private: - Float_t fA; - Float_t fB; - Float_t fC; -}; diff --git a/tutorials/RadioNuclides.C b/tutorials/RadioNuclides.C deleted file mode 100644 index 8df8c25f08b09d47b050eddef4c2e28c9bc49cd6..0000000000000000000000000000000000000000 --- a/tutorials/RadioNuclides.C +++ /dev/null @@ -1,252 +0,0 @@ -// Created: 14/09/06 by Mihaela Gheata -void RadioNuclides() -{ -// Macro that demonstrates usage of radioactive elements/materials/mixtures -// with TGeo package. -// -// A radionuclide (TGeoElementRN) derives from the class TGeoElement and -// provides additional information related to its radioactive properties and -// decay modes. -// -// The radionuclides table is loaded on demand by any call: -// TGeoElementRN *TGeoElementTable::GetElementRN(Int_t atomic_number, -// Int_t atomic_charge, -// Int_t isomeric_number) -// The isomeric number is optional and the default value is 0. -// -// To create a radioactive material based on a radionuclide, one should use the -// constructor: -// TGeoMaterial(const char *name, TGeoElement *elem, Double_t density) -// To create a radioactive mixture, one can use radionuclides as well as stable -// elements: -// TGeoMixture(const char *name, Int_t nelements, Double_t density); -// TGeoMixture::AddElement(TGeoElement *elem, Double_t weight_fraction); -// Once defined, one can retrieve the time evolution for the radioactive -// materials/mixtures by using one of the 2 methods: -// -// void TGeoMaterial::FillMaterialEvolution(TObjArray *population, -// Double_t precision=0.001) -// To use this method, one has to provide an empty TObjArray object that will -// be filled with all elements coming from the decay chain of the initial -// radionuclides contained by the material/mixture. The precision represent the -// cumulative branching ratio for which decay products are still considered. -// The POPULATION list may contain stable elements as well as radionuclides, -// depending on the initial elements. To test if an element is a radionuclide: -// Bool_t TGeoElement::IsRadioNuclide() const -// All radionuclides in the output population list have attached objects that -// represent the time evolution of their fraction of nuclei with respect to the -// top radionuclide in the decay chain. These objects (Bateman solutions) can be -// retrieved and drawn: -// TGeoBatemanSol *TGeoElementRN::Ratio(); -// void TGeoBatemanSol::Draw(); -// -// Another method allows to create the evolution of a given radioactive -// material/mixture at a given moment in time: -// TGeoMaterial::DecayMaterial(Double_t time, Double_t precision=0.001) -// The method will create the mixture that result from the decay of a initial -// material/mixture at TIME, while all resulting elements having a fractional -// weight less than PRECISION are excluded. - - TGeoManager *geom = new TGeoManager("",""); - TGeoElementTable *table = gGeoManager->GetElementTable(); - TGeoElementRN *c14 = table->GetElementRN(14,6); - TGeoElementRN *el1 = table->GetElementRN(53,20); - TGeoElementRN *el2 = table->GetElementRN(78,38); - // Radioactive material - TGeoMaterial *mat = new TGeoMaterial("C14", c14, 1.3); - printf("___________________________________________________________\n"); - printf("Radioactive material:\n"); - mat->Print(); - Double_t time = 1.5e11; // seconds - TGeoMaterial *decaymat = mat->DecayMaterial(time); - printf("Radioactive material evolution after %g years:\n", time/3.1536e7); - decaymat->Print(); - //Radioactive mixture - TGeoMixture *mix = new TGeoMixture("mix", 2, 7.3); - mix->AddElement(el1, 0.35); - mix->AddElement(el2, 0.65); - printf("___________________________________________________________\n"); - printf("Radioactive mixture:\n"); - mix->Print(); - time = 1000.; - decaymat = mix->DecayMaterial(time); - printf("Radioactive mixture evolution after %g seconds:\n", time); - decaymat->Print(); - TObjArray *vect = new TObjArray(); - TCanvas *c1 = new TCanvas("c1","C14 decay", 800,600); - c1->SetGrid(); - mat->FillMaterialEvolution(vect); - DrawPopulation(vect, c1, 0, 1.4e12); - TLatex *tex = new TLatex(8.35e11,0.564871,"C_{N^{14}_{7}}"); - tex->SetTextSize(0.0388601); - tex->SetLineWidth(2); - tex->Draw(); - tex = new TLatex(3.33e11,0.0620678,"C_{C^{14}_{6}}"); - tex->SetTextSize(0.0388601); - tex->SetLineWidth(2); - tex->Draw(); - tex = new TLatex(9.4e11,0.098,"C_{X}=#frac{N_{X}(t)}{N_{0}(t=0)}=#sum_{j}#alpha_{j}e^{-#lambda_{j}t}"); - tex->SetTextSize(0.0388601); - tex->SetLineWidth(2); - tex->Draw(); - TPaveText *pt = new TPaveText(2.6903e+11,0.0042727,1.11791e+12,0.0325138,"br"); - pt->SetFillColor(5); - pt->SetTextAlign(12); - pt->SetTextColor(4); - text = pt->AddText("Time evolution of a population of radionuclides."); - text = pt->AddText("The concentration of a nuclide X represent the "); - text = pt->AddText("ratio between the number of X nuclei and the "); - text = pt->AddText("number of nuclei of the top element of the decay"); - text = pt->AddText("from which X derives from at T=0. "); - pt->Draw(); - c1->Modified(); - vect->Clear(); - TCanvas *c2 = new TCanvas("c2","Mixture decay", 1000,800); - c2->SetGrid(); - mix->FillMaterialEvolution(vect); - DrawPopulation(vect, c2, 0.01, 1000., kTRUE); - tex = new TLatex(0.019,0.861,"C_{Ca^{53}_{20}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(1); - tex->Draw(); - tex = new TLatex(0.0311,0.078064,"C_{Sc^{52}_{21}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(2); - tex->Draw(); - tex = new TLatex(0.1337,0.010208,"C_{Ti^{52}_{22}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(3); - tex->Draw(); - tex = new TLatex(1.54158,0.00229644,"C_{V^{52}_{23}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(4); - tex->Draw(); - tex = new TLatex(25.0522,0.00135315,"C_{Cr^{52}_{24}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(5); - tex->Draw(); - tex = new TLatex(0.1056,0.5429,"C_{Sc^{53}_{21}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(6); - tex->Draw(); - tex = new TLatex(0.411,0.1044,"C_{Ti^{53}_{22}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(7); - tex->Draw(); - tex = new TLatex(2.93358,0.0139452,"C_{V^{53}_{23}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(8); - tex->Draw(); - tex = new TLatex(10.6235,0.00440327,"C_{Cr^{53}_{24}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(9); - tex->Draw(); - tex = new TLatex(15.6288,0.782976,"C_{Sr^{78}_{38}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(1); - tex->Draw(); - tex = new TLatex(20.2162,0.141779,"C_{Rb^{78}_{37}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(2); - tex->Draw(); - tex = new TLatex(32.4055,0.0302101,"C_{Kr^{78}_{36}}"); - tex->SetTextSize(0.0388601); - tex->SetTextColor(3); - tex->Draw(); - tex = new TLatex(117.,1.52,"C_{X}=#frac{N_{X}(t)}{N_{0}(t=0)}=#sum_{j}#alpha_{j}e^{-#lambda_{j}t}"); - tex->SetTextSize(0.03); - tex->SetLineWidth(2); - tex->Draw(); - TArrow *arrow = new TArrow(0.0235313,0.74106,0.0385371,0.115648,0.02,">"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->SetLineWidth(2); - arrow->SetAngle(30); - arrow->Draw(); - arrow = new TArrow(0.0543138,0.0586338,0.136594,0.0146596,0.02,">"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->SetLineWidth(2); - arrow->SetAngle(30); - arrow->Draw(); - arrow = new TArrow(0.31528,0.00722919,1.29852,0.00306079,0.02,">"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->SetLineWidth(2); - arrow->SetAngle(30); - arrow->Draw(); - arrow = new TArrow(4.13457,0.00201942,22.5047,0.00155182,0.02,">"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->SetLineWidth(2); - arrow->SetAngle(30); - arrow->Draw(); - arrow = new TArrow(0.0543138,0.761893,0.0928479,0.67253,0.02,">"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->SetLineWidth(2); - arrow->SetAngle(30); - arrow->Draw(); - arrow = new TArrow(0.238566,0.375717,0.416662,0.154727,0.02,">"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->SetLineWidth(2); - arrow->SetAngle(30); - arrow->Draw(); - arrow = new TArrow(0.653714,0.074215,2.41863,0.0213142,0.02,">"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->SetLineWidth(2); - arrow->SetAngle(30); - arrow->Draw(); - arrow = new TArrow(5.58256,0.00953882,10.6235,0.00629343,0.02,">"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->SetLineWidth(2); - arrow->SetAngle(30); - arrow->Draw(); - arrow = new TArrow(22.0271,0.601935,22.9926,0.218812,0.02,">"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->SetLineWidth(2); - arrow->SetAngle(30); - arrow->Draw(); - arrow = new TArrow(27.2962,0.102084,36.8557,0.045686,0.02,">"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->SetLineWidth(2); - arrow->SetAngle(30); - arrow->Draw(); -} - -void DrawPopulation(TObjArray *vect, TCanvas *can, Double_t tmin=0., Double_t tmax=0., Bool_t logx=kFALSE) -{ - Int_t n = vect->GetEntriesFast(); - TGeoElementRN *elem; - TGeoBatemanSol *sol; - can->SetLogy(); - - if (logx) can->SetLogx(); - - - for (Int_t i=0; i<n; i++) { - TGeoElement *el = (TGeoElement*)vect->At(i); - if (!el->IsRadioNuclide()) continue; - TGeoElementRN *elem = (TGeoElementRN *)el; - TGeoBatemanSol *sol = elem->Ratio(); - if (sol) { - sol->SetLineColor(1+(i%9)); - sol->SetLineWidth(2); - if (tmax>0.) sol->SetRange(tmin,tmax); - if (i==0) { - sol->Draw(); - TF1 *func = (TF1*)can->FindObject(Form("conc%s",sol->GetElement()->GetName())); - if (func) { - if (!strcmp(can->GetName(),"c1")) func->SetTitle("Concentration of C14 derived elements;time[s];Ni/N0(C14)"); - else func->SetTitle("Concentration of elements derived from mixture Ca53+Sr78;time[s];Ni/N0(Ca53)"); - } - } - else sol->Draw("SAME"); - } - } -} diff --git a/tutorials/Rolke.C b/tutorials/Rolke.C deleted file mode 100644 index 34735e707d9baf23d2af79cf5c9a77f400a2dc96..0000000000000000000000000000000000000000 --- a/tutorials/Rolke.C +++ /dev/null @@ -1,298 +0,0 @@ -#include "TROOT.h" -#include "TSystem.h" -#include "TRolke.h" -#include "Riostream.h" - - -void Rolke() -{ -////////////////////////////////////////////////// -// Routine computes the profile likelihood confidence -// limits for 7 different model assumptions -// on systematic/statistical uncertainties -// -// You must load libPhysics before executing this script. -// -// Author : Jan Conrad (CERN) <Jan.Conrad@cern.ch> -////////////////////////////////////////////////// - - - -///////////////////////////////////////////////////////////// -// Model 1 assumes: -// -// Poisson uncertainty in the background estimate -// Binomial uncertainty in the efficiency estimate -// -// y = 10 events observed in the background region -// x = 5 events in the signal region -// tau = 2.5 ratio between size of signal/background region -// m = 100 MC events have been produced (signal) -// z = 50 MC events have been observed (signal) -// alpha = 0.9 Confidence Level -////////////////////////////////////////////////////////////// - - //gSystem->Load("libPhysics"); - Double_t bm = 0.0; - Double_t tau = 2.5; - Int_t mid = 1; - Int_t m = 100; - Int_t z = 50; - Int_t y = 10; - Int_t x = 5; - // Initialize parameters not used. - Double_t e = 0.0; - Double_t em = 0.0; - Double_t sde=0.0; - Double_t sdb=0.0; - Double_t b = 0.0; - - - TRolke g; - - g.SetCL(0.90); - - Double_t ul = g.CalculateInterval(x,y,z,bm,em,e,mid,sde,sdb,tau,b,m); - Double_t ll = g.GetLowerLimit(); - - cout << "Assuming Model 1" << endl; - cout << "the Profile Likelihood interval is :" << endl; - cout << "[" << ll << "," << ul << "]" << endl; - - -///////////////////////////////////////////////////////////// -// Model 2 assumes: -// -// Poisson uncertainty in the background estimate -// Gaussian uncertainty in the efficiency estimate -// -// y = 3 events observed in the background region -// x = 10 events in the signal region -// tau = 2.5 ratio between size of signal/background region -// em = 0.9 measured efficiency -// sde = 0.05 standard deviation of efficiency -// alpha =0.95 Confidence L evel -////////////////////////////////////////////////////////////// - - - tau = 2.5; - mid = 2; - y = 3; - x = 10; - em=0.9; - sde=0.05; - - g.SetCL(0.95); - - ul = g.CalculateInterval(x,y,z,bm,em,e,mid,sde,sdb,tau,b,m); - ll = g.GetLowerLimit(); - - cout << "Assuming MODEL 2" << endl; - cout << "the Profile Likelihood interval is :" << endl; - cout << "[" << ll << "," << ul << "]" << endl; - - -///////////////////////////////////////////////////////////// -// Model 3 assumes: -// -// Gaussian uncertainty in the background estimate -// Gaussian uncertainty in the efficiency estimate -// -// bm = 5 expected background -// x = 10 events in the signal region -// sdb = 0.5 standard deviation in background estimate -// em = 0.9 measured efficiency -// sde = 0.05 standard deviation of efficiency -// alpha =0.99 Confidence Level -////////////////////////////////////////////////////////////// - - - - mid = 3; - bm = 5.0; - x = 10; - em = 0.9; - sde=0.05; - sdb=0.5; - - g.SetCL(0.99); - - - ul = g.CalculateInterval(x,y,z,bm,em,e,mid,sde,sdb,tau,b,m); - ll = g.GetLowerLimit(); - -cout << "Assuming Model 3" << endl; -cout << "the Profile Likelihood interval is :" << endl; -cout << "[" << ll << "," << ul << "]" << endl; - - - - - -///////////////////////////////////////////////////////////// -// Model 4 assumes: -// -// Poisson uncertainty in the background estimate -// known efficiency -// -// y = 7 events observed in the background region -// x = 1 events in the signal region -// tau = 5 ratio between size of signal/background region -// -// alpha =0.68 Confidence L evel -////////////////////////////////////////////////////////////// - - - tau = 5; - mid = 4; - y = 7; - x = 1; - e = 0.25; - - - g.SetCL(0.68); - - ul = g.CalculateInterval(x,y,z,bm,em,e,mid,sde,sdb,tau,b,m); - ll = g.GetLowerLimit(); - - cout << "Assuming Model 4" << endl; - cout << "the Profile Likelihood interval is :" << endl; - cout << "[" << ll << "," << ul << "]" << endl; - - - - - -//////////////////////////////////////////////////////// -// Model 5 assumes: -// -// Gaussian uncertainty in the background estimate -// Known efficiency -// -// bm = 0 measured background expectation -// x = 1 events in the signal region -// e = 0.65 -// sdb = 1. standard deviation of background estimate -// alpha =0.799999 Confidence Level -/////////////////////////////////////////////////////// - - - mid = 5; - bm = 0.0; - x = 1; - e = 0.65; - sdb=1.0; - - g.SetCL(0.80); - - ul = g.CalculateInterval(x,y,z,bm,em,e,mid,sde,sdb,tau,b,m); - ll = g.GetLowerLimit(); - - cout << "Assuming Model 5" << endl; - cout << "the Profile Likelihood interval is :" << endl; - cout << "[" << ll << "," << ul << "]" << endl; - - -//////////////////////////////////////////////////////// -// Model 6 assumes: -// -// Known background -// Binomial uncertainty in the efficiency estimate -// -// b = 10 known background -// x = 25 events in the signal region -// z = 500 Number of observed signal MC events -// m = 750 Number of produced MC signal events -// alpha =0.9 Confidence L evel -/////////////////////////////////////////////////////// - - y = 1; - mid = 6; - m = 750; - z = 500; - x = 25; - b = 10.0; - - TRolke p; - p.SetCL(0.90); - ul = p.CalculateInterval(x,y,z,bm,em,e,mid,sde,sdb,tau,b,m); - Double_t newll = p.GetLowerLimit(); - - cout << "Assuming Model 6" << endl; - cout << "the Profile Likelihood interval is :" << endl; - cout << "[" << newll << "," << ul << "]" << endl; - - - -//////////////////////////////////////////////////////// -// Model 7 assumes: -// -// Known Background -// Gaussian uncertainty in the efficiency estimate -// -// x = 15 events in the signal region -// em = 0.77 measured efficiency -// sde = 0.15 standard deviation of efficiency estimate -// b = 10 known background -// alpha =0.95 Confidence L evel -/////////////////////////////////////////////////////// - - - mid = 7; - x = 15; - em = 0.77; - sde=0.15; - b = 10.0; - - g.SetCL(0.95); - - ul = g.CalculateInterval(x,y,z,bm,em,e,mid,sde,sdb,tau,b,m); - ll = g.GetLowerLimit(); - - cout << "Assuming Model 7 " << endl; - cout << "the Profile Likelihood interval is :" << endl; - cout << "[" << ll << "," << ul << "]" << endl; - - -//////////////////////////////////////////////////////// -// Example of bounded and unbounded likelihood -// -// Example for Model 1 -/////////////////////////////////////////////////////// - - bm = 0.0; - tau = 5; - mid = 1; - m = 100; - z = 90; - y = 15; - x = 0; - // Initialize parameters not used. - e = 0.0; - em = 0.0; - sde=0.0; - sdb=0.0; - b = 0.0; - - g.SetCL(0.90); - g.SetSwitch(1); //bounded - - ul = g.CalculateInterval(x,y,z,bm,em,e,mid,sde,sdb,tau,b,m); - ll = g.GetLowerLimit(); - - g.SetSwitch(0); //unbounded - - cout << "Assuming Model 1" << endl; - cout << "the BOUNDED Profile Likelihood interval is :" << endl; - cout << "[" << ll << "," << ul << "]" << endl; - - - ul = g.CalculateInterval(x,y,z,bm,em,e,mid,sde,sdb,tau,b,m); - ll = g.GetLowerLimit(); - - cout << "Assuming Model 1" << endl; - cout << "the UNBOUNDED Profile Likelihood interval is :" << endl; - cout << "[" << ll << "," << ul << "]" << endl; - -} - diff --git a/tutorials/RoofitDemo.C b/tutorials/RoofitDemo.C deleted file mode 100644 index 01d590e1b65be71334c5475af347feeef39cfaa0..0000000000000000000000000000000000000000 --- a/tutorials/RoofitDemo.C +++ /dev/null @@ -1,51 +0,0 @@ -void RoofitDemo() -{ - gSystem->Load("libRooFit") ; - using namespace RooFit ; - - // --- Build Gaussian PDFs --- - RooRealVar mes("mes","m_{ES} (GeV)",5.20,5.30) ; - RooRealVar sigmean("sigmean","B^{#pm} mass",5.28,5.20,5.30) ; - RooRealVar sigwidth("sigwidth","B^{#pm} width",0.0027,0.001,1.) ; - RooGaussian gauss("gauss","gaussian PDF",mes,sigmean,sigwidth) ; - - // --- Build Argus background PDF --- - RooRealVar argpar("argpar","argus shape parameter",-20.0,-100.,-1.) ; - RooRealVar cutoff("cutoff","argus cutoff",5.291) ; - RooArgusBG argus("argus","Argus PDF",mes,cutoff,argpar) ; - - // --- Construct composite PDF --- - RooRealVar nsig("nsig","number of signal events",200,0.,10000) ; - RooRealVar nbkg("nbkg","number of background events",800,0.,10000) ; - RooAddPdf sum("sum","gauss+argus",RooArgList(gauss,argus),RooArgList(nsig,nbkg)) ; - - // --- Generate a toyMC sample from composite PDF --- - RooDataSet *data = sum.generate(mes,2000) ; - - // --- Perform extended ML fit of composite PDF to toy data, skip minos --- - RooFitResult* r = sum.fitTo(*data,Extended(),Minos(kFALSE),Save(kTRUE)) ; - - // --- Plot toy data and composite PDF overlaid --- - RooPlot* mesframe = mes.frame(Name("mesframe"),Title("B^{#pm} #rightarrow D^{0}K^{#pm}")) ; - data->plotOn(mesframe) ; - sum.plotOn(mesframe) ; - - // --- Overlay background-only component of composite PDF with dashed line style --- - sum.plotOn(mesframe,Components(argus),LineStyle(kDashed)) ; - - // --- Add box with subset of fit parameters to plot frame --- - nsig.setPlotLabel("N(B^{#pm})") ; - sigmean.setPlotLabel("B^{#pm} mass") ; - sigwidth.setPlotLabel("B^{#pm} width") ; - sum.paramOn(mesframe,Parameters(RooArgSet(nsig,sigmean,sigwidth)),Layout(0.15,0.55,0.85)) ; - - // --- Plot frame on canvas --- - mesframe->Draw() ; - - // --- Print dump of fit results --- - r->Print("v") ; - - // --- Delete generate toy data --- - delete data ; -} - diff --git a/tutorials/SAXHandler.C b/tutorials/SAXHandler.C deleted file mode 100644 index 334f179c939f604c9e264ea7a5ff62cd87629a02..0000000000000000000000000000000000000000 --- a/tutorials/SAXHandler.C +++ /dev/null @@ -1,101 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// // -// ROOT implementation of a simple SAX Handler. // -// // -// This handler uses TSAXParser, a SAX Parser using the SAX interface // -// of libxml2. This script will output all elements of the original xml // -// file, if sucessfully parsed. // -// // -// To run this program do: // -// .x SAXHandler.C // -// // -// Requires: saxexample.xml // -// // -//////////////////////////////////////////////////////////////////////////////// - -#include <Riostream.h> -#include <TList.h> -#include <TSAXParser.h> -#include <TXMLAttr.h> - - -class SaxHandler { -public: - SaxHandler() { } - - void OnStartDocument() { } - void OnEndDocument(); - void OnStartElement(const char*, const TList*); - void OnEndElement(const char*); - void OnCharacters(const char*); - void OnComment(const char*); - void OnWarning(const char*); - void OnError(const char*); - void OnFatalError(const char*); - void OnCdataBlock(const char*, Int_t); -}; - -void SaxHandler::OnEndDocument() -{ - cout << endl; -} - -void SaxHandler::OnStartElement(const char *name, const TList *attributes) -{ - cout << "<" << name; - - TXMLAttr *attr; - - TIter next(attributes); - while ((attr = (TXMLAttr*) next())) { - cout << " " << attr->GetName() << "=\"" << attr->GetValue() << "\""; - } - - cout << ">"; -} - -void SaxHandler::OnEndElement(const char *name) -{ - cout << "</" << name << ">"; -} - -void SaxHandler::OnCharacters(const char *characters) -{ - cout << characters; -} - -void SaxHandler::OnComment(const char *text) -{ - cout << "<!--" << text << "-->"; -} - -void SaxHandler::OnWarning(const char *text) -{ - cout << "Warning: " << text << endl; -} - -void SaxHandler::OnError(const char *text) -{ - cerr << "Error: " << text << endl ; -} - -void SaxHandler::OnFatalError(const char *text) -{ - cerr << "FatalError: " << text << endl ; -} - -void SaxHandler::OnCdataBlock(const char *text, Int_t len) -{ - cout << "OnCdataBlock() " << text; -} - - - -void SAXHandler() -{ - TSAXParser *saxParser = new TSAXParser(); - SaxHandler *saxHandler = new SaxHandler(); - - saxParser->ConnectToHandler("SaxHandler", saxHandler); - saxParser->ParseFile("saxexample.xml"); -} diff --git a/tutorials/Slider3Demo.C b/tutorials/Slider3Demo.C deleted file mode 100644 index 91fedc885db2f3e50c0a41a8b27ae20dfc60d273..0000000000000000000000000000000000000000 --- a/tutorials/Slider3Demo.C +++ /dev/null @@ -1,265 +0,0 @@ - -// Simple macro showing capabilities of triple slider - -#include "TGButton.h" -#include "TRootEmbeddedCanvas.h" -#include "TGLayout.h" -#include "TF1.h" -#include "TMath.h" -#include "TCanvas.h" -#include "TGTextEntry.h" -#include "TGTripleSlider.h" - -enum ETestCommandIdentifiers { - HId1, - HId2, - HId3, - HCId1, - HCId2, - - HSId1 -}; - -class TTripleSliderDemo : public TGMainFrame { - -private: - TRootEmbeddedCanvas *fCanvas; - TGLayoutHints *fLcan; - TF1 *fFitFcn; - TGHorizontalFrame *fHframe0, *fHframe1, *fHframe2; - TGLayoutHints *fBly, *fBfly1, *fBfly2, *fBfly3; - TGTripleHSlider *fHslider1; - TGTextEntry *fTeh1, *fTeh2, *fTeh3; - TGTextBuffer *fTbh1, *fTbh2, *fTbh3; - TGCheckButton *fCheck1, *fCheck2; - -public: - TTripleSliderDemo(); - virtual ~TTripleSliderDemo(); - - void CloseWindow(); - void DoText(const char *text); - void DoSlider(); - void HandleButtons(); - - ClassDef(TTripleSliderDemo, 0) -}; - -//______________________________________________________________________________ -TTripleSliderDemo::TTripleSliderDemo() : TGMainFrame(gClient->GetRoot(), 100, 100) -{ - - char buf[32]; - SetCleanup(kDeepCleanup); - // Create an embedded canvas and add to the main frame, centered in x and y - // and with 30 pixel margins all around - fCanvas = new TRootEmbeddedCanvas("Canvas", this, 600, 400); - fLcan = new TGLayoutHints(kLHintsCenterX|kLHintsCenterY|kLHintsExpandX|kLHintsExpandY,10,10,10,10); - AddFrame(fCanvas, fLcan); - fCanvas->GetCanvas()->SetFillColor(33); - fCanvas->GetCanvas()->SetFrameFillColor(41); - fCanvas->GetCanvas()->SetBorderMode(0); - fCanvas->GetCanvas()->SetGrid(); - fCanvas->GetCanvas()->SetLogy(); - - fHframe0 = new TGHorizontalFrame(this, 0, 0, 0); - - fCheck1 = new TGCheckButton(fHframe0, "&Constrained", HCId1); - fCheck2 = new TGCheckButton(fHframe0, "&Relative", HCId2); - fCheck1->SetState(kButtonUp); - fCheck2->SetState(kButtonUp); - fCheck1->SetToolTipText("Pointer position constrained to slider sides"); - fCheck2->SetToolTipText("Pointer position relative to slider position"); - - fHframe0->Resize(200, 50); - - fHframe1 = new TGHorizontalFrame(this, 0, 0, 0); - - fHslider1 = new TGTripleHSlider(fHframe1, 190, kDoubleScaleBoth, HSId1, - kHorizontalFrame, GetDefaultFrameBackground(), - kFALSE, kFALSE, kFALSE, kFALSE); - fHslider1->Connect("PointerPositionChanged()", "TTripleSliderDemo", this, "DoSlider()"); - fHslider1->Connect("PositionChanged()", "TTripleSliderDemo", this, "DoSlider()"); - fHslider1->SetRange(0.05,5.0); - - fHframe1->Resize(200, 25); - - fHframe2 = new TGHorizontalFrame(this, 0, 0, 0); - - fTeh1 = new TGTextEntry(fHframe2, fTbh1 = new TGTextBuffer(5), HId1); - fTeh2 = new TGTextEntry(fHframe2, fTbh2 = new TGTextBuffer(5), HId2); - fTeh3 = new TGTextEntry(fHframe2, fTbh3 = new TGTextBuffer(5), HId3); - - fTeh1->SetToolTipText("Minimum (left) Value of Slider"); - fTeh2->SetToolTipText("Pointer Position Value"); - fTeh3->SetToolTipText("Maximum (right) Value of Slider"); - - fTbh1->AddText(0, "0.0"); - fTbh2->AddText(0, "0.0"); - fTbh3->AddText(0, "0.0"); - - fTeh1->Connect("TextChanged(char*)", "TTripleSliderDemo", this, "DoText(char*)"); - fTeh2->Connect("TextChanged(char*)", "TTripleSliderDemo", this, "DoText(char*)"); - fTeh3->Connect("TextChanged(char*)", "TTripleSliderDemo", this, "DoText(char*)"); - - fCheck1->Connect("Clicked()", "TTripleSliderDemo", this, "HandleButtons()"); - fCheck2->Connect("Clicked()", "TTripleSliderDemo", this, "HandleButtons()"); - - fHframe2->Resize(100, 25); - - //--- layout for buttons: top align, equally expand horizontally - fBly = new TGLayoutHints(kLHintsTop | kLHintsCenterX | kLHintsExpandX, 5, 5, 5, 5); - - //--- layout for the frame: place at bottom, right aligned - fBfly1 = new TGLayoutHints(kLHintsTop | kLHintsCenterX, 5, 5, 5, 5); - fBfly2 = new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 5); - fBfly3 = new TGLayoutHints(kLHintsTop | kLHintsRight, 5, 5, 5, 5); - - fHframe0->AddFrame(fCheck1, fBfly2); - fHframe0->AddFrame(fCheck2, fBfly2); - fHframe1->AddFrame(fHslider1, fBly); - fHframe2->AddFrame(fTeh1, fBfly2); - fHframe2->AddFrame(fTeh2, fBfly1); - fHframe2->AddFrame(fTeh3, fBfly3); - - AddFrame(fHframe0, fBly); - AddFrame(fHframe1, fBly); - AddFrame(fHframe2, fBly); - - // Set main frame name, map sub windows (buttons), initialize layout - // algorithm via Resize() and map main frame - SetWindowName("Triple Slider Demo"); - MapSubwindows(); - Resize(GetDefaultSize()); - MapWindow(); - - fFitFcn = new TF1("fFitFcn", "TMath::LogNormal(x, [0], [1], [2])", 0, 5); - fFitFcn->SetRange(0.0, 2.5); - fFitFcn->SetParameters(1.0, 0, 1); - fFitFcn->SetMinimum(1.0e-3); - fFitFcn->SetMaximum(10.0); - fFitFcn->SetLineColor(kRed); - fFitFcn->SetLineWidth(1); - fFitFcn->Draw(); - - fHslider1->SetPosition(0.05,2.5); - fHslider1->SetPointerPosition(1.0); - - sprintf(buf, "%.3f", fHslider1->GetMinPosition()); - fTbh1->Clear(); - fTbh1->AddText(0, buf); - sprintf(buf, "%.3f", fHslider1->GetPointerPosition()); - fTbh2->Clear(); - fTbh2->AddText(0, buf); - sprintf(buf, "%.3f", fHslider1->GetMaxPosition()); - fTbh3->Clear(); - fTbh3->AddText(0, buf); -} - -//______________________________________________________________________________ -TTripleSliderDemo::~TTripleSliderDemo() -{ - // Clean up - - Cleanup(); -} - -//______________________________________________________________________________ -void TTripleSliderDemo::CloseWindow() -{ - // Called when window is closed via the window manager. - - delete this; -} - -//______________________________________________________________________________ -void TTripleSliderDemo::DoText(const char * /*text*/) -{ - // Handle text entry widgets. - - TGTextEntry *te = (TGTextEntry *) gTQSender; - Int_t id = te->WidgetId(); - - switch (id) { - case HId1: - fHslider1->SetPosition(atof(fTbh1->GetString()), - fHslider1->GetMaxPosition()); - break; - case HId2: - fHslider1->SetPointerPosition(atof(fTbh2->GetString())); - break; - case HId3: - fHslider1->SetPosition(fHslider1->GetMinPosition(), - atof(fTbh1->GetString())); - break; - default: - break; - } - fFitFcn->SetParameters(fHslider1->GetPointerPosition(), 0, 1); - fFitFcn->SetRange(fHslider1->GetMinPosition()-0.05, fHslider1->GetMaxPosition()); - fFitFcn->Draw(); - fCanvas->GetCanvas()->Modified(); - fCanvas->GetCanvas()->Update(); -} - -//______________________________________________________________________________ -void TTripleSliderDemo::DoSlider() -{ - // Handle slider widgets. - - char buf[32]; - - sprintf(buf, "%.3f", fHslider1->GetMinPosition()); - fTbh1->Clear(); - fTbh1->AddText(0, buf); - fTeh1->SetCursorPosition(fTeh1->GetCursorPosition()); - fTeh1->Deselect(); - gClient->NeedRedraw(fTeh1); - - sprintf(buf, "%.3f", fHslider1->GetPointerPosition()); - fTbh2->Clear(); - fTbh2->AddText(0, buf); - fTeh2->SetCursorPosition(fTeh2->GetCursorPosition()); - fTeh2->Deselect(); - gClient->NeedRedraw(fTeh2); - - sprintf(buf, "%.3f", fHslider1->GetMaxPosition()); - fTbh3->Clear(); - fTbh3->AddText(0, buf); - fTeh3->SetCursorPosition(fTeh3->GetCursorPosition()); - fTeh3->Deselect(); - gClient->NeedRedraw(fTeh3); - - fFitFcn->SetParameters(fHslider1->GetPointerPosition(), 0, 1); - fFitFcn->SetRange(fHslider1->GetMinPosition()-0.05, fHslider1->GetMaxPosition()); - fFitFcn->Draw(); - fCanvas->GetCanvas()->Modified(); - fCanvas->GetCanvas()->Update(); -} - -//______________________________________________________________________________ -void TTripleSliderDemo::HandleButtons() -{ - // Handle different buttons. - - TGButton *btn = (TGButton *) gTQSender; - Int_t id = btn->WidgetId(); - - switch (id) { - case HCId1: - fHslider1->SetConstrained(fCheck1->GetState()); - break; - case HCId2: - fHslider1->SetRelative(fCheck2->GetState()); - break; - default: - break; - } -} - - -void Slider3Demo() -{ - new TTripleSliderDemo(); -} - diff --git a/tutorials/TestAuth.C b/tutorials/TestAuth.C deleted file mode 100644 index 3a192261c02bbeb82e5b27a6a9cb8c8b94ba148e..0000000000000000000000000000000000000000 --- a/tutorials/TestAuth.C +++ /dev/null @@ -1,609 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -// Macro test authentication methods stand alone -// -// See $ROOTSYS/README/README.AUTH for additional details -// -// Syntax: -// -// .x TestAuth.C(<port>,"<user>","<krb5_princ>","<globus_det>") -// -// <port> = rootd port (default 1094) -// <user> = login user name for the test -// (default from getpwuid) -// <krb5_princ> = Principal to be used for Krb5 authentication -// in the form user@THE.REA.LM -// ( default: <running_user@Default_Realm with -// Default_realm taken from /etc/krb5.conf -// or the $KRB5_CONFIG file ) -// <globus_det> = details for the globus authentication -// ( default: ad:certificates cd:$HOME/.globus -// cf:usercert.pem kf:userkey.pem ) -// -// MAKE SURE that rootd is running -// -// Example of successful output: -// -// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// + + -// + TestAuth.C + -// + + -// + Test of authentication methods + -// + + -// + Syntax: + -// + + -// + .x TestAuth.C(<port>,"<user>","<krb5_princ>","<globus_det>") + -// + + -// + <port> = rootd port (default 1094) + -// + <user> = login user name for the test + -// + (default from getpwuid) + -// + <krb5_princ> = Principal to be used for Krb5 authentication + -// + in the form user@THE.REA.LM + -// + ( default: <running_user@Default_Realm with + -// + Default_realm taken from /etc/krb5.conf + -// + or the $KRB5_CONFIG file ) + -// + <globus_det> = details for the globus authentication + -// + ( default ad:certificates cd:$HOME/.globus + -// + cf:usercert.pem kf:userkey.pem ) + -// + + -// + >>> MAKE SURE that rootd is running <<< + -// + + -// + See $ROOTSYS/README/README.AUTH for additional details + -// + + -// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// -// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// + + -// + Basic test parameters: + -// + + -// + Local User is : ganis -// + Authentication Details : pt:0 ru:1 us:ganis -// + Current directory is : /home/ganis/local/root/root/tutorials -// + TFTP string : root://localhost:1094 -// + Krb5 Details : pt:0 ru:1 us:ganis@PCEPSFT43.CERN.CH -// + + -// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// + + -// + Testing UsrPwd ... + -// ganis@localhost password: -// + + -// + Testing SRP ... + -// ganis@localhost SRP password: -// + + -// + Testing Krb5 ... + -// Password for ganis@PCEPSFT43.CERN.CH: -// + + -// + Testing Globus ... + -// Local Globus Certificates ( ) -// Enter <key>:<new value> to change: -// Your identity: /O=Grid/OU=GlobusTest/OU=simpleCA-arthux.cern.ch/OU=cern.ch/CN=ganis -// Enter GRID pass phrase for this identity: -// Creating proxy ............................ Done -// Your proxy is valid until: Fri Oct 31 09:33:04 2003 -// + + -// + Testing SSH ... + -// ganis@localhost's password: -// + + -// + Testing UidGid ... + -// + + -// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// -// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// + + -// + Result of the tests: + -// + + -// + Method: 0 (UsrPwd): successful! (reuse: successful!) + -// + Method: 1 (SRP): successful! (reuse: successful!) + -// + Method: 2 (Krb5): successful! (reuse: successful!) + -// + Method: 3 (Globus): successful! (reuse: successful!) + -// + Method: 4 (SSH): successful! (reuse: successful!) + -// + Method: 5 (UidGid): successful! + -// + + -// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// -/////////////////////////////////////////////////////////////////////////////// -// -int TestAuth(int port = 1094, char *user = "", char *krb5 = "", char *globus = "") -{ - // - // This macro tests the authentication methods - // - gROOT->Reset(); - -// Getting debug flag - Int_t lDebug = gEnv->GetValue("Root.Debug",0); - -// Useful flags - Bool_t HaveMeth[6] = {1,0,0,0,0,1}; - Int_t TestMeth[6] = {0,0,0,0,0,0}; - Int_t TestReUse[6] = {3,3,3,3,3,3}; - - -// Some Printout - printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); - printf("+ +\n"); - printf("+ TestAuth.C +\n"); - printf("+ +\n"); - printf("+ Test of authentication methods +\n"); - printf("+ +\n"); - printf("+ Syntax: +\n"); - printf("+ +\n"); - printf("+ .x TestAuth.C(<port>,\"<user>\",\"<krb5_princ>\",\"<globus_det>\") +\n"); - printf("+ +\n"); - printf("+ <port> = rootd port (default 1094) +\n"); - printf("+ <user> = login user name for the test +\n"); - printf("+ (default from getpwuid) +\n"); - printf("+ <krb5_princ> = Principal to be used for Krb5 authentication +\n"); - printf("+ in the form user@THE.REA.LM +\n"); - printf("+ ( default: <running_user@Default_Realm with +\n"); - printf("+ Default_realm taken from /etc/krb5.conf +\n"); - printf("+ or the $KRB5_CONFIG file ) +\n"); - printf("+ <globus_det> = details for the globus authentication +\n"); - printf("+ ( default ad:certificates cd:$HOME/.globus +\n"); - printf("+ cf:usercert.pem kf:userkey.pem ) +\n"); - printf("+ +\n"); - printf("+ >>> MAKE SURE that rootd is running <<< +\n"); - printf("+ +\n"); - printf("+ See $ROOTSYS/README/README.AUTH for additional details +\n"); - printf("+ +\n"); - printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n"); - -// Useful variables - -// User - TString User = user; - if (User == "") { - - UserGroup_t *u = gSystem->GetUserInfo(); - if (!u) { - printf("\n >>>> 'user' not defined: please enter a valid username:\n"); - char utmp[256] = {0}; - scanf("%s",utmp); - if (strlen(utmp)) { - User = utmp; - } else { - printf(">>>> no 'user' defined: return!\n"); - return 1; - } - } else { - User = u->fUser; - } - - } - -// Host - TString Host = "localhost"; - TString HostName = gSystem->HostName(); - -// File path string for TFTP - //TString TFTPPath = TString("root://localhost:")+ port ; - TString TFTPPath = TString("root://")+User+TString("@localhost:")+ port ; - //TString TFTPPathKrb5 = TString("root://") + HostName + TString(":")+ port ; - TString TFTPPathKrb5 = TString("root://") + User+ TString("@") + - HostName + TString(":")+ port ; - -// Details - TString Details = TString("pt:0 ru:1 us:") + User; - -// Testing availibilities - char *p; - -// TString HaveSRP = "@srpdir@"; - if ((p = gSystem->DynamicPathName("libSRPAuth", kTRUE))) { - HaveMeth[1] = 1; - } - delete[] p; - -// Check if Kerberos is available - TString Krb5Details; - TString Krb5Open; - if ((p = gSystem->DynamicPathName("libKrb5Auth", kTRUE))) { - HaveMeth[2] = 1; - // Special details string for Kerberos - if (strlen(krb5) > 0) { - Krb5Details = TString("pt:0 ru:1 us:") + TString(krb5); - } else { - // Must determine a default ... look in config file - TString Krb5Conf, Realm; - if (gSystem->Getenv("KRB5_CONFIG")) { - if (!gSystem->AccessPathName(gSystem->Getenv("KRB5_CONFIG"), kReadPermission)) { - Krb5Conf = gSystem->Getenv("KRB5_CONFIG"); - } - } else if (!gSystem->AccessPathName("/etc/krb5.conf", kReadPermission)) { - Krb5Conf = "/etc/krb5.conf"; - } else { - printf("\n >>>> Kerberos Principal undefined\n"); - printf("\n >>>> unable to localize Kerberos config file to build a default\n"); - printf("\n >>>> Switching off Kerberos\n"); - printf("\n >>>> Run again with giving the principal as 3rd argument\n"); - printf("\n >>>> or define the variable KRB5_CONFIG with the full path \n"); - printf("\n >>>> to the config file (usually /etc/krb5.conf)\n"); - HaveMeth[2] = 0; - } - if (HaveMeth[2] == 1) { - FILE *fc = fopen(Krb5Conf.Data(),"r"); - if (fc) { - char line[1024], fs1[1024], fs2[1024], fs3[1024]; - while (fgets(line, sizeof(line), fc) != 0) { - int nf = sscanf(line,"%s %s %s",fs1,fs2,fs3); - if (nf == 3 && !strcmp(fs1,"default_realm")) { - Realm = fs3; - break; - } - } - Krb5Details = TString("pt:0 ru:1 us:") + User + TString("@") + Realm; -// Krb5Details = TString("pt:0 ru:1 us:") + User; - fclose(fc); - } else { - HaveMeth[2] = 0; - } - } - } - } - delete[] p; - -// Check if Globus is available - TString GlobusDetails; - if ((p = gSystem->DynamicPathName("libGlobusAuth", kTRUE))) { - HaveMeth[3] = 1; - // Special details string for Globus - GlobusDetails = TString("pt:0 ru:1 ") + TString(globus); - } - delete[] p; - -// Check if SSH available - if (gSystem->Which(gSystem->Getenv("PATH"), "ssh", kExecutePermission)) { - HaveMeth[4] = 1; - } - -// Test parameter Printout - printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); - printf("+ +\n"); - printf("+ Basic test parameters: +\n"); - printf("+ +\n"); - printf("+ Local User is : %s \n",User.Data()); - printf("+ Authentication Details : %s \n",Details.Data()); - printf("+ Current directory is : %s \n",gSystem->WorkingDirectory()); - printf("+ TFTP string : %s \n",TFTPPath.Data()); - if (HaveMeth[2]) { - printf("+ Krb5 Details : %s \n",Krb5Details.Data()); - } - printf("+ +\n"); - printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); - -// Read local <RootAuthrc> now to avoid to be later superseeded - TAuthenticate::ReadRootAuthrc(); - if (lDebug > 0) - TAuthenticate::Show(); - - TFTP *t1 = 0; -// UsrPwd method - printf("+ +\n"); - printf("+ Testing UsrPwd ... +\n"); - - // Check if by any chance locally there is already an THostAuth matching - // the one we want to use for testing - THostAuth *hasv1 = 0; - THostAuth *ha = TAuthenticate::HasHostAuth(Host.Data(),User.Data()); - if (ha) { - // We need to save it to restore at the end - hasv1 = new THostAuth(*ha); - // We reset the existing one - ha->Reset(); - // And update it with the info we want - ha->AddMethod(0,Details.Data()); - } else { - // We create directly a new THostAuth - ha = new THostAuth(Host.Data(),User.Data(),0,Details.Data()); - // And add object to list so that TAuthenticate has - // a chance to find it - TAuthenticate::GetAuthInfo()->Add(ha); - } - - // Print available host auth info - if (lDebug > 0) - ha->Print(); - - { - // First authentication attempt - t1 = new TFTP(TFTPPath.Data(),2); - if (t1->IsOpen()) { - TestMeth[0] = 1; - } else { - printf(" >>>>>>>>>>>>>>>> Test of UsrPwd authentication failed \n"); - }} - - // Try ReUse - if (TestMeth[0] == 1) { - TIter next(ha->Established()); - TSecContext *ai; - while ((ai = (TSecContext *) next())) { - if (ai->GetMethod() == 0) { - Int_t OffSet = ai->GetOffSet(); - TestReUse[0] = 0; - if (OffSet > -1) { - TestReUse[0] = 1; - } - } - } - } - // Delete t1 - if (t1) delete t1; - // remove method from available list - ha->RemoveMethod(0); - -// SRP method - if ( HaveMeth[1] ) { - printf("+ +\n"); - printf("+ Testing SRP ... +\n"); - - // Add relevant info to HostAuth - ha->AddFirst(1,Details.Data()); - if (lDebug > 0) - ha->Print(); - - // Authentication attempt - t1 = new TFTP(TFTPPath.Data(),2); - if (t1->IsOpen()) { - TestMeth[1] = 1; - } else { - printf(" >>>>>>>>>>>>>>>> Test of SRP authentication failed \n"); - } - - // Try ReUse - if (TestMeth[1] == 1) { - TIter next(ha->Established()); - TSecContext *ai; - while ((ai = (TSecContext *) next())) { - if (ai->GetMethod() == 1) { - Int_t OffSet = ai->GetOffSet(); - TestReUse[1] = 0; - if (OffSet > -1) { - TestReUse[1] = 1; - } - } - } - } - // Delete t1 - if (t1) delete t1; - // remove method from available list - ha->RemoveMethod(1); - - } - -// Kerberos method - THostAuth *hak = 0; - THostAuth *hasv2 = 0; - if ( HaveMeth[2] ) { - printf("+ +\n"); - printf("+ Testing Krb5 ... +\n"); - - - // Check if by any chance locally there is already an THostAuth matching - // the one we want to use for testing - hak = TAuthenticate::HasHostAuth(HostName.Data(),User.Data()); - if (hak) { - if (lDebug > 0) - printf(" >>>>>>>>>>>>>>>> Krb5: existing THostAuth found \n"); - // We need to save it to restore at the end - hasv2 = new THostAuth(*hak); - // We reset the existing one - hak->Reset(); - // And update it with the info we want - hak->AddMethod(2,Krb5Details.Data()); - } else { - // We create directly a new THostAuth - hak = new THostAuth(HostName.Data(),User.Data(),2,Krb5Details.Data()); - // And add object to list so that TAuthenticate has - // a chance to find it - TAuthenticate::GetAuthInfo()->Add(hak); - } - if (lDebug > 0) - hak->Print(); - - // Authentication attempt - t1 = new TFTP(TFTPPathKrb5.Data(),2); - if (t1->IsOpen()) { - TestMeth[2] = 1; - } else { - printf(" >>>>>>>>>>>>>>>> Test of Kerberos authentication failed \n"); - if (strlen(krb5) > 0) { - printf(" >>>>>>>>>>>>>>>> details used: '%s' \n",krb5); - } - } - - // Try ReUse - if (TestMeth[2] == 1) { - TIter next(hak->Established()); - TSecContext *ai; - while ((ai = (TSecContext *) next())) { - if (ai->GetMethod() == 2) { - Int_t OffSet = ai->GetOffSet(); - TestReUse[2] = 0; - if (OffSet > -1) { - TestReUse[2] = 1; - } - } - } - } - // Delete t1 - if (t1) delete t1; - // remove method from available list - hak->RemoveMethod(2); - } - -// Globus method - if ( HaveMeth[3] ) { - printf("+ +\n"); - printf("+ Testing Globus ... +\n"); - - // Add relevant info to HostAuth - ha->AddFirst(3,GlobusDetails.Data()); - if (lDebug > 0) - ha->Print(); - - // Authentication attempt - t1 = new TFTP(TFTPPath.Data(),2); - if (t1->IsOpen()) { - TestMeth[3] = 1; - } else { - printf(" >>>>>>>>>>>>>>>> Test of Globus authentication failed \n"); - if (strlen(globus) > 0) { - printf(" >>>>>>>>>>>>>>>> details used: '%s' \n",globus); - } else { - printf(" >>>>>>>>>>>>>>>> using default details: \n"); - printf(" >>>>>>>>>>>>>>>> ad:/etc/grid-security/certificates"); - printf(" cd:$HOME/.globus cf:usercert.pem kf:userkey.pem\n"); - } - UserGroup_t *u = gSystem->GetUserInfo(); - if (u) { - if (u->fUid > 0) { - printf(" >>>>>>>>>>>>>>>> You are not root,"); - printf(" you may not have the right privileges\n"); - printf(" >>>>>>>>>>>>>>>> Make sure that the used details are correct! \n"); - } - } - } - - // Try ReUse - if (TestMeth[3] == 1) { - TIter next(ha->Established()); - TSecContext *ai; - while ((ai = (TSecContext *) next())) { - if (ai->GetMethod() == 3) { - Int_t OffSet = ai->GetOffSet(); - TestReUse[3] = 0; - if (OffSet > -1) { - TestReUse[3] = 1; - } - } - } - } - // Delete t1 - if (t1) delete t1; - // remove method from available list - ha->RemoveMethod(3); - } - -// SSH method - - if ( HaveMeth[4] ) { - printf("+ +\n"); - printf("+ Testing SSH ... +\n"); - - // Add relevant info to HostAuth - ha->AddFirst(4,Details.Data()); - if (lDebug > 0) - ha->Print(); - - // Authentication attempt - t1 = new TFTP(TFTPPath.Data(),2); - if (t1->IsOpen()) { - TestMeth[4] = 1; - } else { - printf(" >>>>>>>>>>>>>>>> Test of SSH authentication failed \n"); - } - - // Try ReUse - if (TestMeth[4] == 1) { - TIter next(ha->Established()); - TSecContext *ai; - while ((ai = (TSecContext *) next())) { - if (ai->GetMethod() == 4) { - Int_t OffSet = ai->GetOffSet(); - TestReUse[4] = 0; - if (OffSet > -1) { - TestReUse[4] = 1; - } - } - } - } - // Delete t1 - if (t1) delete t1; - // remove method from available list - ha->RemoveMethod(4); - } - - -// Rfio method - printf("+ +\n"); - printf("+ Testing UidGid ... +\n"); - - // Add relevant info to HostAuth - ha->AddFirst(5,Details.Data()); - if (lDebug > 0) - ha->Print(); - - // Authentication attempt - { - t1 = new TFTP(TFTPPath.Data(),2); - if (t1->IsOpen()) { - TestMeth[5] = 1; - } else { - printf(" >>>>>>>>>>>>>>>> Test of UidGid authentication failed \n"); - }} - - // Delete t1 - if (t1) delete t1; - - // remove method from available list - ha->RemoveMethod(5); - - printf("+ +\n"); - printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); - - // Print available host auth info - if (lDebug > 0) - TAuthenticate::Show(); - -// Now restore initial configuration - if (hasv1) { - ha->Reset(); - ha->Update(hasv1); - } else { - TAuthenticate::GetAuthInfo()->Remove(ha); - } - if (hasv2) { - hak->Reset(); - hak->Update(hasv2); - } else { - TAuthenticate::GetAuthInfo()->Remove(hak); - } - -// Final Printout - printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); - printf("+ +\n"); - printf("+ Result of the tests: +\n"); - printf("+ +\n"); - char status[4][20] = {"failed!","successful!","not testable","not tested"}; - int i = 0; - for( i=0; i<6; i++ ) { - if (HaveMeth[i] && TestMeth[i] < 2) { - if (i < 5) { - printf("+ Method: %d %8s: %11s (reuse: %11s) +\n",i, - Form("(%s)",TAuthenticate::GetAuthMethod(i)), - status[TestMeth[i]],status[TestReUse[i]]); - } else - printf("+ Method: %d %8s: %11s +\n",i, - Form("(%s)",TAuthenticate::GetAuthMethod(i)), - status[TestMeth[i]]); - } - } - Bool_t NotPrinted = kTRUE; - for( i=0; i<6; i++ ) { - if (HaveMeth[i] && TestMeth[i] > 1) { - if (NotPrinted) { - printf("+ +\n"); - printf("+ Could not be tested: +\n"); - printf("+ +\n"); - NotPrinted = kFALSE; - } - printf("+ Method: %d %8s: %11s +\n",i, - Form("(%s)",TAuthenticate::GetAuthMethod(i)), - status[TestMeth[i]]); - } - } - printf("+ +\n"); - printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); - -} diff --git a/tutorials/TestSPlot.C b/tutorials/TestSPlot.C deleted file mode 100644 index fe82581ab5c062097ded912566940baa92bc906a..0000000000000000000000000000000000000000 --- a/tutorials/TestSPlot.C +++ /dev/null @@ -1,154 +0,0 @@ -#include "TSPlot.h" -#include "TTree.h" -#include "TH1.h" -#include "TCanvas.h" -#include "TFile.h" -#include "TPaveLabel.h" -#include "TPad.h" -#include "TPaveText.h" -#include "Riostream.h" - -void TestSPlot() -{ -//This tutorial illustrates the use of class TSPlot and of the sPlots method -// -//It is an example of analysis of charmless B decays, performed for the BABAR experiment. -//One is dealing with a data sample in which two species are present: -//the first is termed signal and the second background. -//A maximum Likelihood fit is performed to obtain the two yields N1 and N2 -//The fit relies on two discriminating variables collectively denoted y, -//which are chosen within three possible variables denoted Mes, dE and F. -//The variable which is not incorporated in y, is used as the control variable x. -//The distributions of discriminating variables and more details about the method -//can be found in the TSPlot class description -// -// NOTE: This script requires a data file "TestSPlot_toyMC.dat". -// This data file is not distributed in the standard ROOT binary tar file. -// You can download it from ftp://root.cern.ch/root/TestSPlot_toyMC.dat - - ifstream toymc; - toymc.open("TestSPlot_toyMC.dat"); - if (!toymc.good()) { - printf("Before executing this script you must download the data file from\n"); - printf(" ftp://root.cern.ch/root/TestSPlot_toyMC.dat\n"); - return; - } - toymc.close(); - - //Read the data and initialize a TSPlot object - TTree *datatree = new TTree("datatree", "datatree"); - datatree->ReadFile("TestSPlot_toyMC.dat", "Mes/D:dE/D:F/D:MesSignal/D:MesBackground/D:dESignal/D:dEBackground/D:FSignal/D:FBackground/D"); - - TSPlot *splot = new TSPlot(0, 3, 5420, 2, datatree); - - //Set the selection for data tree - //Note the order of the variables: first the control variables (not presented in this example), - //then the 3 discriminating variables, then their probability distribution functions for - //the first species(signal) and then their pdfs for the second species(background) - splot->SetTreeSelection("Mes:dE:F:MesSignal:dESignal:FSignal:MesBackground:dEBackground:FBackground"); - - //Set the initial estimates of the number of events in each species - used as initial - //parameter values for the Minuit likelihood fit - Int_t ne[2]; - ne[0]=500; ne[1]=5000; - splot->SetInitialNumbersOfSpecies(ne); - - //Compute the weights - splot->MakeSPlot(); - - //Fill the sPlots - splot->FillSWeightsHists(25); - - //Now let's look at the sPlots - //The first two histograms are sPlots for the Mes variable signal and background. - //dE and F were chosen as discriminating variables to determine N1 and N2, through a - //maximum Likelihood fit, and thus the sPlots for the control variable Mes, unknown - //to the fit, was contructed. - //One can see that the sPlot for signal reproduces the PDF correctly, - //even when the latter vanishes. - // - //The lower two histograms are sPlots for the F variables signal and background. - //dE and Mes were chosen as discriminating variables to determine N1 and N2, through a - //maximum Likelihood fit, and thus the sPlots for the control variable F, unknown - //to the fit, was contructed. - - TCanvas *myc = new TCanvas("myc", "sPlots of Mes and F signal and background", 800, 600); - myc->SetFillColor(40); - - TPaveText *pt = new TPaveText(0.02,0.85,0.98,0.98); - pt->SetFillColor(18); - pt->SetTextFont(20); - pt->SetTextColor(4); - pt->AddText("sPlots of Mes and F signal and background,"); - pt->AddText("obtained by running the tutorial TestSPlot.C on BABAR Monte Carlo data (sPlot_toyMC.fit)"); - TText *t3=pt->AddText("M. Pivk and F. R. Le Diberder, Nucl.Inst.Meth.A (in press), physics/0402083"); - t3->SetTextColor(1); - t3->SetTextFont(30); - pt->Draw(); - - TPad* pad1 = new TPad("pad1","Mes signal",0.02,0.43,0.48,0.83,33); - TPad* pad2 = new TPad("pad2","Mes background",0.5,0.43,0.98,0.83,33); - TPad* pad3 = new TPad("pad3", "F signal", 0.02, 0.02, 0.48, 0.41,33); - TPad* pad4 = new TPad("pad4", "F background", 0.5, 0.02, 0.98, 0.41,33); - pad1->Draw(); - pad2->Draw(); - pad3->Draw(); - pad4->Draw(); - - pad1->cd(); - pad1->SetGrid(); - TH1D *sweight00 = splot->GetSWeightsHist(-1, 0, 0); - sweight00->SetTitle("Mes signal"); - sweight00->SetStats(kFALSE); - sweight00->Draw("e"); - sweight00->SetMarkerStyle(21); - sweight00->SetMarkerSize(0.7); - sweight00->SetMarkerColor(2); - sweight00->SetLineColor(2); - sweight00->GetXaxis()->SetLabelSize(0.05); - sweight00->GetYaxis()->SetLabelSize(0.06); - sweight00->GetXaxis()->SetLabelOffset(0.02); - - pad2->cd(); - pad2->SetGrid(); - TH1D *sweight10 = splot->GetSWeightsHist(-1, 1, 0); - sweight10->SetTitle("Mes background"); - sweight10->SetStats(kFALSE); - sweight10->Draw("e"); - sweight10->SetMarkerStyle(21); - sweight10->SetMarkerSize(0.7); - sweight10->SetMarkerColor(2); - sweight10->SetLineColor(2); - sweight10->GetXaxis()->SetLabelSize(0.05); - sweight10->GetYaxis()->SetLabelSize(0.06); - sweight10->GetXaxis()->SetLabelOffset(0.02); - - pad3->cd(); - pad3->SetGrid(); - TH1D *sweight02 = splot->GetSWeightsHist(-1, 0, 2); - sweight02->SetTitle("F signal"); - sweight02->SetStats(kFALSE); - sweight02->Draw("e"); - sweight02->SetMarkerStyle(21); - sweight02->SetMarkerSize(0.7); - sweight02->SetMarkerColor(2); - sweight02->SetLineColor(2); - sweight02->GetXaxis()->SetLabelSize(0.06); - sweight02->GetYaxis()->SetLabelSize(0.06); - sweight02->GetXaxis()->SetLabelOffset(0.01); - - pad4->cd(); - pad4->SetGrid(); - TH1D *sweight12 = splot->GetSWeightsHist(-1, 1, 2); - sweight12->SetTitle("F background"); - sweight12->SetStats(kFALSE); - sweight12->Draw("e"); - sweight12->SetMarkerStyle(21); - sweight12->SetMarkerSize(0.7); - sweight12->SetMarkerColor(2); - sweight12->SetLineColor(2); - sweight12->GetXaxis()->SetLabelSize(0.06); - sweight12->GetYaxis()->SetLabelSize(0.06); - sweight02->GetXaxis()->SetLabelOffset(0.01); - myc->cd(); -} diff --git a/tutorials/WorldMap.C b/tutorials/WorldMap.C deleted file mode 100644 index 25266c5275184c8878c3cfd95c2ff7c3feb078b8..0000000000000000000000000000000000000000 --- a/tutorials/WorldMap.C +++ /dev/null @@ -1,184 +0,0 @@ -// This macro shows how to use a TGImageMap class. -// -// A TGImageMap provides the functionality like a clickable image in -// with sensitive regions (similar to MAP HTML tag). -// - -#include <TGPicture.h> -#include <TGMenu.h> -#include <TGImageMap.h> -#include <TGMsgBox.h> -#include <TGClient.h> - -//////////////////////////////////////////////////////////////////////////////// -class WorldMap -{ -protected: - TGMainFrame* fMain; // main frame - TGImageMap* fImageMap; // image map - - virtual void InitMap(); - virtual void InitRU(); - virtual void InitUS(); -// virtual void InitCN(); - virtual void InitAU(); - virtual void InitFR(); - virtual void InitUK(); - -public: - // the name corresponds to TLD code (http://www.iana.org/cctld/cctld-whois.htm) - // the value to "country phone code" (http://www.att.com/traveler/tools/codes.html) - enum ECountryCode { - kRU = 7, kUS = 1, kFR = 33, kDE = 49, kCH = 41, kCN = 86, kAU = 61, - kUK = 44, kUA = 380, kBR = 55 - }; - - WorldMap(const char *picName = "worldmap.jpg"); - virtual ~WorldMap() {} - - virtual void Show() { fMain->MapRaised(); } - TGImageMap* GetImageMap() const { return fImageMap; } - virtual TString GetTitle() const; - - // slots - void PrintCode(Int_t code); -}; - - -//__________________________________________________________________________ -WorldMap::WorldMap(const char* picName) -{ - // - - fMain = new TGMainFrame(gClient->GetRoot(), 750, 420); - - fImageMap = new TGImageMap(fMain, picName); - fMain->AddFrame(fImageMap); - fMain->SetWindowName(GetTitle().Data()); - fMain->SetIconName("World Map"); - - TGDimension size = fMain->GetDefaultSize(); - fMain->Resize(size); - fMain->MapSubwindows(); - InitMap(); - - fImageMap->Connect("RegionClicked(Int_t)", "WorldMap", this, "PrintCode(Int_t)"); -} - -//__________________________________________________________________________ -TString WorldMap::GetTitle() const -{ - // title - - return "Country Code (left button). City/Area Codes (right button)"; -} - -//__________________________________________________________________________ -void WorldMap::InitRU() -{ - // - - int x[12] = { 403, 406, 427, 444, 438, 470, 508, 568, 599, 632, 645, 493 }; - int y[12] = { 68, 90, 120, 125, 109, 94, 109, 101, 122, 107, 74, 46 }; - TGRegion reg(12, x, y); - fImageMap->AddRegion(reg, kRU); - fImageMap->SetToolTipText(kRU, "Russia"); - TGPopupMenu* pm = fImageMap->CreatePopup(kRU); - pm->AddLabel("City Codes"); - pm->AddSeparator(); - pm->AddEntry("Moscow = 095", 95); - pm->AddEntry("Protvino = 0967", 967); - pm->AddEntry("St.Petersburg = 812", 812); -} - -//__________________________________________________________________________ -void WorldMap::InitUS() -{ - // - - int x[5] = { 136, 122, 165, 194, 232 }; - int y[5] = { 110, 141, 158, 160, 118 }; - TGRegion reg(5, x, y); - fImageMap->AddRegion(reg, kUS); - - int alaskaX[4] = { 86, 131, 154, 117 }; - int alaskaY[4] = { 90, 82, 64, 63 }; - TGRegion alaska(4, alaskaX, alaskaY); - fImageMap->AddRegion(alaska, kUS); - fImageMap->SetToolTipText(kUS, "USA"); - - TGPopupMenu* pm = fImageMap->CreatePopup(kUS); - pm->AddLabel("Area Codes"); - pm->AddSeparator(); - pm->AddEntry("Illinois = 217", 217); - pm->AddEntry("New York = 212", 212); -} - -//__________________________________________________________________________ -void WorldMap::InitFR() -{ - // - - int x[5] = { 349, 353, 368, 368, 358 }; - int y[5] = { 112, 123, 119, 108, 107 }; - TGRegion reg(5, x, y); - fImageMap->AddRegion(reg, kFR); - fImageMap->SetToolTipText(kFR, "France"); -} - -//__________________________________________________________________________ -void WorldMap::InitUK() -{ - // - - int x[4] = { 346, 348, 359, 352 }; - int y[4] = { 93, 104, 103, 87 }; - TGRegion reg(4, x, y); - fImageMap->AddRegion(reg, kUK); - fImageMap->SetToolTipText(kUK, "United Kingdom"); -} - -//__________________________________________________________________________ -void WorldMap::InitAU() -{ - // - - int x[6] = { 582, 576, 634, 658, 641, 607 }; - int y[6] = { 271, 300, 310, 283, 251, 253 }; - TGRegion reg(6, x, y); - fImageMap->AddRegion(reg, kAU); - fImageMap->SetToolTipText(kAU, "Australia"); -} - -//__________________________________________________________________________ -void WorldMap::InitMap() -{ - // - - InitRU(); - InitUS(); - InitFR(); - InitAU(); - InitUK(); - fImageMap->SetToolTipText(GetTitle().Data(), 300); -} - -//__________________________________________________________________________ -void WorldMap::PrintCode(Int_t code) -{ - // - - EMsgBoxIcon icontype = kMBIconAsterisk; - Int_t buttons = 0; - Int_t retval; - - TGMsgBox* box = new TGMsgBox(gClient->GetRoot(), fMain, - "Country Code", Form("Country Code=%d",code), - icontype, buttons, &retval); -} - -void WorldMap() -{ - WorldMap *map = new WorldMap; - map->Show(); -} diff --git a/tutorials/alien.C b/tutorials/alien.C deleted file mode 100644 index f1ec580cdb22eb5fb17805e9a5e56eef963b9923..0000000000000000000000000000000000000000 --- a/tutorials/alien.C +++ /dev/null @@ -1,58 +0,0 @@ -void alien() -{ - TString testdir = "root-test3"; - int nfiles = 10; - - // connect to AliEn - TGrid *alien = TGrid::Connect("alien", gSystem->Getenv("USER"), "", - "-domain=cern.ch"); - if (alien->IsZombie()) { - delete alien; - return; - } - - // get info on AliEn version - printf("Using AliEn version %s\n", alien->GetInfo()); - - // print current working directory - printf("Current directory is %s\n", alien->Pwd()); - - // check if directory exists - Long_t size, flags, modtime; - if (alien->GetPathInfo(testdir, &size, &flags, &modtime) == 0) { - // delete existing directory - alien->Rmdir(testdir); - } - - // create a directory - alien->Mkdir(testdir); - - // change directory - alien->Cd(testdir); - - printf("Current directory is %s\n", alien->Pwd()); - - // insert nfiles into the catalog - Int_t i; - char lfn[32], pfn[256]; - for (i = 0; i < nfiles; i++) { - sprintf(lfn, "test-%d.root", i); - sprintf(pfn, "rfio:/castor/cern.ch/user/r/rdm/mytest-%d.root", i); - alien->AddFile(lfn, pfn, 1000000000); - } - - // list the contents of a directory - alien->ls("", "l"); - - // get physical file name from lfn - for (i = 0; i < nfiles; i++) { - sprintf(lfn, "test-%d.root", i); - char *pf = alien->GetPhysicalFileName(lfn); - if (i == nfiles-1) - printf("last pfn retrieved is: %s\n", pf); - delete [] pf; - } - - delete alien; -} - diff --git a/tutorials/analyze.C b/tutorials/analyze.C deleted file mode 100644 index be5bdd4f5511ddafdcb556a8b6bbe90d4fe22b31..0000000000000000000000000000000000000000 --- a/tutorials/analyze.C +++ /dev/null @@ -1,118 +0,0 @@ -{ - // - // This macro produces the flowchart of TFormula::Analyze - // - gROOT->Reset(); - c1 = new TCanvas("c1","Analyze.mac",620,790); - c1->Range(-1,0,19,30); - TPaveLabel pl1(0,27,3.5,29,"Analyze"); - pl1.SetFillColor(42); - pl1.Draw(); - TPaveText pt1(0,22.8,4,25.2); - TText *t1=pt1.AddText("Parenthesis matching"); - TText *t2=pt1.AddText("Remove unnecessary"); - TText *t2a=pt1.AddText("parenthesis"); - pt1.Draw(); - TPaveText pt2(6,23,10,25); - TText *t3=pt2.AddText("break of"); - TText *t4=pt2.AddText("Analyze"); - pt2.Draw(); - TPaveText pt3(0,19,4,21); - TText *t4=pt3.AddText("look for simple"); - TText *t5=pt3.AddText("operators"); - pt3.Draw(); - TPaveText pt4(0,15,4,17); - TText *t6=pt4.AddText("look for an already"); - TText *t7=pt4.AddText("defined expression"); - pt4.Draw(); - TPaveText pt5(0,11,4,13); - TText *t8=pt5.AddText("look for usual"); - TText *t9=pt5.AddText("functions :cos sin .."); - pt5.Draw(); - TPaveText pt6(0,7,4,9); - TText *t10=pt6.AddText("look for a"); - TText *t11=pt6.AddText("numeric value"); - pt6.Draw(); - TPaveText pt7(6,18.5,10,21.5); - TText *t12=pt7.AddText("Analyze left and"); - TText *t13=pt7.AddText("right part of"); - TText *t14=pt7.AddText("the expression"); - pt7.Draw(); - TPaveText pt8(6,15,10,17); - TText *t15=pt8.AddText("Replace expression"); - pt8.Draw(); - TPaveText pt9(6,11,10,13); - TText *t16=pt9.AddText("Analyze"); - pt9.SetFillColor(42); - pt9.Draw(); - TPaveText pt10(6,7,10,9); - TText *t17=pt10.AddText("Error"); - TText *t18=pt10.AddText("Break of Analyze"); - pt10.Draw(); - TPaveText pt11(14,22,17,24); - pt11.SetFillColor(42); - TText *t19=pt11.AddText("Analyze"); - TText *t19a=pt11.AddText("Left"); - pt11.Draw(); - TPaveText pt12(14,19,17,21); - pt12.SetFillColor(42); - TText *t20=pt12.AddText("Analyze"); - TText *t20a=pt12.AddText("Right"); - pt12.Draw(); - TPaveText pt13(14,15,18,18); - TText *t21=pt13.AddText("StackNumber++"); - TText *t22=pt13.AddText("operator[StackNumber]"); - TText *t23=pt13.AddText("= operator found"); - pt13.Draw(); - TPaveText pt14(12,10.8,17,13.2); - TText *t24=pt14.AddText("StackNumber++"); - TText *t25=pt14.AddText("operator[StackNumber]"); - TText *t26=pt14.AddText("= function found"); - pt14.Draw(); - TPaveText pt15(6,7,10,9); - TText *t27=pt15.AddText("Error"); - TText *t28=pt15.AddText("break of Analyze"); - pt15.Draw(); - TPaveText pt16(0,2,7,5); - TText *t29=pt16.AddText("StackNumber++"); - TText *t30=pt16.AddText("operator[StackNumber] = 0"); - TText *t31=pt16.AddText("value[StackNumber] = value found"); - pt16.Draw(); - TArrow ar(2,27,2,25.4,0.012,"|>"); - ar.SetFillColor(1); - ar.Draw(); - ar.DrawArrow(2,22.8,2,21.2,0.012,"|>"); - ar.DrawArrow(2,19,2,17.2,0.012,"|>"); - ar.DrawArrow(2,15,2,13.2,0.012,"|>"); - ar.DrawArrow(2,11,2, 9.2,0.012,"|>"); - ar.DrawArrow(2, 7,2, 5.2,0.012,"|>"); - ar.DrawArrow(4,24,6,24,0.012,"|>"); - ar.DrawArrow(4,20,6,20,0.012,"|>"); - ar.DrawArrow(4,16,6,16,0.012,"|>"); - ar.DrawArrow(4,12,6,12,0.012,"|>"); - ar.DrawArrow(4, 8,6, 8,0.012,"|>"); - ar.DrawArrow(10,20,14,20,0.012,"|>"); - ar.DrawArrow(12,23,14,23,0.012,"|>"); - ar.DrawArrow(12,16.5,14,16.5,0.012,"|>"); - ar.DrawArrow(10,12,12,12,0.012,"|>"); - TText ta(2.2,22.2,"err = 0"); - ta.SetTextFont(71); - ta.SetTextSize(0.015); - ta.SetTextColor(4); - ta.SetTextAlign(12); - ta.Draw(); - ta.DrawText(2.2,18.2,"not found"); - ta.DrawText(2.2,6.2,"found"); - TText tb(4.2,24.1,"err != 0"); - tb.SetTextFont(71); - tb.SetTextSize(0.015); - tb.SetTextColor(4); - tb.SetTextAlign(11); - tb.Draw(); - tb.DrawText(4.2,20.1,"found"); - tb.DrawText(4.2,16.1,"found"); - tb.DrawText(4.2,12.1,"found"); - tb.DrawText(4.2, 8.1,"not found"); - TLine l1(12,16.5,12,23); - l1.Draw(); -} diff --git a/tutorials/anim.C b/tutorials/anim.C deleted file mode 100644 index 196abd9f2a0797b49b036c2ce7c707727fe8dc2c..0000000000000000000000000000000000000000 --- a/tutorials/anim.C +++ /dev/null @@ -1,37 +0,0 @@ -//macro illustrating how to animate a picture using a Timer -#include "TStyle.h" -#include "TCanvas.h" -#include "TF2.h" -#include "TTimer.h" - -Double_t pi; -TF2 *f2; -Float_t t = 0; -Float_t phi = 30; -void anim() -{ - gStyle->SetFrameFillColor(42); - TCanvas *c1 = new TCanvas("c1"); - c1->SetFillColor(17); - pi = TMath::Pi(); - f2 = new TF2("f2","sin(2*x)*sin(2*y)*[0]",0,pi,0,pi); - f2->SetParameter(0,1); - f2->SetNpx(15); - f2->SetNpy(15); - f2->SetMaximum(1); - f2->SetMinimum(-1); - f2->Draw("surf1"); - TTimer *timer = new TTimer(20); - timer->SetCommand("Animate()"); - timer->TurnOn(); -} -void Animate() -{ - if (!gROOT->GetListOfCanvases()->FindObject("c1")) return; //just in case the canvas has been deleted - t += 0.05*pi; - f2->SetParameter(0,TMath::Cos(t)); - phi += 2; - gPad->SetPhi(phi); - gPad->Modified(); - gPad->Update(); -} diff --git a/tutorials/approx.C b/tutorials/approx.C deleted file mode 100644 index b865bd08ff09c7fb7c2e2985c62804c88ddf7716..0000000000000000000000000000000000000000 --- a/tutorials/approx.C +++ /dev/null @@ -1,84 +0,0 @@ -TCanvas *vC1; -TGraph *grxy, *grin, *grout; - -void approx() -{ -/****************************************************************************** -* Author: Christian Stratowa, Vienna, Austria. * -* Created: 26 Aug 2001 Last modified: 29 Sep 2001 * -******************************************************************************/ - -// Macro to test interpolation function Approx() - -// test data (square) - Int_t n = 11; - Double_t x[] = {1,2,3,4,5,6,6,6,8,9,10}; - Double_t y[] = {1,4,9,16,25,25,36,49,64,81,100}; - grxy = new TGraph(n,x,y); - -// x values, for which y values should be interpolated - Int_t nout = 14; - Double_t xout[] = {1.2,1.7,2.5,3.2,4.4,5.2,5.7,6.5,7.6,8.3,9.7,10.4,11.3,13}; - -// create Canvas - vC1 = new TCanvas("vC1","square",200,10,700,700); - vC1->Divide(2,2); - -// initialize graph with data - grin = new TGraph(n,x,y); -// interpolate at equidistant points (use mean for tied x-values) - TGraphSmooth *gs = new TGraphSmooth("normal"); - grout = gs->Approx(grin,"linear"); - DrawSmooth(1,"Approx: ties = mean","X-axis","Y-axis"); - -// re-initialize graph with data (since graph points were set to unique vales) - grin = new TGraph(n,x,y); -// interpolate at given points xout - grout = gs->Approx(grin,"linear", 14, xout, 0, 130); - DrawSmooth(2,"Approx: ties = mean","",""); - -// print output variables for given values xout - Int_t vNout = grout->GetN(); - Double_t vXout, vYout; - for (Int_t k=0;k<vNout;k++) { - grout->GetPoint(k, vXout, vYout); - cout << "k= " << k << " vXout[k]= " << vXout - << " vYout[k]= " << vYout << endl; - } - -// re-initialize graph with data - grin = new TGraph(n,x,y); -// interpolate at equidistant points (use min for tied x-values) -// grout = gs->Approx(grin,"linear", 50, 0, 0, 0, 1, 0, "min"); - grout = gs->Approx(grin,"constant", 50, 0, 0, 0, 1, 0.5, "min"); - DrawSmooth(3,"Approx: ties = min","",""); - -// re-initialize graph with data - grin = new TGraph(n,x,y); -// interpolate at equidistant points (use max for tied x-values) - grout = gs->Approx(grin,"linear", 14, xout, 0, 0, 2, 0, "max"); - DrawSmooth(4,"Approx: ties = max","",""); - -// cleanup - delete gs; -} - -void DrawSmooth(Int_t pad, const char *title, const char *xt, const char *yt) -{ - vC1->cd(pad); - TH1F *vFrame = vC1->DrawFrame(0,0,15,150); - vFrame->SetTitle(title); - vFrame->SetTitleSize(0.2); - vFrame->SetXTitle(xt); - vFrame->SetYTitle(yt); - grxy->SetMarkerColor(kBlue); - grxy->SetMarkerStyle(21); - grxy->SetMarkerSize(0.5); - grxy->Draw("P"); - grin->SetMarkerColor(kRed); - grin->SetMarkerStyle(5); - grin->SetMarkerSize(0.7); - grin->Draw("P"); - grout->DrawClone("LP"); -} - diff --git a/tutorials/archi.C b/tutorials/archi.C deleted file mode 100644 index 08f3a5403d3bab4ae4ea732ba32e0e02690033bd..0000000000000000000000000000000000000000 --- a/tutorials/archi.C +++ /dev/null @@ -1,226 +0,0 @@ -{ - // - // This macro displays the ROOT architecture - // - gROOT->Reset(); - c1 = new TCanvas("c1","Dictionary Architecture",20,10,750,930); - c1->SetBorderSize(0); - c1->Range(0,0,20.5,26); - - - TPaveLabel title(4,24,16,25.5,c1->GetTitle()); - title.SetFillColor(46); - title.Draw(); - - TPavesText dll(0.5,19,4.5,23,5,"tr"); - dll.SetFillColor(39); - dll.SetTextSize(0.023); - dll.AddText(" "); - dll.AddText("Dynamically"); - dll.AddText("Linked"); - dll.AddText("Libraries"); - dll.Draw(); - TPaveLabel dlltitle(1.5,22.6,3.5,23.3,"DLLs"); - dlltitle.SetFillColor(28); - dlltitle.Draw(); - - TPavesText cpp(5.5,19,9.5,23,5,"tr"); - cpp.SetTextSize(0.023); - cpp.AddText(" "); - cpp.AddText("Commented"); - cpp.AddText("Header"); - cpp.AddText("Files"); - cpp.Draw(); - TPaveLabel cpptitle(6.5,22.6,8.5,23.3,"C++"); - cpptitle.SetFillColor(28); - cpptitle.Draw(); - - TPavesText odl(10.5,19,14.5,23,5,"tr"); - odl.SetTextSize(0.023); - odl.AddText(" "); - odl.AddText("Objects"); - odl.AddText("Description"); - odl.AddText("Files"); - odl.Draw(); - TPaveLabel odltitle(11.5,22.6,13.5,23.3,"ODL"); - odltitle.SetFillColor(28); - odltitle.Draw(); - - TPavesText idl(15.5,19,19.5,23,5,"tr"); - idl.SetTextSize(0.023); - idl.AddText(" "); - idl.AddText("Interface"); - idl.AddText("Definition"); - idl.AddText("Language"); - idl.Draw(); - TPaveLabel idltitle(16.5,22.6,18.5,23.3,"IDL"); - idltitle.SetFillColor(28); - idltitle.Draw(); - - TWbox p1(7.8,10,13.2,17,11,12,1); - p1.Draw(); - TText pro1(10.5,15.8,"Process 1"); - pro1.SetTextAlign(21); - pro1.SetTextSize(0.03); - pro1.Draw(); - TPaveText p1dict(8.8,13.8,12.2,15.6); - p1dict.SetTextSize(0.023); - p1dict.AddText("Dictionary"); - p1dict.AddText("in memory"); - p1dict.Draw(); - TPavesText p1object(8.6,10.6,12.1,13.0,5,"tr"); - p1object.SetTextSize(0.023); - p1object.AddText("Objects"); - p1object.AddText("in memory"); - p1object.Draw(); - TWbox p2(15.5,10,20,17,11,12,1); - p2.Draw(); - TText pro2(17.75,15.8,"Process 2"); - pro2.SetTextAlign(21); - pro2.SetTextSize(0.03); - pro2.Draw(); - TPaveText p2dict(16,13.8,19.5,15.6); - p2dict.SetTextSize(0.023); - p2dict.AddText("Dictionary"); - p2dict.AddText("in memory"); - p2dict.Draw(); - TPavesText p2object(16.25,10.6,19.25,13.0,5,"tr"); - p2object.SetTextSize(0.023); - p2object.AddText("Objects"); - p2object.AddText("in memory"); - p2object.Draw(); - TWbox stub1(12.9,11.5,13.6,15.5,49,3,1); - stub1.Draw(); - TText tstub1(13.25,13.5,"Stub1"); - tstub1.SetTextSize(0.025); - tstub1.SetTextAlign(22); - tstub1.SetTextAngle(90); - tstub1.Draw(); - TWbox stub2(15.1,11.5,15.8,15.5,49,3,1); - stub2.Draw(); - TText tstub2(15.45,13.5,"Stub2"); - tstub2.SetTextSize(0.025); - tstub2.SetTextAlign(22); - tstub2.SetTextAngle(-90); - tstub2.Draw(); - TArrow ar1; - ar1.SetLineWidth(6); - ar1.SetLineColor(1); - ar1.SetFillStyle(1001); - ar1.SetFillColor(1); - ar1.DrawArrow(13.5,14,15,14,0.012,"|>"); - ar1.DrawArrow(15.1,13,13.51,13,0.012,"|>"); - - TPaveText cint(1.0,15.0,8.0,17.5); - cint.SetFillColor(39); - cint.SetBorderSize(1); - cint.SetTextSize(0.023); - cint.AddText("C++ Interpreter"); - cint.AddText("and program builder"); - cint.Draw(); - TPaveText command(2.5,13.4,8.0,14.5); - command.SetTextSize(0.023); - command.SetFillColor(39); - command.SetBorderSize(1); - command.AddText("Command Thread"); - command.Draw(); - TPavesText view(1.0,9.5,7.7,12.6,3,"tr"); - view.SetFillColor(39); - view.SetBorderSize(2); - view.SetTextSize(0.023); - view.AddText("Viewer Thread(s)"); - view.AddText("Picking"); - view.AddText("Context Menus"); - view.AddText("Inspector/Browser"); - view.Draw(); - - TPavesText web(0.5,5,6,8.5,5,"tr"); - web.SetTextSize(0.023); - web.AddText(" "); - web.AddText("generated"); - web.AddText("automatically"); - web.AddText("from dictionary"); - web.AddText("and source files"); - web.Draw(); - TPaveLabel webtitle(1.5,8.1,5.0,8.8,"HTML Files"); - webtitle.SetFillColor(28); - webtitle.Draw(); - - TPavesText printed(0.5,1.0,6,4,5,"tr"); - printed.SetTextSize(0.023); - printed.AddText(" "); - printed.AddText("generated"); - printed.AddText("automatically"); - printed.AddText("from HTML files"); - printed.Draw(); - TPaveLabel printedtitle(1.5,3.6,5.0,4.3,"Printed Docs"); - printedtitle.SetFillColor(28); - printedtitle.Draw(); - - TBox box1(0.2,9.2,14.25,17.8); - box1.SetFillStyle(0); - box1.SetLineStyle(2); - box1.Draw(); - - TBox box2(10.2,18.7,20.2,23.6); - box2.SetFillStyle(0); - box2.SetLineStyle(3); - box2.Draw(); - - ar1.DrawArrow(2.5,17.5,2.5,18.9,0.012,"|>"); - ar1.DrawArrow(5.5,9.2,5.5,8.7,0.012,"|>"); - ar1.DrawArrow(5.5,5,5.5,4.2,0.012,"|>"); - ar1.DrawArrow(8.5,9.2,8.5,8.2,0.012,"|>"); - ar1.DrawArrow(9.5,8.1,9.5,9.0,0.012,"|>"); - ar1.DrawArrow(6.5,19,6.5,17.6,0.012,"|>"); - ar1.DrawArrow(8.5,19,8.5,17.1,0.012,"|>"); - ar1.DrawArrow(11.5,19,11.5,17.1,0.012,"|>"); - - - TPaveLabel ootitle(10.5,7.8,17,8.8,"Objects Data Base"); - ootitle.SetFillColor(28); - ootitle.Draw(); - - TPad *pio = new TPad("pio","pio",0.37,0.02,0.95,0.31,49); - pio->Range(0,0,12,8); - pio->Draw(); - pio->cd(); - TPavesText raw(0.5,1,2.5,6,7,"tr"); - raw.Draw(); - TPavesText dst1(4,1,5,3,7,"tr"); - dst1.Draw(); - TPavesText dst2(6,1,7,3,7,"tr"); - dst2.Draw(); - TPavesText dst3(4,4,5,6,7,"tr"); - dst3.Draw(); - TPavesText dst4(6,4,7,6,7,"tr"); - dst4.Draw(); - Float_t xlow = 8.5; - Float_t ylow = 1; - Float_t dx = 0.5; - Float_t dy = 0.5; - for (Int_t j=1;j<9;j++) { - Float_t y0 = ylow + (j-1)*0.7; - Float_t y1 = y0 + dy; - for (Int_t i=1;i<5;i++) { - Float_t x0 = xlow +(i-1)*0.6; - Float_t x1 = x0 + dx; - TPavesText *anal = new TPavesText(x0,y0,x1,y1,7,"tr"); - anal.Draw(); - } - } - TText daq; - daq.SetTextSize(0.07); - daq.SetTextAlign(22); - daq.DrawText(1.5,7.3,"DAQ"); - daq.DrawText(6,7.3,"DST"); - daq.DrawText(10.,7.3,"Physics Analysis"); - daq.DrawText(1.5,0.7,"Events"); - daq.DrawText(1.5,0.3,"Containers"); - daq.DrawText(6,0.7,"Tracks/Hits"); - daq.DrawText(6,0.3,"Containers"); - daq.DrawText(10.,0.7,"Attributes"); - daq.DrawText(10.,0.3,"Containers"); - - c1.cd(); -} diff --git a/tutorials/arrow.C b/tutorials/arrow.C deleted file mode 100644 index cb9d31bbc3ffb9c3f1ba5162fe316a0a026bc0cf..0000000000000000000000000000000000000000 --- a/tutorials/arrow.C +++ /dev/null @@ -1,30 +0,0 @@ -{ - gROOT->Reset(); - c1 = new TCanvas("c1"); - c1->Range(0,0,1,1); - TPaveLabel par(0.1,0.8,0.9,0.95,"Examples of various arrow formats"); - par.SetFillColor(42); - par.Draw(); - TArrow ar1(0.1,0.1,0.1,0.7); - ar1.Draw(); - TArrow ar2(0.2,0.1,0.2,0.7,0.05,"|>"); - ar2.SetAngle(40); - ar2.SetLineWidth(2); - ar2.Draw(); - TArrow ar3(0.3,0.1,0.3,0.7,0.05,"<|>"); - ar3.SetAngle(40); - ar3.SetLineWidth(2); - ar3.Draw(); - TArrow ar4(0.46,0.7,0.82,0.42,0.07,"|>"); - ar4.SetAngle(60); - ar4.SetLineWidth(2); - ar4.SetFillColor(2); - ar4.Draw(); - TArrow ar5(0.4,0.25,0.95,0.25,0.15,"<|>"); - ar5.SetAngle(60); - ar5.SetLineWidth(4); - ar5.SetLineColor(4); - ar5.SetFillStyle(3008); - ar5.SetFillColor(2); - ar5.Draw(); -} diff --git a/tutorials/assembly.C b/tutorials/assembly.C deleted file mode 100644 index dec6723256c7392b598db460f6fcb6ea85a8555f..0000000000000000000000000000000000000000 --- a/tutorials/assembly.C +++ /dev/null @@ -1,87 +0,0 @@ -void assembly() -{ -//--- Definition of a simple geometry - gSystem->Load("libGeom"); - TGeoManager *geom = new TGeoManager("Assemblies", "Geometry using assemblies"); - Int_t i; - //--- define some materials - TGeoMaterial *matVacuum = new TGeoMaterial("Vacuum", 0,0,0); - TGeoMaterial *matAl = new TGeoMaterial("Al", 26.98,13,2.7); -// //--- define some media - TGeoMedium *Vacuum = new TGeoMedium("Vacuum",1, matVacuum); - TGeoMedium *Al = new TGeoMedium("Aluminium",2, matAl); - - //--- make the top container volume - TGeoVolume *top = geom->MakeBox("TOP", Vacuum, 1000., 1000., 100.); - geom->SetTopVolume(top); - - // Make the elementary assembly of the whole structure - TGeoVolume *tplate = new TGeoVolumeAssembly("TOOTHPLATE"); - - Int_t ntooth = 5; - Double_t xplate = 25; - Double_t yplate = 50; - Double_t xtooth = 10; - Double_t ytooth = 0.5*yplate/ntooth; - Double_t dshift = 2.*xplate + xtooth; - Double_t xt,yt; - - TGeoVolume *plate = geom->MakeBox("PLATE", Al, xplate,yplate,1); - plate->SetLineColor(kBlue); - TGeoVolume *tooth = geom->MakeBox("TOOTH", Al, xtooth,ytooth,1); - tooth->SetLineColor(kBlue); - tplate->AddNode(plate,1); - for (i=0; i<ntooth; i++) { - xt = xplate+xtooth; - yt = -yplate + (4*i+1)*ytooth; - tplate->AddNode(tooth, i+1, new TGeoTranslation(xt,yt,0)); - xt = -xplate-xtooth; - yt = -yplate + (4*i+3)*ytooth; - tplate->AddNode(tooth, ntooth+i+1, new TGeoTranslation(xt,yt,0)); - } - - TGeoRotation *rot1 = new TGeoRotation(); - rot1->RotateX(90); - TGeoRotation *rot; - // Make a hexagone cell out of 6 toothplates. These can zip togeather - // without generating overlaps (they are self-contained) - TGeoVolume *cell = new TGeoVolumeAssembly("CELL"); - for (i=0; i<6; i++) { - Double_t phi = 60.*i; - Double_t phirad = phi*TMath::DegToRad(); - Double_t xp = dshift*TMath::Sin(phirad); - Double_t yp = -dshift*TMath::Cos(phirad); - rot = new TGeoRotation(*rot1); - rot->RotateZ(phi); - cell->AddNode(tplate,i+1,new TGeoCombiTrans(xp,yp,0,rot)); - } - - // Make a row as an assembly of cells, then combine rows in a honeycomb - // structure. This again works without any need to define rows as "overlapping" - TGeoVolume *row = new TGeoVolumeAssembly("ROW"); - Int_t ncells = 5; - for (i=0; i<ncells; i++) { - Double_t ycell = (2*i+1)*(dshift+10); - row->AddNode(cell, ncells+i+1, new TGeoTranslation(0,ycell,0)); - row->AddNode(cell,ncells-i,new TGeoTranslation(0,-ycell,0)); - } - - Double_t dxrow = 3.*(dshift+10.)*TMath::Tan(30.*TMath::DegToRad()); - Double_t dyrow = dshift+10.; - Int_t nrows = 5; - for (i=0; i<nrows; i++) { - Double_t xrow = 0.5*(2*i+1)*dxrow; - Double_t yrow = 0.5*dyrow; - if ((i%2)==0) yrow = -yrow; - top->AddNode(row, nrows+i+1, new TGeoTranslation(xrow,yrow,0)); - top->AddNode(row, nrows-i, new TGeoTranslation(-xrow,-yrow,0)); - } - - //--- close the geometry - geom->CloseGeometry(); - - geom->SetVisLevel(4); - geom->SetVisOption(0); - top->Draw(); -} - diff --git a/tutorials/authclient.C b/tutorials/authclient.C deleted file mode 100644 index 017497a6ac6f29cd50f7e94dfeb10d47537ee848..0000000000000000000000000000000000000000 --- a/tutorials/authclient.C +++ /dev/null @@ -1,72 +0,0 @@ -//-------------------------------------------------- -#include "TPSocket.h" - -// -// This macro should be run together with authserv.C to test -// authentication between two remote ROOT sessions. -// Run first the authserv.C within a ROOT session on the server -// machine, eg. "srv.machi.ne"; authserv accepts as argument -// the port wher it starts listening (default 3000). -// You can then run authclient.c in a ROOT session on the client -// machine: -// root[] .x tutorials.C("srv.machi.ne:3000") -// -// and you should get prompted for the credentials, if the case. -// To start a parallel socket of size, for example, 5, enter the -// size as second argument, ie -// -// root[] .x tutorials.C("srv.machi.ne:3000",5) -// - -int authclient(const char *host = "up://localhost:3000", int sz = 0) -{ - Int_t par = (sz > 1) ? 1 : 0; - - // Parse protocol, if any - TString proto(TUrl(host).GetProtocol()); - TString protosave = proto; - - // Get rid of authentication suffix - TString asfx = proto; - if (proto.EndsWith("up") || proto.EndsWith("ug")) { - asfx.Remove(0,proto.Length()-2); - proto.Resize(proto.Length()-2); - } else if (proto.EndsWith("s") || proto.EndsWith("k") || - proto.EndsWith("g") || proto.EndsWith("h")) { - asfx.Remove(0,proto.Length()-1); - proto.Resize(proto.Length()-1); - } - - // Force parallel (even of size 1) - TString newurl = "p" + asfx; - newurl += "://"; - if (strlen(TUrl(host).GetUser())) { - newurl += TUrl(host).GetUser(); - newurl += "@"; - } - newurl += TUrl(host).GetHost(); - newurl += ":"; - newurl += TUrl(host).GetPort(); - - cout << "authclient: starting a (parallel) authenticated socket at " - << newurl.Data() << " (size: " << sz << ")" << endl; - - TSocket *s = TSocket::CreateAuthSocket(newurl.Data(),sz); - - // Print out; - if (s) - if (s->IsAuthenticated()) - cout << "authclient: auth socket: OK" << endl; - else - cout << "authclient: auth socket: failed" << endl; - - // Cleanup - if (s) { - // Remove this authentication from the token list to avoid - // later warnings - s->GetSecContext()->DeActivate("R"); - delete s; - } -} -//-------------------------------------------------- - diff --git a/tutorials/authserv.C b/tutorials/authserv.C deleted file mode 100644 index ea2c85e14fb5e752c4dc66432dc6429545e462ae..0000000000000000000000000000000000000000 --- a/tutorials/authserv.C +++ /dev/null @@ -1,49 +0,0 @@ -//-------------------------------------------------- -#include "TPServerSocket.h" - -// -// This macro should be run together with authclient.C to test -// authentication between two remote ROOT sessions. -// Run first the authserv.C within a ROOT session on the server -// machine, eg. "srv.machi.ne"; authserv accepts as argument -// the port wher it starts listening (default 3000). -// You can then run authclient.c in a ROOT session on the client -// machine: -// root[] .x tutorials.C("srv.machi.ne:3000") -// -// and you should get prompted for the credentials, if the case. -// To start a parallel socket of size, for example, 5, enter the -// size as second argument, ie -// -// root[] .x tutorials.C("srv.machi.ne:3000",5) -// - -int authserv(int po = 3000) -{ - - UChar_t oauth = kSrvAuth; - - TServerSocket *ss = 0; - TSocket *s = 0; - - cout << "authserv: starting a (parallel) server socket on port " - << po << " with authentication" << endl; - - ss = new TPServerSocket(po); - - // Get the connection - s = ss->Accept(oauth); - - // Print out; - if (s) - if (s->IsAuthenticated()) - cout << "authserv: srv auth socket: OK" << endl; - else - cout << "authserv: srv auth socket: failed" << endl; - - // Cleanup - if (s) delete s; - if (ss) delete ss; -} -//-------------------------------------------------- - diff --git a/tutorials/basic.C b/tutorials/basic.C deleted file mode 100644 index 5232b2b537956f60bb57d00d2cf3f1724228e43e..0000000000000000000000000000000000000000 --- a/tutorials/basic.C +++ /dev/null @@ -1,33 +0,0 @@ -{ -// example of macro to read data from an ascii file and -// create a root file with an histogram and an ntuple. -// see a variant of this macro in basic2.C - - gROOT->Reset(); -#include "Riostream.h" - - ifstream in; -// we assume a file basic.dat in the current directory -// this file has 3 columns of float data - in.open("basic.dat"); - - Float_t x,y,z; - Int_t nlines = 0; - TFile *f = new TFile("basic.root","RECREATE"); - TH1F *h1 = new TH1F("h1","x distribution",100,-4,4); - TNtuple *ntuple = new TNtuple("ntuple","data from ascii file","x:y:z"); - - while (1) { - in >> x >> y >> z; - if (!in.good()) break; - if (nlines < 5) printf("x=%8f, y=%8f, z=%8f\n",x,y,z); - h1->Fill(x); - ntuple->Fill(x,y,z); - nlines++; - } - printf(" found %d points\n",nlines); - - in.close(); - - f->Write(); -} diff --git a/tutorials/basic.dat b/tutorials/basic.dat deleted file mode 100644 index 3925077910b4f844954c03ae1dff4bbe0bd29f85..0000000000000000000000000000000000000000 --- a/tutorials/basic.dat +++ /dev/null @@ -1,1000 +0,0 @@ --1.102279 -1.799389 4.452822 -1.867178 -0.596622 3.842313 --0.524181 1.868521 3.766139 --0.380611 0.969128 1.084074 -0.552454 -0.212309 0.350281 --0.184954 1.187305 1.443902 -0.205643 -0.770148 0.635417 -1.079222 -0.327389 1.271904 --0.274919 -1.721429 3.038899 -2.047779 -0.062677 4.197329 --0.458677 -1.443219 2.293266 -0.304731 -0.884636 0.875442 --0.712336 -0.222392 0.556881 --0.271866 1.181767 1.470484 -0.886202 -0.654106 1.213209 --2.035552 0.527648 4.421883 --1.459047 -0.463998 2.344113 -1.230661 -0.005650 1.514559 -0.088787 1.885329 3.562347 --0.314154 -0.329161 0.207040 --0.198253 0.646070 0.456712 --1.636217 1.049551 3.778762 -1.221109 0.814383 2.154327 -1.413135 1.549837 4.398942 --0.174494 -1.330937 1.801841 --1.464173 -0.912864 2.977124 --0.272111 -0.287575 0.156744 -0.475061 -0.019337 0.226057 -0.356141 0.130969 0.143989 -0.324704 -1.157425 1.445065 -0.503405 -1.086494 1.433886 -1.744866 -0.392167 3.198353 --0.609417 -0.101021 0.381595 -0.185611 1.424161 2.062686 -0.932524 -0.377265 1.011931 -0.947352 -0.919367 1.742711 -0.784104 -0.482157 0.847295 --0.824933 -0.432685 0.867731 --2.287630 -0.016423 5.233519 -1.355024 3.158503 11.812233 --0.935563 -0.690250 1.351723 --0.559721 -0.763086 0.895588 --0.799703 0.136989 0.658292 -1.359749 0.761411 2.428663 -1.281720 2.004646 5.661409 --0.904642 -0.344509 0.937065 --0.797661 -1.225535 2.138200 --0.953982 -0.340588 1.026082 --0.003892 0.588776 0.346673 -0.160033 -2.400038 5.785795 -0.873488 0.806430 1.413311 -0.141565 -0.942801 0.908915 -0.260333 -1.310573 1.785375 --0.952085 1.042794 1.993884 --0.902899 -0.057335 0.818514 -0.574308 0.915492 1.167956 -0.101522 0.126184 0.026229 -0.761263 0.427535 0.762307 -0.296898 1.054515 1.200149 --0.997523 -0.242770 1.053990 --1.584441 0.681898 2.975438 -0.815520 1.011355 1.687911 -0.208662 0.128593 0.060076 --0.249858 -1.247671 1.619113 --0.784596 -0.227374 0.667289 --1.215300 -1.856670 4.924181 -1.409139 -1.504667 4.249695 -0.824249 -0.462156 0.892974 -0.510425 -0.208417 0.303971 --0.751094 -1.984265 4.501449 -0.447174 -0.676147 0.657140 --0.389628 0.445557 0.350330 -0.720203 0.327732 0.626100 --1.781722 0.166207 3.202157 -0.627270 -0.423926 0.573180 --1.434614 0.286371 2.140125 -0.001720 1.060978 1.125678 -0.980895 2.049757 5.163661 -0.060023 -1.454321 2.118652 -0.551011 -0.163267 0.330269 -0.927019 -0.738895 1.405331 --0.705561 0.326670 0.604530 -0.793589 0.861723 1.372350 --0.284038 0.955340 0.993352 -2.039943 -0.569687 4.485909 --0.217084 1.077601 1.208349 -1.667125 -0.553852 3.086059 -1.306267 -1.580525 4.204394 --1.073092 -0.056110 1.154674 --1.314728 -1.956388 5.555964 -0.012204 0.917554 0.842053 -0.955767 0.799359 1.552466 --0.034639 0.698471 0.489062 -0.336992 -0.348602 0.235087 -0.565355 -2.258513 5.420509 --0.146421 1.394163 1.965129 -1.271813 -0.463706 1.832531 --1.011772 -0.231070 1.077077 -0.147788 0.409156 0.189250 -0.215976 -1.532991 2.396706 --2.256690 0.757508 5.666470 -0.272979 0.648691 0.495318 --0.168254 -0.003823 0.028324 -1.343446 -0.263397 1.874227 --0.797516 -0.035279 0.637276 -0.794517 0.462757 0.845402 -2.195908 0.178528 4.853885 --0.444916 0.751075 0.762064 -0.813246 -0.560451 0.975475 --0.579898 0.015217 0.336514 --0.134514 0.571986 0.345263 --0.529555 -0.950585 1.184039 -1.479273 0.117579 2.202075 -0.202706 -0.208515 0.084568 -0.432740 1.394151 2.130921 --0.875071 -0.610111 1.137985 --0.350835 -0.151677 0.146091 --0.122083 0.668020 0.461155 -1.413248 -0.906743 2.819455 -0.078723 -0.576169 0.338168 --1.326633 -0.184706 1.794072 --1.309571 0.376525 1.856747 --0.476107 -0.266562 0.297733 -1.350215 1.734366 4.831106 -1.249855 -0.674357 2.016895 -1.825388 -1.441110 5.408837 -1.931820 -3.635513 16.948885 --0.578266 -1.278288 1.968412 --1.248352 -0.637239 1.964456 --0.288354 1.181136 1.478230 --1.440057 -1.914547 5.739256 -0.491215 -0.347195 0.361836 --0.783533 0.017576 0.614232 --0.000149 -0.239359 0.057293 -0.648522 -2.257586 5.517278 --1.090664 -0.840313 1.895675 -1.569662 -0.797205 3.099377 -1.009672 1.418772 3.032352 --1.457258 0.629026 2.519274 -0.460536 0.914866 1.049074 -0.674600 -1.189815 1.870746 -1.485582 -0.186028 2.241559 -0.147272 -0.031435 0.022677 -0.353700 -0.596541 0.480964 -0.230612 -1.562653 2.495067 -1.013889 0.502155 1.280131 -1.829334 -1.801825 6.593034 -0.282995 0.926297 0.938112 -0.660259 -0.116164 0.449436 --0.774052 -0.657646 1.031655 --0.491096 -0.046089 0.243299 --1.831983 -0.764019 3.939889 --0.879058 -0.014455 0.772951 --0.016050 -2.197521 4.829356 --0.501073 -0.773521 0.849408 -0.417383 1.211815 1.642706 --0.943430 0.320512 0.992788 -0.068241 1.103797 1.223024 --0.052049 -0.524944 0.278275 -0.920264 1.533646 3.198955 -2.543922 -1.553033 8.883450 --0.708705 0.159884 0.527826 --0.983726 -0.588221 1.313721 -1.993571 -1.507951 6.248240 -0.115021 -1.671606 2.807497 -0.466409 1.368619 2.090655 --1.615734 -2.290893 7.858787 -0.382887 -0.000651 0.146603 -0.680338 -0.200820 0.503189 --1.187141 -0.143301 1.429839 --0.676700 0.283968 0.538561 --0.624194 -0.521326 0.661398 --0.136538 0.147095 0.040280 -0.211545 1.570495 2.511207 -0.399859 0.475071 0.385580 --0.026856 -0.113791 0.013670 -1.835447 -0.433719 3.556977 -0.587403 0.753414 0.912676 --0.551303 1.085973 1.483271 -0.150960 -1.587979 2.544467 -0.561753 1.020003 1.355972 --0.343646 -0.537955 0.407488 --1.965743 -0.186106 3.898779 -0.664296 0.108357 0.453030 --1.059917 0.828057 1.809102 -0.351880 -0.166745 0.151624 --1.272574 -0.475225 1.845284 -0.545983 -0.173854 0.328323 --2.668287 0.248485 7.181499 -1.459324 0.698965 2.618179 --0.478058 -0.795917 0.862023 -0.116241 0.025743 0.014175 -1.007993 0.383710 1.163283 --0.037171 -0.607169 0.370036 -2.025989 -0.083371 4.111581 --2.062353 0.383794 4.400599 --0.603126 -0.178015 0.395450 --0.250966 0.047041 0.065197 --0.434777 -0.514183 0.453416 -1.184646 0.070256 1.408322 -0.288510 -0.390846 0.235998 -0.806751 1.009140 1.669211 -0.509091 -0.334796 0.371262 --1.657609 1.458802 4.875770 --1.476471 0.234869 2.235129 -0.527511 -0.124702 0.293818 -0.214679 -1.626413 2.691306 --0.036432 -0.089780 0.009388 -0.907598 -0.028758 0.824561 --0.264793 0.525333 0.346090 --0.718257 1.076076 1.673833 -1.261639 0.500385 1.842117 -0.120172 -0.792584 0.642630 -0.771969 -0.399386 0.755445 --0.098872 0.461014 0.222309 -0.163822 0.086283 0.034282 -0.126759 -1.192987 1.439287 --2.324664 -0.237353 5.460399 -1.472546 -0.200335 2.208526 -0.608941 2.610278 7.184363 --1.052631 2.881383 9.410399 --0.500646 -0.918466 1.094225 --1.458030 1.102735 3.341875 --0.075345 -1.650669 2.730384 --0.173933 -1.982031 3.958699 -1.135984 -0.675069 1.746177 --1.012821 0.135630 1.044201 --0.997683 0.240886 1.053398 -0.195564 -1.047543 1.135592 --1.121700 -1.251288 2.823932 -1.631242 -0.655426 3.090534 --0.276330 -0.237714 0.132866 --0.490711 0.007089 0.240848 -1.080571 0.819367 1.838995 --0.588256 0.695390 0.829612 --1.466226 1.579692 4.645246 --0.159979 -1.636692 2.704355 -1.028539 0.195841 1.096246 --2.151673 0.610189 5.002025 --0.021056 0.147759 0.022276 -1.248313 -0.824772 2.238534 -2.175511 -0.350236 4.855513 --0.661157 0.865411 1.186066 -1.729869 -0.117500 3.006255 -0.095235 0.015513 0.009310 -0.622518 0.132914 0.405195 -0.197110 -0.420806 0.215930 -0.097396 -1.695084 2.882797 -0.328384 -0.770101 0.700891 -1.484091 2.105002 6.633561 --0.003047 1.059993 1.123594 -2.039941 -1.162110 5.511860 -0.223322 -0.597687 0.407103 --1.775418 0.604203 3.517169 --0.936020 1.503485 3.136602 -0.335737 -0.398724 0.271701 --0.226708 0.730504 0.585032 -0.786679 -0.480899 0.850128 --0.186695 1.167114 1.397010 -0.679878 -1.140888 1.763860 -1.230341 0.122018 1.528626 -0.156313 -0.151148 0.047280 --0.190112 0.211632 0.080931 -1.042707 -0.615433 1.465996 --0.131647 0.094835 0.026325 --1.668714 -1.327351 4.546466 -1.430037 -0.572347 2.372585 --1.061748 -0.402475 1.289295 --0.764880 0.950573 1.488630 --1.226258 0.878696 2.275816 --0.270458 0.167327 0.101146 -0.888944 0.650097 1.212848 --0.660091 0.772840 1.033002 --0.749768 -0.429399 0.746537 --1.169297 0.836853 2.067579 --1.238539 -0.668650 1.981072 -0.200638 -0.754916 0.610154 --0.103944 -1.806380 3.273814 --0.011792 -0.703335 0.494820 -0.087021 1.220342 1.496808 --0.509700 0.651221 0.683884 --0.599009 -0.472737 0.582291 --0.967727 1.900342 4.547793 -0.957893 0.907931 1.741897 --1.031950 -0.072598 1.070191 -1.862876 -0.779351 4.077694 --1.520423 -0.184684 2.345793 -1.802020 1.125597 4.514244 --0.320182 -1.620125 2.727322 -0.538982 -2.476642 6.424256 -0.086475 1.553298 2.420212 --0.210731 -0.442743 0.240429 --1.282271 0.569634 1.968703 --1.460188 -0.165031 2.159385 --0.621942 0.784604 1.002416 -0.484366 0.625536 0.625905 --0.569376 -1.488983 2.541259 -0.937895 -0.089931 0.887734 --0.709881 0.482126 0.736376 -1.035751 0.495646 1.318445 -0.465237 0.986950 1.190515 -0.667087 1.270092 2.058139 --1.339489 0.160122 1.819869 -0.907123 -0.404152 0.986210 --0.414631 -0.565659 0.491888 -0.104273 -1.484772 2.215421 -0.939832 1.411119 2.874541 -0.589758 -0.073737 0.353252 --1.552809 -0.638533 2.818939 -1.645906 -0.850874 3.432994 --0.981708 2.249735 6.025059 -0.066472 -0.175075 0.035070 -1.339338 -2.238544 6.804909 -0.166450 -1.198631 1.464421 -0.123730 -0.668058 0.461611 -0.382244 0.013461 0.146292 --1.360779 -0.599129 2.210675 -0.129523 -0.424023 0.196571 --0.221941 -0.148911 0.071432 -0.010331 1.036856 1.075178 --1.076441 -0.780185 1.767413 --0.360365 -1.205278 1.582558 -0.950176 -1.149705 2.224656 -0.227780 0.831758 0.743705 -1.422964 -2.362475 7.606112 -0.503788 -0.016378 0.254071 -1.007344 -0.183671 1.048476 --0.495037 -0.754130 0.813773 -0.545280 0.567774 0.619697 --0.423364 -1.127580 1.450673 -0.580990 0.782083 0.949203 -0.572149 0.833949 1.022825 --0.190615 -0.302942 0.128108 --1.356488 -0.613297 2.216193 -0.388051 0.421235 0.328022 --0.645497 -0.971487 1.360454 --0.981061 -2.106772 5.400970 -0.042058 2.262878 5.122386 -1.062407 -0.621264 1.514677 --0.133923 0.025700 0.018596 --0.832549 0.246680 0.753989 --0.998893 -0.599600 1.357308 --1.791904 1.333046 4.987930 -0.965540 -0.868958 1.687355 --1.014899 2.028178 5.143525 --0.234257 -0.411882 0.224523 -0.551919 -1.272008 1.922618 -0.475147 -0.447363 0.425898 --0.013563 -0.351580 0.123793 -0.571634 -1.374923 2.217179 -0.629818 -0.947774 1.294946 --0.359507 1.465577 2.277162 -0.296068 0.508528 0.346257 -1.938219 -0.351497 3.880244 -0.042421 0.671905 0.453256 -0.028469 -0.509711 0.260616 --1.624578 -2.323743 8.039035 -0.799852 -0.811484 1.298270 -1.354204 -1.025197 2.884897 -0.865070 -0.394705 0.904138 -1.538061 0.996753 3.359147 --0.464097 1.127489 1.486617 -0.290071 0.657254 0.516124 -0.392319 0.801705 0.796645 -0.214684 -0.189349 0.081942 -1.500505 -0.690296 2.728025 --1.011448 0.287190 1.105506 --0.075146 0.376613 0.147484 -1.156749 -0.039854 1.339657 -1.158587 -0.811736 2.001238 --1.462960 -1.061814 3.267702 --1.002439 0.332584 1.115496 -0.543119 2.048060 4.489528 -0.965193 -1.248900 2.491348 --1.996554 0.068895 3.990975 -0.557685 0.026376 0.311708 --2.059115 -0.183170 4.273507 --2.606598 1.087400 7.976791 --0.076826 1.204564 1.456877 -0.422777 0.841808 0.887382 --1.745436 0.663275 3.486480 -0.782940 -0.625664 1.004450 -0.829731 1.564471 3.136024 --0.168265 0.833195 0.722527 --0.296423 2.559880 6.640850 -0.778144 0.058628 0.608945 -0.520877 0.457325 0.480459 -0.146812 -0.477951 0.249991 -0.540945 -0.226011 0.343703 -0.604841 -0.885069 1.149180 --0.744351 0.268434 0.626115 --1.264940 -0.620656 1.985287 --1.221590 -0.760317 2.070364 --0.571783 -0.180936 0.359674 -0.495710 0.694258 0.727723 --2.067072 -2.373588 9.906708 --0.586195 -0.244577 0.403442 --0.098985 -1.130422 1.287651 -0.361587 0.679575 0.592568 -0.302348 -0.112984 0.104180 -0.062267 -2.443648 5.975291 --0.622151 -2.828061 8.385000 -0.038827 -1.286355 1.656218 --0.790714 0.289487 0.709032 -0.466794 1.225305 1.719270 -3.160983 -0.338544 10.106422 --0.198717 -1.457106 2.162646 -0.509058 -0.727274 0.788067 --0.229604 -1.509918 2.332570 --0.951038 1.331391 2.677073 --0.948678 -0.419343 1.075838 --1.306216 0.409771 1.874114 --0.360706 -0.812280 0.789907 -1.377513 0.662266 2.336137 -1.578255 1.330156 4.260204 --1.097755 0.542518 1.499391 --1.040175 0.950302 1.985038 --1.203108 1.201150 2.890230 -0.907857 -1.383033 2.736984 -0.988700 -0.610332 1.350034 --0.381663 0.420245 0.322273 --0.139072 -0.875861 0.786474 --1.864848 -0.631410 3.876335 --0.088022 0.225551 0.058621 --0.005065 0.609444 0.371448 -0.195303 1.909433 3.684079 --0.254378 0.584341 0.406163 -0.973708 1.333339 2.725899 -1.017003 0.190050 1.070414 --0.392066 -0.210521 0.198034 --0.983631 -0.958246 1.885765 -2.396066 -1.681289 8.567864 --0.019949 -1.189886 1.416227 -0.523752 -1.692793 3.139864 --2.083737 -0.696237 4.826704 -0.412144 0.326286 0.276325 --1.025521 0.791937 1.678858 --0.662162 0.925033 1.294145 -0.494948 -0.690498 0.721761 -0.302927 0.831289 0.782807 -0.715389 -0.494349 0.756163 -0.383021 -1.284723 1.797218 -0.908212 -2.268201 5.969586 --1.046766 0.871610 1.855424 -0.242584 0.214355 0.104795 --1.349389 -0.065950 1.825201 -0.690929 -1.574352 2.955969 -0.672022 0.205466 0.493830 --1.700529 -1.374249 4.780358 --0.260932 -2.903325 8.497379 --2.162915 1.436607 6.742041 -0.144438 -0.325932 0.127094 -0.024049 1.603006 2.570207 --0.424632 0.129580 0.197104 -0.243957 -1.299913 1.749290 -0.420325 -0.009978 0.176773 --1.167239 1.931849 5.094486 --0.589126 1.189188 1.761238 --1.177366 -0.514766 1.651175 --1.243921 0.289423 1.631104 -0.061614 1.752991 3.076773 -0.473427 1.006734 1.237645 -0.212738 -1.292082 1.714732 --0.326094 -0.096290 0.115609 --0.865656 0.739931 1.296859 --0.878640 0.758127 1.346765 -0.087897 -0.388865 0.158942 -0.075176 0.314730 0.104707 --0.611322 0.265565 0.444239 --2.188499 0.632497 5.189581 -0.272697 2.179666 4.825305 -2.639891 -0.571330 7.295441 --1.466377 -1.322554 3.899409 --0.294145 0.948953 0.987033 --0.690281 -1.932920 4.212667 -0.414773 -1.358603 2.017838 -1.372780 0.084114 1.891600 --1.771403 0.153757 3.161509 -1.265586 0.554794 1.909504 --1.694835 -1.087371 4.054839 --0.710205 -1.329465 2.271869 -0.487979 -0.385496 0.386730 --0.520058 0.304087 0.362930 --0.468467 0.648781 0.640379 --1.726069 -0.070707 2.984312 -0.728109 0.492220 0.772422 --0.554725 1.301214 2.000877 --1.819722 -1.566213 5.764412 --0.192829 -1.267937 1.644848 -0.261498 -0.194765 0.106315 --0.676641 0.390352 0.610218 --0.249373 0.084330 0.069298 -0.299961 -1.086079 1.269544 --0.266664 0.227414 0.122827 -0.154635 0.942017 0.911309 --0.270576 0.244481 0.132983 --0.197056 -0.819799 0.710901 -0.308522 -0.456041 0.303159 -0.745735 -0.719274 1.073475 --0.956285 -1.590172 3.443130 --2.164030 -0.726936 5.211460 -1.464156 -0.689165 2.618700 -1.113280 -1.169464 2.607038 -0.462351 1.564713 2.662096 -1.158291 0.453787 1.547560 --1.345310 0.021591 1.810326 --0.410957 -0.127192 0.185064 --1.078017 -0.860750 1.903010 --0.151807 1.647004 2.735667 --1.124740 0.657114 1.696838 --0.158048 1.516189 2.323809 --0.911589 -0.981549 1.794434 -2.130730 -1.102862 5.756315 -0.100619 -0.676614 0.467930 -1.353620 1.025025 2.882963 --0.655266 0.102630 0.439906 --0.284466 -0.835472 0.778935 -0.367003 -0.573396 0.463474 -0.845878 -0.176192 0.746553 --0.088034 0.973046 0.954568 -1.810537 -0.899823 4.087727 -0.620220 1.042134 1.470718 -0.730651 0.038409 0.535325 -0.823167 0.583806 1.018433 -1.281330 -1.132501 2.924365 -1.593336 3.024842 11.688389 -0.348382 0.806379 0.771617 -1.022308 0.335301 1.157541 --0.935790 0.820065 1.548209 --0.574279 -0.892019 1.125495 -0.721345 -0.724033 1.044562 --1.849640 0.158662 3.446342 --0.682510 -0.578931 0.800981 --2.140984 -0.354142 4.709229 --0.413295 0.317761 0.271785 -1.367734 0.707312 2.370986 -1.482352 0.491785 2.439221 -0.439986 0.728136 0.723769 --0.567711 1.209448 1.785059 -0.289125 -0.280719 0.162396 --0.710367 0.500548 0.755169 -0.951688 -1.709845 3.829280 --0.941474 0.316234 0.986377 -0.353623 -0.397360 0.282944 --1.010046 1.592211 3.555329 --1.179638 0.598619 1.749890 --0.393720 0.747311 0.713490 --0.247727 1.197026 1.494241 -1.193322 0.000632 1.424017 -1.316913 0.052198 1.736983 -0.149224 0.295561 0.109624 -0.755975 1.592905 3.108845 -1.528756 0.721419 2.857540 --2.044072 0.613484 4.554594 -0.999000 0.776533 1.601003 --1.155878 -0.250554 1.398830 --0.289030 0.372089 0.221988 --0.082276 -0.090289 0.014921 --2.155167 -0.023198 4.645285 --0.263503 0.683125 0.536094 --0.712260 -1.962051 4.356957 --1.392201 0.532107 2.221363 --1.378715 0.479147 2.130438 -0.170833 -0.303002 0.120994 -0.389699 0.310744 0.248427 -0.314169 0.300537 0.189024 -1.281878 0.443454 1.839864 -0.895025 -0.916319 1.640710 -1.826401 0.417912 3.510389 -0.269226 0.674169 0.526986 --1.027979 -0.641456 1.468208 -0.162292 -0.630375 0.423711 --0.773403 -0.365331 0.731619 --0.489561 0.403145 0.402196 --0.079147 0.751026 0.570304 -1.440117 1.328997 3.840171 --1.330557 -0.172019 1.799974 -1.037712 0.155610 1.101061 --0.974959 -0.468188 1.169744 -1.311016 -0.123790 1.734086 -0.278755 1.332181 1.852411 -2.072334 0.423870 4.474234 -1.036061 0.003088 1.073431 --0.151485 -0.638892 0.431130 -0.671182 -0.405163 0.614642 -0.283372 1.552994 2.492090 -0.842290 0.586286 1.053184 -1.857667 0.006970 3.450974 --0.127503 -0.211851 0.061138 -1.088593 -0.082687 1.191871 --0.976709 -1.207178 2.411239 -0.508774 0.141773 0.278951 --0.554968 -0.191387 0.344618 -1.622256 -0.753798 3.199925 -1.619857 -1.340720 4.421466 -0.593146 -0.089468 0.359827 -0.285545 0.410727 0.250233 --0.244144 -1.239910 1.596984 --0.352935 -1.682184 2.954307 -1.477641 0.118862 2.197552 -1.024256 0.590371 1.397639 --1.328923 -0.892397 2.562408 --0.511046 -0.190336 0.297396 --0.939491 -1.347964 2.699650 --1.830788 -0.480810 3.582962 -1.172343 -1.120439 2.629771 -2.219261 0.023153 4.925654 --0.869669 1.414227 2.756363 --0.496169 -1.277591 1.878423 -0.773545 -0.838553 1.301543 -2.692970 -0.992764 8.237665 -0.748127 -0.400614 0.720186 -0.771656 -4.382243 19.799507 --0.705545 0.073587 0.503209 -0.282589 0.295299 0.167058 --0.416240 0.618596 0.555917 -0.660477 -1.061369 1.562733 -0.483694 0.152658 0.257264 -0.535384 -0.007209 0.286688 -0.746045 -0.813010 1.217567 -0.556482 -0.427442 0.492379 --0.731138 -0.439662 0.727866 --0.340464 -1.003262 1.122450 --0.100603 1.052686 1.118270 --0.834046 0.008456 0.695704 -0.965373 -0.073597 0.937362 -1.840097 1.844419 6.787838 --0.434240 0.905791 1.009022 --0.823883 0.042992 0.680631 --0.584344 0.203030 0.382678 -0.744975 -0.640823 0.965642 -2.648688 0.625144 7.406355 -0.836152 -0.713493 1.208222 --1.635291 -0.215003 2.720404 -1.788540 0.591816 3.549121 -0.443135 -0.326121 0.302723 --0.127141 -0.517921 0.284407 -0.235269 0.804973 0.703334 --0.561867 -0.216548 0.362588 --0.874226 -0.605235 1.130582 --0.289082 -0.935484 0.958700 --0.382356 0.338145 0.260538 -0.834612 1.722170 3.662446 --0.732997 -0.272029 0.611285 --0.063437 -0.694573 0.486456 -0.753650 0.248989 0.629984 -1.356793 -1.423405 3.866967 --0.298345 -0.613122 0.464929 -1.226238 -1.641733 4.198947 --1.357306 -1.678830 4.660749 --0.581233 0.196774 0.376552 --0.358260 -0.390281 0.280669 -0.077824 -1.122834 1.266813 -0.513240 -0.379020 0.407071 --1.748986 1.482853 5.257805 -0.266667 0.220801 0.119865 --0.323440 -0.885495 0.888714 --1.070835 -0.783767 1.760978 --0.635843 -1.889658 3.975106 --1.111043 0.884420 2.016615 --1.570252 0.113491 2.478571 --1.065374 -0.403057 1.297477 --0.331142 -0.786717 0.728579 --0.291010 -0.248429 0.146404 -0.139320 -1.213331 1.491583 -0.155534 2.085384 4.373018 --0.472112 -0.069564 0.227729 -0.908714 0.540692 1.118109 -1.020933 0.793289 1.671611 --0.689700 0.481730 0.707751 --2.113194 0.435607 4.655344 -0.469352 0.309335 0.315980 -1.218600 0.231009 1.538352 -0.673051 0.648137 0.873080 --0.221513 -0.244426 0.108812 --1.449363 0.198887 2.140210 -0.255346 -2.109385 4.514709 --0.905164 -0.291047 0.904029 -0.761262 1.288346 2.239356 --2.730660 1.013982 8.484665 --1.294072 -0.775494 2.276013 -0.548462 -0.972363 1.246301 --0.106757 -0.438530 0.203705 -0.563421 -0.349556 0.439633 --1.300258 -0.877832 2.461259 --0.868970 -0.123126 0.770269 -0.554567 0.199440 0.347320 -0.690575 -1.107923 1.704389 -1.128474 -0.543476 1.568820 -0.547868 -0.507519 0.557736 -0.287642 -1.491485 2.307267 -0.547494 -0.826780 0.983316 -0.882726 1.000837 1.780880 --1.220974 0.580717 1.828010 -0.817483 -0.926472 1.526628 --0.583682 -0.117014 0.354377 --0.743285 -1.340553 2.349554 -0.617234 0.743340 0.933532 -1.293951 0.430939 1.860017 -0.622821 -0.483484 0.621663 --0.946814 1.025242 1.947577 --1.175254 -1.290641 3.046976 -0.427631 -0.380710 0.327809 -0.988173 1.361768 2.830898 -0.284630 -1.858888 3.536477 -0.057520 -1.785299 3.190600 --0.451500 1.708720 3.123577 --0.689675 0.495573 0.721244 -0.746766 1.652712 3.289118 -0.965677 -0.530292 1.213741 --1.206503 -0.583025 1.795567 --0.458218 0.013753 0.210153 --0.333393 1.098495 1.317842 --1.691018 -0.855545 3.591498 --0.587331 -1.235014 1.870218 --1.349852 0.413054 1.992715 --1.780449 2.259683 8.276164 -0.562223 1.171074 1.687509 --0.347488 -0.598763 0.479265 -0.299096 -0.492736 0.332247 --0.450144 -0.393791 0.357701 -1.600160 0.713607 3.069749 -0.732087 1.274697 2.160805 --1.666690 0.567213 3.099585 -0.736813 0.225474 0.593731 --0.781496 -0.338449 0.725283 -0.185882 -0.619601 0.418457 --0.102790 -0.410614 0.179169 -0.164429 0.261269 0.095299 --0.010981 -0.292767 0.085833 --0.217881 0.359819 0.176942 -1.592054 1.810137 5.811234 -0.342126 -2.180567 4.871922 -0.459617 0.936060 1.087456 --0.307012 -0.190984 0.130731 -0.349295 1.643269 2.822339 --0.288077 -0.460173 0.294747 -1.343548 0.782533 2.417479 -0.066009 -0.915270 0.842076 -0.747668 1.229458 2.070575 -1.588078 -1.092906 3.716434 -0.070364 0.503492 0.258456 --0.305487 1.753103 3.166693 -0.594730 -1.426855 2.389620 -1.617807 -1.792467 5.830235 -1.417424 -0.448044 2.209835 -0.807505 -0.918720 1.496111 -0.179606 0.180220 0.064737 --0.768679 -0.829642 1.279174 --0.230120 -1.015303 1.083795 -0.336974 -0.779451 0.721095 --1.015188 -0.896904 1.835042 -0.363433 -1.422525 2.155661 --0.787872 -0.099076 0.630558 --0.102882 0.551372 0.314596 -1.036983 0.841226 1.782995 --0.594097 0.126474 0.368947 --2.371155 -1.559726 8.055121 --1.193374 0.153982 1.447852 -0.297000 0.791528 0.714726 --1.686925 0.716795 3.359512 --0.323269 -0.892257 0.900626 --0.284090 -1.023294 1.127837 --0.068339 -0.968293 0.942261 -0.112566 0.608362 0.382776 --1.122180 0.389030 1.410632 -2.212483 -0.195963 4.933483 -0.514874 -0.578818 0.600125 -1.077919 0.282520 1.241727 -2.324523 0.492722 5.646184 --0.089970 0.520318 0.278826 --0.222175 -1.656832 2.794452 --0.226027 0.017479 0.051394 --0.667471 -1.103479 1.663184 -1.105661 0.741581 1.772429 --1.264716 -0.006268 1.599546 -0.636295 -1.853279 3.839516 -0.372392 0.657421 0.570878 --1.508546 0.985843 3.247598 -1.247210 -0.642028 1.967734 --0.779765 -0.820470 1.281206 -2.165025 1.601677 7.252703 --0.334421 -1.674189 2.914746 -0.335498 -0.855720 0.844815 -0.994418 0.909645 1.816322 --0.137539 -0.980685 0.980661 -0.720581 1.187789 1.930079 -0.371582 -0.501466 0.389541 --0.125981 2.167948 4.715871 --0.135419 1.438298 2.087039 --2.011069 -0.498337 4.292738 -1.300645 1.659612 4.445987 --0.361969 0.834741 0.827813 -0.067631 -1.053890 1.115258 -1.100479 0.958567 2.129906 -0.037748 -0.448938 0.202970 -0.102004 0.786356 0.628761 -2.534986 -0.397956 6.584523 -0.375026 0.297050 0.228884 -0.034920 -0.118931 0.015364 -1.788045 -1.494047 5.429282 --0.094970 -0.135750 0.027447 --0.502488 -1.449484 2.353498 -0.339398 0.811147 0.773151 -0.889947 0.756360 1.364085 --1.328899 -0.359616 1.895297 --0.982526 0.266278 1.036261 -0.082269 -0.333208 0.117796 -0.043082 0.491127 0.243061 --1.071016 -0.390949 1.299916 -1.068487 0.530483 1.423077 -0.769541 -0.146517 0.613661 -0.407621 0.943750 1.056819 --2.418687 1.029048 6.908985 -0.071270 0.375086 0.145769 -0.454832 0.974072 1.155689 -1.120973 -0.965955 2.189650 --0.354871 1.029931 1.186692 --1.517669 0.100395 2.313399 -0.601104 -1.122820 1.622051 -0.534321 -0.309959 0.381573 --2.301832 0.591123 5.647855 -0.300978 1.734677 3.099691 -0.808179 -1.015765 1.684931 -0.021976 0.444492 0.198056 -1.253466 -2.145538 6.174511 -1.395985 1.588411 4.471821 --0.617073 0.500766 0.631545 -0.608524 -0.206227 0.412831 --0.796665 0.428099 0.817943 --0.478177 -0.375122 0.369370 -0.456735 -0.841393 0.916550 -0.630761 -1.690704 3.256341 -0.223384 0.203376 0.091262 --1.541475 -0.036558 2.377481 -0.012547 -1.484788 2.204754 --1.057760 -0.589936 1.466880 --0.530847 1.496395 2.520997 --1.631159 0.760923 3.239685 -0.726524 0.141211 0.547778 -1.507571 -0.780036 2.881227 --1.889999 -0.896864 4.376460 --0.009828 1.926738 3.712417 --1.045400 -0.049572 1.095318 -0.109791 -1.893843 3.598694 -1.575015 -0.623286 2.869159 -0.416172 -1.748026 3.228795 --0.969947 -0.843547 1.652368 -1.509152 0.090580 2.285743 -0.982780 -0.110529 0.978074 --0.370688 -0.131043 0.154582 --0.373899 0.863405 0.885268 --1.703089 -0.602646 3.263693 -0.218343 0.469248 0.267867 --1.612744 1.087215 3.782980 --0.017404 -1.485620 2.207371 --0.340911 1.462746 2.255847 -0.753738 -0.325680 0.674189 -1.004514 -0.174355 1.039448 -1.381799 -0.641227 2.320541 -0.162298 0.220232 0.074843 --1.612080 -0.758380 3.173940 -0.145627 -1.653915 2.756641 -0.770969 -0.455673 0.802032 -1.085951 0.131794 1.196660 --0.249937 -1.728846 3.051378 -0.805797 -2.182023 5.410531 -0.112128 -1.635088 2.686084 --0.517473 1.047983 1.366045 --2.471747 -0.240430 6.167338 --0.354777 -1.058094 1.245430 --0.447699 -1.591864 2.734467 -0.027491 2.526232 6.382607 -0.382132 -1.364258 2.007224 -0.506665 -0.147442 0.278449 -0.555662 -0.367950 0.444148 --0.961704 0.406680 1.090264 -0.878331 -0.224366 0.821806 --1.490702 -0.118700 2.236283 -0.140076 0.132480 0.037172 -1.309579 0.200899 1.755357 --1.182045 -1.230911 2.912372 --0.249312 1.407986 2.044580 --0.437551 -1.863766 3.665074 -1.434485 -0.862759 2.802101 --0.412488 -0.148368 0.192160 --1.566134 -0.946202 3.348074 --0.360879 0.437834 0.321932 -1.134653 1.413905 3.286565 -0.268251 0.958378 0.990447 --1.257027 0.378977 1.723739 -0.658577 -1.547960 2.829905 -0.043854 0.342086 0.118946 --0.261982 0.478107 0.297220 --1.390789 0.120818 1.948890 -0.839785 0.854349 1.435150 --0.695648 0.678601 0.944425 -1.128786 -0.752030 1.839708 --0.462361 0.750565 0.777125 --0.200021 -0.421305 0.217506 --1.837427 1.483342 5.576441 -0.157778 -0.176666 0.056105 --0.592174 -0.293985 0.437097 --1.699122 0.927774 3.747782 -0.622900 2.845026 8.482180 -1.059405 -0.493586 1.365965 -0.838975 -1.637766 3.386155 --0.457052 -0.754159 0.777652 -2.339616 -1.166232 6.833900 -0.831551 -0.168584 0.719898 -0.919865 0.803097 1.491116 -0.840797 -1.398804 2.663591 -0.895062 0.599634 1.160697 -0.234995 1.709419 2.977336 -0.254304 0.914219 0.900468 --1.978318 -0.634168 4.315910 --0.299985 0.355175 0.216141 -0.479549 -0.802550 0.874053 -0.967778 -0.806942 1.587751 --0.848796 1.043416 1.809171 -0.618030 0.651998 0.807063 -1.721371 -0.987093 3.937471 -2.212991 0.416994 5.071212 --0.986662 -0.703911 1.468993 -0.318518 1.338359 1.892659 --0.163864 -1.744300 3.069435 --0.501449 1.454504 2.367032 --0.305619 -0.490876 0.334362 --0.423094 0.540693 0.471358 -0.326541 1.131772 1.387537 --2.085260 0.579174 4.683750 -2.048703 1.408945 6.182308 --1.141286 0.244531 1.362330 -0.370926 0.689531 0.613039 -2.322416 -0.123549 5.408881 -0.881535 -0.621093 1.162861 --0.736790 0.198461 0.582247 -0.790092 -1.890749 4.199175 -0.794312 0.811551 1.289547 --0.439884 0.333412 0.304661 --0.929519 -0.398122 1.022506 --1.955375 -0.782943 4.436493 -0.808649 -0.351598 0.777535 -0.784059 0.105974 0.625979 -1.075322 0.045811 1.158417 -0.556813 -0.434248 0.498611 --0.918635 -0.068018 0.848517 --3.458071 0.556112 12.267516 -0.261803 -0.220066 0.116970 --0.266316 0.191145 0.107460 -0.296722 0.124617 0.103574 --0.682629 -0.161857 0.492181 -0.256276 0.664742 0.507560 --2.143398 0.545235 4.891437 -0.068203 -0.376341 0.146284 -1.397930 -0.291481 2.039170 --0.017337 -0.641947 0.412396 -1.638957 -0.588901 3.032984 --2.023656 2.178434 8.840761 -0.282475 -0.425392 0.260751 -1.464999 0.536934 2.434521 --0.139894 0.445321 0.217881 -1.168440 1.540661 3.738887 --0.079424 -0.482748 0.239353 -1.357943 -1.863830 5.317872 --0.959823 0.994797 1.910882 --1.614723 -0.148947 2.629517 -0.323074 0.013067 0.104548 -0.092132 0.829275 0.696186 --1.455322 1.104358 3.337570 --0.015175 -1.810169 3.276944 -0.849220 -1.130979 2.000289 --0.633379 1.591112 2.932808 --2.474778 0.648277 6.544791 -0.535851 -0.204785 0.329074 -1.647659 0.676933 3.173020 -0.959844 1.907804 4.561019 -0.823988 -0.940498 1.563494 -1.845373 -0.132192 3.422877 --0.083667 0.860786 0.747953 -1.858813 1.565700 5.906603 -0.053731 -2.455866 6.034166 --1.070644 0.120162 1.160717 -0.740382 -1.809921 3.823980 -1.056488 -0.785505 1.733184 --0.610578 0.789410 0.995973 --1.438390 1.014721 3.098624 --0.142213 -1.004303 1.028849 -0.805991 0.592062 1.000158 -0.067522 1.784808 3.190098 --1.427416 0.315417 2.137003 -1.589300 1.499549 4.774524 -0.472545 1.562859 2.665827 -1.461304 -0.131503 2.152703 -1.071178 0.106814 1.158831 --0.173254 0.121245 0.044717 --0.540841 0.096038 0.301732 --1.434198 -0.306937 2.151136 --0.822900 1.515790 2.974783 --0.437367 -1.812048 3.474808 diff --git a/tutorials/basic2.C b/tutorials/basic2.C deleted file mode 100644 index a6bb8aafd3be99ede86fc5902e97ae738a388d73..0000000000000000000000000000000000000000 --- a/tutorials/basic2.C +++ /dev/null @@ -1,13 +0,0 @@ -{ -// example of macro to create can ntuple reading data from an ascii file. -// This macro is a variant of basic.C - - gROOT->Reset(); - TFile *f = new TFile("basic2.root","RECREATE"); - TH1F *h1 = new TH1F("h1","x distribution",100,-4,4); - TTree *T = new TTree("ntuple","data from ascii file"); - Long64_t nlines = T->ReadFile("basic.dat","x:y:z"); - printf(" found %lld points\n",nlines); - T->Draw("x","z>2"); - T->Write(); -} diff --git a/tutorials/basic3d.C b/tutorials/basic3d.C deleted file mode 100644 index d756ab156576c5d6821b3cbd917b18f73e307d1a..0000000000000000000000000000000000000000 --- a/tutorials/basic3d.C +++ /dev/null @@ -1,97 +0,0 @@ -{ - // - // To see the output of this macro, click begin_html <a href="gif/basic3d.gif">here</a> end_html - // - gROOT->Reset(); - c1 = new TCanvas("c1","PolyLine3D & PolyMarker3D Window",200,10,700,500); - - // create a pad - p1 = new TPad("p1","p1",0.05,0.02,0.95,0.82,46,3,1); - p1->Draw(); - p1->cd(); - - // creating a view - view = new TView(1); - view->SetRange(5,5,5,25,25,25); - - // create a first PolyLine3D - TPolyLine3D *pl3d1 = new TPolyLine3D(5); - - // set points - pl3d1->SetPoint(0, 10, 10, 10); - pl3d1->SetPoint(1, 15, 15, 10); - pl3d1->SetPoint(2, 20, 15, 15); - pl3d1->SetPoint(3, 20, 20, 20); - pl3d1->SetPoint(4, 10, 10, 20); - // set attributes - pl3d1->SetLineWidth(3); - pl3d1->SetLineColor(5); - - // create a second PolyLine3D - TPolyLine3D *pl3d2 = new TPolyLine3D(4); - - // set points - pl3d2->SetPoint(0, 5, 10, 5); - pl3d2->SetPoint(1, 10, 15, 8); - pl3d2->SetPoint(2, 15, 15, 18); - pl3d2->SetPoint(3, 5, 20, 20); - pl3d2->SetPoint(4, 10, 10, 5); - - // set attributes - pl3d2->SetLineWidth(5); - pl3d2->SetLineColor(2); - - // create a first PolyMarker3D - TPolyMarker3D *pm3d1 = new TPolyMarker3D(12); - - // set points - pm3d1->SetPoint(0, 10, 10, 10); - pm3d1->SetPoint(1, 11, 15, 11); - pm3d1->SetPoint(2, 12, 15, 9); - pm3d1->SetPoint(3, 13, 17, 20); - pm3d1->SetPoint(4, 14, 16, 15); - pm3d1->SetPoint(5, 15, 20, 15); - pm3d1->SetPoint(6, 16, 18, 10); - pm3d1->SetPoint(7, 17, 15, 10); - pm3d1->SetPoint(8, 18, 22, 15); - pm3d1->SetPoint(9, 19, 28, 25); - pm3d1->SetPoint(10, 20, 12, 15); - pm3d1->SetPoint(11, 21, 12, 15); - - // set marker size, color & style - pm3d1->SetMarkerSize(2); - pm3d1->SetMarkerColor(4); - pm3d1->SetMarkerStyle(2); - - // create a second PolyMarker3D - TPolyMarker3D *pm3d2 = new TPolyMarker3D(8); - - pm3d2->SetPoint(0, 22, 15, 15); - pm3d2->SetPoint(1, 23, 18, 21); - pm3d2->SetPoint(2, 24, 26, 13); - pm3d2->SetPoint(3, 25, 17, 15); - pm3d2->SetPoint(4, 26, 20, 15); - pm3d2->SetPoint(5, 27, 15, 18); - pm3d2->SetPoint(6, 28, 20, 10); - pm3d2->SetPoint(7, 29, 20, 20); - - // set marker size, color & style - pm3d2->SetMarkerSize(2); - pm3d2->SetMarkerColor(1); - pm3d2->SetMarkerStyle(8); - - // draw - pl3d1->Draw(); - pl3d2->Draw(); - pm3d1->Draw(); - pm3d2->Draw(); - // - // draw a title/explanation in the canvas pad - c1->cd(); - TPaveText *title = new TPaveText(0.1,0.85,0.9,0.97); - title->SetFillColor(24); - title->AddText("Examples of 3-D primitives"); - TText *click=title->AddText("Click anywhere on the picture to rotate"); - click->SetTextColor(4); - title->Draw(); -} diff --git a/tutorials/benchmarks.C b/tutorials/benchmarks.C deleted file mode 100644 index 04f56f74d823735cafddc6b609dc9bc718cce79a..0000000000000000000000000000000000000000 --- a/tutorials/benchmarks.C +++ /dev/null @@ -1,43 +0,0 @@ -{ - gROOT->Reset(); - bench = new TCanvas("bench","Benchmarks Summary",-1000,50,200,500); - summary = new TPaveText(0,0,1,1); - summary->SetTextAlign(12); - summary->SetTextSize(0.1); - summary->Draw(); - summary->AddText(" ** framework.C"); - summary->AddText(" ** hsimple.C"); - summary->AddText(" ** hsum.C"); - summary->AddText(" ** formula1.C"); - summary->AddText(" ** fillrandom.C"); - summary->AddText(" ** fit1.C"); - summary->AddText(" ** h1draw.C"); - summary->AddText(" ** graph.C"); - summary->AddText(" ** gerrors.C"); - summary->AddText(" ** tornado.C"); - summary->AddText(" ** surfaces.C"); - summary->AddText(" ** runzdemo.C"); - summary->AddText(" ** geometry.C"); - summary->AddText(" ** na49view.C"); - summary->AddText(" ** file.C"); - summary->AddText(" ** ntuple1.C"); - summary->AddText(" ** rootmarks.C"); - bexec("framework.C"); - bexec("hsimple.C"); - bexec("hsum.C"); - bexec("formula1.C"); - bexec("fillrandom.C"); - bexec("fit1.C"); - bexec("h1draw.C"); - bexec("graph.C"); - bexec("gerrors.C"); - bexec("tornado.C"); - bexec("surfaces.C"); - bexec("runzdemo.C"); - bexec("geometry.C"); - bexec("na49view.C"); - bexec("na49view.C"); - bexec("file.C"); - bexec("ntuple1.C"); - bexec("rootmarks.C"); -} diff --git a/tutorials/benchmarks.py b/tutorials/benchmarks.py deleted file mode 100644 index eee7923990add5db759f825e4fb3f9e2bdef9e91..0000000000000000000000000000000000000000 --- a/tutorials/benchmarks.py +++ /dev/null @@ -1,52 +0,0 @@ -import sys -import ROOT - -ROOT.SetSignalPolicy( ROOT.kSignalFast ) - -### macro files -macros = [ - 'framework.py', 'hsimple.py', 'hsum.py', 'formula1.py', - 'fillrandom.py','fit1.py', 'h1draw.py', 'graph.py', - 'gerrors.py', 'tornado.py', 'surfaces.py', 'zdemo.py', - 'geometry.py', 'na49view.py', 'na49view.py', 'file.py', - 'ntuple1.py', 'rootmarks.py' ] - -### note: this function is defined in tutorials/rootlogon.C -def bexec( macro, bench ): - if ROOT.gROOT.IsBatch(): - print 'Processing benchmark: %s\n' % macro - - summary = bench.GetPrimitive( 'TPave' ) - tmacro = summary.GetLineWith( macro ) - if tmacro: - tmacro.SetTextColor( 4 ) - bench.Modified() - bench.Update() - - execfile( macro, sys.modules[ __name__ ].__dict__ ) - - summary2 = bench.GetPrimitive( 'TPave' ) - tmacro2 = summary2.GetLineWith( macro ) - if tmacro2: - tmacro2.SetTextColor( 2 ) - bench.Modified() - bench.Update() - - -### -------------------------------------------------------------------------- -if __name__ == '__main__': - ROOT.gROOT.Reset() - - # window for keeping track of bench marks that are run - bench = ROOT.TCanvas( 'bench','Benchmarks Summary', -1000, 50, 200, 500 ) - summary = ROOT.TPaveText( 0, 0, 1, 1 ) - summary.SetTextAlign( 12 ) - summary.SetTextSize( 0.1 ) - summary.Draw() - - for m in macros: - summary.AddText( ' ** %s' % m ) - - # run benchmarks, the last one (rootmarks.py) results in a report - for m in macros: - bexec( m, bench ) diff --git a/tutorials/bent.C b/tutorials/bent.C deleted file mode 100644 index 51e93344536e5c7b6822d32164fce2d5a37f574d..0000000000000000000000000000000000000000 --- a/tutorials/bent.C +++ /dev/null @@ -1,20 +0,0 @@ -{ - gROOT->Reset(); - - Int_t n = 10; - Double_t x[n] = {-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95}; - Double_t y[n] = {1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1}; - Double_t exl[n] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05}; - Double_t eyl[n] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8}; - Double_t exh[n] = {.02,.08,.05,.05,.03,.03,.04,.05,.06,.03}; - Double_t eyh[n] = {.6,.5,.4,.3,.2,.2,.3,.4,.5,.6}; - Double_t exld[n] = {.0,.0,.0,.0,.0,.0,.0,.0,.0,.0}; - Double_t eyld[n] = {.0,.0,.05,.0,.0,.0,.0,.0,.0,.0}; - Double_t exhd[n] = {.0,.0,.0,.0,.0,.0,.0,.0,.0,.0}; - Double_t eyhd[n] = {.0,.0,.0,.0,.0,.0,.0,.0,.05,.0}; - gr = new TGraphBentErrors(n,x,y,exl,exh,eyl,eyh,exld,exhd,eyld,eyhd); - gr->SetTitle("TGraphBentErrors Example"); - gr->SetMarkerColor(4); - gr->SetMarkerStyle(21); - gr->Draw("ALP"); -} diff --git a/tutorials/bill.C b/tutorials/bill.C deleted file mode 100644 index d0acc04861867c11be74106bb67d1f1f8a0e404a..0000000000000000000000000000000000000000 --- a/tutorials/bill.C +++ /dev/null @@ -1,128 +0,0 @@ -// benchmark comparing write/read to/from keys or trees -// for example for N=10000, the following output is produced -// on a P IV 62.4GHz - -// root -b -q bill.C or root -b -q bill.C++ -// -//billw0 : RT= 1.070 s, Cpu= 1.050 s, File size= 45508003 bytes, CX= 1 -//billr0 : RT= 0.740 s, Cpu= 0.730 s -//billtw0 : RT= 0.720 s, Cpu= 0.660 s, File size= 45163959 bytes, CX= 1 -//billtr0 : RT= 0.420 s, Cpu= 0.420 s -//billw1 : RT= 6.600 s, Cpu= 6.370 s, File size= 16215349 bytes, CX= 2.80687 -//billr1 : RT= 2.290 s, Cpu= 2.270 s -//billtw1 : RT= 3.260 s, Cpu= 3.230 s, File size= 6880273 bytes, CX= 6.5642 -//billtr1 : RT= 0.990 s, Cpu= 0.980 s -//billtot : RT= 18.290 s, Cpu= 15.920 s -//****************************************************************** -//* ROOTMARKS = 600.9 * Root3.05/02 20030201/1840 -//****************************************************************** - -#include "TFile.h" -#include "TSystem.h" -#include "TH1.h" -#include "TRandom.h" -#include "TStopwatch.h" -#include "TKey.h" -#include "TTree.h" - -const Int_t N = 10000; //number of events to be processed -TStopwatch timer; - -void billw(Int_t compress) { - //write N histograms as keys - timer.Start(); - TFile f("/tmp/bill.root","recreate","bill benchmark with keys",compress); - TH1F h("h","h",1000,-3,3); - h.FillRandom("gaus",50000); - - for (Int_t i=0;i<N;i++) { - char name[20]; - sprintf(name,"h%d",i); - h.SetName(name); - h.Fill(2*gRandom->Rndm()); - h.Write(); - } - timer.Stop(); - printf("billw%d : RT=%7.3f s, Cpu=%7.3f s, File size= %9d bytes, CX= %g\n",compress,timer.RealTime(),timer.CpuTime(), - (Int_t)f.GetBytesWritten(),f.GetCompressionFactor()); - } -void billr(Int_t compress) { - //read N histograms from keys - timer.Start(); - TFile f("/tmp/bill.root"); - TIter next(f.GetListOfKeys()); - TH1F *h; - TH1::AddDirectory(kFALSE); - TKey *key; - Int_t i=0; - TH1F *hmean = new TH1F("hmean","hist mean from keys",100,0,1); - - while ((key=(TKey*)next())) { - h = (TH1F*)key->ReadObj(); - hmean->Fill(h->GetMean()); - delete h; - i++; - } - timer.Stop(); - printf("billr%d : RT=%7.3f s, Cpu=%7.3f s\n",compress,timer.RealTime(),timer.CpuTime()); -} -void billtw(Int_t compress) { - //write N histograms to a Tree - timer.Start(); - TFile f("/tmp/billt.root","recreate","bill benchmark with trees",compress); - TH1F *h = new TH1F("h","h",1000,-3,3); - h->FillRandom("gaus",50000); - TTree *T = new TTree("T","test bill"); - T->Branch("event","TH1F",&h,64000,0); - for (Int_t i=0;i<N;i++) { - char name[20]; - sprintf(name,"h%d",i); - h->SetName(name); - h->Fill(2*gRandom->Rndm()); - T->Fill(); - } - T->Write(); - delete T; - timer.Stop(); - printf("billtw%d : RT=%7.3f s, Cpu=%7.3f s, File size= %9d bytes, CX= %g\n",compress,timer.RealTime(),timer.CpuTime(), - (Int_t)f.GetBytesWritten(),f.GetCompressionFactor()); -} -void billtr(Int_t compress) { - //read N histograms from a tree - timer.Start(); - TFile f("/tmp/billt.root"); - TH1F *h = 0; - TTree *T = (TTree*)f.Get("T"); - T->SetBranchAddress("event",&h); - TH1F *hmeant = new TH1F("hmeant","hist mean from tree",100,0,1); - Int_t nentries = (Int_t)T->GetEntries(); - for (Int_t i=0;i<nentries;i++) { - T->GetEntry(i); - hmeant->Fill(h->GetMean()); - } - timer.Stop(); - printf("billtr%d : RT=%7.3f s, Cpu=%7.3f s\n",compress,timer.RealTime(),timer.CpuTime()); -} -void bill() { - - TStopwatch totaltimer; - totaltimer.Start(); - for (Int_t compress=0;compress<2;compress++) { - billw(compress); - billr(compress); - billtw(compress); - billtr(compress); - } - gSystem->Unlink("/tmp/bill.root"); - gSystem->Unlink("/tmp/billt.root"); - totaltimer.Stop(); - Double_t rtime = totaltimer.RealTime(); - Double_t ctime = totaltimer.CpuTime(); - printf("billtot : RT=%7.3f s, Cpu=%7.3f s\n",rtime,ctime); - //reference is a P IV 2.4 GHz - Float_t rootmarks = 600*(16.98 + 14.40)/(rtime + ctime); - printf("******************************************************************\n"); - printf("* ROOTMARKS =%6.1f * Root%-8s %d/%d\n",rootmarks,gROOT->GetVersion(),gROOT->GetVersionDate(),gROOT->GetVersionTime()); - printf("******************************************************************\n"); -} - diff --git a/tutorials/binomial.C b/tutorials/binomial.C deleted file mode 100755 index c4b24ec2f658edda54da046323ae3b7487f6a173..0000000000000000000000000000000000000000 --- a/tutorials/binomial.C +++ /dev/null @@ -1,61 +0,0 @@ -// tutorial illustrating the use of TMath::Binomial -// can be run with: -// root > .x binomial.C -// root > .x binomial.C+ with ACLIC - -#include <TMath.h> -#include <TRandom.h> - -void binomialSimple() { - // - // Simple test for the binomial distribution - // - printf("\nTMath::Binomial simple test\n"); - printf("Build the Tartaglia triangle\n"); - printf("============================\n"); - const Int_t max=13; - Int_t j; - for(Int_t i=0;i<max;i++) { - printf("n=%2d",i); - for(j=0;j<(max-i);j++) printf(" "); - for(j=0;j<i+1;j++) printf("%4d",TMath::Nint(TMath::Binomial(i,j))); - printf("\n"); - } -} - -void binomialFancy() { - Double_t x; - Double_t y; - Double_t res1; - Double_t res2; - Double_t err; - Double_t serr=0; - const Int_t nmax=10000; - printf("\nTMath::Binomial fancy test\n"); - printf("Verify Newton formula for (x+y)^n\n"); - printf("x,y in [-2,2] and n from 0 to 9 \n"); - printf("=================================\n"); - TRandom r; - for(Int_t i=0; i<nmax; i++) { - do { - x=2*(1-2*r.Rndm()); - y=2*(1-2*r.Rndm()); - } while (TMath::Abs(x+y)<0.75); //Avoid large cancellations - for(Int_t j=0; j<10; j++) { - res1=TMath::Power(x+y,j); - res2=0; - for(Int_t k=0; k<=j; k++) - res2+=TMath::Power(x,k)*TMath::Power(y,j-k)*TMath::Binomial(j,k); - if((err=TMath::Abs(res1-res2)/TMath::Abs(res1))>1e-10) - printf("res1=%e res2=%e x=%e y=%e err=%e j=%d\n",res1,res2,x,y,err,j); - serr +=err; - } - } - printf("Average Error = %e\n",serr/nmax); -} - -void binomial () { - binomialSimple(); - binomialFancy(); -} - diff --git a/tutorials/canvas.C b/tutorials/canvas.C deleted file mode 100644 index 71dd2922f5fab311c967b09354c8e88482278b9e..0000000000000000000000000000000000000000 --- a/tutorials/canvas.C +++ /dev/null @@ -1,118 +0,0 @@ -{ -// -// To see the output of this macro, click begin_html <a href="gif/canvas.gif" >here</a> end_html -// One of the first actions in a ROOT session is the creation of a Canvas. -// Here we create a Canvas named "c1" -// - gROOT->Reset(); - c1 = new TCanvas("c1","Canvas Example",200,10,600,480); - - gBenchmark->Start("canvas"); -// -// Inside this canvas, we create two pads -// - pad1 = new TPad("pad1","This is pad1",0.05,0.52,0.95,0.97); - pad2 = new TPad("pad2","This is pad2",0.05,0.02,0.95,0.47); - pad1->SetFillColor(11); - pad2->SetFillColor(11); - pad1->Draw(); - pad2->Draw(); -// -// A pad may contain other pads and graphics objects. -// We set the current pad to pad2. -// Note that the current pad is always highlighted. -// - pad2->cd(); - pad21 = new TPad("pad21","First subpad of pad2",0.02,0.05,0.48,0.95,17,3); - pad22 = new TPad("pad22","Second subpad of pad2",0.52,0.05,0.98,0.95,17,3); - pad21->Draw(); - pad22->Draw(); -// -// We enter some primitives in the created pads and set some attributes -// - pad1->cd(); - float xt1 = 0.5; - float yt1 = 0.1; - t1 = new TText(0.5,yt1,"ROOT"); - t1->SetTextAlign(22); - t1->SetTextSize(0.05); - t1->Draw(); - line1 = new TLine(0.05,0.05,0.80,0.70); - line1->SetLineWidth(8); - line1->SetLineColor(2); - line1->Draw(); - line1->DrawLine(0.6,0.1,0.9,0.9); - line2 = new TLine(0.05,0.70,0.50,0.10); - line2->SetLineWidth(4); - line2->SetLineColor(5); - line2->Draw(); -// - pad21->cd(); - t21 = new TText(0.05,0.8,"This is pad21"); - t21->SetTextSize(0.1); - t21->Draw(); - float xp2 = 0.5; - float yp2 = 0.4; - paves = new TPavesText(0.1,0.1,xp2,yp2); - paves->AddText("This is a PavesText"); - paves->AddText("You can add new lines"); - paves->AddText("Text formatting is automatic"); - paves->SetFillColor(43); - paves->Draw(); - pad22->cd(); - t22 = new TText(0.05,0.8,"This is pad22"); - t22->SetTextSize(0.1); - t22->Draw(); - float xlc = 0.01; - float ylc = 0.01; - label = new TPaveLabel(xlc, ylc, xlc+0.8, ylc+0.1,"This is a PaveLabel"); - label->SetFillColor(24); - label->Draw(); - -// Modify object attributes in a loop - Int_t nloops = 50; - float dxp2 = (0.9-xp2)/nloops; - float dyp2 = (0.7-yp2)/nloops; - float dxlc = (0.1-xlc)/nloops; - float dylc = (0.4-xlc)/nloops; - float dxt1 = (0.5-xt1)/nloops; - float dyt1 = (0.8-yt1)/nloops; - float t10 = t1.GetTextSize(); - float t1end = 0.3; - float t1ds = (t1end - t10)/nloops; - Int_t color = 0; - for (int i=0;i<nloops;i++) { - color++; - color %= 8; - line1->SetLineColor(color); - t1->SetTextSize(t10 + t1ds*i); - t1->SetTextColor(color); - t1->SetX(xt1+dxt1*i); - t1->SetY(yt1+dyt1*i); - pad1->Modified(); - paves->SetX2NDC(xp2+dxp2*i); - paves->SetY2NDC(yp2+dyp2*i); - pad21->Modified(); - label->SetX1NDC(xlc+dxlc*i); - label->SetY1NDC(ylc+dylc*i); - label->SetX2NDC(xlc+dxlc*i+0.8); - label->SetY2NDC(ylc+dylc*i+0.2); - pad22->Modified(); - c1->Update(); - } - gBenchmark->Show("canvas"); -// -// Try now to point on any object on the screen: pad, text, lines, etc. -// When the cursor points to sensitive areas in an object, the cursor -// shape changes and suggests the type of action that can be applied. -// -// For example, one can move, grow,shrink a pad. -// A text can be moved. -// A line can be moved or its end points can be modified. -// One can move, grow and shrink PaveLabels and PavesText. -// Point to an object and click the right mouse button to change attributes. -// Try to change the canvas size. -// In the canvas "File" menu, select the option "Print" to produce -// a PostScript file with a copy of the canvas. - -} diff --git a/tutorials/canvas.rb b/tutorials/canvas.rb deleted file mode 100644 index 4f976f5cfd87509b4ac04290deb9a9c01a87dd09..0000000000000000000000000000000000000000 --- a/tutorials/canvas.rb +++ /dev/null @@ -1,32 +0,0 @@ - -# ruby-root testsuite -# -# A simple canvas demostration script. -# -# 15/12/2003 --elathan - -tc = TCanvas.new("tc", "canvas example", 200, 10, 700, 500) - -tc.SetFillColor(42) -tc.SetGrid - -x = Array.new -y = Array.new - -for i in 0..19 do - x[i] = i*0.1 - y[i] = 10*Math.sin(x[i] + 0.2) -end - -tg = TGraph.new(20, x, y) -tg.SetLineColor(2) -tg.SetLineWidth(4) -tg.SetMarkerColor(4) -tg.SetMarkerStyle(21) -tg.Draw("ACP") - -tc.Update -tc.GetFrame.SetFillColor(21) -tc.GetFrame.SetBorderSize(12) -tc.Modified -gApplication.Run diff --git a/tutorials/cernbuild.C b/tutorials/cernbuild.C deleted file mode 100644 index 7794894630f13fb5e7d1dceee4d24e224f2e41c1..0000000000000000000000000000000000000000 --- a/tutorials/cernbuild.C +++ /dev/null @@ -1,47 +0,0 @@ -// example of macro to read data from an ascii file and -// create a root file with a Tree. -// see also a variant in staff.C -// Author: Rene Brun -void cernbuild() { - - Int_t Category; - UInt_t Flag; - Int_t Age; - Int_t Service; - Int_t Children; - Int_t Grade; - Int_t Step; - Int_t Hrweek; - Int_t Cost; - Char_t Division[4]; - Char_t Nation[3]; - - //The input file cern.dat is a copy of the CERN staff data base - //from 1988 - FILE *fp = fopen("cernstaff.dat","r"); - - char line[80]; - - TFile f("cernstaff.root","RECREATE"); - TTree *tree = new TTree("T","CERN 1988 staff data"); - tree->Branch("Category",&Category,"Category/I"); - tree->Branch("Flag",&Flag,"Flag/i"); - tree->Branch("Age",&Age,"Age/I"); - tree->Branch("Service",&Service,"Service/I"); - tree->Branch("Children",&Children,"Children/I"); - tree->Branch("Grade",&Grade,"Grade/I"); - tree->Branch("Step",&Step,"Step/I"); - tree->Branch("Hrweek",&Hrweek,"Hrweek/I"); - tree->Branch("Cost",&Cost,"Cost/I"); - tree->Branch("Division",Division,"Division/C"); - tree->Branch("Nation",Nation,"Nation/C"); - while (fgets(&line,80,fp)) { - sscanf(&line[0],"%d %d %d %d %d",&Category,&Flag,&Age,&Service,&Children); - sscanf(&line[32],"%d %d %d %d %s %s",&Grade,&Step,&Hrweek,&Cost,Division,Nation); - tree->Fill(); - } - tree->Print(); - tree->Write(); - - fclose(fp); -} diff --git a/tutorials/cernstaff.C b/tutorials/cernstaff.C deleted file mode 100644 index 85062739c99122deb13db7c77264e49f91abd6b4..0000000000000000000000000000000000000000 --- a/tutorials/cernstaff.C +++ /dev/null @@ -1,84 +0,0 @@ -// Playing with a Tree containing variables of type character -// Author: Rene Brun -void cernstaff () { - if (gSystem->AccessPathName("cernstaff.root")) { - gROOT->ProcessLine(".x cernbuild.C"); - } - TFile *f = new TFile("cernstaff.root"); - TTree *T = (TTree*)f->Get("T"); - TCanvas *c1 = new TCanvas("c1","CERN staff",10,10,1000,750); - c1->SetFillColor(17); - c1->Divide(2,2); - // make table of number of people per Nation & Division - c1->cd(1); gPad->SetGrid(); - T->Draw("Nation:Division>>hN","","text"); - TH2F *hN = (TH2F*)gDirectory->Get("hN"); - hN->SetMarkerSize(1.6); - hN->SetStats(0); - - //make profile of Average cost per Nation - c1->cd(2); gPad->SetGrid(); - gPad->SetLeftMargin(0.12); - T->Draw("Cost:Nation>>hNation","","prof,goff"); - TH1F *hNation = (TH1F*)gDirectory->Get("hNation"); - hNation->SetTitle("Average Cost per Nation"); - hNation->LabelsOption(">"); //sort by decreasing bin contents - hNation->SetMaximum(13000); - hNation->SetMinimum(7000); - hNation->SetStats(0); - hNation->SetMarkerStyle(21); - hNation->Draw(); - - //make stacked plot of Nations versus Grade - c1->cd(3); gPad->SetGrid(); - THStack *hGrades = new THStack("hGrades","Nations versus Grade"); - TH1F *hFR = new TH1F("hFR","FR",12,3,15); - hFR->SetFillColor(kCyan); - hGrades->Add(hFR); - T->Draw("Grade>>hFR","Nation==\"FR\""); - TH1F *hCH = new TH1F("hCH","CH",12,3,15); - hCH->SetFillColor(kRed); - hGrades->Add(hCH); - T->Draw("Grade>>hCH","Nation==\"CH\""); - TH1F *hIT = new TH1F("hIT","IT",12,3,15); - hIT->SetFillColor(kGreen); - hGrades->Add(hIT); - T->Draw("Grade>>hIT","Nation==\"IT\""); - TH1F *hDE = new TH1F("hDE","DE",12,3,15); - hDE->SetFillColor(kYellow); - hGrades->Add(hDE); - T->Draw("Grade>>hDE","Nation==\"DE\""); - TH1F *hGB = new TH1F("hGB","GB",12,3,15); - hGB->SetFillColor(kBlue); - hGrades->Add(hGB); - T->Draw("Grade>>hGB","Nation==\"GB\""); - hGrades->Draw(); - TLegend *legend = new TLegend(0.7,0.65,0.86,0.88); - legend->AddEntry(hGB,"GB","f"); - legend->AddEntry(hDE,"DE","f"); - legend->AddEntry(hIT,"IT","f"); - legend->AddEntry(hCH,"CH","f"); - legend->AddEntry(hFR,"FR","f"); - legend->Draw(); - - //make histogram of age distribution - c1->cd(4); gPad->SetGrid(); - T->Draw("Age"); - T->Draw("Age>>hRetired","Age>(65-2002+1988)","same"); - TH1F *hRetired = (TH1F*)gDirectory->Get("hRetired"); - hRetired->SetFillColor(kRed); - hRetired->SetFillStyle(3010); - - TArrow *arrow = new TArrow(32,169,55,74,0.03,"|>"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->Draw(); - - TPaveText *pt = new TPaveText(0.12,0.8,0.55,0.88,"brNDC"); - pt->SetFillColor(18); - pt->AddText("People at CERN in 1988"); - pt->AddText("and retired in 2002"); - pt->Draw(); - - c1->cd(); -} diff --git a/tutorials/cernstaff.dat b/tutorials/cernstaff.dat deleted file mode 100644 index 54b047492e503f5d992d5f98910dbb407593d419..0000000000000000000000000000000000000000 --- a/tutorials/cernstaff.dat +++ /dev/null @@ -1,3354 +0,0 @@ - 202 15 58 28 0 10 13 40 11975 PS DE - 530 15 63 33 0 9 13 40 10228 EP CH - 316 15 56 31 2 9 13 40 10730 PS FR - 361 15 61 35 0 9 7 40 9311 PS FR - 302 15 52 24 2 9 8 40 9966 PS DE - 303 15 60 33 0 7 13 40 7599 PS IT - 302 15 53 25 1 9 9 40 9868 ST CH - 361 15 60 32 1 8 5 40 8012 PS IT - 340 15 51 28 0 8 13 40 8813 PS DE - 361 15 56 32 1 7 13 40 7850 PS FR - 361 15 51 29 0 7 13 40 7599 PS FR - 303 15 54 31 2 8 13 40 9315 PS CH - 302 15 54 29 0 7 13 40 7599 PS CH - 300 15 46 25 0 8 6 40 7892 PS CH - 361 15 54 26 1 7 13 40 7850 PS DE - 361 15 57 29 0 7 13 40 7599 PS FR - 316 11 55 28 0 8 11 40 8137 PS CH - 303 15 55 26 1 7 13 40 7850 SPS FR - 361 15 57 29 1 7 8 40 7294 PS FR - 361 15 51 28 2 7 13 40 8101 PS FR - 419 13 54 29 0 5 13 40 5720 PS FR - 202 15 57 26 1 12 13 40 15832 PS DE - 304 15 63 29 1 10 13 40 12226 PS NL - 204 15 56 27 0 11 9 40 13135 PS DE - 204 15 49 27 0 9 9 40 9617 LEP GB - 304 15 52 26 2 8 10 40 8920 PS FR - 304 15 56 28 1 9 6 40 9409 PS FR - 202 15 58 27 0 11 13 40 15340 PS FR - 204 15 54 27 1 11 9 40 13386 EF FR - 202 11 59 33 0 13 10 40 16394 EF IT - 202 15 63 33 1 11 13 40 15591 PS IT - 302 13 58 33 0 9 13 40 9341 PS DE - 304 15 63 33 0 10 8 40 11056 PS NL - 300 13 56 33 0 8 13 40 8052 PS CH - 300 9 53 27 0 7 13 40 6718 PS FR - 300 15 59 28 1 9 13 40 10479 PS IT - 341 15 56 25 0 10 10 40 11423 LEP GB - 301 15 54 24 0 9 10 40 9770 PS GB - 441 14 53 29 1 6 13 32 5725 EP CH - 201 15 53 26 1 11 1 40 11678 EF CH - 441 10 48 25 0 7 8 40 6664 EP DE - 201 15 63 32 1 11 6 40 12746 EP IT - 301 13 56 31 0 9 8 40 8645 EP CH - 301 15 55 30 0 8 13 40 8813 EF FR - 301 13 57 28 0 8 12 40 7932 EP CH - 301 15 57 27 1 8 13 40 9064 LEP FR - 310 15 61 27 2 8 6 40 8394 EP IT - 402 13 56 34 0 7 8 40 6440 EP FR - 502 15 47 25 1 9 3 40 8950 FI IT - 211 15 53 29 0 11 13 40 15340 PS AT - 341 15 64 30 0 8 9 40 8286 LEP CH - 543 10 50 29 0 8 13 40 8394 PE NL - 341 13 52 29 2 8 12 40 8434 SPS CH - 200 15 61 32 1 10 5 40 10757 LEP BE - 310 15 62 28 1 8 12 40 8932 SPS CH - 300 13 53 29 4 9 7 40 9509 PS FR - 304 15 55 30 0 8 13 40 8813 LEP CH - 304 13 47 26 2 9 2 40 8310 LEP FR - 211 15 55 29 2 13 9 40 17194 PS GB - 211 15 53 26 0 12 13 40 15581 PS AT - 200 15 57 32 1 12 12 40 15587 LEP NO - 304 15 59 33 0 9 13 40 10228 SPS FR - 202 15 60 29 1 12 12 40 15587 LEP AT - 304 13 55 31 0 9 11 40 9062 LEP CH - 304 15 51 29 2 9 11 40 10425 PS GB - 204 15 53 29 1 11 3 40 12105 PS IT - 304 15 55 29 1 7 13 40 7850 PS GB - 316 13 53 27 1 8 10 40 7943 LEP FR - 316 15 52 25 0 8 13 40 8813 LEP FR - 304 15 57 26 0 7 13 40 7599 LEP FR - 300 9 61 32 0 10 13 40 10703 EP CH - 216 8 51 29 0 9 11 40 8834 LEP CH - 301 15 52 26 1 7 13 40 7850 EP ES - 317 15 49 26 2 7 13 40 8101 EF FR - 402 13 56 27 2 7 13 40 7448 PS FR - 211 15 51 25 1 12 11 40 15342 LEP AT - 530 8 45 25 0 7 8 40 6212 LEP FR - 211 11 53 27 0 13 10 40 16394 LEP DE - 216 14 56 33 0 10 6 40 10689 LEP CH - 204 15 53 26 1 12 12 40 15587 LEP DK - 300 13 53 31 0 9 13 40 9341 LEP FR - 211 15 60 33 1 13 10 40 17246 LEP DE - 204 15 56 30 0 13 10 40 16995 ST DE - 204 15 56 25 2 12 13 40 16083 PS DE - 304 15 51 25 1 9 6 40 9409 LEP FR - 211 15 57 33 2 13 10 40 17497 SPS NL - 211 15 56 31 2 13 10 40 17497 SPS NL - 200 15 52 28 0 9 13 40 10228 SPS DE - 316 11 51 28 0 7 13 40 7208 LEP DE - 200 15 54 25 1 13 8 40 16640 SPS SE - 211 15 55 26 0 12 13 40 15581 LEP GB - 400 13 52 27 1 6 13 40 6404 LEP FR - 300 13 59 33 0 9 13 40 9341 LEP CH - 200 15 62 27 0 11 13 40 15340 LEP FR - 307 15 61 26 2 8 13 40 9315 LEP FR - 201 15 54 27 2 10 9 40 11741 LEP CH - 200 15 61 33 2 13 10 40 17497 EF IT - 211 15 60 25 0 12 11 40 15091 SPS BE - 204 15 50 25 2 13 5 40 15981 LEP DK - 304 13 55 26 0 8 10 40 7692 PS FR - 301 15 53 25 2 7 13 40 8101 LEP ES - 200 15 59 33 0 14 7 40 18351 DG IT - 500 14 58 33 0 9 13 40 10228 DD CH - 211 15 55 29 0 12 13 40 15581 DD GB - 211 15 58 31 1 12 13 40 15832 DD NL - 204 15 56 30 1 10 13 40 12226 TIS GB - 500 15 53 24 0 11 13 40 15340 EF FR - 341 13 59 33 0 10 13 40 10931 ST FR - 204 15 51 29 0 10 6 40 10689 DD CH - 419 15 59 32 0 7 13 40 7599 DD CH - 204 13 49 25 1 11 6 40 11656 DD FR - 310 13 57 31 0 8 13 40 8052 SPS CH - 341 15 53 24 1 7 13 40 7850 PS FR - 304 11 50 28 0 9 11 40 9479 DD BE - 204 15 50 27 0 10 3 40 10139 SPS DK - 304 15 49 26 1 9 9 40 9868 DD NL - 424 15 52 26 0 6 13 40 6727 LEP FR - 303 15 49 28 1 7 13 40 7850 DD DE - 402 9 58 28 0 6 13 40 5925 SPS FR - 216 15 60 30 1 12 13 40 15832 DD GB - 216 15 55 27 1 13 10 40 17246 DG IT - 216 15 54 26 1 11 13 40 15591 DD GB - 216 15 56 26 0 11 13 40 15340 EP DE - 216 15 52 25 2 11 13 40 15842 DD FR - 216 13 52 24 2 11 10 40 12684 DD CH - 216 15 61 30 0 12 13 40 15581 DD DE - 216 15 56 29 0 12 13 40 15581 AG GB - 215 15 55 28 1 12 13 40 15832 DD CH - 216 10 58 28 0 10 13 32 9274 DD GB - 216 15 55 26 1 11 13 40 15591 SPS GB - 216 15 47 24 2 12 13 40 16083 DD DK - 216 15 54 25 2 11 8 40 13424 DD IT - 216 15 55 25 1 11 13 40 15591 DD DE - 308 15 53 32 0 8 9 40 8286 DD FR - 365 15 53 31 0 7 13 40 7599 DD FR - 304 15 53 28 1 7 13 40 7850 EP CH - 511 11 50 25 0 11 7 40 12203 DD IT - 308 15 49 27 0 9 11 40 9923 EP DE - 216 10 54 30 0 9 10 40 9330 DD DE - 497 15 56 33 0 6 13 40 6727 DD FR - 365 15 52 31 0 6 13 40 6727 DD FR - 308 13 47 24 0 7 13 40 6946 DD FR - 300 15 55 32 0 8 10 40 8418 DD FR - 419 15 50 28 0 6 13 40 6727 DD FR - 402 13 57 27 1 7 11 40 6995 EP CH - 419 15 55 31 1 6 13 40 6978 DD FR - 304 11 51 29 0 8 10 40 8008 DD IT - 300 15 52 32 0 7 11 40 7376 DD FR - 308 15 52 27 0 8 8 40 8155 LEP FR - 300 15 54 27 0 7 10 40 7265 DD FR - 566 15 51 29 0 7 11 40 7376 DD FR - 537 15 53 26 1 8 8 40 8406 DD FR - 566 15 54 26 1 7 11 40 7627 DD FR - 308 15 51 26 1 8 5 40 8012 DD FR - 424 12 59 25 0 6 13 40 6153 EF CH - 505 14 54 33 0 9 10 40 9770 TH FR - 535 10 59 28 0 7 13 40 7208 TH NL - 312 15 51 29 2 8 8 40 8657 AG CH - 504 14 55 26 1 9 5 40 9256 TH CH - 312 15 58 31 0 7 12 40 7487 AG CH - 443 12 56 19 0 6 13 20 3307 DD FR - 560 14 55 19 1 6 11 30 5273 TH FR - 560 12 48 25 1 5 13 30 4652 TH FR - 204 15 51 24 3 11 11 40 14315 DD NL - 448 12 59 22 0 4 15 40 5570 EF FR - 500 10 59 29 0 9 13 40 9778 EP CH - 301 13 56 33 1 8 13 40 8303 EF CH - 543 8 53 32 0 7 13 40 6718 EF CH - 211 11 59 33 0 13 10 40 16394 PS NL - 201 15 58 27 2 11 11 40 14064 PS DK - 302 15 57 28 0 10 8 40 11056 SPS NL - 301 11 49 27 0 9 7 40 8881 EP DE - 300 13 48 26 3 9 7 40 9258 SPS CH - 303 13 46 26 1 8 8 40 7704 PS CH - 211 15 59 33 1 13 10 40 17246 LEP DE - 211 15 56 26 0 12 12 40 15336 EP DE - 204 15 56 33 1 11 11 40 13813 PS IT - 300 15 53 29 1 9 8 40 9715 SPS DE - 303 15 52 28 1 8 13 40 9064 PS FR - 211 13 52 26 0 11 13 40 13996 EF CH - 202 15 52 26 1 12 8 40 14609 PS FR - 315 15 57 30 0 9 10 40 9770 TIS GB - 302 13 53 28 0 9 11 40 9062 LEP FR - 402 13 53 28 0 7 9 40 6542 PS FR - 211 15 59 29 0 11 13 40 15340 EF NO - 303 15 56 32 0 8 11 40 8549 EF FR - 302 15 51 25 0 9 8 40 9464 EF DE - 200 15 63 33 2 14 7 40 18853 PS NL - 202 15 54 28 2 11 13 40 15842 LEP DE - 211 15 59 29 2 11 13 40 15842 EP DE - 102 15 52 27 2 13 10 40 17497 EP GB - 201 15 54 26 2 11 7 40 13210 LEP DE - 214 15 56 31 0 11 13 40 15340 EP NO - 499 8 62 27 0 7 13 40 6718 EP FR - 301 15 57 29 2 8 8 40 8657 EF IT - 402 13 56 34 1 7 11 40 6995 EF CH - 417 15 49 28 0 7 13 40 7599 EF FR - 301 13 50 27 2 8 9 40 8075 EF FR - 204 11 63 33 0 12 13 40 15012 EF IT - 211 15 51 26 2 11 7 40 13210 EF GB - 204 15 63 28 2 11 12 40 14278 SPS CH - 304 15 57 33 1 9 9 40 9868 SPS FR - 424 13 57 33 0 7 8 40 6440 EF CH - 304 13 51 26 2 7 13 40 7448 EF FR - 304 13 50 24 0 9 7 40 8505 EF FR - 402 15 64 27 0 6 13 40 6727 EF IT - 201 15 58 31 0 11 13 40 15340 LEP CH - 341 13 59 33 1 9 13 40 9592 EF CH - 341 13 59 26 0 9 10 40 8923 LEP CH - 402 13 51 26 2 6 13 40 6655 EF FR - 403 13 52 29 2 7 6 40 6740 PS FR - 400 13 49 26 1 6 13 40 6404 LEP FR - 566 8 56 26 0 6 13 40 5925 EP FR - 447 8 45 26 0 6 12 40 5834 EP FR - 443 8 56 26 0 6 13 36 5356 SPS CH - 560 12 56 19 0 5 13 20 3083 EP FR - 566 8 47 24 0 6 13 32 4787 EF FR - 499 8 51 19 0 4 15 20 2777 TH FR - 302 15 49 25 1 7 13 40 7850 SPS DE - 400 13 56 28 0 4 15 40 5570 EF FR - 300 15 56 29 0 8 8 40 8155 SPS FR - 316 13 52 24 2 7 13 40 7448 LEP FR - 500 14 55 31 1 10 6 20 5899 EF DE - 211 15 63 32 0 13 10 40 16995 EF CH - 201 11 58 27 0 13 10 40 16394 EF FR - 211 15 59 29 0 13 10 40 16995 LEP DE - 102 15 58 27 1 13 10 40 17246 EF DE - 211 15 57 27 2 12 13 40 16083 EF CH - 201 15 56 28 1 12 13 40 15832 EF CH - 202 15 53 26 1 12 13 40 15832 LEP FR - 201 13 59 27 1 12 13 40 14467 EF CH - 201 15 59 29 0 10 13 40 11975 SPS CH - 200 15 58 28 0 10 13 40 11975 EF GB - 304 15 57 28 0 9 13 40 10228 EF NL - 201 15 54 27 0 10 13 40 11975 EF CH - 300 15 56 30 0 10 13 40 11975 SPS FR - 301 11 54 26 0 7 13 40 7208 SPS FR - 300 13 57 31 1 8 13 40 8303 EF FR - 301 13 53 27 0 9 6 40 8366 EF CH - 300 13 55 29 0 9 12 40 9202 EF CH - 300 15 58 30 0 8 8 40 8155 EF GB - 316 15 55 26 0 9 8 40 9464 EF CH - 301 13 51 26 0 8 11 40 7812 EF CH - 341 15 54 28 1 8 8 40 8406 PS CH - 301 13 53 26 1 7 13 40 7197 EF FR - 303 13 53 26 1 8 10 40 7943 EF FR - 310 13 55 26 1 9 13 40 9592 EF CH - 300 13 50 27 1 7 13 40 7197 EF FR - 300 15 53 26 1 8 10 40 8669 EF ES - 301 15 50 27 0 9 6 40 9158 EF GB - 300 13 53 25 0 9 12 40 9202 LEP CH - 300 13 51 27 0 8 11 40 7812 EF FR - 301 15 59 27 0 9 8 40 9464 EF CH - 341 15 52 28 1 9 6 40 9409 EF CH - 300 15 50 27 0 9 9 40 9617 EF DE - 367 15 52 27 0 7 13 40 7599 EF GB - 300 13 54 27 0 9 9 40 8784 EF FR - 341 13 52 26 1 8 12 40 8183 EF FR - 300 13 55 28 1 9 9 40 9035 EF CH - 310 15 50 26 3 9 6 40 9911 PS DE - 340 15 48 26 1 8 12 40 8932 EF FR - 300 15 52 26 0 8 8 40 8155 EF GB - 301 15 50 26 1 7 13 40 7850 EF CH - 402 15 53 26 0 7 8 40 7043 EF CH - 424 13 52 28 1 6 13 40 6404 EF FR - 102 15 63 26 0 13 10 40 16995 EP FR - 102 15 59 32 0 13 10 40 16995 EP FR - 102 15 59 32 0 13 10 40 16995 EP GB - 215 15 54 29 1 13 10 40 17246 EP DE - 211 15 63 33 1 12 13 40 15832 EF DE - 102 15 56 26 0 13 10 40 16995 EP IT - 102 15 58 27 2 13 10 40 17497 EP GB - 102 15 55 26 1 12 13 40 15832 EP FR - 202 15 57 28 0 12 13 40 15581 EF CH - 211 15 53 26 1 11 13 40 15591 EP FR - 211 15 58 25 0 13 10 40 16995 EF DE - 530 14 56 30 1 9 13 40 10479 EP CH - 216 14 51 28 2 10 9 40 11741 DD FR - 566 8 51 30 0 6 13 40 5925 EP FR - 308 8 52 29 0 7 13 40 6718 EP DE - 560 10 56 28 0 7 9 40 6773 EP DE - 566 14 53 25 1 6 13 20 3846 DD DE - 300 15 49 27 1 8 12 40 8932 EF DE - 341 13 48 24 2 8 8 40 7955 LEP FR - 304 15 51 24 1 9 5 40 9256 DD CH - 216 15 55 24 0 10 13 40 11975 TH DE - 301 15 53 26 0 7 13 40 7599 EP BE - 303 15 53 25 1 8 13 40 9064 EF FR - 302 15 53 25 1 9 5 40 9256 EF FR - 301 15 48 25 2 8 11 40 9051 EF CH - 304 13 59 26 1 7 13 40 7197 EF FR - 304 15 49 24 2 8 9 40 8788 EF FR - 402 15 61 25 0 7 13 40 7599 EF FR - 301 13 53 26 1 8 6 40 7465 EF FR - 300 15 49 25 2 9 6 40 9660 EF AT - 402 13 55 25 1 6 13 40 6404 EF CH - 301 15 58 25 0 8 10 40 8418 EF GR - 301 15 52 25 1 8 8 40 8406 SPS FR - 467 15 51 26 2 6 13 40 7229 EF FR - 303 15 53 25 0 9 6 40 9158 EF DE - 402 15 50 25 2 7 11 40 7878 LEP CH - 303 15 53 24 0 8 7 40 8024 EF FR - 400 13 52 28 0 6 13 40 6153 EF FR - 400 15 56 29 0 5 13 40 6293 EF FR - 402 15 52 26 2 6 13 40 7229 EF IT - 400 13 60 26 0 5 13 40 5720 LEP FR - 300 15 49 25 2 8 5 40 8263 EF FR - 301 11 55 25 0 7 13 40 7208 EF CH - 301 13 48 25 0 7 13 40 6946 EF CH - 402 15 50 27 0 7 6 40 6820 SPS FR - 300 13 47 25 1 8 8 40 7704 EF FR - 303 13 48 25 1 7 13 40 7197 EF FR - 301 15 56 25 0 8 8 40 8155 EF CH - 468 13 50 28 1 5 13 40 5971 EF FR - 541 10 56 25 0 8 6 40 7495 EP FR - 566 8 47 27 0 6 13 20 3079 DD FR - 308 12 47 26 0 8 7 40 7334 PS FR - 499 8 64 26 0 6 13 40 5925 EP FR - 308 10 50 19 0 7 11 30 5307 EP CH - 566 8 49 26 0 6 13 40 5925 EP FR - 447 12 61 20 0 5 12 20 3040 EF FR - 499 10 53 19 0 5 13 20 3069 TH CH - 560 12 47 26 0 5 13 20 3083 FI FR - 566 12 45 19 1 5 13 40 5971 EP CH - 560 12 53 20 0 5 13 40 5720 FI FR - 560 12 53 19 0 5 13 20 3083 EF FR - 560 10 59 19 0 5 13 30 4495 EP FR - 566 8 51 25 0 5 13 20 2855 EP FR - 447 12 49 26 2 5 13 20 3585 EP FR - 560 14 53 19 1 5 13 20 3620 EP FR - 530 10 55 25 0 7 8 40 6664 EP DE - 447 8 57 25 0 6 13 40 5925 EP CH - 560 8 52 19 0 5 13 20 2855 EP FR - 499 10 49 24 0 5 13 40 5922 EF FR - 560 12 56 24 1 4 15 40 5821 EP FR - 499 12 47 19 2 5 13 20 3585 EP FR - 566 14 53 24 2 6 10 40 6956 EP DE - 566 8 47 24 0 6 12 20 3033 FI FR - 211 15 58 25 0 12 13 40 15581 EP DE - 216 15 52 24 1 11 8 40 13173 SPS DE - 304 15 50 24 2 8 6 40 8394 LEP BE - 541 15 58 24 0 9 10 40 9770 ST FR - 530 14 50 25 1 6 13 20 3846 PS CH - 211 15 63 33 1 13 10 40 17246 EP IT - 102 15 64 26 0 14 7 40 18351 EP FR - 102 15 64 30 0 13 10 40 16995 EP GB - 102 11 56 30 0 13 10 40 16394 EP GB - 102 15 59 33 0 13 10 40 16995 EP IT - 303 9 56 26 0 7 13 40 6718 EF CH - 303 15 47 24 3 8 7 40 8777 EF DE - 102 15 54 24 1 12 13 40 15832 EP IT - 102 15 58 29 0 13 10 40 16995 EP IT - 102 15 58 30 0 13 10 40 16995 EP DE - 102 15 62 33 0 13 10 36 15379 EP IT - 102 15 51 27 2 13 10 40 17497 EP IT - 203 15 59 29 0 11 9 40 13135 PS IT - 204 15 61 31 0 9 13 40 10228 EP SE - 507 15 51 30 0 11 3 40 11854 PE CH - 301 11 62 32 0 7 13 40 7208 EP NO - 304 15 52 27 3 9 13 40 10981 EP BE - 300 15 57 29 0 9 13 40 10228 EF DE - 301 13 58 33 1 8 13 40 8303 EP CH - 304 15 54 31 1 8 13 40 9064 LEP IT - 204 15 54 24 3 10 2 40 10708 EP FR - 301 13 56 32 1 9 9 40 9035 EP CH - 304 15 57 30 0 9 13 40 10228 EP CH - 300 13 55 31 0 8 13 40 8052 EF CH - 300 13 55 32 0 9 13 40 9341 EP CH - 300 13 51 29 0 10 4 40 9426 EP FR - 300 15 52 24 0 9 9 40 9617 EP IT - 301 15 54 27 0 7 13 40 7599 EF FR - 301 15 58 30 0 8 5 40 7761 EP FR - 310 11 51 24 0 9 13 40 9778 SPS NL - 304 15 51 27 0 9 13 40 10228 EP GB - 301 13 51 27 1 9 8 40 8896 EP CH - 304 13 50 25 1 10 4 28 7028 EP FR - 300 15 51 32 0 9 5 40 9005 EP CH - 301 11 50 27 0 9 7 40 8881 EF CH - 301 15 53 27 2 8 11 40 9051 EP CH - 400 13 57 27 3 7 12 40 7598 EP FR - 300 15 55 28 2 7 13 40 8101 AG FR - 400 13 52 27 2 7 13 40 7448 EP FR - 304 15 54 25 0 7 13 40 7599 EP FR - 300 13 51 27 2 8 10 40 8194 EP FR - 310 13 58 25 0 7 13 40 6946 EP FR - 402 15 57 27 1 6 13 40 6978 EF IT - 500 15 61 29 1 12 13 40 15832 DG GB - 200 15 57 33 2 10 9 40 11741 EF FR - 301 15 54 28 0 9 5 40 9005 EP FR - 303 15 52 30 0 9 6 40 9158 EP IT - 541 15 57 29 0 8 6 40 7892 EP IT - 214 11 62 26 0 11 13 40 14776 DD DE - 201 15 61 31 1 11 10 40 13600 EP SE - 300 15 59 32 1 10 13 40 12226 EP GB - 200 15 53 26 0 10 7 40 10873 EF GB - 300 13 54 33 0 9 8 40 8645 EP CH - 530 14 50 25 1 9 2 40 8796 FI CH - 214 15 61 32 0 12 13 40 15581 EP NO - 500 14 47 24 2 11 3 40 12356 EP GB - 308 8 57 31 0 7 13 40 6718 EP FR - 211 15 58 24 2 12 12 40 15838 EP IT - 204 15 57 32 0 12 13 40 15581 EP NL - 304 15 59 32 0 9 13 40 10228 LEP NL - 304 15 56 33 0 8 13 40 8813 EP SE - 204 15 50 28 1 10 5 40 10757 EP IT - 204 15 55 26 0 11 8 40 12922 EP GB - 304 13 58 29 0 10 6 40 9761 PS CH - 424 13 54 32 0 7 9 40 6542 EP CH - 418 15 51 27 1 7 13 40 7850 EP CH - 304 15 53 32 0 9 9 40 9617 EP FR - 443 15 51 27 0 7 13 40 7599 EP BE - 304 15 50 24 1 8 11 40 8800 EP FR - 308 15 44 25 1 9 5 40 9256 SPS BE - 308 13 48 24 2 8 13 40 8554 LEP CH - 443 10 49 25 0 5 13 40 5922 EP DE - 424 8 53 19 0 4 15 20 2777 EF CH - 341 13 49 24 1 8 13 40 8303 EF CH - 300 13 49 24 5 9 9 40 10039 LEP FR - 201 15 54 26 3 13 9 40 17445 SPS IT - 202 15 48 24 1 12 5 40 13878 SPS BE - 308 9 47 24 0 8 13 40 7824 DD CH - 201 15 59 24 1 11 13 40 15591 PS GB - 304 15 53 24 0 9 6 40 9158 EF IT - 424 15 55 29 2 7 13 40 8101 EP GR - 424 13 52 29 0 6 13 40 6153 EP CH - 301 13 59 33 0 8 9 40 7573 EP FR - 418 13 50 29 1 6 13 40 6404 EP FR - 424 11 52 29 0 6 13 40 6355 EP FR - 424 15 54 31 0 7 13 40 7599 EP FR - 310 15 55 29 2 8 7 40 8526 EP GB - 202 11 62 33 0 13 10 40 16394 EP IT - 502 15 55 29 0 10 7 40 10873 FI CH - 541 14 47 26 1 6 13 40 6978 ST FR - 497 13 54 27 0 6 13 40 6153 ST FR - 497 15 57 25 0 6 13 40 6727 SPS FR - 497 13 56 29 1 5 13 40 5971 ST FR - 497 13 57 28 0 6 12 40 6062 ST FR - 440 13 54 27 2 6 13 40 6655 LEP FR - 530 8 53 19 0 7 13 20 3492 EP FR - 102 8 58 19 0 12 12 40 13765 EP IT - 214 8 55 19 0 8 13 20 4067 EP NL - 560 8 47 19 0 6 10 20 2939 EP CH - 543 14 60 24 2 6 12 40 7137 EP CH - 560 8 56 24 0 5 13 40 5492 EP FR - 499 12 53 19 0 5 13 20 3083 EF FR - 560 10 55 20 0 5 13 40 5922 EP IT - 560 10 50 25 0 6 13 40 6355 EP DE - 566 8 53 19 0 6 13 40 5925 EP CH - 543 14 47 25 1 7 8 40 7294 EP IT - 560 14 45 19 1 4 15 20 3542 EP FR - 560 12 45 25 0 6 13 40 6153 EP FR - 560 14 48 25 1 6 11 40 6795 EP CH - 543 8 47 19 0 6 13 40 5925 EP GB - 214 15 55 26 1 11 13 40 15591 EP FR - 102 15 62 24 2 14 7 40 18853 DG IT - 543 8 50 25 0 7 8 40 6212 EP CH - 508 15 63 32 0 10 13 40 11975 ST CH - 501 13 55 31 0 11 9 40 11988 FI CH - 501 15 55 28 0 11 8 40 12922 FI BE - 501 15 55 32 0 10 13 40 11975 FI FR - 501 15 61 28 0 10 10 40 11423 FI BE - 531 13 57 26 1 9 9 40 9035 FI FR - 531 15 52 27 1 9 10 40 10021 FI FR - 531 15 51 26 0 8 13 40 8813 FI FR - 543 10 58 28 0 7 13 40 7208 FI FR - 560 13 57 26 0 6 13 40 6153 FI CH - 531 9 54 25 0 9 8 40 8417 FI FR - 560 12 49 27 2 6 13 40 6655 FI FR - 530 13 47 29 0 8 10 40 7692 FI FR - 561 13 54 30 0 6 12 40 6062 FI FR - 531 13 48 26 2 9 1 40 8171 FI FR - 502 15 55 26 0 11 10 40 13349 FI DE - 502 15 54 26 1 10 7 40 11124 FI NO - 543 8 47 28 0 8 2 40 6508 FI FR - 532 8 50 30 0 7 13 40 6718 FI CH - 543 8 48 27 0 7 9 40 6314 ST FR - 532 13 50 27 1 8 6 40 7465 FI FR - 562 12 48 26 0 5 13 20 3083 FI FR - 532 12 48 28 2 6 13 40 6655 FI FR - 532 13 46 27 0 8 4 40 6975 FI FR - 560 8 46 24 0 5 13 40 5492 ST CH - 560 8 50 19 0 6 13 20 3079 FI FR - 204 15 55 26 2 13 8 40 16891 PS FR - 204 15 54 25 0 11 13 40 15340 PS FR - 202 13 52 25 1 11 11 40 12627 PS CH - 204 15 53 24 0 12 12 40 15336 PS FR - 302 13 60 33 1 9 12 40 9453 PS FR - 530 15 57 32 1 10 5 40 10757 AG GB - 302 15 59 28 1 9 13 40 10479 LEP BE - 361 15 52 28 1 8 13 40 9064 PS IT - 361 15 54 30 0 8 13 40 8813 PS CH - 300 15 53 33 1 9 9 40 9868 PS CH - 361 13 61 29 0 9 13 40 9341 PS FR - 361 15 58 29 0 9 9 40 9617 PS IT - 308 11 49 27 0 7 13 40 7208 PS IT - 302 15 59 27 1 7 13 40 7850 PS FR - 361 15 58 29 0 9 5 40 9005 PS FR - 204 15 49 25 2 10 6 40 11191 PS BE - 300 15 49 26 3 9 2 40 9298 PS FR - 361 15 53 27 0 7 13 40 7599 PS CH - 302 13 57 27 0 7 13 40 6946 PS FR - 361 11 51 29 0 8 7 40 7623 PS IT - 361 15 50 28 1 9 9 40 9868 PS FR - 443 8 50 25 0 6 13 32 4787 PS CH - 500 15 64 28 0 12 13 40 15581 PE DE - 211 15 54 25 1 13 10 40 17246 LEP CH - 201 15 54 25 1 12 10 40 15098 PS IT - 201 15 58 26 5 11 9 40 14390 PS GB - 216 8 49 24 0 10 9 40 10033 DD FR - 216 15 52 24 1 11 13 40 15591 DD IT - 417 15 51 24 1 7 6 40 7071 EF FR - 418 13 50 23 1 6 13 40 6404 EF CH - 308 13 47 23 2 9 4 40 8589 EP FR - 102 15 52 24 3 12 9 40 15355 EP DE - 201 15 55 25 1 12 13 40 15832 LEP NO - 204 15 53 27 1 13 8 40 16640 EF FR - 304 13 50 24 3 8 6 40 7967 PS FR - 103 15 57 30 1 13 10 40 17246 TH IT - 103 15 61 28 0 13 10 40 16995 TH GB - 103 15 58 28 1 13 10 40 17246 TH SE - 103 15 59 30 0 13 10 40 16995 TH FR - 302 15 58 24 0 8 6 40 7892 EF FR - 440 10 51 24 0 6 13 32 5131 LEP DE - 202 13 47 24 2 10 1 40 9427 PS FR - 341 15 55 25 0 9 10 40 9770 PS GB - 441 15 55 27 0 6 13 40 6727 EF CH - 341 15 55 28 0 8 12 40 8681 PS CH - 341 15 52 25 3 9 4 40 9605 LEP IT - 304 13 48 27 1 9 8 40 8896 SPS CH - 341 11 47 24 0 8 9 40 7880 LEP FR - 341 15 48 27 0 8 8 40 8155 PS CH - 341 13 47 25 2 8 8 40 7955 LEP CH - 310 13 52 33 0 8 13 40 8052 PS CH - 402 13 52 26 0 7 11 40 6744 PS CH - 402 15 50 26 0 6 13 40 6727 PS FR - 402 13 51 25 0 6 13 40 6153 PS CH - 402 13 48 26 2 6 13 40 6655 PS CH - 202 15 58 28 3 12 13 40 16334 LEP CH - 204 15 53 28 2 12 12 40 15838 DG BE - 204 15 56 27 2 11 13 40 15842 PS DE - 304 11 58 33 0 9 12 40 9629 PS FR - 304 13 59 29 0 6 13 40 6153 PS FR - 202 15 58 25 1 12 13 40 15832 PS GB - 304 15 56 29 0 9 13 40 10228 PS NL - 300 15 57 27 0 8 13 40 8813 SPS IT - 300 15 55 25 1 9 4 40 9103 PS GB - 204 15 56 28 1 10 7 40 11124 EF DE - 304 15 59 30 0 9 12 40 10075 PS DE - 304 15 57 27 0 8 8 40 8155 PS FR - 211 15 55 26 1 11 13 40 15591 PS DE - 202 15 52 25 3 11 11 40 14315 PS DE - 304 15 55 31 0 9 8 40 9464 PS CH - 316 9 55 32 0 10 5 40 9366 PS FR - 303 15 56 29 1 8 11 40 8800 PS CH - 316 15 52 24 3 9 11 40 10676 PS FR - 304 13 57 28 0 9 3 40 7948 PS CH - 403 15 52 33 1 7 9 40 7405 PS IT - 316 15 53 26 1 9 8 40 9715 PS CH - 302 15 50 25 1 8 13 40 9064 PS FR - 417 15 46 25 1 7 9 40 7405 PS IT - 203 15 55 26 0 11 13 40 15340 PS CH - 419 13 60 28 0 6 13 40 6153 PS FR - 419 13 49 28 2 7 12 40 7347 PS FR - 200 15 50 25 3 10 7 40 11626 LEP BE - 307 13 52 32 1 8 13 40 8303 LEP FR - 440 12 48 27 1 6 13 40 6404 PS CH - 200 15 62 33 0 12 13 40 15581 SPS CH - 317 13 57 33 0 8 5 40 7094 EF FR - 303 15 52 24 1 10 4 40 10573 EF FR - 362 13 57 33 1 6 13 40 6404 PS FR - 304 15 48 24 1 9 5 40 9256 EF FR - 560 14 46 24 1 6 13 20 3846 DD CH - 316 15 49 24 2 8 7 40 8526 LEP IT - 362 13 53 30 0 7 13 40 6946 PS FR - 362 11 53 28 0 7 13 40 7208 PS CH - 402 11 56 31 0 7 13 40 7208 PS FR - 362 15 56 30 0 7 13 40 7599 PS CH - 362 15 55 29 1 6 13 40 6978 PS IT - 362 13 49 27 1 8 9 40 7824 PS CH - 303 13 53 28 0 8 8 40 7453 PS FR - 443 9 47 26 0 7 6 40 6010 PS FR - 403 15 64 28 0 5 13 40 6293 PS FR - 202 11 51 26 0 11 13 40 14776 PS CH - 302 15 59 31 2 10 10 40 11925 SPS DK - 304 13 55 28 1 9 13 40 9592 PS FR - 304 13 49 24 2 7 12 40 7347 PS CH - 302 15 63 31 1 7 13 40 7850 PS CH - 203 13 52 28 2 10 9 40 10763 PS CH - 362 13 58 29 0 9 7 40 8505 PS FR - 362 13 49 27 2 8 13 40 8554 SPS CH - 560 14 51 23 2 6 10 40 6956 TH GB - 300 13 50 28 0 8 5 40 7094 SPS FR - 302 15 54 28 0 7 13 40 7599 SPS FR - 303 13 48 25 1 6 13 40 6404 PS FR - 462 11 58 28 0 7 8 40 6664 SPS CH - 362 15 51 31 0 7 13 40 7599 PS DE - 303 15 59 29 0 7 11 40 7376 PS BE - 302 15 59 26 1 7 12 40 7738 SPS FR - 462 13 47 26 1 6 13 40 6404 SPS CH - 362 15 52 26 2 7 13 40 8101 PS FR - 200 15 58 26 0 13 10 40 16995 PS NL - 201 15 61 29 0 12 13 40 15581 EP DE - 204 15 53 27 2 12 13 40 16083 PS BE - 211 15 57 32 1 11 7 40 12959 PS GR - 304 13 57 29 0 9 13 40 9341 PS CH - 201 15 56 28 0 10 11 40 11607 PS NL - 201 15 53 25 2 10 7 40 11375 SPS GB - 208 15 51 26 1 11 7 40 12959 PS FR - 304 13 50 29 1 9 6 40 8617 PS CH - 301 15 61 29 0 7 13 40 7599 PS FR - 402 13 55 28 0 6 13 40 6153 PS CH - 300 13 49 24 1 8 6 40 7465 PS FR - 204 15 58 33 2 11 13 40 15842 SPS SE - 204 15 61 24 0 11 13 40 15340 PS FR - 204 15 56 28 1 10 6 40 10940 LEP DE - 304 15 56 29 2 9 13 40 10730 SPS CH - 204 15 48 25 0 11 8 40 12922 PS CH - 304 15 63 30 1 9 10 40 10021 PS FR - 424 15 58 30 0 6 13 40 6727 PS FR - 402 15 51 29 2 8 5 40 8263 PS CH - 541 13 55 33 2 7 13 40 7448 PS CH - 200 15 62 33 1 13 10 40 17246 PS GB - 211 15 55 24 1 12 13 40 15832 PS GB - 204 15 61 31 0 11 13 40 15340 PS CH - 202 15 53 29 1 10 7 40 11124 SPS FR - 302 15 58 27 1 7 13 40 7850 PS FR - 202 15 59 33 1 11 13 40 15591 PS SE - 204 15 54 27 0 10 11 40 11607 PS BE - 316 15 56 30 1 9 13 40 10479 PS GB - 204 15 57 32 1 11 8 40 13173 PS CH - 317 13 59 31 0 8 10 40 7692 PS CH - 304 13 52 32 0 8 13 40 8052 PS CH - 424 11 59 30 0 7 12 40 7099 PS IT - 304 15 63 33 0 9 13 40 10228 SPS NO - 202 15 54 27 3 11 13 40 16093 PS CH - 202 13 59 29 1 11 6 40 11656 PS CH - 202 15 57 24 1 11 13 40 15591 PS DE - 302 15 61 26 0 10 11 40 11607 SPS DE - 300 15 53 27 1 9 5 40 9256 PS AT - 304 15 49 27 0 7 13 40 7599 LEP AT - 202 15 52 27 2 11 13 40 15842 PS CH - 208 15 53 25 2 12 10 40 15349 LEP CH - 202 15 49 24 2 11 10 40 13851 LEP DE - 300 15 56 31 1 9 5 40 9256 SPS CH - 300 13 53 33 0 9 9 40 8784 LEP CH - 202 15 56 27 0 12 11 40 15091 LEP FR - 512 15 56 30 0 12 10 40 14847 ST CH - 302 13 62 26 2 9 13 40 9843 PS CH - 302 13 57 25 0 9 9 40 8784 SPS CH - 317 15 60 25 0 9 6 40 9158 PS CH - 361 9 51 29 0 7 13 40 6718 PS CH - 410 15 49 27 2 5 13 40 6795 PS IT - 497 13 54 25 0 5 13 40 5720 PS FR - 419 13 51 25 1 5 13 40 5971 PS FR - 400 15 51 28 0 6 13 40 6727 PS FR - 204 15 47 24 2 11 2 40 12143 DD IT - 530 14 45 27 2 8 8 40 8657 PS FR - 500 15 54 27 0 11 13 40 15340 PE GB - 543 10 60 30 0 9 8 40 9031 AG CH - 506 15 59 30 0 11 13 40 15340 PE FR - 543 10 54 25 0 8 8 40 7752 SPS GB - 543 8 47 25 0 8 6 40 6986 DG FR - 530 10 54 28 0 9 10 40 9330 PE IT - 530 14 53 27 2 10 3 40 10641 PE CH - 500 11 60 27 0 12 13 40 15012 PE FR - 537 14 52 26 0 8 13 20 4676 PE CH - 530 8 56 28 0 8 13 40 7824 AG CH - 530 13 54 31 0 8 8 40 7453 FI FR - 530 8 47 25 0 7 6 32 4855 ST CH - 500 15 57 24 0 10 13 40 11975 AG GB - 560 13 58 32 0 6 13 40 6153 EF CH - 564 13 51 29 1 6 9 40 6042 ST FR - 440 13 52 26 1 6 13 40 6404 LEP CH - 564 9 47 26 0 6 10 40 5654 ST FR - 497 13 51 30 2 4 15 40 6072 ST FR - 426 13 51 30 0 5 12 40 5638 ST CH - 564 13 55 33 0 5 13 40 5720 ST FR - 540 10 61 28 0 9 13 40 9778 AG GB - 562 14 51 26 2 6 13 40 7229 AG CH - 562 12 47 26 1 6 13 28 4696 AG FR - 543 12 49 24 2 7 10 40 7145 TIS FR - 432 13 52 31 0 6 13 40 6153 AG FR - 432 13 46 24 2 7 7 40 6841 AG CH - 432 13 51 26 3 6 13 40 6906 AG CH - 530 12 45 25 1 8 4 40 7226 AG CH - 543 12 50 24 0 7 13 40 6946 PS FR - 562 8 47 24 0 6 13 40 5925 AG FR - 507 5 55 24 4 11 13 24 9712 PE ES - 535 10 64 34 0 9 13 40 9778 TH CH - 500 10 62 31 0 9 13 40 9778 LEP GB - 530 10 59 30 0 8 8 40 7752 AG FR - 543 10 49 26 0 8 10 40 8008 AG GB - 211 15 63 33 0 13 10 40 16995 TIS DE - 300 15 63 33 0 10 13 40 11975 DD SE - 499 14 46 23 2 5 13 20 3871 EP CH - 402 13 57 24 0 7 13 40 6946 EF FR - 530 10 52 24 0 10 1 40 9332 AG DE - 302 13 56 24 1 8 13 40 8303 SPS CH - 361 15 52 25 0 8 13 40 8813 PS FR - 201 15 53 24 2 11 10 40 13851 SPS NO - 211 15 56 27 1 11 13 40 15591 TIS GB - 315 15 57 27 1 9 8 40 9715 TIS BE - 300 15 54 27 2 9 7 40 9813 TIS CH - 315 15 60 24 0 9 5 40 9005 TIS BE - 315 11 54 24 0 9 7 40 8881 TIS DK - 200 15 55 26 0 9 12 40 10075 TIS DK - 315 15 56 27 1 9 9 40 9868 TIS FR - 304 15 62 27 0 8 13 40 8813 TIS BE - 424 11 57 29 0 7 13 40 7208 TIS FR - 300 8 50 29 0 6 13 40 5925 TIS FR - 543 10 58 25 0 8 8 40 7752 PS GR - 206 15 60 31 0 11 11 40 13562 TIS BE - 206 15 53 26 4 11 6 40 13499 TIS FR - 206 15 55 26 0 11 6 40 12495 TIS NL - 402 15 59 31 0 7 13 40 7599 LEP IT - 504 15 61 27 1 11 13 40 15591 TH GB - 312 15 59 33 0 8 13 40 8813 AG FR - 534 12 54 26 2 8 10 40 8194 AG CH - 433 13 54 30 1 6 13 40 6404 AG FR - 543 10 51 33 0 8 13 40 8394 TIS CH - 530 8 63 30 0 8 5 40 6866 AG CH - 315 15 64 32 0 8 8 40 8155 TIS FR - 415 13 58 34 2 7 13 40 7448 TIS FR - 415 13 53 32 0 7 10 40 6643 TIS FR - 560 13 57 32 0 6 13 40 6153 ST FR - 415 15 49 27 1 6 13 40 6978 TIS FR - 560 15 50 28 0 6 12 40 6635 AG FR - 415 15 54 32 0 6 13 40 6727 TIS FR - 415 13 55 32 0 7 12 40 6845 TIS FR - 415 7 59 34 0 7 8 40 7043 TIS FR - 415 15 55 28 0 7 7 40 6931 TIS FR - 530 15 49 27 0 7 8 40 7043 TIS FR - 400 15 55 27 0 6 13 40 6727 TIS FR - 415 15 51 30 0 7 7 40 6931 TIS FR - 415 15 47 26 1 6 13 40 6978 TIS FR - 415 15 51 29 1 6 13 40 6978 TIS FR - 315 13 50 26 2 7 10 40 7145 TIS FR - 415 15 51 31 0 6 13 40 6727 TIS FR - 315 15 49 29 0 7 9 40 7154 TIS FR - 300 15 51 31 2 7 7 40 7433 TIS FR - 415 15 51 31 0 6 13 40 6727 TIS FR - 415 11 53 31 0 6 13 40 6355 TIS FR - 415 15 54 33 0 7 9 40 7154 TIS FR - 415 15 48 27 1 6 13 40 6978 TIS FR - 415 15 47 26 1 6 12 40 6886 TIS FR - 435 9 57 34 0 4 15 40 5342 ST FR - 530 8 55 32 0 9 12 40 8974 SPS CH - 300 15 45 26 1 8 5 40 8012 AG FR - 466 13 49 28 1 6 13 40 6404 AG FR - 466 13 49 32 3 6 13 40 6906 AG FR - 560 8 56 26 0 7 8 40 6212 TIS FR - 207 15 59 29 0 12 13 40 15581 LEP CH - 308 15 50 23 0 8 5 40 7761 EP FR - 499 13 49 23 1 5 13 40 5971 EF FR - 201 15 63 24 0 11 13 40 15340 PS ZZ - 530 13 57 28 2 8 13 40 8554 ST FR - 530 8 52 31 0 8 6 32 5644 ST CH - 560 12 50 27 1 6 13 32 5266 ST FR - 543 8 48 28 0 7 10 40 6415 LEP FR - 560 12 45 24 1 6 13 40 6404 LEP CH - 202 13 61 28 0 11 13 40 13996 ST FR - 201 15 55 27 1 11 13 40 15591 LEP BE - 200 15 59 30 2 11 10 40 13851 ST CH - 200 15 49 24 2 10 5 40 11008 LEP FR - 342 15 52 29 0 8 13 40 8813 LEP AT - 317 15 53 34 1 8 13 40 9064 LEP FR - 341 13 53 29 0 9 8 40 8645 LEP FR - 315 15 57 28 1 9 5 40 9256 TIS FR - 343 13 53 29 1 8 13 40 8303 LEP CH - 543 8 59 33 0 8 8 40 7225 LEP CH - 315 15 59 30 0 8 9 40 8286 TIS FR - 343 15 54 26 1 9 7 40 9562 LEP FR - 535 15 54 25 1 7 9 40 7405 ST CH - 317 15 49 27 0 8 4 40 7630 LEP FR - 543 8 52 28 0 7 13 40 6718 ST FR - 530 15 56 27 0 8 13 40 8813 EP FR - 317 13 61 28 0 9 13 40 9341 LEP CH - 317 15 56 27 1 10 13 40 12226 LEP FR - 300 13 61 30 0 10 9 40 10261 ST CH - 345 13 55 33 2 9 11 40 9564 LEP CH - 307 15 57 27 0 8 13 40 8813 LEP FR - 317 9 57 28 0 8 13 40 7824 ST FR - 307 15 57 27 0 9 5 40 9005 ST FR - 345 15 52 25 1 8 9 40 8537 ST IT - 300 15 52 26 0 9 8 40 9464 LEP FR - 431 13 54 32 2 6 13 40 6655 LEP FR - 431 11 53 30 0 6 13 40 6355 LEP FR - 318 15 49 24 2 9 0 40 8742 LEP ES - 307 15 52 26 1 7 13 40 7850 LEP FR - 438 13 57 35 0 6 13 40 6153 LEP FR - 317 13 50 29 1 7 11 40 6995 LEP FR - 438 13 61 28 2 7 10 40 7145 ST FR - 431 13 57 29 0 6 13 40 6153 LEP FR - 417 13 60 31 0 6 13 40 6153 LEP FR - 317 15 54 33 0 9 11 40 9923 LEP FR - 300 15 53 31 0 10 5 40 10506 ST FR - 317 13 56 34 2 8 10 40 8194 ST CH - 343 15 53 25 1 8 13 40 9064 ST FR - 317 15 57 26 1 8 12 40 8932 ST FR - 317 15 54 29 0 8 5 40 7761 ST FR - 302 13 50 28 1 9 2 40 8059 ST FR - 317 13 58 35 0 7 13 40 6946 LEP FR - 417 15 54 29 0 7 12 40 7487 LEP FR - 419 13 62 33 0 6 13 40 6153 ST FR - 424 13 50 29 0 7 13 40 6946 ST CH - 300 15 53 28 2 8 7 40 8526 ST CH - 419 13 52 29 2 6 13 40 6655 ST FR - 302 15 52 28 0 8 11 40 8549 ST FR - 200 15 59 29 0 11 13 40 15340 LEP BE - 214 15 51 24 1 11 13 40 15591 DD DK - 316 15 49 24 2 7 13 40 8101 SPS FR - 304 15 49 24 3 8 13 40 9566 LEP IT - 301 15 47 24 3 8 9 40 9039 EF FR - 560 12 45 23 1 6 13 40 6404 FI FR - 216 15 58 24 2 11 13 40 15842 PS DE - 307 15 55 24 1 8 13 40 9064 LEP BE - 202 13 54 24 0 10 9 40 10261 SPS CH - 304 11 48 24 0 9 6 40 8732 PS FR - 300 15 50 24 2 8 9 40 8788 PS IT - 560 12 43 24 2 6 13 40 6655 ST FR - 419 13 51 28 1 6 13 40 6404 ST FR - 419 13 53 28 1 7 13 40 7197 ST FR - 419 13 49 28 2 6 13 40 6655 ST CH - 317 13 52 27 2 9 2 40 8310 LEP FR - 417 13 50 28 2 7 12 40 7347 LEP FR - 300 15 60 31 1 9 7 40 9562 ST CH - 300 15 62 28 0 8 11 40 8549 ST FR - 300 13 52 31 0 9 3 40 7948 ST FR - 317 15 57 31 0 8 13 40 8813 LEP CH - 341 13 53 26 2 8 11 40 8314 LEP FR - 317 13 55 33 0 8 8 40 7453 ST CH - 400 13 53 31 0 7 13 40 6946 ST FR - 403 13 55 27 1 6 13 40 6404 ST FR - 317 15 58 28 0 7 13 40 7599 LEP FR - 317 13 53 29 2 8 8 40 7955 ST FR - 462 13 62 26 0 7 11 40 6744 SPS FR - 412 15 57 34 0 6 13 40 6727 LEP FR - 300 13 51 30 1 8 5 40 7345 ST FR - 403 13 55 29 0 6 13 40 6153 ST FR - 419 5 57 34 0 6 13 40 6153 ST FR - 402 15 53 30 0 8 6 40 7892 LEP IT - 438 15 53 29 1 7 13 40 7850 ST FR - 438 13 56 28 0 7 13 40 6946 LEP FR - 301 13 52 27 1 8 8 40 7704 EF FR - 301 13 56 25 2 8 9 40 8075 EF FR - 409 13 59 29 0 8 5 40 7094 LEP FR - 412 13 53 29 0 6 13 40 6153 LEP FR - 438 15 51 28 0 8 8 40 8155 LEP FR - 417 15 53 28 2 7 6 40 7322 LEP FR - 317 15 50 26 1 7 13 40 7850 ST FR - 417 13 57 33 0 7 13 40 6946 LEP FR - 497 13 62 28 1 5 13 40 5971 ST FR - 560 13 58 33 0 6 11 40 5972 LEP FR - 300 15 61 30 0 9 10 40 9770 ST FR - 462 11 58 28 0 6 13 40 6355 ST FR - 462 5 59 34 0 6 13 40 6153 ST FR - 400 15 57 26 0 7 8 40 7043 ST FR - 300 13 57 29 0 9 6 40 8366 ST CH - 530 10 53 25 0 8 4 40 7238 AG FR - 311 15 52 25 3 8 9 40 9039 ST FR - 542 15 57 32 1 7 13 40 7850 ST FR - 542 13 53 34 1 6 13 40 6404 ST FR - 495 15 50 29 0 5 13 40 6293 ST FR - 417 13 53 28 1 6 12 40 6313 ST FR - 417 13 52 28 1 6 13 40 6404 ST CH - 417 13 60 28 0 7 6 40 6238 ST FR - 567 13 59 33 0 7 12 40 6845 ST CH - 560 13 58 29 0 5 13 40 5720 LEP FR - 495 13 52 28 0 5 13 40 5720 ST FR - 497 15 58 31 1 5 13 40 6544 ST GB - 417 13 51 28 2 5 13 40 6222 ST FR - 495 15 60 28 0 5 13 40 6293 ST FR - 542 13 51 29 2 7 9 40 7044 ST FR - 400 13 50 28 0 6 13 40 6153 PS FR - 495 9 56 31 0 5 13 40 5492 ST FR - 417 13 56 29 0 6 13 40 6153 ST FR - 497 13 50 28 2 5 13 40 6222 ST FR - 417 13 54 28 1 5 13 40 5971 ST FR - 417 9 62 28 0 5 13 40 5492 ST FR - 415 13 61 28 0 6 12 40 6062 TIS FR - 497 13 58 32 0 4 15 40 5570 EP FR - 467 13 54 30 0 5 13 40 5720 EF FR - 497 13 51 28 0 5 13 40 5720 ST FR - 417 13 54 33 1 6 10 40 6133 LEP FR - 541 13 52 30 0 6 13 40 6153 ST FR - 495 13 55 29 1 5 13 40 5971 ST FR - 560 8 48 26 0 6 10 40 5654 LEP FR - 497 13 55 29 0 4 15 40 5570 ST FR - 497 13 50 28 1 6 13 40 6404 ST FR - 497 13 48 28 2 5 13 40 6222 ST FR - 201 15 52 29 1 10 10 40 11674 SPS CH - 300 15 56 26 2 9 5 40 9507 ST CH - 400 9 59 27 0 7 13 40 6718 SPS CH - 300 13 53 33 0 8 9 40 7573 ST CH - 315 9 52 33 0 8 7 40 7106 TIS CH - 411 13 61 34 0 6 13 40 6153 ST CH - 318 13 55 32 0 7 13 40 6946 ST FR - 405 15 57 28 1 7 13 40 7850 ST DE - 402 15 64 33 1 7 13 40 7850 EP IT - 402 13 56 27 1 7 13 40 7197 EF CH - 300 15 60 29 0 7 12 40 7487 ST CH - 317 15 59 29 0 8 9 40 8286 ST FR - 400 15 63 28 0 7 13 40 7599 ST IT - 301 15 49 26 2 7 12 40 7989 EF CH - 317 11 58 25 0 6 13 40 6355 ST FR - 414 15 58 26 1 6 13 40 6978 ST FR - 414 15 55 28 0 7 13 40 7599 ST CH - 405 13 48 27 2 6 13 40 6655 ST CH - 405 9 59 26 0 6 13 40 5925 LEP CH - 402 15 57 27 1 7 13 40 7850 SPS CH - 426 15 57 32 0 6 13 40 6727 ST FR - 218 15 60 24 0 12 13 40 15581 TIS FR - 304 11 48 24 0 9 5 40 8582 EP FR - 301 15 59 24 2 8 10 40 8920 EF ES - 301 13 50 24 2 7 13 40 7448 EF FR - 304 15 54 24 2 10 5 40 11008 EF NL - 316 15 57 24 0 9 13 40 10228 LEP FR - 102 15 52 24 0 13 8 40 16389 EP GB - 310 13 56 23 0 8 8 40 7453 AG CH - 467 15 50 25 1 6 13 40 6978 EF FR - 300 15 56 23 0 8 7 40 8024 EF FR - 304 15 45 23 1 8 4 40 7881 EF IT - 300 13 47 23 2 7 13 40 7448 EP FR - 200 15 59 24 0 13 10 40 16995 ST FR - 301 15 55 26 0 9 7 40 9311 EP DE - 432 12 51 23 0 5 13 40 5720 AG FR - 417 15 56 34 0 7 13 40 7599 LEP CH - 560 8 46 26 0 6 12 40 5834 ST FR - 301 13 58 33 0 10 7 40 9928 SPS CH - 402 13 57 35 0 8 11 40 7812 ST FR - 301 15 58 33 0 8 7 40 8024 ST CH - 300 15 58 30 1 8 13 40 9064 ST FR - 300 13 57 29 0 8 9 40 7573 EP FR - 300 13 57 29 0 9 5 40 8227 ST FR - 409 15 56 29 0 7 13 40 7599 ST FR - 301 13 60 25 0 8 13 40 8052 EF CH - 317 9 55 35 0 7 13 40 6718 ST CH - 300 15 48 26 0 10 2 40 9955 EP DE - 300 13 51 27 0 9 7 40 8505 ST FR - 300 15 61 29 0 7 13 40 7599 ST FR - 300 15 51 26 0 8 9 40 8286 ST FR - 318 15 48 29 2 7 13 40 8101 LEP IT - 400 13 47 26 2 7 13 40 7448 SPS CH - 405 11 49 26 0 6 13 40 6355 ST ES - 300 15 55 26 1 8 5 40 8012 EF DE - 400 13 58 26 1 6 13 40 6404 ST FR - 497 15 60 33 1 5 13 40 6544 ST FR - 427 13 57 28 0 6 12 40 6062 ST FR - 542 9 56 28 0 7 8 40 6212 ST FR - 542 12 51 28 2 7 13 40 7448 ST FR - 497 13 54 29 0 5 13 44 6248 ST FR - 497 9 57 29 0 6 10 40 5654 ST CH - 560 13 57 31 0 7 6 40 6238 ST FR - 417 13 58 30 0 5 13 40 5720 ST FR - 439 13 54 31 0 3 15 40 5155 ST FR - 403 13 57 31 0 5 13 40 5720 ST FR - 432 13 48 27 1 5 13 40 5971 SPS FR - 438 9 51 29 0 4 15 40 5342 ST FR - 498 9 50 29 0 4 15 40 5342 ST FR - 417 13 59 32 0 5 13 40 5720 LEP FR - 301 13 47 23 2 7 13 40 7448 EP FR - 402 13 49 28 2 7 12 40 7347 LEP FR - 424 13 47 27 0 6 13 40 6153 DD CH - 419 11 53 28 0 6 13 40 6355 PS FR - 438 13 57 25 0 7 8 40 6440 EF FR - 400 13 50 26 0 6 13 40 6153 EP FR - 405 13 46 26 1 6 12 40 6313 EF FR - 402 13 50 27 1 6 13 40 6404 EF FR - 495 15 58 25 1 5 13 40 6544 ST AT - 400 15 47 26 0 6 12 40 6635 PS FR - 402 15 48 24 0 6 12 40 6635 EP FR - 538 13 47 24 2 8 4 40 7477 ST FR - 403 15 47 28 1 5 13 40 6544 PS FR - 417 13 46 26 1 5 13 40 5971 ST CH - 424 13 46 25 4 6 13 40 7157 EF FR - 402 13 57 26 0 4 15 40 5570 EP FR - 419 15 49 26 0 6 13 40 6727 ST FR - 310 15 48 25 3 7 13 40 8352 SPS FR - 310 13 50 25 2 8 2 40 7238 ST FR - 417 13 47 27 1 6 13 40 6404 ST FR - 417 13 53 25 0 6 11 40 5972 ST CH - 438 13 45 25 2 7 10 40 7145 ST FR - 417 13 48 28 2 6 13 40 6655 ST FR - 417 13 52 25 0 5 13 40 5720 ST FR - 410 15 44 25 2 6 7 40 6685 LEP IT - 560 13 47 25 0 5 13 40 5720 SPS FR - 411 13 55 25 0 6 13 40 6153 LEP FR - 409 13 56 28 0 6 13 40 6153 LEP FR - 409 13 61 25 0 5 11 40 5557 ST FR - 400 9 50 28 0 5 13 40 5492 ST FR - 495 13 46 25 3 4 14 40 6244 ST FR - 412 9 48 25 0 5 11 40 5329 LEP FR - 417 13 48 28 1 6 10 40 6133 ST FR - 495 13 57 26 0 4 14 40 5491 ST FR - 495 13 56 26 1 4 15 40 5821 ST FR - 497 13 60 28 0 5 12 40 5638 EF FR - 432 15 49 26 0 4 15 40 6143 LEP FR - 425 15 46 25 1 6 8 40 6524 ST IT - 429 13 55 27 2 5 13 40 6222 ST FR - 495 13 47 26 2 4 15 40 6072 ST FR - 417 13 49 26 2 4 14 40 5993 ST FR - 429 15 59 24 0 5 10 40 6048 ST IT - 426 15 46 25 1 6 12 40 6886 ST FR - 438 15 55 25 0 7 13 40 7599 ST CH - 405 13 46 25 2 7 9 40 7044 ST IT - 438 13 48 25 1 7 13 40 7197 ST FR - 300 15 46 25 2 8 6 40 8394 ST CH - 402 15 50 25 1 7 13 40 7850 EF AT - 409 15 55 25 0 7 13 40 7599 ST FR - 566 8 50 22 0 6 13 32 4787 EP FR - 300 11 48 23 0 8 13 40 8394 LEP IT - 431 9 62 25 0 6 13 40 5925 LEP CH - 543 10 48 23 0 7 11 40 6990 TH FR - 341 15 49 23 2 8 13 40 9315 EF IT - 541 13 42 23 2 7 7 40 6841 FI FR - 204 15 51 23 4 11 13 40 16344 EP IT - 308 15 45 23 0 9 4 40 8852 PS FR - 304 15 51 23 1 9 11 40 10174 EF FR - 300 15 45 25 2 7 11 40 7878 SPS CH - 216 15 48 23 0 10 13 40 11975 DD GB - 362 15 49 25 0 6 13 40 6727 PS CH - 202 15 47 23 3 11 8 40 13675 PS CH - 500 15 50 23 0 12 7 40 14114 AG GB - 203 15 49 23 2 10 6 40 11191 EP GB - 300 15 49 23 1 8 7 40 8275 EP CH - 204 15 56 23 4 11 13 40 16344 EF FR - 506 15 55 25 0 11 13 40 15340 PE FR - 211 15 43 23 2 11 0 40 11716 PS IT - 362 13 51 25 2 7 13 40 7448 SPS FR - 443 8 48 19 0 6 13 40 5925 EF FR - 310 13 55 23 1 8 13 40 8303 PS FR - 304 13 46 23 2 9 5 40 8729 LEP CH - 502 15 53 23 2 11 10 40 13851 FI GB - 403 13 59 25 1 5 12 40 5889 ST FR - 425 15 53 25 0 6 11 40 6544 ST IT - 204 15 49 23 2 11 2 40 12143 LEP FR - 341 15 45 23 1 8 5 40 8012 EF CH - 216 15 47 23 2 11 11 40 14064 DD GB - 534 11 49 23 0 8 13 40 8394 AG GB - 543 10 53 23 0 8 7 40 7623 SPS DE - 316 15 48 23 0 8 10 40 8418 SPS FR - 204 13 53 23 3 11 13 40 14749 LEP CH - 211 15 54 24 2 12 10 40 15349 EP ZZ - 102 15 55 23 0 13 10 40 16995 EP ZZ - 204 15 52 23 2 11 10 40 13851 PS FR - 304 15 46 23 1 9 6 40 9409 PS FR - 200 15 53 23 3 11 13 40 16093 LEP BE - 303 15 52 25 0 7 9 40 7154 ST FR - 214 15 47 23 2 11 7 40 13210 DD GB - 341 13 48 23 1 8 6 40 7465 LEP FR - 301 15 53 25 1 7 9 40 7405 PS GB - 214 15 48 23 3 12 3 40 13894 DD GB - 304 15 55 26 0 6 13 40 6727 EF FR - 566 10 46 23 0 6 13 40 6355 EP SE - 540 10 59 24 0 8 13 40 8394 AG GB - 504 15 52 23 0 12 9 40 14602 AG GB - 345 15 51 23 1 9 7 40 9562 LEP DE - 317 15 51 23 0 8 10 40 8418 SPS AT - 361 15 60 25 1 6 13 40 6978 PS FR - 507 15 48 23 2 11 10 40 13851 PE GB - 467 15 56 24 0 5 13 40 6293 EF FR - 300 15 54 25 0 7 13 40 7599 ST FR - 300 15 58 23 0 8 13 40 8813 PS FR - 560 10 49 22 0 6 13 40 6355 DD FR - 361 15 51 24 1 7 13 40 7850 PS FR - 309 8 51 23 0 7 13 40 6718 TIS FR - 530 10 53 23 0 7 13 40 7208 ST FR - 417 15 51 23 1 6 13 40 6978 EF FR - 211 15 54 24 2 11 7 40 13210 SPS NL - 499 10 53 19 0 5 13 40 5922 EF FR - 543 8 49 23 0 7 12 20 3440 PS DE - 304 13 45 23 2 8 5 40 7596 PS FR - 304 15 51 23 2 9 7 40 9813 DD FR - 402 15 56 23 1 7 10 40 7516 EF ES - 400 13 61 23 0 6 13 40 6153 EP FR - 409 15 50 24 0 6 6 40 6093 LEP IT - 204 15 48 23 1 10 5 40 10757 LEP IT - 211 15 55 23 0 12 13 40 15581 EF DE - 403 13 46 24 1 6 13 40 6404 ST FR - 301 15 45 23 0 7 10 40 7265 LEP FR - 543 14 63 23 0 9 5 40 9005 EP CH - 424 14 62 28 0 5 13 40 6293 EP ES - 304 15 51 23 0 8 13 40 8813 PS GB - 308 14 48 23 1 8 3 40 7749 PS FR - 300 13 55 24 0 8 13 40 8052 PS CH - 211 15 48 23 2 11 10 40 13851 SPS GB - 214 15 50 23 1 11 9 40 13386 PS IT - 304 15 48 23 1 7 13 40 7850 EF FR - 202 15 48 23 0 11 10 40 13349 SPS AT - 311 15 46 23 2 9 3 40 9201 LEP FR - 410 15 58 24 0 5 12 40 6211 ST IT - 498 13 54 24 0 6 13 40 6153 ST CH - 502 15 51 23 2 10 0 40 10089 FI CH - 560 8 51 21 0 4 15 20 2777 EP FR - 500 15 48 22 1 9 13 40 10479 EP FR - 300 15 51 23 2 9 11 40 10425 PS FR - 201 15 47 23 0 10 2 40 9955 LEP FR - 202 15 54 23 2 10 9 40 11741 LEP BE - 300 15 54 23 1 9 6 40 9409 LEP FR - 560 13 57 24 0 6 12 40 6062 ST FR - 506 15 61 23 0 11 13 40 15340 PE DK - 302 13 61 23 0 7 13 40 6946 EF FR - 211 15 59 23 2 11 13 40 15842 EF DE - 211 15 50 25 0 12 10 40 14847 EP AT - 304 15 49 23 2 9 9 40 10119 EP GB - 560 12 42 21 1 6 12 40 6313 FI FR - 400 15 63 24 0 5 13 40 6293 EF DE - 402 15 52 23 2 6 13 40 7229 EF IT - 102 15 50 23 4 12 12 40 16340 EP FR - 495 15 58 24 1 5 13 40 6544 ST IT - 417 13 57 24 0 4 15 40 5570 ST IT - 417 13 50 24 2 6 8 40 6203 LEP FR - 343 15 53 23 0 9 4 40 8852 LEP FR - 403 15 49 24 0 6 11 40 6544 SPS FR - 211 15 48 23 3 12 7 40 14867 EF FR - 211 15 50 23 4 12 11 40 16095 EF GB - 201 15 60 24 0 11 13 40 15340 EF FR - 304 15 45 23 2 9 11 40 10425 EP IT - 301 15 48 24 1 8 8 40 8406 EF FR - 341 15 47 23 2 8 6 40 8394 PS FR - 300 11 48 23 0 7 9 40 6773 LEP FR - 502 15 50 23 1 10 1 40 10022 FI FR - 211 15 51 23 2 12 11 40 15593 EP IT - 400 15 50 24 1 4 12 40 6156 ST IT - 341 15 51 23 1 9 5 40 9256 SPS FR - 300 11 46 24 0 8 7 40 7623 ST ES - 426 13 52 24 0 6 8 40 5701 SPS FR - 304 15 47 23 2 8 6 40 8394 PS FR - 424 14 55 23 0 6 11 40 6544 EP ES - 204 15 51 23 2 13 7 40 16588 LEP FR - 543 8 52 23 0 7 13 40 6718 TIS CH - 500 15 56 23 0 11 7 40 12708 ST FR - 500 15 55 23 0 10 8 40 11056 LEP FR - 465 13 51 23 1 6 12 40 6313 DD FR - 304 15 51 22 0 7 13 40 7599 SPS CH - 301 15 58 23 0 10 5 40 10506 LEP GB - 204 15 49 23 3 11 13 40 16093 EF FR - 560 8 44 22 0 5 13 40 5492 TH FR - 300 11 56 23 0 9 11 40 9479 EP FR - 361 13 47 23 1 9 2 40 8059 SPS FR - 499 12 56 19 0 5 13 20 3083 EP FR - 424 10 46 19 0 5 13 40 5922 EF IT - 343 15 56 23 0 8 9 40 8286 PS FR - 304 13 48 23 2 9 3 40 8450 LEP FR - 310 15 44 23 2 9 7 40 9813 ST CH - 345 13 46 23 1 7 13 40 7197 LEP CH - 345 15 56 23 0 8 8 40 8155 LEP IT - 412 13 50 24 1 5 13 40 5971 LEP FR - 560 15 54 23 0 5 13 40 6293 ST ES - 318 15 51 24 2 9 8 40 9966 ST FR - 206 15 57 23 1 10 13 40 12226 TIS FR - 402 13 56 24 0 6 13 40 6153 LEP CH - 410 13 51 24 0 5 12 40 5638 LEP FR - 315 15 49 23 2 9 5 40 9507 TIS BE - 211 11 55 23 1 13 9 40 16349 DD GB - 345 15 52 23 1 8 13 40 9064 LEP DE - 405 15 49 24 0 7 12 40 7487 ST FR - 500 13 45 22 1 11 1 40 10683 AG FR - 204 15 56 23 1 11 13 40 15591 PS CH - 503 15 52 23 1 13 4 40 15428 AG FR - 341 15 55 23 2 8 13 40 9315 EP GB - 201 15 54 23 0 11 8 40 12922 EF DE - 300 15 45 23 2 8 6 40 8394 LEP FR - 301 15 52 23 2 8 13 40 9315 EF FR - 200 15 56 23 0 13 10 40 16995 LEP FR - 543 12 45 23 2 7 7 32 5667 ST FR - 500 15 50 23 0 9 8 40 9464 LEP FR - 417 13 59 26 0 5 13 40 5720 ST FR - 409 15 48 24 1 7 10 40 7516 ST CH - 341 15 51 22 0 8 11 40 8549 LEP DE - 307 13 51 24 0 10 7 40 9928 LEP FR - 304 15 52 22 3 9 8 40 10217 EF FR - 301 15 58 22 0 8 13 40 8813 EF FR - 300 15 53 22 0 8 13 40 8813 DD FR - 467 15 51 22 1 7 12 40 7738 EF AT - 211 15 52 22 0 11 13 40 15340 PS GB - 307 15 47 22 3 9 2 40 9298 TIS FR - 317 15 53 24 1 8 13 40 9064 LEP FR - 300 15 54 24 0 9 13 40 10228 LEP FR - 402 13 56 22 1 7 12 40 7096 EF FR - 300 15 52 22 1 9 8 40 9715 AG CH - 497 15 50 24 2 6 12 40 7137 ST FR - 541 8 42 22 0 7 5 40 5909 DD FR - 530 12 43 22 1 7 8 20 3708 PE FR - 402 15 59 25 0 8 6 40 7892 LEP FR - 361 13 55 24 2 6 13 40 6655 PS FR - 495 15 50 24 0 5 13 40 6293 ST FR - 310 13 47 24 0 8 7 40 7334 DD FR - 214 15 56 26 1 11 13 40 15591 EP NL - 214 15 50 22 2 11 11 40 14064 DD FR - 424 15 49 22 0 6 13 40 6727 EP CH - 443 15 45 22 2 7 6 40 7322 EP IT - 211 15 57 22 0 11 13 40 15340 EF GB - 308 8 44 22 0 8 4 40 6747 EP FR - 560 8 57 19 0 5 13 40 5492 FI FR - 560 10 57 19 0 4 15 32 4660 ST IT - 204 15 44 22 2 10 1 40 10273 LEP GB - 300 13 49 22 1 9 2 40 8059 PS CH - 214 15 45 22 2 12 5 40 14129 DD GB - 201 15 57 22 1 10 13 40 12226 PS GB - 202 15 58 22 1 13 8 40 16640 SPS AT - 300 15 57 22 0 10 5 40 10506 ST FR - 438 13 45 24 0 7 12 40 6845 SPS FR - 560 12 56 19 0 6 11 40 5972 EP FR - 531 15 46 22 2 6 13 40 7229 FI GR - 300 15 48 22 1 8 3 40 7749 EF FR - 202 15 49 22 1 10 6 40 10940 EF FR - 301 15 54 22 1 7 13 40 7850 EF FR - 304 15 53 22 1 8 11 40 8800 EP FR - 318 15 56 24 0 7 13 40 7599 ST FR - 414 15 49 24 1 7 11 40 7627 ST FR - 201 15 53 22 0 11 13 32 12427 SPS FR - 300 15 48 24 0 8 5 40 7761 ST CH - 202 15 53 23 1 11 12 40 14027 LEP CH - 211 15 49 22 2 12 5 40 14129 LEP IT - 304 15 46 22 2 9 5 40 9507 EP FR - 318 15 47 22 0 7 11 40 7376 EP FR - 204 15 45 22 2 9 4 40 9354 DD ES - 536 8 44 22 0 8 8 40 7225 PE FR - 424 8 52 19 0 4 15 20 2777 EP FR - 560 13 46 22 2 5 13 40 6222 DD FR - 367 15 52 22 1 8 10 40 8669 EF FR - 214 15 48 22 2 10 1 40 10273 EP ZZ - 304 13 47 22 2 9 7 40 9007 EF FR - 300 15 48 22 2 9 6 40 9660 EF GB - 506 15 49 22 1 10 7 40 11124 PE CH - 503 15 62 26 0 12 13 40 15581 FI FR - 531 13 46 22 3 6 10 40 6635 FI FR - 531 13 44 22 0 7 9 40 6542 FI FR - 216 15 49 22 2 11 13 40 15842 DD GB - 200 15 43 22 3 10 5 40 11259 DD GB - 543 10 53 22 0 7 13 40 7208 EP FR - 340 15 45 22 2 9 7 40 9813 EP GB - 301 11 47 24 0 8 5 40 7366 LEP DE - 201 15 48 22 2 10 2 40 10457 EF ES - 307 13 43 22 0 8 7 40 7334 LEP FR - 203 15 52 22 1 11 10 40 13600 EP FR - 304 15 63 22 2 7 13 40 8101 EP FR - 530 10 54 24 0 8 5 40 7366 EP DE - 302 13 48 22 1 9 6 40 8617 EF CH - 304 15 48 22 2 8 12 40 9183 DD FR - 201 15 50 22 3 11 13 40 16093 LEP GB - 362 15 48 22 3 7 12 40 8240 SPS DE - 415 15 48 24 2 5 13 40 6795 TIS FR - 566 8 50 22 0 6 13 40 5925 EF FR - 211 15 52 22 2 12 10 40 15349 PS DE - 204 15 58 22 0 12 13 40 15581 LEP NL - 318 15 50 22 0 9 7 40 9311 LEP FR - 204 15 58 22 0 10 13 40 11975 PS NL - 201 15 49 22 2 11 10 40 13851 LEP FR - 202 15 52 22 0 11 13 40 15340 SPS DE - 543 10 50 22 0 7 13 40 7208 SPS FR - 540 14 50 22 2 8 9 40 8788 AG FR - 543 8 47 22 0 7 8 20 3229 EF CH - 402 15 49 23 1 7 9 40 7405 PS FR - 402 15 47 23 1 6 13 40 6978 ST FR - 418 15 61 21 1 7 11 40 7627 EP ES - 402 15 47 23 2 7 12 40 7989 SPS FR - 345 15 48 22 1 8 9 40 8537 LEP CH - 204 15 46 22 2 11 5 40 12783 LEP GB - 443 15 57 22 0 6 13 40 6727 LEP FR - 341 15 52 22 1 8 6 40 8143 EF FR - 204 15 50 22 2 11 13 40 15842 SPS FR - 440 13 49 22 2 5 13 40 6222 SPS FR - 400 13 51 23 0 7 7 40 6339 AG CH - 310 13 44 22 2 8 4 40 7477 PS FR - 302 15 56 22 0 8 13 40 8813 ST FR - 308 13 45 22 2 6 10 40 6384 EP BE - 562 10 43 22 0 6 13 40 6355 AG FR - 304 13 59 22 0 10 13 40 10931 LEP CH - 304 13 56 22 0 9 7 40 8505 LEP CH - 316 15 54 22 0 10 10 40 11423 LEP DE - 500 13 48 22 1 11 7 40 11850 FI CH - 216 15 50 22 1 11 3 40 12105 DD DE - 308 12 44 22 1 8 0 40 6748 PS FR - 566 12 43 21 2 6 13 30 5232 DD FR - 531 9 44 22 0 7 10 40 6415 FI CH - 300 14 43 22 3 5 13 32 5876 TIS NO - 200 15 61 22 0 13 10 40 16995 LEP FR - 543 14 45 19 1 7 6 40 7071 EP FR - 400 13 43 22 0 7 12 40 6845 EP CH - 560 10 51 19 0 4 15 20 2991 EP IT - 301 15 54 22 0 8 13 40 8813 ST FR - 211 15 50 22 3 11 5 40 13034 LEP FR - 201 11 56 22 0 11 13 40 14776 EF GB - 530 13 44 22 0 7 6 40 6238 PE FR - 566 10 46 19 0 5 13 20 3069 EP FR - 211 15 50 22 2 12 10 40 15349 LEP AT - 543 10 51 22 0 7 13 40 7208 PS FR - 211 15 53 22 1 12 13 40 15832 EP FR - 415 15 50 23 1 6 12 40 6886 TIS FR - 204 15 48 16 1 11 7 40 12959 PS IT - 202 15 52 22 0 12 12 40 15336 PS AT - 216 15 48 22 1 11 11 40 13813 DD GB - 318 15 60 23 0 9 6 40 9158 LEP FR - 543 10 52 22 0 7 13 40 7208 EP FR - 204 13 50 22 1 9 13 40 9592 SPS CH - 211 15 51 22 2 12 7 40 14616 LEP GB - 204 15 55 22 2 12 13 40 16083 SPS GB - 302 15 49 22 1 7 13 40 7850 EF FR - 304 15 57 22 1 9 10 40 10021 SPS GB - 566 8 48 19 0 5 13 36 4965 EP CH - 341 15 50 22 1 8 7 40 8275 ST FR - 300 15 52 22 2 8 11 40 9051 SPS GB - 541 10 47 19 0 7 4 40 6237 DD FR - 367 13 48 19 1 7 13 40 7197 LEP FR - 317 15 52 23 2 8 3 40 8000 ST FR - 403 13 44 23 2 6 7 40 6113 ST FR - 300 15 47 22 2 8 8 40 8657 LEP GB - 542 13 56 23 2 8 5 40 7596 ST FR - 304 11 49 22 0 9 10 40 9330 EP CH - 204 15 51 22 1 11 12 40 14027 PS FR - 560 13 43 21 2 6 10 40 6384 FI FR - 417 13 47 23 2 7 7 40 6841 LEP FR - 400 15 49 23 1 7 10 40 7516 ST FR - 318 15 47 23 2 8 10 40 8920 LEP FR - 438 15 46 22 0 7 8 40 7043 SPS FR - 204 15 49 22 2 12 7 40 14616 PS FR - 204 15 50 22 1 12 10 40 15098 SPS FR - 204 15 52 22 2 11 7 32 10805 PS DK - 204 15 52 22 1 11 3 40 12105 PS GB - 202 15 50 22 2 12 9 40 15104 EF FR - 566 12 52 21 0 4 15 40 5570 EP ES - 560 15 45 21 2 6 9 40 6866 FI FR - 342 15 59 27 0 8 8 40 8155 LEP FR - 300 11 48 23 0 9 6 40 8732 ST FR - 304 15 46 22 1 8 13 40 9064 EP FR - 500 15 47 22 2 12 7 40 14616 DG FR - 411 13 48 23 1 5 13 40 5971 ST FR - 315 15 57 23 0 7 11 40 7376 TIS FR - 300 15 54 22 0 8 8 40 8155 LEP FR - 216 15 48 22 1 12 4 40 13635 SPS FR - 502 15 61 22 0 10 12 40 11791 FI FR - 506 15 48 22 1 11 1 40 11678 PE DE - 543 8 48 22 0 8 10 35 6568 DG CH - 415 15 47 23 3 6 12 40 7388 TIS FR - 415 15 47 23 1 5 13 40 6544 TIS FR - 304 15 50 22 0 9 7 40 9311 TIS GB - 300 15 44 22 2 8 7 40 8526 LEP FR - 317 15 52 23 2 8 8 40 8657 LEP FR - 211 15 61 22 1 12 13 40 15832 EF DE - 304 11 46 22 0 9 10 40 9330 LEP SE - 566 10 45 21 0 6 13 40 6355 EP DE - 211 15 48 22 2 11 6 40 12997 EF GB - 304 13 55 22 0 8 13 40 8052 PS CH - 341 11 48 22 0 8 9 40 7880 SPS IT - 301 13 53 25 0 8 13 40 8052 EP CH - 418 15 57 22 0 6 13 40 6727 EF FR - 400 13 47 23 2 7 8 40 6942 ST CH - 566 15 47 22 1 6 13 40 6978 DD FR - 304 15 45 22 2 8 9 40 8788 LEP IT - 341 13 44 22 2 7 13 40 7448 EF CH - 204 11 47 22 0 9 11 40 9479 LEP IT - 500 15 58 23 0 12 10 40 14847 PE GB - 537 15 44 22 0 8 7 40 8024 PE FR - 315 15 55 22 0 9 6 40 9158 TIS BE - 103 15 56 26 0 13 10 40 16995 TH FR - 317 15 52 22 0 8 8 40 8155 LEP FR - 300 15 51 23 2 9 1 40 8894 ST FR - 300 15 61 23 0 9 7 40 9311 LEP FR - 361 15 51 23 0 7 12 40 7487 PS FR - 201 15 52 22 1 11 9 40 13386 PS FR - 462 15 52 23 2 6 13 40 7229 PS IT - 317 15 59 23 0 8 11 40 8549 ST FR - 301 15 45 22 2 8 8 40 8657 LEP FR - 530 13 46 21 1 8 7 40 7585 PE FR - 542 15 51 21 0 9 3 40 8699 ST FR - 409 15 53 23 1 7 11 40 7627 ST FR - 429 13 59 23 1 5 13 40 5971 ST FR - 300 13 44 23 2 8 4 40 7477 PS FR - 300 15 52 21 2 8 7 40 8526 SPS CH - 502 15 58 21 0 9 12 40 10075 FI FR - 204 15 52 21 0 11 13 40 15340 PS CH - 541 14 47 21 1 7 13 40 7850 LEP FR - 417 11 46 23 0 7 6 40 6447 LEP FR - 405 13 48 23 0 6 13 40 6153 LEP CH - 216 15 46 21 2 10 11 40 12109 DD GB - 300 11 55 21 0 8 13 40 8394 EP SE - 202 15 49 21 2 11 9 40 13637 PS DE - 402 15 56 23 0 6 13 40 6727 LEP FR - 200 15 57 21 0 10 5 40 10506 LEP GB - 200 15 50 21 2 12 3 40 13643 ST IT - 304 15 62 21 0 8 13 40 8813 SPS GB - 562 14 47 21 1 5 13 40 6544 FI FR - 345 15 56 21 2 7 13 40 8101 LEP ES - 202 15 49 21 1 11 13 40 15591 PS GB - 211 15 55 22 2 11 13 40 15842 PS FR - 200 15 56 21 0 11 13 40 15340 LEP FR - 543 8 50 21 0 8 5 40 6866 EP FR - 419 15 44 23 3 6 13 40 7480 LEP FR - 400 13 53 23 0 7 11 40 6744 ST FR - 201 15 53 22 2 11 0 40 11716 ST FR - 301 15 53 22 0 10 6 40 10689 EF FR - 200 15 49 21 2 11 13 40 15842 EF FR - 211 15 53 22 2 12 13 40 16083 EF FR - 300 15 54 22 0 9 11 40 9923 SPS FR - 300 15 58 22 0 7 13 40 7599 LEP FR - 201 15 51 22 2 11 6 40 12997 EF DE - 204 15 52 22 0 11 13 40 15340 EF FR - 500 15 55 22 0 12 8 40 14358 ST FR - 341 15 48 22 2 8 6 40 8394 SPS FR - 300 15 50 22 0 9 2 40 8545 SPS DE - 211 11 59 23 0 11 13 40 14776 EF DE - 367 15 54 22 1 8 9 40 8537 LEP FR - 211 15 61 23 0 13 10 40 16995 EF DE - 200 15 56 24 1 12 13 40 15832 EF AT - 341 13 47 21 1 9 1 40 7920 EP FR - 341 15 48 22 2 9 8 40 9966 EF DE - 211 15 50 22 3 12 6 40 14623 EF FR - 211 15 52 23 2 11 13 40 15842 TIS DE - 211 15 52 22 1 11 11 40 13813 PS FR - 201 13 50 22 2 10 5 40 10096 EF CH - 317 15 61 23 1 8 13 40 9064 ST FR - 304 15 49 21 0 9 9 40 9617 LEP GB - 541 8 42 19 0 7 5 40 5909 EP FR - 411 15 56 21 0 6 13 40 6727 EF FR - 560 10 44 21 0 6 11 40 6173 SPS FR - 304 15 47 21 2 9 7 40 9813 EF FR - 304 13 50 21 2 9 12 40 9704 SPS CH - 566 9 42 21 0 6 13 40 5925 AG FR - 203 15 62 23 0 10 4 40 10322 ST FR - 419 15 57 23 0 6 13 40 6727 ST FR - 402 13 61 21 1 7 13 40 7197 EP CH - 204 13 44 21 1 9 8 40 8896 LEP CH - 310 15 42 23 2 9 1 40 8894 ST FR - 530 10 46 21 0 6 13 40 6355 PE FR - 204 15 52 21 2 12 8 40 14860 PS GB - 207 15 54 23 1 11 13 40 15591 LEP FR - 304 15 48 21 1 9 7 40 9562 LEP FR - 304 13 51 21 3 7 11 40 7497 PS FR - 317 13 50 23 1 8 4 40 7226 PS FR - 102 15 51 21 1 14 2 40 16673 DG FR - 303 11 53 21 0 8 11 40 8137 PS CH - 211 15 48 21 2 12 7 40 14616 EP GB - 300 15 52 21 1 9 11 40 10174 EF FR - 566 8 51 21 0 6 13 40 5925 DD FR - 200 15 50 21 3 12 8 40 15111 LEP FR - 318 13 44 21 2 7 5 40 6639 ST FR - 300 15 62 22 0 8 7 40 8024 ST DE - 304 15 51 21 1 10 6 40 10940 DD DE - 204 15 47 21 1 9 13 40 10479 DD CH - 310 15 61 22 0 8 7 40 8024 LEP FR - 341 15 51 21 2 9 6 40 9660 LEP IT - 341 13 46 21 0 8 6 40 7214 SPS CH - 317 15 58 22 0 8 11 40 8549 LEP FR - 564 15 49 21 0 8 10 40 8418 ST DE - 560 8 42 21 0 6 13 32 4787 LEP FR - 345 15 48 21 2 9 1 40 8894 LEP CH - 532 12 46 21 1 6 13 40 6404 FI FR - 543 8 46 21 0 8 9 40 7345 AG CH - 566 14 56 20 0 7 6 40 6820 DD CH - 211 15 50 21 2 12 9 40 15104 EF DE - 468 9 52 21 0 6 13 40 5925 EF CH - 304 15 46 21 0 7 13 40 7599 PS FR - 440 10 43 21 0 6 13 40 6355 PS CH - 211 15 55 21 2 11 13 40 15842 PS CH - 311 15 44 21 2 7 9 40 7656 EF CH - 211 15 50 21 3 12 9 40 15355 PS FR - 341 13 47 21 2 8 5 40 7596 EP FR - 540 8 46 21 0 8 12 40 7704 AG FR - 417 13 59 22 2 6 12 40 6564 ST IT - 405 15 59 21 0 7 13 40 7599 EF FR - 204 15 52 21 0 11 2 40 11641 PS GB - 343 15 51 21 3 8 13 40 9566 SPS CH - 317 13 50 21 0 8 9 40 7573 LEP CH - 300 15 49 21 0 9 2 40 8545 PS BE - 214 15 51 21 2 12 9 40 15104 LEP CH - 304 13 44 21 2 9 2 40 8310 EF IT - 304 15 50 21 1 8 11 40 8800 LEP FR - 204 15 53 21 2 11 7 40 13210 EF IT - 300 15 62 21 0 7 13 40 7599 EF GB - 304 15 45 21 3 8 4 40 8383 SPS CH - 318 15 48 22 2 9 3 40 9201 LEP FR - 202 15 57 23 1 11 13 40 15591 LEP BE - 310 15 54 22 0 7 13 40 7599 PS FR - 530 8 45 21 0 8 6 40 6986 EF CH - 341 15 44 21 2 9 2 40 9047 EF FR - 424 15 49 21 4 5 13 44 7882 EF FR - 204 15 45 21 2 9 6 40 9660 SPS FR - 302 15 59 21 0 7 13 40 7599 PS AT - 510 14 50 21 1 9 9 40 9868 AG FR - 202 15 53 21 1 12 10 40 15098 SPS GB - 211 15 51 21 3 13 4 40 15930 SPS FR - 204 15 49 21 0 10 1 40 9771 SPS CH - 301 11 50 21 0 7 13 40 7208 EF DE - 300 15 45 21 2 9 0 40 8742 EF DE - 341 13 44 21 2 8 4 40 7477 EF FR - 202 13 55 21 2 12 12 40 14495 SPS CH - 211 15 57 23 0 11 13 40 15340 SPS NL - 200 15 60 21 1 12 13 40 15832 DD FR - 301 9 50 22 0 7 11 40 6516 ST FR - 402 11 52 22 0 7 11 40 6990 EF FR - 542 15 55 22 0 8 13 40 8813 ST FR - 531 12 41 20 1 8 2 40 6987 FI FR - 560 14 40 21 2 5 13 20 3871 EP FR - 211 15 53 21 2 11 13 40 15842 EP GB - 300 11 56 21 0 10 7 40 10408 LEP CH - 304 13 46 21 2 8 9 40 8075 EP FR - 304 15 54 21 1 8 7 40 8275 PS FR - 403 15 54 22 0 6 13 40 6727 PS FR - 300 9 47 21 0 7 9 40 6314 PS FR - 361 15 52 21 1 7 6 40 7071 PS CH - 424 15 42 21 1 6 13 40 6978 EF FR - 340 15 53 21 1 9 13 40 10479 ST FR - 343 15 51 21 2 8 9 40 8788 LEP SE - 317 10 58 21 0 7 13 40 7208 SPS DE - 300 15 48 21 1 7 10 40 7516 EF FR - 426 15 51 22 1 5 13 40 6544 ST FR - 412 15 60 22 0 6 12 40 6635 LEP FR - 426 13 52 22 2 7 8 40 6942 ST FR - 300 15 43 22 2 7 6 40 7322 EP IT - 317 15 44 21 2 7 8 40 7545 ST FR - 438 15 44 22 1 7 8 40 7294 ST FR - 301 11 46 21 0 8 3 40 7110 LEP DE - 424 15 52 21 0 6 13 40 6727 PS FR - 211 15 58 21 1 12 13 40 15832 EF DE - 405 13 50 22 0 6 10 40 5882 LEP FR - 200 15 47 21 2 11 8 40 13424 PS BE - 510 15 53 21 0 10 11 40 11607 AG GB - 311 15 62 21 0 9 13 40 10228 ST FR - 424 15 46 21 1 7 7 40 7182 EF IT - 418 13 45 21 2 7 6 40 6740 EF FR - 424 15 50 21 1 6 13 40 6978 EF FR - 424 15 46 21 2 6 13 40 7229 LEP FR - 300 15 44 21 2 7 11 40 7878 EF FR - 424 15 47 21 0 6 13 40 6727 PS FR - 560 11 46 21 0 6 13 40 6355 PE NL - 424 13 50 21 1 6 13 40 6404 PS FR - 304 11 47 21 0 6 13 40 6355 PS FR - 462 15 58 20 1 7 9 40 7405 SPS IT - 417 13 46 22 0 6 13 40 6153 PS FR - 530 13 48 21 1 9 0 40 7781 PS CH - 340 15 48 21 1 8 7 40 8275 LEP FR - 310 15 59 22 0 8 6 40 7892 PS DE - 317 13 61 20 0 8 5 40 7094 LEP CH - 304 15 49 21 2 9 3 40 9201 EF FR - 438 15 51 21 1 6 10 40 6705 AG FR - 304 13 43 21 2 9 2 40 8310 LEP FR - 300 13 46 21 2 7 12 40 7347 LEP FR - 201 15 48 21 2 9 7 40 9813 LEP DE - 211 15 57 21 3 12 13 40 16334 LEP AT - 304 15 47 21 0 9 10 40 9770 SPS NL - 211 15 49 21 3 12 5 40 14380 PS AT - 565 10 52 19 0 5 13 20 3069 DD CH - 304 15 48 21 1 7 13 40 7850 EF IT - 530 8 48 21 0 6 13 20 3079 DD DE - 402 13 56 22 0 6 13 40 6153 ST CH - 417 13 56 22 1 5 13 40 5971 ST FR - 411 15 55 22 1 7 4 40 6859 ST DE - 402 9 47 22 0 7 8 40 6212 LEP FR - 211 13 52 21 1 12 8 40 13353 EF CH - 315 14 45 19 1 7 5 40 6960 TIS FR - 560 8 61 19 0 5 13 40 5492 PE FR - 400 15 46 22 0 6 13 40 6727 ST FR - 300 13 49 21 3 8 5 40 7847 PS FR - 300 15 54 22 3 7 13 40 8352 PS FR - 207 15 49 21 2 10 7 40 11375 LEP FR - 204 13 50 21 1 10 6 40 10012 PS CH - 300 13 48 21 0 8 5 40 7094 SPS CH - 300 15 48 21 0 7 10 40 7265 EP FR - 202 15 48 21 2 11 5 40 12783 PS BE - 211 15 51 21 2 11 10 40 13851 PS DE - 211 15 50 21 1 13 4 40 15428 EF DE - 341 15 50 21 2 9 7 40 9813 PS DE - 530 10 46 21 0 6 13 40 6355 TIS DE - 201 15 52 21 2 10 13 40 12477 EF AT - 200 15 52 21 3 11 8 40 13675 LEP FR - 318 13 43 22 1 8 7 40 7585 ST CH - 304 15 52 21 1 8 8 40 8406 PS FR - 204 15 46 20 1 11 3 40 12105 EP FR - 211 15 52 22 1 11 9 40 13386 EF DE - 211 15 51 21 2 12 10 40 15349 SPS FR - 443 15 47 20 1 6 10 40 6705 LEP FR - 300 15 53 21 3 8 7 40 8777 LEP FR - 300 15 48 21 2 9 5 40 9507 EF FR - 201 13 51 21 1 11 11 40 12627 EF CH - 402 15 41 21 1 7 8 40 7294 EP FR - 462 13 46 21 1 6 13 40 6404 PS FR - 300 15 43 21 0 8 1 40 7236 TIS FR - 304 15 49 21 3 9 4 40 9605 PS DE - 402 15 57 22 0 7 9 40 7154 ST CH - 312 13 58 21 0 7 13 40 6946 AG CH - 543 10 53 21 0 6 13 32 5131 SPS DE - 208 13 44 21 2 9 6 40 8868 LEP CH - 309 10 49 21 0 7 13 40 7208 TIS DE - 361 15 52 21 0 8 7 40 8024 PS CH - 341 11 46 21 0 7 12 40 7099 LEP CH - 304 15 44 21 2 7 13 40 8101 DD NL - 214 15 53 21 0 11 13 40 15340 DD ES - 304 15 42 21 1 7 7 40 7182 EF FR - 530 12 40 20 2 6 11 20 3716 DD FR - 211 15 57 21 0 11 13 40 15340 PS ZZ - 510 15 47 21 4 10 8 40 12060 AG FR - 304 15 56 21 0 9 12 40 10075 EF BE - 417 13 47 22 0 7 13 40 6946 PS CH - 415 15 43 22 2 6 11 40 7046 TIS FR - 211 15 54 20 2 12 8 40 14860 TIS DE - 318 13 58 20 0 9 4 40 8087 LEP FR - 343 15 51 20 0 8 8 40 8155 LEP FR - 302 15 53 20 3 8 13 40 9566 EF FR - 303 15 48 20 1 7 10 40 7516 LEP BE - 201 15 50 20 2 11 7 40 13210 SPS DE - 204 15 51 21 1 11 2 40 11892 LEP DE - 204 15 43 20 2 9 3 40 9201 LEP CH - 304 13 46 20 3 8 7 40 8087 PS FR - 304 15 48 20 0 9 11 40 9923 SPS DE - 202 15 49 20 0 11 4 40 12068 PS DE - 415 15 48 22 1 6 13 40 6978 TIS FR - 201 15 58 20 1 11 13 40 15591 LEP AT - 211 15 48 20 2 11 7 40 13210 EF IT - 300 15 45 20 1 9 4 40 9103 SPS FR - 342 15 57 21 0 8 9 40 8286 ST FR - 530 12 47 20 1 7 5 40 6388 AG FR - 530 8 45 20 0 7 10 40 6415 PE FR - 211 15 49 20 2 11 13 40 15842 EP AT - 201 15 58 24 2 12 13 40 16083 ST CH - 211 15 55 19 2 11 13 40 15842 PS CH - 530 8 46 20 0 6 11 40 5744 TH CH - 211 15 59 22 0 12 13 40 15581 EF CH - 460 11 50 20 0 6 13 40 6355 PS FR - 304 15 47 20 2 9 6 40 9660 EP GB - 341 15 58 20 0 9 12 40 10075 SPS FR - 211 15 48 20 3 12 6 40 14623 PS DE - 211 15 52 20 2 12 10 40 15349 SPS DE - 300 13 45 20 2 7 6 40 6740 SPS FR - 409 13 53 22 1 6 11 40 6223 ST FR - 400 15 47 22 0 6 11 40 6544 ST FR - 201 15 52 20 1 10 2 40 10206 EF GB - 211 15 54 20 1 12 12 40 15587 EF DE - 417 15 42 22 2 7 4 40 7110 LEP FR - 510 15 57 20 1 11 5 40 12532 AG FR - 216 8 50 20 0 10 4 20 4782 SPS FR - 543 12 42 20 1 7 8 40 6691 SPS FR - 310 15 56 21 0 8 10 40 8418 ST FR - 500 13 57 20 0 11 5 40 11210 AG CH - 361 15 46 21 2 8 8 40 8657 PS FR - 201 15 49 20 3 11 7 40 13461 SPS AT - 204 15 52 20 0 10 13 40 11975 PS DE - 304 15 49 20 2 8 12 40 9183 EF FR - 467 15 53 20 0 6 13 40 6727 LEP FR - 438 13 58 20 1 7 12 40 7096 EF CH - 304 15 50 20 1 9 9 40 9868 EP FR - 204 15 47 20 2 10 13 40 12477 SPS IT - 304 9 42 20 0 7 10 40 6415 PS FR - 211 15 54 20 0 11 11 40 13562 LEP GB - 543 10 57 20 0 7 10 40 6882 PS FR - 531 8 41 20 0 7 6 40 6010 FI FR - 400 13 47 21 2 6 12 40 6564 ST FR - 300 11 53 20 0 8 13 40 8394 LEP FR - 438 13 49 20 1 7 8 40 6691 EF FR - 400 15 52 20 1 7 9 40 7405 SPS GB - 300 13 48 20 3 8 6 40 7967 EF FR - 301 15 47 20 2 8 4 40 8132 LEP FR - 566 10 55 20 0 6 13 40 6355 DD CH - 204 15 51 20 3 12 9 40 15355 LEP FR - 340 15 56 20 0 9 5 40 9005 ST FR - 200 15 53 20 2 12 6 40 14372 SPS DE - 211 15 52 20 1 11 13 40 15591 EF GB - 304 15 49 21 1 8 9 40 8537 EP DE - 200 15 54 20 2 13 10 40 17497 SPS IT - 400 15 49 20 1 6 13 40 6978 LEP FR - 300 13 47 20 1 9 10 40 9174 LEP FR - 402 15 59 21 0 6 13 40 6727 LEP ES - 301 13 51 20 0 7 13 40 6946 LEP FR - 211 15 52 20 1 12 8 40 14609 PS DE - 301 13 56 20 1 8 11 40 8063 SPS FR - 341 15 47 20 1 7 8 40 7294 EP FR - 202 15 47 20 2 11 2 40 12143 PS GB - 211 15 48 20 4 11 8 40 13926 EF IT - 211 15 48 20 4 12 5 40 14631 EP GB - 300 11 51 20 0 8 5 40 7366 LEP FR - 200 15 47 20 2 12 6 40 14372 LEP GB - 201 15 54 20 2 10 7 40 11375 SPS FR - 318 15 49 21 3 8 5 40 8514 SPS FR - 543 10 54 20 0 7 13 40 7208 PS DE - 204 15 46 20 2 10 3 40 10641 LEP GB - 531 13 42 20 2 7 8 40 6942 FI FR - 531 13 41 20 2 6 10 40 6384 FI FR - 445 13 45 20 1 7 8 40 6691 LEP FR - 560 14 53 19 0 5 13 40 6293 ST FR - 495 13 53 21 0 4 15 40 5570 ST FR - 343 15 51 21 3 7 13 40 8352 DD DE - 303 15 43 20 2 8 3 40 8000 LEP FR - 425 8 53 19 0 6 10 40 5654 ST CH - 204 15 50 20 2 11 11 40 14064 LEP FR - 211 15 49 20 2 11 8 40 13424 TIS AT - 438 15 50 20 1 7 9 40 7405 EP FR - 301 15 49 20 0 8 11 40 8549 EF CH - 400 15 52 20 0 7 11 40 7376 PS DE - 506 15 54 21 0 10 13 40 11975 PE FR - 310 13 46 21 2 8 1 40 7118 ST CH - 201 13 46 20 2 9 8 40 9147 SPS CH - 300 15 50 20 2 8 5 40 8263 EF IT - 200 15 57 20 0 11 11 40 13562 ST FR - 566 14 44 19 1 6 9 40 6615 EP FR - 543 14 45 19 2 7 5 40 7211 EP DE - 200 15 50 20 1 9 7 40 9562 LEP FR - 301 15 63 22 0 8 5 40 7761 LEP BE - 543 12 43 20 1 7 9 40 6793 EF FR - 215 15 50 20 2 11 8 40 13424 DD ZZ - 341 15 51 20 2 9 1 40 8894 PS GB - 211 15 50 20 2 12 6 40 14372 EF DE - 303 13 48 20 1 7 9 40 6793 PS FR - 307 15 52 20 2 8 13 40 9315 LEP FR - 530 15 46 20 4 8 7 40 9028 DD GB - 497 13 42 21 2 5 13 40 6222 ST FR - 361 13 47 20 2 7 9 40 7044 SPS FR - 316 13 48 20 2 8 10 40 8194 LEP FR - 317 13 45 20 2 7 10 40 7145 EF FR - 443 8 50 20 0 7 7 40 6111 PS FR - 317 15 54 21 1 9 4 40 9103 LEP FR - 317 15 48 20 1 8 3 40 7749 EF FR - 316 15 47 20 0 7 9 40 7154 LEP DE - 560 8 48 19 0 5 13 20 2855 PE CH - 402 15 56 21 1 7 9 40 7405 PS FR - 204 15 49 20 2 9 11 40 10425 SPS NL - 301 13 50 20 1 8 9 40 7824 EF FR - 531 10 51 20 0 7 5 40 6338 FI DE - 304 15 48 20 1 8 9 40 8537 LEP FR - 341 15 56 21 1 10 5 40 10757 EF FR - 412 11 60 20 0 7 9 40 6773 LEP FR - 202 13 47 20 2 9 5 40 8729 LEP FR - 424 13 51 20 2 6 13 40 6655 SPS FR - 340 15 52 20 1 8 13 40 9064 ST FR - 511 15 48 20 1 10 5 40 10757 DD CH - 566 15 55 20 0 5 13 40 6293 FI FR - 532 12 41 20 2 6 11 40 6474 FI FR - 497 13 58 21 0 5 13 40 5720 ST FR - 530 15 51 20 2 8 12 40 9183 PE BE - 341 15 45 20 1 9 4 40 9103 SPS FR - 402 15 62 21 0 7 12 40 7487 PS IT - 304 13 44 20 3 7 11 40 7497 LEP FR - 402 13 50 21 1 7 12 40 7096 LEP FR - 208 15 44 20 1 9 6 40 9409 PS FR - 300 9 50 20 0 8 9 40 7345 ST CH - 411 15 52 21 0 7 6 40 6820 ST FR - 530 10 48 20 0 7 11 40 6990 LEP FR - 500 15 51 20 0 12 10 40 14847 LEP FR - 417 15 58 21 0 6 11 40 6544 ST FR - 204 15 46 20 0 10 1 40 9771 EP SE - 201 15 46 20 3 9 6 40 9911 SPS AT - 204 15 46 20 2 12 3 40 13643 EF FR - 543 12 42 20 1 7 3 40 6185 LEP FR - 414 15 48 21 1 7 9 40 7405 LEP FR - 202 15 45 20 3 10 9 40 11992 SPS BE - 300 11 46 20 0 8 5 40 7366 EF CH - 318 15 52 21 0 8 4 40 7630 ST FR - 530 15 50 20 0 8 8 40 8155 ST FR - 537 15 44 20 2 8 1 40 7738 PE FR - 201 15 45 20 2 10 8 40 11558 SPS NL - 499 12 55 19 0 4 15 20 3005 EP FR - 204 15 47 20 2 11 7 40 13210 LEP FR - 204 11 46 20 0 11 6 40 11994 EP CH - 200 15 51 20 1 11 0 40 11465 SPS DE - 204 15 45 20 0 10 1 40 9771 PS CH - 501 15 59 20 0 12 9 40 14602 AG FR - 510 10 46 19 0 9 6 40 8732 AG DE - 402 15 49 21 2 7 10 40 7767 LEP CH - 304 15 50 20 2 9 8 40 9966 EP FR - 304 15 46 20 1 8 12 40 8932 EP FR - 543 14 47 20 2 7 11 40 7878 LEP CH - 302 15 50 21 0 7 13 40 7599 SPS FR - 560 8 53 19 0 4 15 20 2777 EP FR - 530 8 48 19 0 7 5 40 5909 EP FR - 560 14 43 19 3 4 15 20 4044 TIS CH - 211 15 46 19 2 11 8 40 13424 EP GB - 560 14 47 19 5 5 13 20 4624 EP FR - 204 15 55 20 1 12 12 40 15587 EF CH - 201 15 54 20 1 11 13 40 15591 EF FR - 533 8 41 20 1 8 2 40 6759 AG FR - 417 11 43 21 0 7 6 40 6447 LEP FR - 302 15 52 20 0 8 8 40 8155 SPS FR - 300 15 48 20 2 9 1 40 8894 EF FR - 201 15 50 20 0 10 3 40 10139 SPS FR - 560 13 43 21 2 4 14 40 5993 FI FR - 200 15 44 20 2 10 6 40 11191 SPS GB - 204 15 49 20 1 10 6 40 10940 SPS GB - 211 15 51 19 3 12 9 40 15355 SPS DE - 415 15 50 21 0 6 11 40 6544 TIS FR - 315 15 47 21 1 7 4 40 6859 TIS FR - 500 15 61 20 0 10 5 40 10506 AG CH - 300 15 46 21 2 8 8 40 8657 ST GB - 200 15 53 20 2 10 11 40 12109 LEP DE - 365 15 42 21 1 8 4 40 7881 DD IT - 530 14 48 20 0 7 12 20 3989 LEP CH - 564 15 40 21 2 5 12 40 6713 ST FR - 417 13 54 21 2 6 13 40 6655 ST FR - 560 13 46 19 2 4 15 40 6072 FI FR - 417 15 62 20 0 7 13 40 7599 SPS DE - 303 15 45 19 2 7 9 40 7656 SPS CH - 102 15 51 19 3 13 3 40 15627 EP DE - 317 15 51 19 0 8 8 40 8155 EF DE - 560 8 41 19 0 4 15 20 2777 EP FR - 414 13 50 20 1 5 13 40 5971 ST FR - 310 15 60 20 0 8 5 40 7761 ST FR - 319 15 48 19 3 8 5 40 8514 LEP FR - 341 15 43 19 2 8 1 40 7738 LEP FR - 424 13 42 19 2 7 7 40 6841 EP FR - 536 14 48 19 2 8 5 40 8263 PE FR - 541 11 51 19 0 8 12 40 8266 DD IT - 304 15 53 19 0 8 10 40 8418 EF FR - 560 14 56 19 1 5 12 40 6462 FI FR - 316 15 50 20 0 8 13 40 8813 PS NL - 311 15 50 20 0 7 11 40 7376 ST FR - 341 15 44 19 2 9 3 40 9201 EP GB - 211 15 46 19 2 11 8 40 13424 PS FR - 565 12 44 19 0 5 13 40 5720 DD CH - 400 15 58 20 0 7 9 40 7154 ST FR - 402 13 46 19 1 7 8 40 6691 LEP FR - 216 11 44 19 0 10 13 40 11486 DD GB - 497 13 45 20 1 5 13 40 5971 ST FR - 543 10 43 18 0 7 8 40 6664 LEP FR - 402 15 47 20 2 6 13 20 4097 EP IT - 465 15 50 19 1 6 13 40 6978 DD FR - 560 14 48 18 1 6 11 40 6795 FI GB - 304 13 54 19 1 8 6 40 7465 SPS FR - 308 15 43 19 2 8 2 40 7869 EP FR - 562 14 43 19 2 6 13 40 7229 AG CH - 534 8 45 19 0 6 13 40 5925 AG FR - 211 15 48 19 2 12 4 40 13886 EP IT - 300 15 49 19 0 9 3 40 8699 PS GB - 425 12 49 19 0 4 14 36 4986 ST FR - 438 15 43 20 3 7 7 40 7684 ST CH - 438 15 54 19 0 7 13 40 7599 SPS FR - 419 15 48 19 0 6 13 40 6727 PS FR - 201 15 47 21 3 12 7 40 14867 LEP FR - 301 15 48 19 0 8 9 40 8286 TIS GB - 300 15 48 19 2 9 3 40 9201 PS GB - 543 12 59 19 1 8 5 40 7345 EF CH - 541 15 40 18 2 7 5 40 7211 ST FR - 438 15 49 20 1 7 10 40 7516 PS FR - 304 13 46 19 1 8 6 40 7465 PS CH - 543 12 39 19 2 6 13 20 3809 AG FR - 535 14 49 19 0 8 12 40 8681 TH SE - 300 15 47 19 3 9 5 40 9758 AG ES - 300 15 50 20 2 7 13 40 8101 ST BE - 216 15 45 19 2 11 7 40 13210 DD GB - 204 15 54 19 1 11 13 40 15591 PS IT - 543 14 41 19 1 6 12 40 6886 SPS FR - 561 8 47 19 0 3 15 40 4927 FI CH - 202 15 47 19 6 11 4 40 13574 PS DE - 316 15 50 19 2 8 6 40 8394 PS FR - 560 14 41 18 3 5 12 40 6964 ST FR - 204 15 51 19 4 10 7 40 11877 EP SE - 304 15 54 19 2 10 6 40 11191 EP NL - 536 14 42 19 2 7 6 20 4145 PE GB - 441 10 46 19 0 7 8 40 6664 SPS DE - 200 15 46 19 2 11 7 40 13210 ST IT - 417 15 49 20 2 7 6 40 7322 LEP FR - 300 15 60 19 1 8 13 40 9064 LEP FR - 202 15 47 19 2 11 8 40 13424 SPS BE - 402 11 56 20 0 7 13 40 7208 LEP FR - 300 11 44 19 0 8 4 40 7238 SPS FR - 304 15 44 19 1 9 1 40 8643 EP GB - 211 15 49 19 4 12 11 40 16095 EF DE - 211 15 49 19 0 12 3 40 13141 ST DE - 214 15 46 19 2 10 13 40 12477 DD GB - 534 10 44 19 0 6 11 40 6173 AG FR - 530 13 42 19 2 7 12 40 7347 PE FR - 417 15 54 20 2 7 13 40 8101 LEP FR - 300 15 45 19 1 9 1 40 8643 ST FR - 562 8 39 19 0 5 12 20 2812 FI FR - 417 15 56 20 0 5 13 40 6293 ST FR - 300 15 46 19 2 7 9 40 7656 EF FR - 203 15 59 19 0 12 13 40 15581 EF FR - 201 15 46 19 1 11 1 40 11678 SPS FR - 564 13 43 20 0 4 15 40 5570 ST FR - 402 13 40 19 2 6 13 40 6655 LEP FR - 316 15 51 19 3 9 8 40 10217 LEP FR - 317 15 53 19 1 8 6 40 8143 LEP FR - 211 15 44 19 2 12 1 40 13157 SPS GB - 200 15 46 19 2 12 2 40 13400 EF FR - 564 13 45 20 1 4 14 40 5742 ST FR - 211 13 48 19 3 11 5 40 11963 EF FR - 204 15 46 19 0 9 7 40 9311 EP FR - 304 15 45 19 1 7 9 40 7405 SPS FR - 301 15 55 19 0 7 13 40 7599 EF FR - 204 13 44 19 3 9 1 40 8422 EF CH - 566 8 59 18 0 5 13 30 4173 EP CH - 543 14 40 19 2 7 3 40 7009 LEP FR - 300 15 40 20 0 7 4 40 6608 EF CH - 201 15 53 19 2 11 9 40 13637 SPS IT - 499 14 43 19 1 5 13 20 3620 EF IT - 214 9 48 19 0 11 5 40 10982 EF CH - 216 15 46 19 2 11 5 40 12783 DD AT - 560 12 41 19 1 6 10 40 6133 FI FR - 304 15 49 19 1 9 5 40 9256 EF FR - 214 15 52 19 2 11 13 40 15842 DD BE - 531 15 49 19 1 8 9 40 8537 FI FR - 417 15 45 20 1 7 8 40 7294 ST FR - 410 13 51 20 0 6 13 40 6153 SPS FR - 211 15 50 19 2 11 6 40 12997 EP DE - 304 11 50 19 0 9 2 40 8133 EP FR - 301 13 46 19 4 7 12 40 7849 EF FR - 303 15 41 19 2 7 7 40 7433 EF CH - 204 15 41 19 2 10 0 40 10089 PS IT - 214 10 46 19 0 11 2 40 11159 DD FR - 365 15 41 20 1 8 5 40 8012 DD NL - 300 15 47 20 2 8 5 40 8263 DD DE - 506 15 47 19 2 10 6 40 11191 PE DK - 530 14 52 19 0 7 12 40 7487 PE FR - 310 13 51 20 0 6 12 40 6062 ST CH - 201 15 64 19 0 10 8 40 11056 EF GB - 204 15 46 19 2 10 3 40 10641 DD GB - 301 15 61 19 0 8 13 40 8813 LEP FR - 304 15 48 19 0 9 5 40 9005 EP FR - 300 15 51 19 3 9 8 40 10217 SPS FR - 304 15 53 19 0 9 8 40 9464 PS NL - 530 10 43 19 0 8 5 40 7366 DD GB - 562 12 38 19 2 6 12 40 6564 ST FR - 214 15 45 18 1 12 3 40 13392 DD GB - 211 15 50 18 1 11 11 40 13813 PS DE - 512 15 47 19 2 11 3 40 12356 ST GB - 301 13 42 19 2 8 3 40 7357 EP FR - 415 15 47 20 0 6 10 40 6454 TIS FR - 415 15 44 20 2 6 10 40 6956 TIS FR - 530 8 46 18 0 7 6 40 6010 DD NL - 311 14 45 19 1 8 5 40 8012 ST DE - 214 10 48 19 0 11 7 40 12203 DD GB - 200 15 57 19 1 12 13 40 15832 PS FR - 201 15 49 19 0 9 7 40 9311 EF FR - 204 15 45 19 2 11 5 40 12783 PS FR - 530 10 47 19 0 7 10 40 6882 EF CH - 510 15 49 19 2 10 8 40 11558 AG FR - 419 13 52 20 0 7 9 40 6542 SPS CH - 424 15 53 19 1 6 13 40 6978 LEP IT - 511 15 50 19 2 10 6 40 11191 DD GB - 318 15 46 20 1 8 1 40 7487 ST FR - 300 13 41 18 2 6 12 40 6564 EP FR - 417 13 42 19 2 7 7 40 6841 LEP FR - 304 15 45 19 2 9 2 40 9047 LEP FR - 303 13 41 19 0 7 7 40 6339 EF FR - 424 15 46 19 0 5 13 40 6293 SPS FR - 211 15 51 19 2 11 13 40 15842 EF CH - 424 8 52 18 0 4 15 20 2777 EP IT - 560 14 51 18 0 4 15 40 6143 EP FR - 499 14 60 18 0 5 13 20 3369 EP IT - 560 12 50 18 0 4 15 40 5570 EP CH - 200 15 43 19 3 9 2 40 9298 PS FR - 500 15 47 19 2 12 1 40 13157 FI FR - 405 15 59 19 0 6 13 40 6727 ST FR - 419 15 52 19 0 6 11 40 6544 ST FR - 203 15 52 19 2 11 6 40 12997 EP AT - 204 15 49 19 2 10 13 40 12477 PS FR - 367 13 54 19 0 8 5 40 7094 EF CH - 341 15 52 19 0 9 7 40 9311 EP FR - 341 15 51 19 0 9 4 40 8852 EP FR - 462 15 55 19 0 7 6 40 6820 ST FR - 543 14 46 18 2 7 8 40 7545 TIS CH - 304 15 46 18 2 9 7 40 9813 EP AT - 367 15 42 18 2 8 3 40 8000 EF FR - 303 15 50 18 1 7 12 40 7738 LEP FR - 300 15 54 18 0 8 10 40 8418 EF FR - 304 15 43 18 2 8 8 40 8657 LEP FR - 215 15 45 18 2 12 4 40 13886 DD GB - 543 8 43 18 0 8 2 40 6508 EF GB - 465 15 42 18 2 6 9 40 6866 DD FR - 425 8 47 18 0 4 14 32 4252 ST FR - 214 15 54 20 1 12 10 40 15098 DD DE - 204 15 46 18 2 11 5 40 12783 PS BE - 530 15 46 18 2 7 12 40 7989 EP FR - 201 15 52 18 0 10 13 40 11975 LEP FR - 204 15 44 18 2 9 5 40 9507 EF FR - 302 15 60 18 0 10 13 40 11975 SPS FR - 400 15 58 18 1 7 9 40 7405 EF FR - 417 13 43 19 2 7 4 40 6537 LEP FR - 543 10 50 18 0 8 6 40 7495 DG NO - 304 15 48 18 2 8 8 40 8657 SPS FR - 304 15 47 18 2 9 2 40 9047 PS FR - 304 13 46 18 2 8 11 40 8314 SPS FR - 304 11 51 18 0 9 8 40 9031 PS FR - 204 15 42 18 1 9 10 40 10021 SPS BE - 304 15 44 18 2 8 10 40 8920 SPS FR - 495 15 49 19 0 5 13 40 6293 ST FR - 303 15 48 18 1 8 8 40 8406 ST FR - 419 13 57 18 1 6 13 40 6404 LEP IT - 211 15 52 18 2 10 13 40 12477 LEP GB - 302 13 60 18 0 10 8 40 10094 PS CH - 202 15 43 18 3 10 8 40 11809 SPS CH - 560 9 41 18 0 5 8 40 5084 FI FR - 560 14 42 18 1 5 13 40 6544 FI FR - 511 15 48 18 2 9 10 40 10272 DD FR - 310 15 46 19 2 9 5 40 9507 ST FR - 361 15 44 18 2 6 13 40 7229 SPS FR - 560 13 44 18 3 6 11 40 6725 EF FR - 531 15 41 18 2 6 13 40 7229 FI IT - 211 11 46 18 0 11 4 40 11577 EF GB - 211 15 49 18 2 11 13 40 15842 EP FR - 341 15 52 18 0 8 11 40 8549 EF FR - 202 15 47 18 2 11 7 40 13210 PS DE - 438 13 44 18 2 7 8 40 6942 SPS FR - 211 15 46 18 2 11 3 40 12356 SPS GB - 560 10 56 18 0 4 15 40 5772 PE CH - 208 15 43 18 2 10 6 40 11191 AG FR - 426 15 47 19 1 7 7 40 7182 ST CH - 506 15 40 18 2 10 2 40 10457 PE GB - 211 15 52 18 2 11 9 40 13637 EF FR - 304 15 41 18 2 8 1 40 7738 EP FR - 102 15 53 18 0 12 13 40 15581 EP CH - 402 15 58 18 0 7 6 40 6820 EF FR - 308 14 52 17 1 8 7 40 8275 EP DE - 204 15 46 18 1 9 7 40 9562 PS FR - 560 14 49 17 1 6 8 40 6524 FI FR - 304 15 45 18 2 7 11 40 7878 LEP FR - 464 15 61 18 0 6 13 40 6727 LEP FR - 301 15 44 18 2 7 8 40 7545 EP FR - 530 15 46 18 3 7 5 40 7462 FI FR - 304 15 45 18 2 8 5 40 8263 SPS FR - 400 15 50 19 0 6 8 40 6273 ST FR - 543 12 53 18 0 7 9 32 5329 LEP CH - 304 13 55 18 0 8 13 40 8052 EF CH - 214 15 42 18 2 10 7 40 11375 DD GB - 441 15 54 18 0 6 13 40 6727 LEP FR - 315 15 47 18 1 8 6 40 8143 TIS FR - 301 13 43 18 1 8 2 40 6987 EP FR - 211 15 49 19 3 11 8 40 13675 EF IT - 300 15 42 18 4 8 2 40 8371 EF CH - 204 15 43 18 2 11 3 40 12356 PS FR - 562 14 44 18 1 6 13 28 5098 AG GB - 410 9 52 19 0 5 13 40 5492 ST FR - 316 15 50 18 3 7 8 40 7796 LEP FR - 310 15 55 18 1 10 13 40 12226 LEP CH - 402 15 55 18 1 6 13 40 6978 EP CH - 215 15 52 18 2 12 12 40 15838 PE DE - 432 13 56 19 3 4 15 40 6323 ST IT - 304 15 48 18 1 9 8 40 9715 EP BE - 300 15 47 18 2 9 3 40 9201 SPS CH - 214 15 44 18 2 11 3 40 12356 DD IT - 365 11 41 19 0 8 4 40 7238 DD GB - 304 15 45 18 2 9 4 40 9354 LEP FR - 427 13 42 19 1 6 8 40 5952 ST FR - 340 15 51 18 2 7 10 40 7767 AG DE - 543 8 44 18 0 7 9 40 6314 EF FR - 418 15 43 18 2 6 13 40 7229 LEP FR - 304 13 46 18 3 7 8 40 7193 SPS FR - 402 15 50 19 1 6 13 40 6978 PS FR - 211 15 49 18 2 12 7 40 14616 EP DK - 566 15 42 18 0 6 11 40 6544 DD IT - 216 15 48 18 2 11 9 40 13637 DD FR - 543 8 40 17 0 7 6 36 5433 PS BE - 500 13 44 18 2 10 10 40 10930 DD FR - 203 13 49 18 3 11 7 40 12352 EF FR - 300 15 44 19 3 7 6 40 7573 EP FR - 438 13 50 19 0 6 13 40 6153 LEP FR - 560 14 50 17 1 5 11 40 6380 FI FR - 300 15 44 18 2 9 2 40 9047 SPS GB - 530 10 59 20 0 8 13 40 8394 PE FR - 463 13 44 19 1 6 10 40 6133 ST FR - 204 15 54 21 0 11 11 40 13562 EF NL - 424 13 41 18 2 6 12 40 6564 DD FR - 202 15 46 18 2 10 3 40 10641 LEP GB - 301 13 46 18 1 7 8 40 6691 EF FR - 543 8 44 18 0 7 6 40 6010 PS FR - 216 13 50 18 3 11 8 40 12546 DD CH - 419 13 42 18 2 6 13 40 6655 PS FR - 211 15 51 18 1 13 10 40 17246 PS GB - 447 8 51 18 0 5 13 40 5492 EP FR - 304 11 46 17 0 8 8 40 7752 EF FR - 304 15 47 18 2 8 7 40 8526 SPS GB - 560 13 58 17 0 5 12 40 5638 EP FR - 303 15 40 17 2 8 4 40 8132 PS FR - 304 13 39 19 1 8 0 40 6748 EF FR - 304 15 50 17 1 8 8 40 8406 EF FR - 214 15 52 17 2 11 10 40 13851 DD GB - 560 13 60 19 0 7 7 40 6339 AG FR - 400 15 55 17 1 7 7 40 7182 EP DE - 214 15 42 17 2 11 0 40 11716 DD GB - 304 15 49 17 1 8 8 40 8406 EP FR - 307 15 55 17 2 9 8 40 9966 LEP FR - 543 14 41 17 2 7 7 20 4203 TH GB - 341 15 45 17 2 7 10 40 7767 EP FR - 211 15 51 17 2 12 11 40 15593 SPS GB - 567 11 51 18 0 5 13 40 5922 ST IT - 304 15 53 18 2 7 11 40 7878 SPS IT - 303 15 41 17 2 8 7 40 8526 LEP BE - 543 14 50 17 0 7 9 40 7154 PS GB - 367 9 51 17 0 8 6 40 6986 EF FR - 300 15 54 17 1 7 13 40 7850 EF FR - 211 15 50 17 1 11 9 40 13386 TIS NL - 200 15 54 17 3 11 10 40 14102 LEP FR - 500 15 51 17 1 11 9 40 13386 LEP CH - 304 15 46 17 4 8 10 40 9422 LEP SE - 204 15 44 17 2 9 4 40 9354 EF FR - 462 15 50 18 1 7 6 40 7071 SPS FR - 203 15 50 24 0 11 7 40 12708 TIS IT - 300 13 38 15 3 8 2 40 7489 EP CH - 211 15 49 17 2 11 4 40 12570 SPS AT - 441 10 52 17 0 7 9 40 6773 SPS FR - 300 15 51 19 2 9 2 40 9047 PS GB - 530 8 57 17 0 8 2 40 6508 EF CH - 565 14 45 17 0 5 13 20 3369 DD CH - 424 15 59 17 0 7 9 40 7154 LEP DE - 418 15 41 17 2 6 13 40 7229 LEP FR - 211 15 50 17 2 11 11 40 14064 TIS GB - 304 13 40 17 3 6 13 40 6906 SPS FR - 307 15 41 17 2 7 11 40 7878 LEP FR - 530 8 59 20 0 10 7 40 9700 TH CH - 307 15 43 17 0 8 7 40 8024 LEP FR - 543 14 42 17 2 7 9 40 7656 DG GB - 343 15 39 17 3 7 3 40 7260 LEP FR - 302 15 45 17 0 8 7 40 8024 LEP FR - 543 14 48 17 2 7 4 20 4035 EP FR - 211 15 40 17 2 10 5 40 11008 SPS GB - 201 13 49 17 3 11 7 40 12352 SPS FR - 211 15 51 17 2 11 13 40 15842 LEP DE - 315 15 51 17 0 9 3 40 8699 TIS FR - 204 15 47 17 0 11 5 40 12281 LEP FR - 405 15 55 18 0 7 9 40 7154 SPS FR - 542 15 60 17 1 8 13 40 9064 SPS FR - 361 15 39 18 1 7 3 40 6758 PS GB - 362 15 47 18 1 7 10 40 7516 PS IT - 498 13 39 18 1 5 10 40 5726 ST FR - 530 10 51 17 0 8 1 40 6853 AG CH - 341 15 41 17 0 7 6 40 6820 EP CH - 542 13 45 17 1 7 7 40 6590 ST FR - 206 15 50 17 1 11 3 40 12105 TIS GB - 304 13 47 17 0 9 6 40 8366 SPS CH - 304 11 45 17 0 9 4 40 8433 LEP NO - 204 13 44 17 1 10 1 40 9176 LEP FR - 211 15 48 17 4 11 6 40 13499 LEP GB - 400 11 53 18 0 7 9 40 6773 SPS FR - 211 15 47 17 2 11 3 40 12356 SPS FR - 211 15 57 17 1 11 13 40 15591 SPS FR - 204 15 51 17 2 11 10 40 13851 SPS FR - 464 15 45 17 2 6 13 40 7229 LEP FR - 530 8 45 17 0 7 9 20 3282 LEP BE - 362 15 47 18 1 7 9 40 7405 SPS DE - 211 15 48 17 2 12 2 40 13400 PS DE - 307 13 43 17 3 7 7 40 7092 LEP FR - 512 15 58 17 0 10 13 40 11975 ST FR - 419 15 49 17 0 6 10 40 6454 LEP FR - 300 15 40 17 2 9 0 40 8742 LEP FR - 560 15 39 17 2 6 6 40 6595 PE AT - 304 15 40 17 2 8 7 40 8526 SPS FR - 418 15 49 17 1 7 6 40 7071 SPS FR - 211 15 52 17 1 10 13 40 12226 PS DE - 424 15 53 17 2 5 13 40 6795 LEP FR - 343 15 48 17 1 7 13 40 7850 PS FR - 204 15 42 17 2 11 2 40 12143 PS FR - 304 15 41 17 2 8 4 40 8132 EP BE - 415 13 41 18 2 5 13 40 6222 TIS FR - 530 8 40 17 0 7 3 40 5706 AG FR - 315 15 45 17 3 8 6 40 8645 TIS FR - 204 13 45 17 4 11 5 40 12214 PS FR - 202 15 49 17 2 10 5 40 11008 SPS GB - 415 15 40 18 2 5 13 40 6795 TIS FR - 530 8 50 17 0 7 13 20 3492 DD DE - 200 15 52 14 2 11 13 40 15842 EF DE - 402 13 42 18 2 6 13 40 6655 SPS FR - 316 13 55 17 0 8 11 40 7812 SPS FR - 418 13 49 17 1 7 6 40 6489 SPS FR - 200 11 61 17 0 10 13 40 11486 SPS FR - 497 13 49 18 1 5 12 40 5889 ST IT - 362 15 50 18 1 7 10 40 7516 PS DE - 362 13 48 18 0 7 10 40 6643 PS FR - 341 15 41 17 3 7 9 40 7907 SPS FR - 200 15 58 17 0 12 12 40 15336 EP GB - 505 8 43 17 0 9 2 40 7580 TH GB - 341 13 45 17 2 8 8 40 7955 EP FR - 202 15 45 17 1 10 6 40 10940 SPS BE - 204 15 48 17 4 11 2 40 12645 SPS BE - 300 15 45 17 1 7 8 40 7294 EF FR - 402 15 43 17 2 6 11 40 7046 SPS FR - 302 15 50 17 0 7 9 40 7154 EF FR - 424 15 50 17 0 6 13 40 6727 SPS FR - 211 13 45 17 3 12 1 40 12303 LEP CH - 304 11 49 17 0 7 11 40 6990 PS GB - 304 11 52 17 0 8 6 40 7495 LEP FR - 311 13 49 18 2 8 3 40 7357 ST FR - 211 15 51 17 2 11 5 40 12783 LEP FR - 211 15 48 14 2 11 8 40 13424 EF CH - 415 13 39 18 0 5 13 40 5720 TIS FR - 415 15 41 18 2 5 13 40 6795 TIS FR - 562 10 42 17 0 6 12 40 6264 EF GB - 304 15 42 17 3 7 9 40 7907 SPS NL - 417 15 43 18 2 6 7 40 6685 LEP IT - 341 13 51 19 1 8 9 40 7824 SPS CH - 361 15 42 17 2 8 2 40 7869 SPS GB - 315 13 39 15 2 8 1 40 7118 TIS FR - 415 13 40 18 3 6 10 40 6635 TIS FR - 343 15 43 17 3 7 6 40 7573 LEP FR - 211 15 47 17 4 11 7 40 13712 EP DE - 530 12 41 17 1 7 5 40 6388 FI FR - 204 15 55 17 0 10 6 40 10689 SPS FR - 400 15 56 17 1 6 13 40 6978 LEP FR - 539 8 37 16 0 7 2 40 5605 PE FR - 304 15 42 17 2 8 6 40 8394 SPS NO - 214 15 46 16 3 11 5 40 13034 DD DE - 200 15 46 17 0 10 12 40 11791 ST FR - 202 15 46 17 1 10 3 40 10390 SPS NL - 304 15 50 17 1 8 7 40 8275 SPS DE - 361 15 47 17 2 8 4 40 8132 SPS FR - 462 15 44 16 3 6 13 40 7480 SPS FR - 543 8 40 17 0 7 6 24 3701 AG FR - 304 13 46 17 3 8 13 40 8805 LEP FR - 417 13 48 17 0 7 6 40 6238 SPS FR - 304 15 45 16 1 8 11 40 8800 LEP FR - 419 15 41 17 3 5 13 40 7046 LEP FR - 300 15 50 17 1 7 7 40 7182 ST FR - 542 13 58 18 0 8 5 40 7094 ST CH - 202 15 51 17 0 11 5 40 12281 SPS CH - 201 15 51 17 1 11 5 40 12532 SPS DE - 202 15 44 17 2 11 4 40 12570 LEP SE - 562 14 40 17 1 6 12 40 6886 AG GB - 214 15 46 14 2 10 8 40 11558 SPS GB - 500 11 48 17 0 11 6 40 11994 AG GR - 204 15 42 17 3 9 6 40 9911 EP NL - 304 15 43 16 2 8 3 40 8000 EF FR - 497 13 54 17 0 5 13 40 5720 EP FR - 365 15 42 17 2 7 6 40 7322 DD GB - 497 13 54 17 1 4 9 40 5346 EP IT - 564 13 47 17 1 3 13 40 5269 ST IT - 102 15 46 8 3 12 3 40 13894 EP AT - 214 15 42 15 1 11 0 40 11465 DD GB - 216 15 44 16 2 11 4 40 12570 DD GB - 102 15 46 16 2 11 8 40 13424 EP GB - 530 13 38 16 1 7 4 40 6286 SPS FR - 403 15 42 17 1 6 12 40 6886 LEP DE - 405 13 48 19 2 7 8 40 6942 ST CH - 497 13 58 17 1 5 13 40 5971 ST FR - 566 15 41 16 1 6 11 40 6795 ST ZZ - 204 15 44 16 2 11 2 40 12143 LEP DK - 300 15 41 16 2 7 6 40 7322 LEP FR - 204 15 45 16 2 9 2 40 9047 SPS CH - 201 15 46 17 2 11 4 40 12570 LEP GB - 204 15 42 16 2 11 5 40 12783 LEP CH - 419 15 52 17 2 7 9 40 7656 SPS DE - 560 12 40 16 2 6 12 40 6564 ST FR - 405 15 42 16 1 5 12 44 7039 LEP FR - 566 14 44 15 2 6 11 20 4002 DD DE - 424 15 43 17 1 6 13 40 6978 EP FR - 341 13 45 16 0 7 5 40 6137 LEP FR - 403 13 39 16 2 6 13 40 6655 SPS FR - 341 15 49 16 1 9 6 40 9409 SPS IT - 317 15 43 16 1 7 5 40 6960 EF IT - 405 13 60 22 0 7 9 40 6542 SPS CH - 204 15 52 16 2 10 13 40 12477 EP IT - 402 13 39 17 2 6 12 40 6564 SPS FR - 304 15 50 16 1 9 9 40 9868 LEP FR - 470 13 62 17 0 4 15 40 5570 EF FR - 418 15 57 16 1 7 9 40 7405 SPS FR - 308 15 47 15 3 8 9 40 9039 LEP BE - 409 13 54 17 1 7 6 40 6489 SPS FR - 438 13 42 17 2 7 5 40 6639 SPS IT - 468 15 44 17 2 5 9 40 6468 EF FR - 362 15 43 17 1 7 5 40 6960 PS FR - 200 15 42 16 3 12 1 40 13408 LEP GB - 304 15 41 16 0 7 5 40 6709 PS FR - 361 15 44 16 2 8 9 40 8788 LEP BE - 497 9 56 17 0 5 12 40 5410 ST FR - 303 15 39 16 2 7 6 40 7322 EF FR - 343 15 56 16 2 8 4 40 8132 EF CH - 543 14 41 16 2 7 2 36 6312 PS GB - 304 13 50 16 2 8 6 40 7716 SPS IT - 304 13 51 16 0 6 13 40 6153 SPS CH - 302 15 45 16 0 8 3 40 7498 ST BE - 300 15 40 16 2 7 6 40 7322 SPS GB - 204 15 44 16 2 12 1 40 13157 PS DK - 341 13 42 16 2 8 4 40 7477 LEP CH - 202 13 45 16 3 11 4 40 11769 ST FR - 543 10 45 16 0 7 4 40 6237 ST GB - 530 8 60 16 0 7 7 40 6111 FI CH - 443 13 41 16 1 6 13 40 6404 LEP FR - 304 15 46 16 3 8 9 40 9039 SPS GB - 204 15 40 15 2 10 5 40 11008 LEP GB - 543 14 48 16 3 7 12 40 8240 LEP GB - 543 14 45 16 2 7 9 20 4318 LEP CH - 211 15 44 16 2 11 5 40 12783 SPS IT - 200 13 43 16 1 10 5 40 9845 LEP CH - 304 15 45 16 2 9 1 40 8894 SPS NL - 304 15 45 16 0 7 6 40 6820 PS AT - 530 8 48 16 0 7 7 40 6111 PE FR - 497 13 46 17 2 5 13 40 6222 ST FR - 341 13 40 16 2 7 5 40 6639 SPS FR - 201 15 53 16 2 10 13 40 12477 LEP DE - 304 15 43 16 2 8 7 40 8526 DD SE - 462 15 38 17 1 6 13 40 6978 PS FR - 362 15 49 17 1 7 10 40 7516 ST FR - 304 15 41 16 2 8 9 40 8788 PS FR - 204 13 42 16 2 11 0 40 10741 LEP CH - 300 13 50 16 1 8 6 40 7465 SPS FR - 216 10 43 16 0 11 5 40 11786 DD GB - 211 15 56 16 1 13 4 40 15428 LEP CH - 214 15 41 16 2 11 0 40 11716 DD GB - 541 15 46 16 2 7 2 40 6907 ST PT - 214 15 41 15 2 11 4 40 12570 DD FR - 400 13 56 17 0 6 5 40 5430 EF FR - 400 13 55 17 2 5 9 40 5896 EP FR - 438 13 48 17 1 5 9 40 5645 EF FR - 216 13 42 16 2 11 1 40 10934 DD FR - 543 12 48 16 1 7 5 40 6388 EP CH - 211 11 44 15 0 11 4 40 11577 EF NO - 468 13 50 17 0 5 10 40 5475 EF FR - 415 15 38 17 0 5 13 40 6293 TIS FR - 415 15 38 17 1 5 13 40 6544 TIS FR - 415 13 40 17 2 5 13 40 6222 TIS FR - 304 15 49 16 0 9 7 40 9311 EP GB - 424 15 39 16 2 6 13 40 7229 PS FR - 415 13 38 17 3 5 13 40 6473 TIS CH - 415 15 37 17 3 6 12 40 7388 TIS FR - 303 15 49 16 2 7 11 40 7878 SPS FR - 361 15 44 16 1 7 9 40 7405 SPS FR - 304 15 39 16 2 8 7 40 8526 PS FR - 405 15 44 16 2 6 13 44 7855 SPS FR - 304 13 41 16 2 9 0 40 8032 PS FR - 304 15 43 16 2 8 5 40 8263 SPS NL - 315 15 38 17 2 7 5 40 7211 TIS FR - 415 15 37 17 0 5 13 40 6293 TIS FR - 415 13 42 17 1 5 13 40 5971 TIS FR - 415 15 43 17 0 5 13 40 6293 TIS FR - 304 15 45 16 1 7 11 40 7627 PS FR - 560 15 45 16 1 6 6 40 6344 PE FR - 103 15 43 15 1 13 1 40 14520 TH GB - 500 15 48 15 2 11 6 40 12997 EP AT - 211 15 49 16 1 11 8 40 13173 PS GB - 211 15 45 16 2 11 4 40 12570 EF CH - 424 13 38 17 2 5 9 40 5896 DD FR - 419 15 45 16 0 6 13 40 6727 SPS FR - 343 15 41 16 3 6 13 40 7480 SPS FR - 542 14 56 16 0 6 13 40 6727 ST FR - 302 15 42 16 2 8 4 40 8132 SPS FR - 300 13 38 16 2 7 7 40 6841 ST FR - 427 13 49 17 1 4 9 40 5346 LEP IT - 463 13 42 17 2 4 10 40 5676 ST FR - 415 13 38 17 1 5 13 40 5971 TIS FR - 200 15 46 16 3 11 7 40 13461 ST GB - 304 15 43 16 1 8 3 40 7749 SPS FR - 417 13 42 16 1 6 13 40 6404 SPS FR - 561 12 56 16 0 3 15 40 5155 FI FR - 361 13 39 16 2 7 6 40 6740 SPS FR - 102 7 46 1 1 12 1 40 12906 EP IT - 207 15 42 16 2 10 1 40 10273 LEP FR - 365 13 38 16 2 7 3 40 6436 DD FR - 500 15 47 16 3 11 3 40 12607 PE GB - 202 15 43 16 3 11 3 40 12607 SPS GB - 301 13 39 15 1 7 4 40 6286 LEP FR - 211 15 44 15 4 11 0 40 12218 SPS FR - 103 15 60 19 1 14 7 40 18602 TH IT - 530 8 45 16 0 7 4 20 3019 EP GB - 211 15 44 15 4 11 1 40 12431 EF NL - 303 15 39 16 1 6 13 40 6978 SPS FR - 419 13 48 16 0 6 13 40 6153 SPS FR - 214 15 40 15 2 10 5 40 11008 DD GB - 208 15 43 16 2 10 4 40 10824 SPS NO - 497 13 46 16 1 4 15 40 5821 ST FR - 304 15 48 16 3 9 4 40 9605 SPS FR - 361 13 39 16 3 6 9 40 6544 SPS FR - 536 8 36 16 0 6 8 20 2845 PE FR - 102 7 46 0 1 11 4 40 12319 EP DE - 304 15 39 16 2 8 4 40 8132 DD GB - 565 14 44 16 1 5 13 40 6544 DD CH - 211 15 45 14 2 11 8 40 13424 EP ZZ - 543 10 41 16 0 7 3 40 6135 EP FR - 417 15 48 16 0 6 11 40 6544 SPS FR - 318 15 52 16 2 8 1 40 7738 LEP FR - 560 8 40 16 0 6 7 40 5383 AG FR - 317 13 38 16 2 7 3 40 6436 DD FR - 447 15 45 16 2 7 13 40 8101 ST FR - 300 15 40 16 1 7 9 40 7405 SPS BE - 204 15 47 14 2 11 9 40 13637 EF DE - 424 13 55 16 0 6 11 40 5972 SPS ES - 204 15 42 16 2 10 4 40 10824 SPS SE - 500 15 45 8 2 9 11 40 10425 PE GB - 417 13 49 16 2 6 11 40 6474 EF FR - 467 13 53 16 1 6 13 40 6404 EF FR - 543 14 44 14 1 6 10 40 6705 SPS FR - 300 12 41 16 1 6 10 40 6133 SPS FR - 204 15 46 15 2 10 6 40 11191 SPS GB - 535 14 40 15 1 7 9 40 7405 TH FR - 543 12 36 16 1 7 4 40 6286 LEP FR - 211 15 42 15 2 11 2 40 12143 EF AT - 560 15 41 16 1 6 9 40 6615 PE GB - 304 15 38 15 2 7 11 40 7878 LEP FR - 304 15 42 15 0 8 5 40 7761 LEP GB - 419 13 46 16 2 6 13 40 6655 LEP FR - 361 13 47 16 2 8 8 40 7955 PS FR - 316 15 44 15 2 8 5 40 8263 LEP FR - 497 13 37 15 1 5 12 40 5889 ST FR - 211 15 42 15 2 11 2 40 12143 EF CH - 211 15 42 15 0 10 4 40 10322 LEP NL - 300 15 44 16 3 9 1 40 9145 LEP BE - 204 15 40 15 2 10 5 40 11008 SPS GB - 565 8 45 16 0 7 7 40 6111 DD CH - 415 13 38 16 2 5 13 40 6222 TIS FR - 443 13 39 16 1 6 10 40 6133 DD FR - 304 15 41 15 1 8 4 40 7881 PS GB - 405 13 38 16 2 5 12 40 6140 SPS FR - 361 15 39 15 3 7 6 40 7573 SPS GB - 361 11 41 15 0 8 1 40 6853 SPS FR - 340 13 38 15 2 8 2 40 7238 LEP FR - 102 15 56 15 4 13 10 40 17999 EP ZZ - 530 14 42 15 1 7 3 40 6758 EP FR - 208 15 41 15 2 9 5 40 9507 SPS BE - 102 15 46 3 2 11 7 40 13210 EP FR - 564 9 38 16 0 4 11 40 5025 ST FR - 202 15 48 15 2 11 3 40 12356 SPS DE - 531 12 46 15 1 7 6 40 6489 FI CH - 211 15 50 24 2 12 8 40 14860 EF GB - 304 15 44 15 2 9 5 40 9507 DD SE - 403 13 42 15 1 6 11 40 6223 PS FR - 202 15 48 15 2 11 2 40 12143 SPS DE - 400 15 44 16 1 6 11 40 6795 ST FR - 542 13 38 15 2 7 4 40 6537 ST FR - 365 15 37 16 0 6 11 40 6544 DD GB - 365 15 38 16 1 6 12 40 6886 DD AT - 307 15 40 15 2 7 8 40 7545 LEP FR - 341 15 44 15 2 6 13 40 7229 SPS FR - 211 15 45 15 3 10 5 40 11259 PS NL - 307 13 39 15 2 7 6 40 6740 LEP FR - 304 15 45 15 3 7 9 40 7907 TIS FR - 307 15 38 15 2 7 6 40 7322 LEP FR - 304 15 44 15 2 8 7 40 8526 DD GB - 308 15 45 15 3 7 3 40 7260 EP CH - 499 14 43 15 1 5 11 40 6380 EF FR - 300 13 39 15 3 7 3 40 6687 LEP FR - 560 8 50 15 0 4 13 40 5184 SPS FR - 211 7 43 3 4 11 2 40 12645 EP DE - 300 15 41 15 0 8 0 40 7105 EP FR - 308 9 40 15 0 8 5 40 6866 PS IT - 400 13 41 16 3 3 15 40 5908 AG IT - 432 15 38 16 3 5 8 40 6637 ST FR - 214 15 44 10 0 10 6 40 10689 DD DK - 340 15 40 15 2 7 8 40 7545 LEP FR - 417 13 47 16 2 6 9 40 6293 ST FR - 439 13 44 16 1 3 13 40 5269 ST FR - 304 13 38 15 2 8 2 40 7238 PS FR - 443 15 41 15 1 6 13 40 6978 SPS FR - 560 15 36 15 1 6 8 40 6524 TH FR - 361 15 41 15 2 8 3 40 8000 SPS GB - 443 15 43 15 1 7 6 36 6436 LEP FR - 419 11 42 15 0 6 11 40 6173 LEP FR - 216 15 40 15 3 10 6 40 11442 DD GB - 530 8 46 15 0 6 11 24 3537 PE FR - 400 15 43 15 2 6 11 40 7046 LEP FR - 304 15 41 16 1 8 5 40 8012 PS BE - 204 15 39 15 2 9 3 40 9201 DD GB - 301 15 51 16 0 7 8 40 7043 EF FR - 214 15 46 15 1 11 1 40 11678 SPS IT - 308 15 42 15 3 8 4 40 8383 SPS NL - 304 15 42 15 2 8 5 40 8263 DD IT - 214 15 46 16 2 10 7 40 11375 DD DE - 543 8 46 15 0 7 4 20 3019 EP GB - 102 7 60 2 0 13 10 40 16995 DG GB - 216 15 42 15 3 9 10 40 10523 LEP FR - 211 15 41 15 4 11 1 40 12431 EF DE - 560 12 34 14 2 5 11 40 6059 FI FR - 304 15 46 15 1 9 4 40 9103 SPS DE - 207 15 40 15 2 10 1 40 10273 LEP FR - 560 8 36 14 0 6 8 40 5473 PE FR - 419 13 41 15 2 7 6 40 6740 ST FR - 403 15 40 15 3 6 11 40 7297 PS FR - 417 15 41 15 2 6 13 40 7229 EF FR - 214 15 40 15 2 11 2 40 12143 DD NO - 402 13 55 15 0 7 10 40 6643 SPS CH - 309 14 39 15 2 7 3 40 7009 TIS FR - 419 15 46 15 2 6 13 40 7229 ST FR - 309 14 40 15 1 7 5 40 6960 TIS FR - 564 13 35 16 1 4 11 40 5504 ST FR - 361 15 46 15 1 7 11 40 7627 LEP FR - 417 13 42 15 1 6 10 40 6133 SPS FR - 304 13 43 15 2 9 1 40 8171 LEP FR - 214 15 43 15 2 12 0 40 12914 DD GB - 302 11 41 15 0 8 3 40 7110 LEP FR - 304 15 44 15 4 7 10 40 8269 SPS NO - 543 14 40 15 0 8 2 40 7367 LEP GB - 300 15 56 16 0 7 6 40 6820 TIS IT - 417 15 40 15 2 6 9 40 6866 SPS FR - 201 15 47 17 3 10 6 40 11442 SPS SE - 402 15 41 15 2 7 7 40 7433 SPS CH - 361 15 38 15 2 6 13 40 7229 SPS FR - 402 15 48 15 1 6 13 40 6978 SPS FR - 502 15 47 15 1 10 0 40 9838 FI DK - 542 15 42 15 2 8 2 40 7869 ST FR - 214 15 43 15 2 11 4 40 12570 DD GB - 304 15 41 15 3 8 2 40 8120 EF CH - 560 14 45 15 2 5 12 40 6713 FI IT - 532 15 38 15 2 8 2 40 7869 FI IT - 424 15 50 15 1 6 13 40 6978 SPS FR - 304 15 40 15 3 9 1 40 9145 DD FR - 211 15 46 15 4 10 8 40 12060 TIS IT - 304 15 38 15 2 7 6 40 7322 TIS FR - 211 15 42 2 1 10 4 40 10573 SPS SE - 530 14 41 15 1 7 8 40 7294 AG FR - 400 15 44 15 1 7 5 40 6960 SPS IT - 500 15 45 15 3 11 1 40 12180 PE NL - 341 15 39 15 1 7 4 40 6859 LEP FR - 211 15 45 15 2 11 0 40 11716 LEP AT - 400 15 39 15 2 6 12 40 7137 LEP FR - 302 15 43 15 1 8 1 40 7487 LEP SE - 204 15 44 15 2 10 5 40 11008 EP SE - 304 15 39 15 1 8 3 40 7749 SPS IT - 307 15 40 15 2 8 0 40 7607 LEP FR - 462 9 47 15 0 6 13 40 5925 ST FR - 211 13 41 15 2 10 6 40 10263 LEP FR - 530 13 37 15 3 7 3 40 6687 FI FR - 304 15 43 15 2 8 5 40 8263 LEP FR - 308 15 38 15 2 8 4 40 8132 TIS BE - 211 15 46 15 1 11 1 40 11678 LEP FR - 201 15 41 15 3 10 6 40 11442 LEP FR - 500 15 42 5 1 10 1 40 10022 PE NL - 530 10 45 15 0 7 3 40 6135 EP DE - 543 12 37 15 2 6 8 32 5151 LEP FR - 315 14 39 15 2 8 5 20 4633 TIS DE - 304 15 41 15 2 9 3 40 9201 DD GB - 402 13 57 15 0 6 13 40 6153 SPS FR - 341 15 40 15 1 7 5 40 6960 SPS FR - 565 14 37 15 1 5 11 40 6380 DD CH - 565 10 57 15 0 5 13 40 5922 DD FR - 312 13 41 15 2 7 8 40 6942 AG FR - 304 15 45 15 1 8 5 40 8012 LEP FR - 543 10 40 15 0 7 5 40 6338 EP GB - 300 15 46 15 3 9 1 40 9145 LEP FR - 560 8 43 14 0 6 8 40 5473 PS FR - 402 13 37 15 2 6 8 40 6203 LEP FR - 417 13 55 15 0 6 8 40 5701 ST CH - 204 15 47 15 0 10 1 40 9771 ST BE - 304 13 39 15 1 7 5 40 6388 SPS FR - 204 15 44 15 3 10 6 40 11442 LEP FR - 207 15 44 15 2 11 3 40 12356 LEP FR - 304 15 43 15 2 9 2 40 9047 SPS FR - 462 15 41 15 1 7 6 40 7071 SPS FR - 341 13 45 15 2 8 10 40 8194 EF FR - 102 7 39 5 2 11 0 40 11716 EP GR - 438 15 39 15 2 7 8 40 7545 EP FR - 204 11 50 15 0 11 5 40 11786 PS GB - 304 15 39 9 2 7 6 40 7322 DD FR - 204 15 40 14 3 11 0 40 11967 LEP GB - 315 13 48 15 2 8 7 40 7836 TIS FR - 542 15 53 15 0 7 9 40 7154 ST FR - 214 15 49 15 2 11 1 40 11929 SPS GB - 543 14 38 15 2 7 2 35 6163 SPS SE - 304 15 48 15 1 9 4 40 9103 EP NL - 300 15 50 15 2 8 13 40 9315 LEP FR - 211 15 43 15 3 10 6 40 11442 LEP FR - 308 11 46 15 0 8 0 40 6725 LEP FR - 462 13 42 15 3 6 12 40 6815 ST FR - 361 15 38 15 1 6 12 40 6886 SPS FR - 300 15 41 15 2 7 7 40 7433 SPS FR - 300 15 40 15 2 7 3 40 7009 LEP FR - 211 15 51 15 1 11 9 40 13386 LEP IT - 203 13 41 15 2 11 0 40 10741 PS FR - 341 15 42 15 3 8 6 40 8645 EF FR - 302 15 46 14 2 9 1 40 8894 LEP FR - 200 11 53 14 0 9 13 40 9778 DD GB - 304 15 47 14 1 8 8 40 8406 LEP FR - 565 14 41 15 2 5 13 20 3871 DD CH - 202 11 41 14 0 9 10 40 9330 SPS DE - 566 13 37 14 1 6 3 40 5501 LEP CH - 211 15 42 15 2 11 2 40 12143 PS FR - 214 15 42 14 3 10 5 40 11259 EP FR - 203 15 42 14 2 10 3 40 10641 EF DK - 302 15 45 15 2 9 5 40 9507 LEP FR - 362 15 46 15 1 8 10 40 8669 SPS DE - 317 15 43 14 2 8 0 40 7607 LEP FR - 317 15 52 14 1 7 11 40 7627 LEP FR - 560 8 44 15 0 5 13 40 5492 ST FR - 402 13 37 15 2 5 12 40 6140 LEP FR - 214 13 42 14 0 11 1 40 10432 DD FR - 300 15 46 14 1 9 1 40 8643 EP SE - 530 12 41 14 3 8 1 40 7369 PE DE - 362 13 49 15 2 7 8 40 6942 SPS CH - 208 15 42 14 1 11 0 40 11465 DD BE - 211 15 40 14 4 10 4 40 11326 LEP BE - 343 15 40 15 2 8 0 40 7607 LEP FR - 418 15 47 14 1 6 13 40 6978 PS FR - 432 8 59 15 0 4 15 40 5342 SPS FR - 497 13 41 14 2 5 11 40 6059 ST FR - 497 13 38 14 2 5 11 40 6059 ST FR - 400 15 44 15 2 6 10 40 6956 ST FR - 204 15 45 14 2 11 1 40 11929 PS FR - 200 15 43 14 1 10 6 40 10940 EF AT - 530 14 37 14 2 6 6 20 3767 DD SE - 362 15 44 15 2 7 6 40 7322 PS FR - 307 15 37 14 2 6 10 40 6956 LEP FR - 204 13 46 14 3 11 1 40 11185 SPS FR - 402 15 36 14 2 7 5 40 7211 SPS FR - 447 8 42 14 0 5 10 40 5247 EP GR - 341 13 36 14 2 7 4 40 6537 EF FR - 211 15 49 14 3 12 5 40 14380 EP DE - 318 15 48 15 2 8 4 40 8132 ST FR - 419 11 42 15 0 6 11 40 6173 ST FR - 204 15 42 14 2 10 4 40 10824 PS FR - 405 13 46 15 2 7 5 40 6639 ST FR - 565 14 42 14 2 5 12 20 3828 DD CH - 403 15 39 14 1 6 13 40 6978 SPS FR - 304 13 37 14 3 8 3 40 7608 SPS FR - 304 13 38 14 2 8 4 40 7477 LEP CH - 438 13 42 14 2 7 5 40 6639 SPS CH - 565 10 54 14 0 5 13 40 5922 DD FR - 564 11 37 15 0 4 10 40 5375 ST IT - 362 15 40 15 0 6 13 40 6727 PS FR - 405 15 50 15 1 7 5 40 6960 LEP FR - 402 13 41 14 1 6 10 40 6133 LEP FR - 303 13 51 15 2 8 3 40 7357 ST FR - 400 13 36 14 1 5 10 40 5726 EF FR - 361 15 39 14 3 8 1 40 7989 SPS BE - 211 15 43 14 1 11 0 40 11465 EF FR - 462 13 48 14 0 6 13 40 6153 ST FR - 308 15 42 14 2 8 3 40 8000 PS FR - 211 15 39 14 2 11 0 40 11716 EF FR - 102 15 38 1 1 10 5 40 10757 EP DE - 417 15 41 15 2 6 5 40 6505 LEP FR - 443 15 37 15 2 7 2 40 6907 DD FR - 304 15 42 14 2 7 9 40 7656 SPS FR - 367 15 50 14 1 7 8 40 7294 EF FR - 304 15 40 14 2 7 6 40 7322 SPS FR - 315 15 44 14 2 8 6 40 8394 TIS NL - 304 15 47 14 2 9 8 40 9966 PS DE - 417 15 44 15 1 7 3 40 6758 LEP FR - 304 13 41 14 3 7 10 40 7396 EF FR - 302 13 47 14 0 8 4 40 6975 ST FR - 308 11 37 14 0 9 0 40 7834 DD GB - 400 15 43 14 1 6 12 40 6886 LEP FR - 304 13 41 14 2 9 0 40 8032 LEP FR - 200 15 37 14 2 11 0 40 11716 LEP FR - 400 13 41 14 1 6 13 40 6404 EP FR - 204 13 39 14 2 9 0 40 8032 EF FR - 361 9 35 14 0 7 7 40 6111 SPS CH - 341 15 40 14 2 8 4 40 8132 LEP FR - 424 15 39 14 2 6 10 40 6956 EF FR - 304 11 38 14 0 8 4 40 7238 LEP GB - 304 15 52 14 2 7 13 40 8101 EP FR - 443 15 43 14 2 6 10 40 6956 LEP FR - 560 8 47 14 0 6 8 40 5473 EF CH - 201 15 43 14 3 11 1 40 12180 PS FR - 543 12 36 14 2 6 9 35 5625 LEP FR - 462 15 39 14 2 6 10 40 6956 SPS FR - 402 9 44 14 0 6 13 40 5925 SPS FR - 216 15 38 14 1 10 5 40 10757 DD IT - 200 13 41 14 2 10 7 40 10430 LEP FR - 208 15 40 13 2 10 4 40 10824 PS SE - 211 15 42 14 0 10 4 40 10322 LEP FR - 419 15 46 14 2 6 13 40 7229 ST BE - 319 15 40 14 2 6 13 40 7229 ST FR - 402 13 46 14 1 6 13 40 6404 SPS CH - 304 15 40 14 2 8 2 40 7869 SPS NL - 543 12 48 14 0 7 8 40 6440 PE GB - 304 15 38 14 3 8 5 40 8514 EF BE - 441 15 48 14 1 5 9 40 6217 SPS FR - 400 15 35 14 1 6 9 40 6615 LEP FR - 341 11 41 14 0 7 10 40 6882 LEP GB - 434 15 40 13 2 4 9 40 6169 LEP FR - 211 15 40 11 1 11 2 40 11892 EF DE - 341 15 41 14 0 8 4 40 7630 PS CH - 315 15 37 14 2 8 0 40 7607 TIS FR - 419 15 36 14 2 6 10 40 6956 LEP FR - 300 13 35 14 2 7 5 40 6639 SPS FR - 543 14 46 14 1 6 13 40 6978 EP GB - 304 13 40 14 2 8 4 40 7477 LEP FR - 565 8 47 14 0 6 9 40 5563 DD CH - 440 15 37 14 1 7 3 40 6758 ST FR - 535 10 34 14 0 6 6 40 5722 TH AT - 304 15 41 13 2 8 2 40 7869 SPS AT - 400 13 49 14 2 7 6 40 6740 SPS IT - 419 13 41 14 1 6 12 40 6313 SPS FR - 419 15 41 14 2 6 12 40 7137 SPS FR - 304 9 44 14 0 8 5 40 6866 SPS FR - 410 15 46 14 0 6 10 40 6454 LEP FR - 417 13 46 14 0 7 3 40 5934 LEP FR - 341 13 38 14 2 7 3 40 6436 LEP FR - 304 13 41 13 2 8 5 40 7596 LEP CH - 405 15 45 14 2 6 13 40 7229 SPS FR - 560 10 45 14 0 6 10 40 6083 EP FR - 424 13 42 14 1 6 12 40 6313 SPS FR - 361 13 40 13 2 8 5 40 7596 SPS IT - 560 14 38 14 2 6 8 40 6775 TH FR - 102 7 42 5 2 10 7 40 11375 EP IT - 507 4 45 2 1 8 13 3 1353 PE FR - 300 11 40 14 0 7 6 40 6447 LEP GB - 340 15 53 14 1 9 5 40 9256 LEP CH - 214 15 45 13 2 11 0 40 11716 DD GB - 204 15 48 13 0 11 2 40 11641 PS DE - 507 3 47 2 0 8 13 3 917 PE DE - 400 15 45 13 2 7 5 40 7211 EF FR - 417 15 38 13 1 6 10 40 6705 SPS FR - 303 13 42 13 1 7 6 40 6489 PS CH - 304 15 44 13 1 8 7 40 8275 PS CH - 102 15 37 4 3 10 4 40 11075 EP FR - 303 13 44 13 1 8 0 40 6748 EP FR - 341 15 36 13 1 7 4 40 6859 EP FR - 304 13 41 13 2 8 1 40 7118 EP FR - 402 15 39 13 1 6 13 40 6978 EP FR - 402 15 45 13 1 6 10 40 6705 SPS FR - 400 13 39 13 1 6 11 40 6223 EP FR - 497 13 45 13 3 5 10 40 6228 EP FR - 403 15 45 14 2 6 9 40 6866 ST FR - 419 9 45 14 0 6 10 40 5654 ST FR - 497 13 40 13 2 4 13 40 5914 ST FR - 400 13 43 14 2 5 13 40 6222 ST FR - 419 9 45 14 0 6 10 40 5654 ST IT - 560 14 41 13 3 6 8 32 5860 PS FR - 402 13 56 14 0 7 5 40 6137 EP IT - 440 15 43 13 2 5 10 40 6550 SPS FR - 367 15 42 13 2 7 7 40 7433 EF FR - 418 13 48 13 1 6 13 40 6404 EF FR - 300 13 40 13 2 7 5 40 6639 EP FR - 497 15 53 13 0 5 13 40 6293 PS FR - 304 13 37 13 1 9 0 40 7781 PS FR - 560 10 46 13 0 5 13 40 5922 AG CH - 361 15 42 14 2 7 13 40 8101 PS FR - 102 7 35 1 2 9 4 40 9354 EP FR - 102 7 38 4 1 10 2 40 10206 EP FR - 214 15 40 8 1 10 3 40 10390 DD GB - 103 15 46 11 2 13 3 40 15376 TH IT - 211 11 39 9 0 11 0 40 10742 EP DE - 211 15 39 10 1 10 3 40 10390 PS FR - 211 7 44 1 3 10 8 40 11809 EP DE - 214 11 38 13 0 10 3 40 9691 LEP IT - 216 11 43 13 0 11 3 40 11368 DD GB - 507 2 36 2 0 8 9 3 861 PE ZZ - 507 0 49 2 0 8 13 2 686 PE BE - 361 15 44 12 2 8 0 40 7607 PS FR - 304 15 35 8 2 6 8 40 6775 SPS FR - 365 11 36 13 0 7 4 40 6237 DD GB - 102 7 51 2 2 11 10 40 13851 EP DE - 103 11 45 11 0 12 6 40 13339 TH ES - 211 15 46 10 1 11 3 40 12105 EP DE - 214 9 37 8 0 10 0 40 8529 DD IT - 208 15 38 12 1 10 3 40 10390 DD CH - 504 15 46 12 2 10 3 40 10641 AG GB - 501 15 48 18 0 12 12 40 15336 FI GB - 536 14 31 12 1 6 6 20 3516 PE CH - 497 13 35 11 2 4 11 40 5755 ST FR - 418 13 44 11 2 6 6 40 6022 EF FR - 543 14 33 11 2 6 6 20 3767 AG GB - 202 15 37 11 2 10 2 40 10457 LEP DK - 204 15 44 11 1 11 1 40 11678 LEP DE - 362 13 34 11 2 7 7 40 6841 LEP FR - 211 7 36 5 3 9 4 40 9605 PS DE - 300 13 38 11 2 7 9 40 7044 SPS FR - 211 7 35 1 0 10 4 40 10322 EF IT - 300 13 36 11 2 7 7 40 6841 SPS CH - 317 15 34 11 2 6 5 40 6505 LEP IT - 403 15 43 11 2 6 6 40 6595 EF FR - 417 15 32 11 2 5 5 40 6141 ST FR - 208 15 38 11 0 10 2 40 9955 DD FR - 216 15 43 11 2 11 1 40 11929 DD FR - 211 15 35 6 2 10 2 40 10457 SPS GB - 102 7 38 11 4 10 2 40 10959 EP DE - 304 13 35 11 2 7 8 40 6942 SPS FR - 463 13 36 12 1 5 11 40 5808 ST CH - 216 15 36 11 0 9 7 40 9311 DD IT - 208 14 37 11 1 10 0 32 8034 DD DE - 208 13 39 11 2 10 0 40 9259 EP FR - 560 8 48 11 0 6 7 20 2798 AG DE - 362 15 42 11 2 7 10 40 7767 SPS FR - 211 7 42 0 1 10 2 40 10206 EF FR - 304 15 40 11 2 7 9 40 7656 SPS BE - 365 13 32 11 1 7 3 40 6185 DD IT - 365 15 37 11 4 7 2 40 7409 DD GB - 315 13 44 11 2 8 0 40 6999 TIS FR - 365 13 37 11 2 7 2 40 6335 DD FR - 462 13 41 11 1 6 11 40 6223 ST FR - 424 15 40 11 2 5 13 40 6795 SPS FR - 302 15 35 11 1 7 2 40 6656 LEP IT - 211 15 40 10 0 10 5 40 10506 SPS CH - 214 15 36 10 0 10 2 40 9955 SPS GB - 302 15 53 10 2 8 5 40 8263 SPS DE - 418 13 36 11 1 6 7 40 5862 EF CH - 216 15 43 11 2 10 3 40 10641 PS FR - 419 15 35 11 3 6 6 40 6846 EF FR - 415 13 36 11 2 5 10 40 5977 TIS FR - 509 15 39 11 1 10 0 40 9838 PE GB - 211 15 42 10 1 11 1 40 11678 LEP DE - 304 15 35 11 2 7 2 40 6907 SPS FR - 102 15 33 8 2 10 1 40 10273 EP NL - 304 15 41 11 1 7 8 40 7294 PS FR - 304 15 36 11 0 7 8 40 7043 EP FR - 315 15 43 10 2 8 3 40 8000 TIS FR - 443 13 36 11 2 5 10 40 5977 LEP FR - 464 13 45 11 1 6 13 40 6404 ST FR - 303 13 34 11 2 7 3 40 6436 LEP CH - 300 13 48 11 0 7 3 40 5934 ST FR - 403 13 33 11 0 6 6 40 5520 EF IT - 403 15 36 11 1 6 7 40 6434 EF FR - 402 13 36 11 2 6 6 40 6022 EF IT - 300 13 32 11 3 7 1 40 6484 ST FR - 304 13 39 10 2 8 4 40 7477 PS IT - 419 15 37 11 2 6 11 40 7046 SPS FR - 405 13 41 11 2 6 10 40 6384 EF FR - 424 15 46 11 0 6 11 40 6544 EF FR - 361 13 35 10 2 7 7 40 6841 LEP FR - 214 14 36 10 2 10 2 40 10457 DD IT - 560 8 51 11 0 6 8 40 5473 PE GB - 211 7 41 1 0 10 3 40 10139 EP GB - 304 13 41 10 0 8 1 40 6616 LEP FR - 208 13 36 10 3 10 2 40 9845 DD FR - 214 8 36 10 0 10 1 20 4521 DD DE - 208 15 34 10 2 10 1 40 10273 DD BE - 304 13 45 11 2 7 3 40 6436 PS FR - 204 15 37 10 3 10 5 40 11259 PS FR - 300 15 38 10 2 7 2 40 6907 LEP FR - 214 15 38 10 2 10 1 40 10273 DD BE - 361 9 37 11 0 7 4 40 5807 PS FR - 562 8 32 10 0 6 6 40 5292 EF FR - 102 7 56 7 1 13 10 40 17246 DG FR - 560 15 35 10 2 5 7 40 6305 EP FR - 301 13 42 10 0 8 2 40 6736 EF FR - 565 12 42 11 1 6 6 40 5771 DD CH - 208 15 39 10 2 11 1 40 11929 DD CH - 202 15 38 10 1 10 3 40 10390 SPS GB - 565 12 49 10 1 5 10 20 3206 DD CH - 214 3 34 3 0 9 3 40 8283 SPS DE - 560 13 34 10 1 6 7 40 5862 PE CH - 341 15 33 8 0 7 6 40 6820 LEP FR - 441 15 42 10 0 6 6 40 6093 SPS FR - 304 15 39 10 2 7 6 40 7322 EP FR - 510 15 39 10 3 9 2 40 9298 AG GB - 543 14 35 10 1 6 7 40 6434 LEP FR - 497 13 34 10 2 4 10 40 5676 ST FR - 562 12 33 10 1 6 7 40 5862 AG FR - 309 8 51 10 0 7 5 40 5909 TIS ZZ - 418 15 43 10 3 5 10 40 6801 PS FR - 505 7 47 4 2 10 1 40 10273 TH GB - 560 12 39 10 2 5 10 40 5977 ST FR - 301 13 36 10 2 7 7 40 6841 SPS FR - 318 13 40 10 2 7 6 40 6740 LEP CH - 441 15 37 10 1 6 8 40 6524 SPS FR - 530 12 32 10 1 6 7 30 4569 FI FR - 543 8 46 10 0 6 9 24 3426 TIS SE - 304 15 46 10 1 8 3 40 7749 LEP FR - 412 13 38 10 1 6 10 40 6133 EF FR - 424 13 40 10 2 6 10 40 6384 EF FR - 211 7 38 5 2 10 2 40 10457 EF DE - 211 3 38 5 0 9 7 40 8881 EF GB - 536 14 46 10 1 7 5 20 3836 PE FR - 201 7 43 1 1 9 6 40 9409 EF IT - 304 15 45 10 2 7 2 40 6907 PS FR - 211 15 39 7 2 10 2 40 10457 EP IT - 102 3 34 2 0 10 0 40 9152 EP DE - 200 15 40 9 0 10 3 40 10139 ST FR - 102 5 43 3 2 10 2 40 9594 EP FR - 507 6 45 2 2 8 11 10 3036 PE FR - 102 15 41 9 2 11 3 40 12356 EP CH - 102 2 38 6 0 10 2 40 9511 EP AT - 211 15 42 9 1 10 6 40 10940 EF DE - 304 15 36 9 1 7 7 40 7182 SPS CH - 304 13 37 9 1 7 7 40 6590 SPS FR - 214 15 35 9 0 10 0 40 9587 DD IT - 211 15 35 9 1 10 1 40 10022 PS GB - 504 7 37 2 3 8 9 40 9039 AG GB - 214 15 34 8 0 9 4 40 8852 DD GB - 103 15 44 8 2 12 2 40 13400 TH IT - 211 7 33 3 2 9 3 40 9201 EP BE - 510 15 47 7 2 10 1 40 10273 AG FR - 102 3 43 0 0 10 3 40 9691 EP FR - 204 11 36 9 0 9 6 40 8732 LEP IT - 102 7 36 5 2 10 0 40 10089 EP DE - 530 9 48 9 0 6 9 40 5563 AG FR - 211 15 36 5 2 10 3 40 10641 EF DE - 464 13 41 9 1 6 6 40 5771 ST FR - 102 7 33 6 1 9 4 40 9103 EP GB - 211 6 38 2 2 10 0 40 10089 EP ZZ - 211 13 44 9 1 10 2 40 9343 PS CH - 102 7 33 5 1 10 0 40 9838 EP NL - 562 12 30 9 1 6 3 40 5501 TH FR - 565 14 45 9 0 5 9 40 5966 DD CH - 214 7 32 2 1 8 6 40 8143 DD BE - 560 12 42 8 2 5 5 32 4639 ST CH - 562 4 29 8 1 5 4 20 2951 AG FR - 560 12 30 9 2 5 6 20 3287 AG CH - 402 13 30 9 2 5 6 40 5650 EP FR - 566 15 33 8 3 6 1 40 6395 EP FR - 211 0 31 3 0 9 1 20 3868 EF NL - 211 15 34 6 1 10 0 40 9838 EF IT - 204 15 40 10 2 10 2 40 10457 PS GB - 315 13 40 9 1 6 5 40 5681 TIS FR - 365 15 34 8 3 7 1 40 7057 DD GB - 566 13 30 9 0 4 5 40 4777 ST FR - 361 11 36 9 0 7 5 40 6338 PS IT - 405 15 35 8 0 5 6 40 5721 LEP FR - 304 13 34 9 0 6 7 40 5611 EF FR - 424 9 31 8 0 6 4 40 5112 EF CH - 304 11 34 8 0 7 6 40 6447 EP NL - 211 15 34 8 2 10 0 40 10089 LEP GB - 403 11 30 9 0 5 6 40 5350 ST FR - 341 9 30 8 0 7 2 40 5605 LEP IT - 304 15 35 9 0 7 1 40 6304 PS FR - 304 15 36 8 1 7 6 40 7071 PS NL - 564 9 31 8 0 4 5 40 4549 ST FR - 463 15 42 8 0 5 7 40 5803 ST FR - 211 7 32 1 2 9 3 40 9201 EF IT - 211 15 42 8 4 11 0 40 12218 EF DE - 361 11 35 8 0 7 5 40 6338 PS FR - 304 15 39 8 3 8 0 40 7858 PS FR - 304 9 32 8 0 7 5 40 5909 PS FR - 211 15 43 4 1 10 7 40 11124 EF DE - 562 12 38 8 1 5 7 36 5001 EF FR - 530 14 48 8 2 6 8 40 6775 PE NL - 415 15 34 8 1 5 4 40 5808 TIS FR - 415 15 34 8 2 5 6 40 6223 TIS FR - 415 15 42 8 3 5 6 40 6474 TIS FR - 415 13 42 8 2 5 5 40 5569 TIS FR - 415 9 36 8 0 5 6 40 4920 TIS FR - 415 15 44 8 2 5 5 40 6141 TIS FR - 415 13 42 8 1 5 6 40 5399 TIS FR - 415 13 34 8 2 5 6 40 5650 TIS FR - 402 9 38 8 0 6 6 40 5292 EP FR - 419 13 36 8 3 5 7 40 5983 ST FR - 211 13 40 8 3 10 4 40 10179 EF CH - 405 13 33 8 3 6 4 40 6093 ST FR - 304 11 32 8 0 7 4 40 6237 EP NL - 304 15 37 8 1 8 2 40 7618 DD BE - 302 13 41 8 1 7 0 40 5881 ST FR - 300 13 37 8 1 6 6 40 5771 ST FR - 300 11 38 8 0 7 2 40 6034 ST FR - 405 15 39 8 2 6 4 40 6415 ST FR - 560 8 42 8 0 5 5 36 4374 PS FR - 208 15 40 8 4 10 2 40 10959 PS FR - 415 15 38 8 2 5 6 40 6223 TIS FR - 415 15 36 8 2 5 5 40 6141 TIS FR - 415 15 32 8 1 5 6 40 5972 TIS FR - 415 13 29 8 3 5 5 40 5820 TIS FR - 415 15 36 8 1 5 5 40 5890 TIS FR - 415 15 43 8 1 5 5 40 5890 TIS FR - 415 15 41 8 1 5 5 40 5890 TIS FR - 415 15 44 8 3 5 5 40 6392 TIS FR - 415 15 46 8 1 5 6 40 5972 TIS FR - 415 11 34 8 0 5 6 40 5350 TIS FR - 415 15 36 8 3 5 5 40 6392 TIS FR - 415 15 36 8 2 5 5 40 6141 TIS FR - 415 15 35 8 1 5 5 40 5890 TIS FR - 415 15 37 8 1 5 5 40 5890 TIS FR - 304 13 37 8 2 6 6 40 6022 ST FR - 208 15 39 5 1 10 1 40 10022 PS GB - 432 12 28 8 1 5 5 40 5318 AG CH - 415 15 37 8 2 5 5 40 6141 TIS FR - 415 13 33 8 2 5 5 40 5569 TIS FR - 415 15 37 8 3 5 4 40 6310 TIS FR - 415 13 33 8 2 5 5 40 5569 TIS FR - 415 15 42 8 2 5 5 40 6141 TIS FR - 415 15 33 8 1 5 5 40 5890 TIS FR - 415 15 40 8 4 5 5 40 6643 TIS FR - 362 13 30 8 0 7 2 40 5833 SPS FR - 500 15 45 8 2 13 7 40 16588 AG NL - 211 3 34 3 0 8 8 40 7752 EF NL - 543 12 46 8 0 6 5 40 5430 PS FR - 400 13 46 8 0 6 4 40 5340 LEP FR - 211 7 40 7 3 10 3 40 10892 EP DE - 102 7 31 3 1 9 3 40 8950 EP IT - 464 13 33 8 1 6 4 40 5591 ST FR - 510 11 39 8 0 9 2 40 8133 AG GB - 510 14 32 8 0 9 1 40 8392 AG GB - 530 10 32 8 0 5 7 40 5432 FI FR - 543 14 32 8 1 6 6 40 6344 TH GB - 402 9 40 8 0 6 3 40 5022 LEP FR - 424 13 33 8 1 5 4 40 5236 LEP FR - 200 15 57 17 1 12 13 40 15832 SPS FR - 214 15 45 14 2 12 3 40 13643 DD IT - 211 15 51 19 2 12 9 40 15104 SPS GB - 304 15 42 13 2 8 5 40 8263 SPS IT - 216 8 42 17 0 10 2 40 8864 SPS BE - 201 15 64 18 0 11 13 40 15340 EF FR - 304 15 44 18 2 9 5 40 9507 PS IT - 204 15 47 15 2 10 0 40 10089 SPS IT - 400 15 41 18 1 7 10 40 7516 TIS DE - 211 15 47 16 2 12 9 40 15104 TIS GB - 301 15 53 14 1 7 13 40 7850 EP DE - 211 15 48 11 2 12 2 40 13400 EF DE - 214 11 49 18 0 12 5 40 13101 DD GB - 102 11 49 16 0 12 9 40 14055 EP FR - 102 15 51 17 3 12 9 40 15355 EP DE - 216 8 43 17 0 10 5 40 9366 LEP GB - 102 15 54 15 2 13 10 40 17497 EP IT - 211 14 44 17 1 10 8 40 11307 TIS IT - 211 15 44 14 0 11 2 40 11641 DD GB - 211 15 51 18 1 12 13 40 15832 PS GB - 214 15 42 17 3 11 1 40 12180 DD NL - 216 15 54 15 2 11 5 40 12783 DD FR - 214 15 46 12 1 11 4 40 12319 DD IT - 218 15 49 16 0 11 8 40 12922 TIS FR - 211 15 51 17 3 11 10 40 14102 PS AT - 211 15 49 17 0 11 9 40 13135 EP BE - 530 14 46 16 1 7 8 40 7294 EP FR - 504 13 61 17 2 8 13 40 8554 AG CH - 211 15 47 17 3 12 2 40 13651 EP AT - 200 15 50 17 4 11 4 40 13072 EF FR - 214 15 42 15 2 10 3 40 10641 DD GB - 214 15 46 16 3 10 7 40 11626 DD DE - 211 15 43 14 2 11 1 40 11929 EF SE - 211 15 45 16 3 11 2 40 12394 SPS DE - 211 15 45 16 0 11 3 40 11854 EP IT - 200 14 38 6 2 10 0 40 10089 PS SE - 102 1 40 0 0 11 0 40 10011 EP FR - 211 13 39 8 2 10 3 40 9761 LEP CH - 543 14 29 8 1 6 2 40 5983 LEP GB - 208 15 37 7 1 9 3 40 8950 EP SE - 214 15 34 7 0 10 1 40 9771 DD NL - 200 15 42 7 2 10 3 40 10641 LEP GB - 561 13 29 8 2 4 4 40 5200 LEP FR - 498 13 34 8 1 4 6 40 5108 ST FR - 409 13 31 8 1 6 3 40 5501 ST FR - 409 15 41 8 2 6 3 40 6324 ST FR - 498 13 34 8 2 4 6 40 5359 ST FR - 102 7 50 1 3 12 7 40 14867 EP DE - 405 1 30 7 0 5 6 40 4920 LEP FR - 211 3 31 5 0 9 2 40 8133 PS GB - 462 13 39 13 2 6 2 40 5661 ST FR - 102 3 32 0 0 9 3 40 8283 EP DE - 562 0 33 7 0 4 7 20 2447 AG FR - 500 15 51 12 1 12 7 40 14365 DG CH - 499 0 39 7 0 4 7 20 2447 EF FR - 208 11 32 7 0 10 0 40 9152 DD GB - 303 13 36 7 2 8 0 40 6999 LEP IT - 304 12 33 7 1 7 4 40 6286 DD FR - 211 2 34 1 0 9 6 40 8732 EF IT - 419 15 30 7 2 6 2 40 6234 DD FR - 304 13 31 7 1 7 4 40 6286 PS CH - 362 15 31 7 0 6 7 40 6183 SPS NL - 211 7 32 2 1 9 1 40 8643 SPS NL - 304 15 31 7 1 7 3 40 6758 EP NL - 214 7 30 4 1 9 3 40 8950 DD GB - 419 11 42 7 0 5 5 40 5268 ST FR - 400 13 34 7 2 6 1 40 5571 ST FR - 405 15 37 7 2 6 1 40 6144 ST FR - 319 9 40 7 0 6 5 40 5202 ST FR - 400 13 40 7 2 6 2 40 5661 EP FR - 462 15 32 7 0 5 5 40 5639 LEP FR - 304 15 38 7 3 7 5 40 7462 PS BE - 564 13 33 7 1 3 7 40 4858 ST FR - 304 14 28 7 1 6 6 20 3516 DD FR - 304 15 34 7 1 7 5 40 6960 PS GB - 302 15 30 7 1 6 5 40 6254 ST FR - 433 12 33 7 1 5 4 40 5236 AG FR - 415 15 34 7 2 5 4 40 6059 TIS FR - 510 15 38 7 2 9 1 40 8894 AG FR - 501 15 54 7 2 10 7 40 11375 AG DE - 532 12 37 7 0 6 2 40 5159 FI FR - 560 8 42 7 0 5 5 40 4839 FI FR - 102 3 36 1 0 9 6 40 8732 EP DE - 304 13 37 7 2 8 0 40 6999 PS FR - 204 7 38 7 3 10 3 40 10892 PS DE - 214 7 30 4 2 9 2 40 9047 DD IT - 208 8 31 7 0 9 2 40 7580 DD FR - 103 7 48 2 2 12 6 40 14372 TH IT - 503 15 41 8 2 10 4 40 10824 AG CH - 409 15 31 7 0 6 1 40 5642 ST FR - 102 7 37 0 2 9 6 40 9660 EP DE - 214 3 29 0 0 8 4 40 7238 DD ES - 361 11 34 6 0 7 2 40 6034 SPS NO - 102 15 44 6 0 11 5 40 12281 EP DE - 361 11 33 6 0 7 4 40 6237 PS SE - 208 6 30 6 0 9 0 40 8240 LEP GB - 405 5 30 7 2 5 4 40 5487 ST IT - 211 7 31 6 0 9 2 40 8545 SPS GB - 300 5 31 6 1 7 2 40 6084 LEP IT - 211 3 32 0 0 8 5 40 7366 EF DE - 318 15 38 6 1 7 4 40 6859 LEP IT - 200 15 43 6 1 10 4 40 10573 TIS BE - 200 15 53 6 1 11 4 40 12319 TIS BE - 361 15 35 6 1 7 4 40 6859 PS BE - 304 3 28 6 0 6 2 40 5361 DD BE - 102 15 41 5 2 11 2 40 12143 EP GB - 214 7 31 4 2 9 2 40 9047 DD IT - 301 1 30 5 0 6 4 40 5112 LEP FR - 214 7 31 4 0 8 5 40 7761 DD IT - 208 7 36 5 3 9 5 40 9758 SPS AT - 543 0 30 6 0 5 3 40 4675 LEP FR - 543 2 30 6 0 6 2 40 5361 SPS GB - 204 3 30 6 0 9 2 40 8133 PS GB - 207 11 44 5 0 11 0 40 10742 LEP FR - 402 15 39 5 1 5 5 40 5890 SPS FR - 303 13 40 6 2 7 5 40 6639 SPS CH - 361 7 31 5 1 7 3 40 6758 PS GB - 361 11 33 5 0 7 3 40 6135 PS GB - 103 7 42 5 3 12 0 40 13165 TH FR - 361 15 32 5 2 7 3 40 7009 PS FR - 308 7 30 5 1 7 2 40 6656 SPS BE - 304 15 33 5 2 7 3 40 7009 SPS FR - 409 5 31 5 2 5 4 40 5487 ST FR - 211 7 28 5 2 9 2 40 9047 PS GB - 361 13 35 5 2 7 3 40 6436 PS BE - 511 7 30 5 0 9 2 40 8545 DD BE - 102 7 36 5 5 10 1 40 11026 EP FR - 530 8 33 5 0 5 5 40 4839 FI FR - 530 2 26 5 0 5 4 40 5186 FI GB - 511 15 33 5 2 9 3 40 9201 DD NL - 208 7 30 5 1 9 2 40 8796 DD BE - 216 15 33 6 0 9 3 40 8699 DD DE - 304 3 29 5 0 7 0 40 5831 EP DK - 211 15 34 5 0 10 1 40 9771 SPS BE - 361 3 29 5 0 7 1 40 5933 SPS IT - 211 7 33 5 0 9 3 40 8699 LEP AT - 409 7 27 5 0 5 3 40 5476 ST GB - 211 7 31 5 0 9 3 40 8699 LEP IT - 202 15 32 5 0 9 3 40 8699 LEP GB - 304 1 30 5 0 7 2 40 5605 PS DE - 304 7 30 5 0 7 3 40 6507 PS GB - 361 1 29 5 0 7 2 40 5605 PS IT - 201 15 32 5 1 9 3 40 8950 TIS IT - 211 7 41 1 1 11 1 40 11678 EF NL - 530 4 27 5 1 6 2 40 5410 DD FR - 211 3 29 5 0 9 2 40 8133 PS BE - 402 1 30 5 0 5 4 40 4757 EP FR - 208 11 33 5 0 9 3 40 8283 SPS NO - 304 5 31 5 2 7 2 40 6335 PS IT - 415 15 42 5 3 5 4 40 6310 TIS FR - 415 15 34 5 1 5 3 40 5727 TIS FR - 415 13 32 5 2 5 3 40 5405 TIS FR - 415 15 39 5 3 5 3 40 6229 TIS FR - 214 15 33 5 0 9 3 40 8699 DD GB - 208 15 33 5 1 9 1 40 8643 DD GB - 304 7 30 5 2 7 2 40 6907 PS BE - 415 13 47 5 1 5 4 40 5236 TIS FR - 402 5 31 5 2 5 5 40 5569 PS FR - 362 7 30 5 0 7 1 40 6304 SPS AT - 560 4 30 5 2 4 5 40 5279 TH CH - 562 0 34 5 0 5 2 40 4593 AG FR - 315 7 32 5 2 7 2 40 6907 TIS BE - 343 7 30 5 2 7 2 40 6907 LEP BE - 511 11 33 5 0 9 2 40 8133 ST FR - 424 5 28 5 0 5 4 40 4985 LEP ES - 419 5 32 5 1 5 3 40 5154 ST FR - 208 3 34 5 0 9 2 40 8133 PS IT - 402 7 31 5 3 5 7 40 6556 EP GB - 562 6 26 5 0 5 4 40 5557 AG GB - 402 5 29 5 1 5 7 40 5481 EF CH - 302 5 28 5 1 6 3 40 5501 ST FR - 301 3 26 5 0 6 1 40 5270 ST GB - 304 13 33 7 3 7 2 40 6586 SPS CH - 102 3 35 5 0 10 0 40 9152 EP DE - 560 8 49 5 0 5 7 40 5002 AG CH - 211 15 41 5 0 10 7 40 10873 EF DE - 304 7 27 5 1 7 2 40 6656 PS NL - 200 7 31 5 3 9 1 40 9145 LEP GB - 302 7 29 5 1 7 2 40 6656 LEP BE - 304 7 32 5 2 7 1 40 6806 SPS NL - 304 7 31 5 0 7 2 40 6405 SPS NL - 308 7 28 5 0 7 2 40 6405 SPS SE - 361 3 29 5 0 7 2 40 6034 PS DK - 441 1 31 5 0 5 4 40 4757 EF ES - 317 13 34 5 2 7 3 40 6436 EF FR - 102 3 32 2 0 10 0 40 9152 EP ZZ - 202 7 33 5 2 8 4 40 8132 LEP DE - 304 3 30 5 0 7 2 40 6034 LEP IT - 300 7 29 5 0 7 1 40 6304 SPS IT - 543 0 23 5 0 5 1 40 4512 TIS GB - 208 3 28 5 0 8 4 40 7238 SPS GB - 204 15 32 5 0 9 1 40 8392 EP IT - 201 3 30 5 0 9 1 40 7984 LEP IT - 201 11 32 5 0 9 0 40 7834 LEP GB - 365 3 31 5 0 6 2 40 5361 DD SE - 319 7 30 5 2 7 2 40 6907 ST BE - 560 0 24 5 0 5 1 40 4512 AG FR - 560 4 23 5 0 5 2 40 4821 PE CH - 102 7 34 5 2 9 3 40 9201 EP DE - 304 3 30 5 0 7 2 40 6034 SPS NL - 311 13 33 5 1 7 3 40 6185 ST FR - 415 3 26 4 0 5 1 40 4941 TIS DK - 102 3 33 1 0 9 4 40 8433 EP ES - 208 3 25 2 0 8 2 40 6981 DD GB - 103 7 34 0 0 9 6 40 9158 TH NL - 211 7 40 0 3 9 10 40 10523 EF ES - 211 7 37 5 0 10 0 40 9587 SPS DE - 405 1 28 5 0 5 2 40 4593 ST FR - 208 3 27 1 0 8 2 40 6981 DD IT - 214 7 39 2 3 10 0 40 10340 DD GB - 202 3 29 4 0 9 1 40 7984 PS BE - 304 3 29 4 0 7 2 40 6034 PS IT - 301 3 30 5 0 6 4 40 5541 EF GB - 304 3 29 5 0 7 1 40 5933 EF NL - 405 3 27 4 0 5 2 40 5023 ST CH - 300 15 39 5 2 7 2 40 6907 LEP FR - 300 13 33 5 0 7 2 40 5833 LEP FR - 304 7 28 4 1 7 2 40 6656 LEP IT - 424 3 29 5 0 5 3 40 5104 EP FR - 214 3 34 4 0 9 3 40 8283 DD GB - 340 1 27 5 0 7 0 40 5402 LEP ES - 315 3 26 5 0 7 0 40 5831 TIS GB - 504 7 44 4 2 10 4 40 10824 AG DE - 418 7 45 5 2 6 6 40 6595 PS FR - 543 2 29 4 0 5 4 40 5186 DG DE - 304 7 32 4 1 7 2 40 6656 SPS NL - 419 7 33 4 3 5 6 40 6474 ST FR - 302 7 27 4 1 7 1 40 6555 PS GB - 560 5 41 4 1 4 7 40 5187 LEP FR - 361 7 28 4 1 7 2 40 6656 PS FR - 402 3 28 4 0 5 4 40 5186 LEP ES - 510 3 50 4 0 10 8 40 10588 AG GB - 464 7 30 4 2 5 3 40 5978 ST FR - 300 2 28 4 0 6 1 40 5270 ST FR - 304 1 28 4 0 7 1 40 5503 EF FR - 102 7 36 3 3 10 1 40 10524 EP DE - 304 7 29 4 2 7 1 40 6806 SPS GB - 304 5 30 4 0 7 2 40 5833 SPS IT - 208 7 33 4 1 9 1 40 8643 DD SE - 208 3 32 4 0 9 2 40 8133 DD BE - 208 7 30 4 2 9 0 40 8742 PS FR - 308 7 31 4 0 7 2 40 6405 LEP DK - 308 3 32 4 0 6 6 20 2965 TIS FR - 214 3 32 1 0 9 2 40 8133 SPS IT - 202 7 32 4 0 9 2 40 8545 ST IT - 103 7 36 4 2 10 0 40 10089 TH ES - 208 7 29 4 0 8 3 40 7498 DD BE - 204 7 32 4 2 9 1 40 8894 EF DK - 509 6 38 4 2 9 0 40 8742 PE FR - 207 3 29 1 0 8 3 40 7110 LEP FR - 317 5 38 4 2 7 1 40 6233 LEP FR - 543 6 25 4 0 6 1 40 5642 PS CH - 208 3 32 4 0 9 2 40 8133 PS FR - 304 7 31 4 2 7 0 40 6705 LEP DK - 204 3 30 4 0 9 4 40 8433 SPS BE - 202 7 35 4 0 9 4 40 8852 SPS DK - 361 7 31 4 2 7 1 40 6806 PS ES - 304 5 30 5 1 7 1 40 5982 LEP CH - 214 3 26 1 0 8 3 40 7110 DD GB - 103 7 36 4 1 10 3 40 10390 TH IT - 208 3 29 2 0 8 3 40 7110 DD DK - 202 3 35 4 0 9 1 40 7984 LEP DK - 417 5 31 4 0 5 6 40 5148 LEP FR - 415 7 31 4 3 5 2 40 6147 TIS NL - 208 6 27 4 0 9 0 40 8240 DD FR - 103 3 35 3 0 10 0 40 9152 TH NL - 462 7 28 4 2 5 4 40 6059 LEP FR - 300 1 31 4 0 7 1 40 5503 LEP CH - 102 7 39 2 0 10 3 40 10139 EP DE - 200 7 35 3 2 9 5 40 9507 SPS FR - 304 3 30 4 0 7 1 40 5933 SPS BE - 361 7 29 3 1 7 1 40 6555 PS FR - 361 7 28 3 1 7 0 40 6454 PS FR - 211 7 31 1 0 9 3 40 8699 EF FR - 560 0 23 3 0 5 0 40 4430 FI FR - 409 3 28 3 0 5 1 40 4941 ST FR - 504 3 30 3 0 8 3 40 7110 AG GB - 301 1 26 3 0 6 0 40 4751 ST FR - 502 7 31 3 0 9 0 40 8240 FI BE - 502 7 28 3 1 8 3 40 7749 FI BE - 208 2 31 3 0 9 1 40 7984 DD GB - 208 3 28 3 0 9 0 40 7834 DD FR - 211 5 32 3 1 9 1 40 7920 SPS CH - 211 7 33 3 2 9 3 40 9201 EF ES - 302 7 30 3 1 7 1 40 6555 ST BE - 303 7 29 3 0 6 2 40 5732 LEP FR - 302 3 30 3 0 7 0 40 5831 LEP FR - 103 15 34 3 4 11 0 40 12218 TH ES - 211 7 29 3 0 9 1 40 8392 EF GB - 365 3 26 3 0 6 3 40 5451 DD FR - 365 3 26 1 0 6 2 40 5361 DD GB - 211 3 28 1 0 8 4 40 7238 EP FR - 566 6 27 3 0 5 1 40 5312 DD CH - 317 3 26 3 0 6 0 40 5180 ST FR - 341 7 30 3 2 6 5 40 6505 LEP FR - 365 3 26 3 0 6 2 40 5361 DD GB - 103 7 34 2 1 10 1 40 10022 TH DE - 211 3 31 3 0 9 2 40 8133 EF FR - 304 7 30 3 0 7 1 40 6304 SPS NL - 207 3 30 3 0 9 0 40 7834 LEP GB - 207 3 31 3 0 9 0 40 7834 LEP FR - 302 7 27 3 1 6 1 40 5893 LEP FR - 415 7 28 3 0 4 3 40 5191 TIS GB - 304 5 29 3 2 7 0 40 6132 SPS FR - 409 3 32 3 0 5 2 40 5023 LEP FR - 211 3 31 1 0 9 0 40 7834 EP ZZ - 102 7 35 2 2 9 5 40 9507 EP NL - 102 0 34 2 0 9 6 40 8138 EP DE - 304 7 31 2 2 6 1 40 6144 SPS FR - 211 7 42 2 2 10 4 40 10824 EP ZZ - 208 7 25 1 1 8 1 40 7487 DD BE - 208 0 28 2 0 8 3 40 6627 DD FR - 204 3 25 1 0 8 2 40 6981 PS IT - 208 7 29 2 0 8 1 40 7236 LEP FR - 102 7 34 2 1 9 5 40 9256 EP DE - 103 3 34 0 0 9 6 40 8732 TH SE - 214 3 31 2 0 9 1 40 7984 SPS DE - 361 5 26 2 1 6 4 40 5591 PS FR - 361 3 28 2 0 7 0 40 5831 PS FR - 361 3 28 2 0 6 6 40 5722 PS DK - 501 7 32 2 1 9 0 40 8491 AG PT - 530 0 25 2 0 5 2 40 4593 PE FR - 214 2 28 2 0 8 2 40 6981 DD ES - 462 1 27 2 0 4 4 40 4470 LEP ES - 208 7 28 1 1 8 2 40 7618 SPS FR - 208 7 28 1 3 8 6 40 8645 LEP FR - 500 7 59 4 0 12 6 40 13870 AG GB - 102 7 45 2 2 12 11 40 15593 DG ES - 505 7 56 2 1 11 7 40 12959 TH SE - 208 3 31 2 0 8 4 40 7238 EP GR - 565 4 30 2 1 5 2 20 2866 DD CH - 543 2 33 2 0 6 2 40 5361 EP FR - 208 7 35 1 2 9 3 40 9201 EP NO - 361 5 25 1 0 6 4 40 5340 PS FR - 415 7 31 1 1 4 4 40 5521 TIS ES - 304 3 29 1 0 6 5 40 5632 PS FR - 415 7 31 1 0 4 4 40 5270 TIS GB - 208 3 26 1 0 8 1 40 6853 DD GR - 216 7 35 1 2 9 3 40 9201 SPS BE - 361 3 25 1 0 6 1 40 5270 SPS BE - 211 3 32 1 0 9 2 40 8133 SPS BE - 560 4 25 1 0 4 3 20 2510 FI FR - 208 2 28 1 0 8 5 40 7366 DD IT - 103 7 34 1 0 9 7 40 9311 TH ZZ - 301 1 26 1 0 6 1 40 4841 ST FR - 560 2 21 1 0 4 2 40 4740 FI GB - 543 2 25 1 0 5 2 40 5023 EF IT - 302 3 29 1 0 5 1 40 4941 ST IT - 501 7 30 1 0 8 4 40 7630 FI BE - 201 7 30 1 1 8 2 40 7618 ST SE - 304 3 27 1 0 6 2 40 5361 SPS BE - 308 2 26 1 0 6 2 40 5361 SPS GB - 302 3 27 1 0 6 3 40 5451 LEP FR - 208 7 31 1 0 8 4 40 7630 SPS PT - 208 6 27 1 0 8 1 40 7236 DD FR - 500 7 48 1 2 12 7 40 14616 PE BE - 511 7 29 1 1 8 4 40 7881 DD BE - 208 2 29 1 0 8 3 40 7110 DD GR - 208 2 26 1 0 8 1 40 6853 SPS GR - 208 3 31 1 0 8 3 40 7110 DD GR - 506 7 28 1 0 8 3 40 7498 PE IT - 361 7 28 1 0 6 1 40 5642 SPS BE - 302 1 28 1 0 5 1 40 4512 LEP FR - 501 7 28 1 0 8 3 40 7498 AG GB - 502 3 28 1 0 8 1 40 6853 FI SE - 211 7 29 1 0 9 2 40 8545 EF IT - 211 3 27 1 0 8 1 40 6853 EF BE - 402 5 36 2 2 6 6 40 6022 EF FR - 560 3 22 0 0 4 0 40 4581 AG GB - 204 7 28 1 0 8 5 40 7761 EF FR - 203 3 33 1 0 8 6 40 7495 EF GB - 301 1 25 1 0 6 0 40 4751 EF FR - 301 2 23 1 0 6 0 40 5180 EF FR - 301 7 33 1 2 6 6 40 6595 EP GB - 361 7 25 0 0 6 2 40 5732 PS FR - 204 7 34 2 2 8 5 40 8263 EF FR - 361 1 30 0 0 6 2 40 4931 PS ES - 208 3 29 0 0 8 4 40 7238 DD IT - 208 3 27 0 0 8 3 40 7110 DD ES - 419 1 25 0 0 4 0 40 4152 ST FR - 365 3 24 0 0 6 1 40 5270 DD GB - 365 3 25 0 0 5 3 40 5104 DD DK - 361 3 27 0 0 6 1 40 5270 SPS BE - 102 7 37 0 2 9 6 40 9660 EP DE - 361 3 24 0 0 6 0 40 5180 SPS AT - 361 3 25 0 0 6 0 40 5180 SPS NL - 361 3 23 0 0 6 0 40 5180 SPS ES - 500 2 28 0 0 8 0 40 6725 DG IT - 302 5 24 0 1 5 0 40 4909 ST FR - 361 3 24 0 0 6 0 40 5180 SPS GB - 211 3 33 5 0 9 1 40 7984 SPS DE - 304 3 24 0 0 6 2 40 5361 PS BE - 204 3 34 0 0 8 4 40 7238 EF NL - 304 7 23 0 0 6 0 40 5551 EF GB - 204 7 27 0 0 8 5 40 7761 EF GB - 361 3 23 0 0 6 0 40 5180 SPS GB - 211 2 28 0 0 9 0 30 5948 EP IT - 208 3 26 0 0 8 0 40 6725 EP IT - 214 3 28 0 0 9 0 30 5948 EP IT - 505 2 39 0 0 9 4 40 8433 TH SE - 211 7 38 0 1 9 5 40 9256 EF GB - 301 1 26 0 0 6 2 40 4931 EP FR - 500 7 51 0 0 13 10 40 16995 DG FR - 415 5 25 0 1 4 0 40 4631 TIS FR - 565 4 35 0 2 4 4 20 3053 DD FR - 204 3 28 0 0 8 2 40 6981 EP DK - 500 5 43 0 2 12 4 40 12716 DG ZZ diff --git a/tutorials/chi2test.C b/tutorials/chi2test.C deleted file mode 100644 index c90f2d7f9eef5c7b1ee5caf97beb4ae26b514ce2..0000000000000000000000000000000000000000 --- a/tutorials/chi2test.C +++ /dev/null @@ -1,171 +0,0 @@ -// Example macro to use chi2 test -// One unweighted histogram is compared with a weighted histogram. -// The normalized residuals are retrieved and plotted in a simple graph. -// The QQ plot of the normalized residual using the -// normal distribution is also plotted. -// -//Authors: Nikolai Gagunashvili, Daniel Haertl, Lorenzo Moneta - - -#include "TH1.h" -#include "TH1D.h" -#include "TF1.h" -#include "TGraph.h" -#include "TGraphQQ.h" -#include "TCanvas.h" -#include "TStyle.h" -#include "TMath.h" - - -void chi2test() -{ - - //Define Histograms - - const Int_t n = 20; - - TH1D *h1 = new TH1D("h1", "h1", n, 4, 16); - TH1D *h2 = new TH1D("h2", "h2", n, 4, 16); - - h1->SetTitle("Unweighted Histogram"); - h2->SetTitle("Weighted Histogram"); - - h1->SetBinContent(1, 0); - h1->SetBinContent(2, 1); - h1->SetBinContent(3, 0); - h1->SetBinContent(4, 1); - h1->SetBinContent(5, 1); - h1->SetBinContent(6, 6); - h1->SetBinContent(7, 7); - h1->SetBinContent(8, 2); - h1->SetBinContent(9, 22); - h1->SetBinContent(10, 30); - h1->SetBinContent(11, 27); - h1->SetBinContent(12, 20); - h1->SetBinContent(13, 13); - h1->SetBinContent(14, 9); - h1->SetBinContent(15, 26); - h1->SetBinContent(16, 13); - h1->SetBinContent(17, 19); - h1->SetBinContent(18, 11); - h1->SetBinContent(19, 9); - h1->SetBinContent(20, 0); - h1->SetBinError(1, 0); - h1->SetBinError(2, 1); - h1->SetBinError(3, 0); - h1->SetBinError(4, 1); - h1->SetBinError(5, 1); - h1->SetBinError(6, 2.44948983); - h1->SetBinError(7, 2.64575124 ); - h1->SetBinError(8, 1.41421354); - h1->SetBinError(9, 4.69041586); - h1->SetBinError(10, 5.47722578); - h1->SetBinError(11, 5.19615221); - h1->SetBinError(12, 4.47213602); - h1->SetBinError(13, 3.60555124); - h1->SetBinError(14, 3.); - h1->SetBinError(15, 5.38516474); - h1->SetBinError(16, 3.60555124); - h1->SetBinError(17, 4.35889912); - h1->SetBinError(18, 3.31662488); - h1->SetBinError(19, 3.); - h1->SetBinError(20, 0); - h2->SetBinContent(1, 2.20173025 ); - h2->SetBinContent(2, 3.30143857); - h2->SetBinContent(3, 2.5892849); - h2->SetBinContent(4, 2.99990201); - h2->SetBinContent(5, 4.92877054); - h2->SetBinContent(6, 8.33036995); - h2->SetBinContent(7, 6.95084763); - h2->SetBinContent(8, 15.206357); - h2->SetBinContent(9, 23.9236012); - h2->SetBinContent(10, 44.3848114); - h2->SetBinContent(11, 49.4465599); - h2->SetBinContent(12, 25.1868858); - h2->SetBinContent(13, 16.3129692); - h2->SetBinContent(14, 13.0289612); - h2->SetBinContent(15, 16.7857609); - h2->SetBinContent(16, 22.9914703); - h2->SetBinContent(17, 30.5279255); - h2->SetBinContent(18, 12.5252123); - h2->SetBinContent(19, 16.4104557); - h2->SetBinContent(20, 7.86067867); - h2->SetBinError(1, 0.38974303 ); - h2->SetBinError(2, 0.536510944); - h2->SetBinError(3, 0.529702604); - h2->SetBinError(4, 0.642001867); - h2->SetBinError(5, 0.969341516); - h2->SetBinError(6, 1.47611344); - h2->SetBinError(7, 1.69797957); - h2->SetBinError(8, 3.28577447); - h2->SetBinError(9, 5.40784931); - h2->SetBinError(10, 9.10106468); - h2->SetBinError(11, 9.73541737); - h2->SetBinError(12, 5.55019951); - h2->SetBinError(13, 3.57914758); - h2->SetBinError(14, 2.77877331); - h2->SetBinError(15, 3.23697519); - h2->SetBinError(16, 4.3608489); - h2->SetBinError(17, 5.77172089); - h2->SetBinError(18, 3.38666105); - h2->SetBinError(19, 2.98861837); - h2->SetBinError(20, 1.58402085); - - h1->SetEntries(217); - h2->SetEntries(500); - -//apply the chi2 test and retrieve the residuals - Double_t res[n], x[n]; - h1->Chi2Test(h2,"UW P",res); - -//Graph for Residuals - for (Int_t i=0; i<n; i++) x[i]= 4.+i*12./20.+12./40.; - TGraph *resgr = new TGraph(n,x,res); - resgr->GetXaxis()->SetRangeUser(4,16); - resgr->GetYaxis()->SetRangeUser(-3.5,3.5); - resgr->GetYaxis()->SetTitle("Normalized Residuals"); - resgr->SetMarkerStyle(21); - resgr->SetMarkerColor(2); - resgr->SetMarkerSize(.9); - resgr->SetTitle("Normalized Residuals"); - -//Quantile-Quantile plot - TF1 *f = new TF1("f","TMath::Gaus(x,0,1)",-10,10); - TGraphQQ *qqplot = new TGraphQQ(n,res,f); - qqplot->SetMarkerStyle(20); - qqplot->SetMarkerColor(2); - qqplot->SetMarkerSize(.9); - qqplot->SetTitle("Q-Q plot of Normalized Residuals"); - -//create Canvas - TCanvas *c1 = new TCanvas("c1","Chistat Plot",10,10,900,800); - c1->SetFillColor(33); - c1->Divide(2,2); - -// Draw Histogramms and Graphs - c1->cd(1); - gPad->SetFrameFillColor(21); - h1->SetMarkerColor(4); - h1->SetMarkerStyle(20); - - h1->Draw("E"); - - c1->cd(2); - gPad->SetFrameFillColor(21); - h2->Draw(""); - h2->SetMarkerColor(4); - h2->SetMarkerStyle(20); - - c1->cd(3); - gPad->SetFrameFillColor(21); - gPad->SetGridy(); - resgr->Draw("APL"); - - c1->cd(4); - gPad->SetFrameFillColor(21); - qqplot->Draw("AP"); - - c1->cd(0); - - c1->Update(); -} diff --git a/tutorials/classcat.C b/tutorials/classcat.C deleted file mode 100644 index 036783f000fe6cf91c09b8cc92789944aa67df3a..0000000000000000000000000000000000000000 --- a/tutorials/classcat.C +++ /dev/null @@ -1,87 +0,0 @@ -{ -// macro generating the Root class categories inheritance trees - - gROOT->Reset(); - gSystem->Load("libProof"); - gSystem->Load("libTreePlayer"); - gSystem->Load("libTreeViewer"); - gSystem->Load("$PYTHIA6/libPythia6"); - gSystem->Load("libEG"); - gSystem->Load("libEGPythia6"); - gSystem->Load("libPhysics"); - gSystem->Load("libGeom"); - - TCanvas c1("c1"); - TClassTree ct("ClassTree"); - - //base classes - ct.Draw("*TDirectory:*TCollection:TFree:TIter*:TObjLink:TStorage:*TKey:*TEnv:*TSystem:TSystem*:*TStopwatch:TDatime:TTim*TBenchmark*TRandom:TMath:TObjectTable:TStrin*"); - c1.Print("classcat_base.gif"); - c1.Print("classcat_base.ps"); - - //container classes - ct.Draw("*TDirectory:*TCollection:TFree:TIter*:TObjLink:TStorage:*TKey:TObjectTable"); - c1.Print("classcat_container.gif"); - c1.Print("classcat_container.ps"); - - //histogram and minimisation classes - ct.Draw("*TH1:*TFormula:TMinuit:TAxis:TFitter:TVirtualfitter"); - c1.Print("classcat_hist.gif"); - c1.Print("classcat_hist.ps"); - - //physics vectors classes - ct.Draw("TFeldmanCousins:TGenPhaseSpace:TLorentz*:TRotation:TVector2D:TVector3D"); - c1.Print("classcat_physics.gif"); - c1.Print("classcat_physics.ps"); - - //tree classes - ct.Draw("*TTree:*TBranch:*TLeaf:*TKey:*TDirectory:TCut*:TEventList:TChain*:TTreeFormula:*TSelector:TTree*"); - c1.Print("classcat_tree.gif"); - c1.Print("classcat_tree.ps"); - - //2-d graphics classes - ct.Draw("*TBox:TStyle:*TVirtualX:TGaxis:*TText:TPostScript:*TFormula:TColor:*TEllipse:*TLine:*TMarker:*TGraph:TPoly*"); - c1.Print("classcat_graf2d.gif"); - c1.Print("classcat_graf2d.ps"); - - //pad/canvas graphics classes - ct.Draw("*TVirtualPad"); - c1.Print("classcat_gpad.gif"); - c1.Print("classcat_gpad.ps"); - - //3-d graphics classes - ct.Draw("*TShape:*TNode:TGeometry:TPainter3dAlgorithms:TView:TPoly*:TRotMatrix:*TMaterial"); - c1.Print("classcat_graf3d.gif"); - c1.Print("classcat_graf3d.ps"); - - //Detector geometry classes - ct.Draw("TGeo*"); - c1.Print("classcat_geometry.gif"); - c1.Print("classcat_geometry.ps"); - - //GUI classes - ct.Draw("*TGFrame"); - c1.Print("classcat_gui.gif"); - c1.Print("classcat_gui.ps"); - - //Browser, viewer, inspector classes - ct.Draw("*TBrowser:TTreeViewer:TClassTree"); - c1.Print("classcat_browse.gif"); - c1.Print("classcat_browse.ps"); - - //meta classes - ct.Draw("*TDictionary:TTogg*:*TCint:TMethodCall:*TInterpreter:TClassTable:TObjectTable:TStream*"); - c1.Print("classcat_meta.gif"); - c1.Print("classcat_meta.ps"); - - //net classes - ct.Draw("TInetAddress:*TSocket:*TBuffer:*TMonitor:*TUrl:TNetFile:TWebFile"); - c1.Print("classcat_net.gif"); - c1.Print("classcat_net.ps"); - - //linear algebra and matrix classes - ct.Draw("TMatr*:TLazymatrix:*TVector"); - c1.Print("classcat_linalgebra.gif"); - c1.Print("classcat_linalgebra.ps"); - -} diff --git a/tutorials/cleanup.C b/tutorials/cleanup.C deleted file mode 100644 index 640c1ac53461696ce67e04dd147075c8a191922c..0000000000000000000000000000000000000000 --- a/tutorials/cleanup.C +++ /dev/null @@ -1,8 +0,0 @@ -{ - gROOT->Reset(); - TCanvas *c = 0; - c = (TCanvas*)gROOT->FindObject("c1"); if (c) c->Delete(); c = 0; - c = (TCanvas*)gROOT->FindObject("c2"); if (c) c->Delete(); c = 0; - c = (TCanvas*)gROOT->FindObject("ntuple"); if (c) c->Delete(); c = 0; - c = (TCanvas*)gROOT->FindObject("tornadoCanvas"); if (c) c->Delete(); c = 0; -} diff --git a/tutorials/clonesA_Event.C b/tutorials/clonesA_Event.C deleted file mode 100644 index 56ba94d1b9670b15215874554bbf381182d70e49..0000000000000000000000000000000000000000 --- a/tutorials/clonesA_Event.C +++ /dev/null @@ -1,65 +0,0 @@ -// Example to write & read a Tree built with a complex class inheritance tree. -// It demonstrates usage of inheritance and TClonesArrays -// This is simplied / stripped extract of an event structure used within the -// Marabou project (http://www.bl.physik.uni-muenchen.de/marabou/html/) -// -//to run this example, do: -// root > .x clonesA_Event.C - -void clonesA_Event_w() -{ -// protect against old ROOT versions - if ( gROOT->GetVersionInt() < 30503 ) { - cout << "Works only with ROOT version >= 3.05/03" << endl; - return; - } - if ( gROOT->GetVersionDate() < 20030406 ) { - cout << "Works only with ROOT CVS version after 5. 4. 2003" << endl; - return; - } - - //write a Tree - TFile *hfile = new TFile("clonesA_Event.root","RECREATE","Test TClonesArray"); - TTree *tree = new TTree("clonesA_Event","An example of a ROOT tree"); - TUsrSevtData1 *event1 = new TUsrSevtData1(); - TUsrSevtData2 *event2 = new TUsrSevtData2(); - tree->Branch("top1","TUsrSevtData1",&event1,8000,99); - tree->Branch("top2","TUsrSevtData2",&event2,8000,99); - for (Int_t ev = 0; ev < 10; ev++) { - cout << "event " << ev << endl; - event1->SetEvent(ev); - event2->SetEvent(ev); - tree->Fill(); - if (ev <3) tree->Show(ev); - } - tree->Write(); - tree->Print(); - delete hfile; -} - -void clonesA_Event_r() -{ - //read the Tree - TFile * hfile = new TFile("clonesA_Event.root"); - TTree *tree = (TTree*)hfile->Get("clonesA_Event"); - - TUsrSevtData1 * event1 = 0; - TUsrSevtData2 * event2 = 0; - tree->SetBranchAddress("top1",&event1); - tree->SetBranchAddress("top2",&event2); - for (Int_t ev = 0; ev < 8; ev++) { - tree->Show(ev); - cout << "Pileup event1: " << event1->GetPileup() << endl; - cout << "Pileup event2: " << event2->GetPileup() << endl; - event1->Clear(); - event2->Clear(); - // gObjectTable->Print(); // detect possible memory leaks - } - delete hfile; -} - -void clonesA_Event() { - gROOT->ProcessLine(".L clonesA_Event.cxx+"); // compile shared lib - clonesA_Event_w(); // write the tree - clonesA_Event_r(); // read back the tree -} diff --git a/tutorials/clonesA_Event.cxx b/tutorials/clonesA_Event.cxx deleted file mode 100644 index 2e53f7ec9cdf776a8bb9ef3ca07d7488b134333c..0000000000000000000000000000000000000000 --- a/tutorials/clonesA_Event.cxx +++ /dev/null @@ -1,69 +0,0 @@ -#include "TFile.h" -#include "clonesA_Event.h" - -ClassImp(TUsrHit) - ClassImp(TUsrHitBuffer) - ClassImp(TUsrSevtData1) - ClassImp(TUsrSevtData2) - ClassImp(TMrbSubevent_Caen) - -//______________________________________________________ - TUsrHit::TUsrHit(Int_t ev) { - fEventNumber = ev; - fModuleNumber = ev%4; - fChannel = ev+1000; - for (Int_t i=0;i<3;i++) fEventTime[i] = 100+ev; -} - -//______________________________________________________ - -TUsrHitBuffer::TUsrHitBuffer(Int_t maxent) { - fNofEntries = maxent; - fNofHits = 0; - fHits = new TClonesArray("TUsrHit", fNofEntries); - cout << "ctor TUsrHitBuffer " << this << endl; -} - -//______________________________________________________ - -TUsrHit *TUsrHitBuffer::AddHit(Int_t ev) { - TClonesArray & hits = *fHits; - TUsrHit *hit = new(hits[fNofHits++]) TUsrHit(ev); - return hit; -} - -//______________________________________________________ - -void TUsrHitBuffer::Clear(Option_t *) { - fHits->Clear(); - fNofHits = 0; -} - -//______________________________________________________ - -void TUsrSevtData1::SetEvent(Int_t ev) { - Clear(); - cout << "TUsrSevtData1: " << ev << endl; - fTimeStamp = 100+ev; //in TMrbSubevent_Caen - fSevtName = "SubEvent_1_"; - fSevtName += ev; - fMer = 1100 + ev; - fPileup = 2100 + ev; - for(Int_t i = 1; i <= ev+1; i++) { - fHitBuffer.AddHit(i); - } -} -//______________________________________________________ - -void TUsrSevtData2::SetEvent(Int_t ev) { - Clear(); - cout << "TUsrSevtData2: " << ev << endl; - fTimeStamp = 100+ev; //in TMrbSubevent_Caen - fSevtName = "SubEvent_2_"; - fSevtName += ev; - fMer = 21000 + ev; - fPileup = 22000 + ev; - for(Int_t i = 1; i <= ev+1; i++) { - fHitBuffer.AddHit(i); - } -} diff --git a/tutorials/clonesA_Event.h b/tutorials/clonesA_Event.h deleted file mode 100644 index 41b5044efa360bd78abffeab96c7ce4b895c7eb8..0000000000000000000000000000000000000000 --- a/tutorials/clonesA_Event.h +++ /dev/null @@ -1,94 +0,0 @@ -#include "TTree.h" -#include "Riostream.h" - -class TUsrHit:public TObject { - public: - TUsrHit(Int_t ev=0); - virtual ~TUsrHit() {} - - protected: - Int_t fEventNumber; // internal event number - Int_t fModuleNumber; // module serial number - Int_t fChannel; // module channel - UShort_t fEventTime[3]; // time stamp generated by dgf clock bus (48 bits unsigned!) - - ClassDef(TUsrHit, 1) // [Analyze] Hit -}; - -//______________________________________________________ - -class TUsrHitBuffer:public TObject { - public: -// TUsrHitBuffer(){}; - TUsrHitBuffer(Int_t maxent = 10); - virtual ~TUsrHitBuffer() { - cout << "~~~~~~dtor TUsrHitBuffer " << this << endl; - delete fHits; - } - - - TUsrHit *AddHit(Int_t ev); - Int_t GetBufSize() { return fHits->GetSize();} - TClonesArray *GetCA() { return (fHits);} - void Clear(Option_t *opt=""); - - protected: - - Int_t fNofEntries; // max number of entries - Int_t fNofHits; // current number of hits - TClonesArray *fHits; // array containing hit data - - ClassDef(TUsrHitBuffer, 1) // [Analyze] Hit buffer -}; - -//______________________________________________________ - -class TMrbSubevent_Caen:public TObject { - - public: - TMrbSubevent_Caen() {cout << "ctor TMrbSubevent_Caen" << this << endl;} - virtual ~TMrbSubevent_Caen() {} - void Clear(Option_t *opt="") {fHitBuffer.Clear();}; - TUsrHitBuffer * GetHitBuffer() {return &fHitBuffer;}; - protected: - - Int_t fTimeStamp; // time stamp, same as fUniqueID - TUsrHitBuffer fHitBuffer; // hit buffer to store subevent data - - ClassDef(TMrbSubevent_Caen, 1) // [Analyze] Base class for subevents: CAEN data stored in hit buffer -}; - -//______________________________________________________ - -class TUsrSevtData1:public TMrbSubevent_Caen { - public: - TUsrSevtData1() {SetEvent(0);} - - virtual ~TUsrSevtData1() {} - void SetEvent(Int_t ev); - Int_t GetPileup() {return fPileup; }; - - protected: - TString fSevtName; // subevent name - Int_t fMer; // data2.mer - Int_t fPileup; // data2.mpileup - - ClassDef(TUsrSevtData1, 1) // [Analyze] Store CAEN data in hit buffer -}; -//______________________________________________________ - -class TUsrSevtData2:public TMrbSubevent_Caen { - public: - TUsrSevtData2() {SetEvent(0);} - - virtual ~TUsrSevtData2() {} - void SetEvent(Int_t ev); - Int_t GetPileup() {return fPileup; }; - - protected: - TString fSevtName; // subevent name - Int_t fMer; // data2.mer - Int_t fPileup; // data2.mpileup - - ClassDef(TUsrSevtData2, 1) // [Analyze] Store CAEN data in hit buffer -}; diff --git a/tutorials/compile.C b/tutorials/compile.C deleted file mode 100644 index 0d57cabecf9eba2600e71af2ffbbad09a2025a01..0000000000000000000000000000000000000000 --- a/tutorials/compile.C +++ /dev/null @@ -1,28 +0,0 @@ -{ - // - // This macro produces the flowchart of TFormula::Compile - // - gROOT->Reset(); - c1 = new TCanvas("c1"); - c1->Range(0,0,1,1); - TPaveLabel ptc(0.02,0.42,0.2,0.58,"Compile"); - ptc.SetTextSize(0.40); - ptc.SetFillColor(32); - ptc.Draw(); - TPaveText psub(0.28,0.4,0.65,0.6); - psub.Draw(); - TText *t2=psub.AddText("Substitute some operators"); - TText *t3=psub.AddText("to C++ style"); - TPaveLabel panal(0.73,0.42,0.98,0.58,"Analyze"); - panal.SetTextSize(0.40); - panal.SetFillColor(42); - panal.Draw(); - TArrow ar1(0.2,0.5,0.27,0.5,0.02,"|>"); - ar1.SetLineWidth(6); - ar1.SetLineColor(4); - ar1.Draw(); - TArrow ar2(0.65,0.5,0.72,0.5,0.02,"|>"); - ar2.SetLineWidth(6); - ar2.SetLineColor(4); - ar2.Draw(); -} diff --git a/tutorials/copyFiles.C b/tutorials/copyFiles.C deleted file mode 100644 index 8731fe7faaec6eed17de0a01c45990dd34f4a498..0000000000000000000000000000000000000000 --- a/tutorials/copyFiles.C +++ /dev/null @@ -1,76 +0,0 @@ -// Author: Rene Brun - -#include "TROOT.h" -#include "TKey.h" -#include "TFile.h" -#include "TSystem.h" -#include "TTree.h" - - //Example of script showing how to copy all objects (including directories) - //from a source file. - //For each input file, a new directory is created in the current directory - //with the name of the source file. - //After execution of: - // root > .x copyFiles.C - //the file result.root will contain 4 subdirectories: - // "tot100.root", "hsimple.root", "hs1.root","hs2.root" - -void CopyDir(TDirectory *source) { - //copy all objects and subdirs of directory source as a subdir of the current directory - source->ls(); - TDirectory *savdir = gDirectory; - TDirectory *adir = savdir->mkdir(source->GetName()); - adir->cd(); - //loop on all entries of this directory - TKey *key; - TIter nextkey(source->GetListOfKeys()); - while ((key = (TKey*)nextkey())) { - const char *classname = key->GetClassName(); - TClass *cl = gROOT->GetClass(classname); - if (!cl) continue; - if (cl->InheritsFrom("TDirectory")) { - source->cd(key->GetName()); - TDirectory *subdir = gDirectory; - adir->cd(); - CopyDir(subdir); - adir->cd(); - } else if (cl->InheritsFrom("TTree")) { - TTree *T = (TTree*)source->Get(key->GetName()); - adir->cd(); - TTree *newT = T->CloneTree(-1,"fast"); - newT->Write(); - } else { - source->cd(); - TObject *obj = key->ReadObj(); - adir->cd(); - obj->Write(); - delete obj; - } - } - adir->SaveSelf(kTRUE); - savdir->cd(); -} -void CopyFile(const char *fname) { - //Copy all objects and subdirs of file fname as a subdir of the current directory - TDirectory *target = gDirectory; - TFile *f = TFile::Open(fname); - if (!f || f->IsZombie()) { - printf("Cannot copy file: %s\n",fname); - target->cd(); - return; - } - target->cd(); - CopyDir(f); - delete f; - target->cd(); -} -void copyFiles() { - //main function copying 4 files as subdirectories of a new file - TFile *f = new TFile("result.root","recreate"); - CopyFile("tot100.root"); - CopyFile("hsimple.root"); - CopyFile("hs1.root"); - CopyFile("hs2.root"); - f->ls(); - delete f; -} diff --git a/tutorials/copytree.C b/tutorials/copytree.C deleted file mode 100644 index 125e3de9090ec9d0a6a54f54c8e8902519786812..0000000000000000000000000000000000000000 --- a/tutorials/copytree.C +++ /dev/null @@ -1,28 +0,0 @@ -{ -// Example of Root macro to copy a subset of a Tree to a new Tree -// The input file has been generated by the program in $ROOTSYS/test/Event -// with Event 1000 1 1 1 - - gROOT->Reset(); - gSystem->Load("$ROOTSYS/test/libEvent"); - - //Get old file, old tree and set top branch address - TFile *oldfile = new TFile("$ROOTSYS/test/Event.root"); - TTree *oldtree = (TTree*)oldfile->Get("T"); - Event *event = new Event(); - oldtree->SetBranchAddress("event",&event); - oldtree->SetBranchStatus("*",0); - oldtree->SetBranchStatus("event",1); - oldtree->SetBranchStatus("fNtrack",1); - oldtree->SetBranchStatus("fNseg",1); - oldtree->SetBranchStatus("fH",1); - - //Create a new file + a clone of old tree in new file - TFile *newfile = new TFile("small.root","recreate"); - TTree *newtree = oldtree->CloneTree(); - - newtree->Print(); - newfile->Write(); - delete oldfile; - delete newfile; -} diff --git a/tutorials/copytree2.C b/tutorials/copytree2.C deleted file mode 100644 index df0cc447d8379de10d289c39d59b9c1df983eb9f..0000000000000000000000000000000000000000 --- a/tutorials/copytree2.C +++ /dev/null @@ -1,34 +0,0 @@ -{ -// Example of Root macro to copy a subset of a Tree to a new Tree -// One branch of the new Tree is written to a separate file -// The input file has been generated by the program in $ROOTSYS/test/Event -// with Event 1000 1 1 1 - - gROOT->Reset(); - gSystem->Load("$ROOTSYS/test/libEvent"); - - //Get old file, old tree and set top branch address - TFile *oldfile = new TFile("$ROOTSYS/test/Event.root"); - TTree *oldtree = (TTree*)oldfile->Get("T"); - Event *event = new Event(); - oldtree->SetBranchAddress("event",&event); - oldtree->SetBranchStatus("*",0); - oldtree->SetBranchStatus("event",1); - oldtree->SetBranchStatus("fNtrack",1); - oldtree->SetBranchStatus("fNseg",1); - oldtree->SetBranchStatus("fH",1); - - - //Create a new file + a clone of old tree header. Do not copy events - TFile *newfile = new TFile("small.root","recreate"); - TTree *newtree = oldtree->CloneTree(0); - - //Divert branch fH to a separate file and copy all events - newtree->GetBranch("fH")->SetFile("small_fH.root"); - newtree->CopyEntries(oldtree); - - newtree->Print(); - newfile->Write(); - delete oldfile; - delete newfile; -} diff --git a/tutorials/copytree3.C b/tutorials/copytree3.C deleted file mode 100644 index 51848c708cbfa52d6859b70fda7f156bfc3e5cb7..0000000000000000000000000000000000000000 --- a/tutorials/copytree3.C +++ /dev/null @@ -1,30 +0,0 @@ -{ -// Example of Root macro to copy a subset of a Tree to a new Tree -// Only selected entries are copied to the new Tree. -// The input file has been generated by the program in $ROOTSYS/test/Event -// with Event 1000 1 99 1 - - gROOT->Reset(); - gSystem->Load("$ROOTSYS/test/libEvent"); - - //Get old file, old tree and set top branch address - TFile *oldfile = new TFile("$ROOTSYS/test/Event.root"); - TTree *oldtree = (TTree*)oldfile->Get("T"); - Int_t nentries = (Int_t)oldtree->GetEntries(); - Event *event = 0; - oldtree->SetBranchAddress("event",&event); - - //Create a new file + a clone of old tree in new file - TFile *newfile = new TFile("small.root","recreate"); - TTree *newtree = oldtree->CloneTree(0); - - for (Int_t i=0;i<nentries; i++) { - oldtree->GetEntry(i); - if (event->GetNtrack() > 605) newtree->Fill(); - event->Clear(); - } - newtree->Print(); - newtree->AutoSave(); - delete oldfile; - delete newfile; -} diff --git a/tutorials/csgdemo.C b/tutorials/csgdemo.C deleted file mode 100644 index 7f1ea63567b4ed67acf856649c919f811e733f09..0000000000000000000000000000000000000000 --- a/tutorials/csgdemo.C +++ /dev/null @@ -1,356 +0,0 @@ -Bool_t raytracing = kTRUE; - -//______________________________________________________________________________ -void csgdemo () -{ - gSystem->Load("libGeom"); - bar = new TControlBar("vertical", "TGeo composite shapes",20,20); - bar->AddButton("How to run ","help()","Instructions "); - bar->AddButton("Union ", "s_union()", "A + B "); - bar->AddButton("Intersection ", "s_intersection()","A * B "); - bar->AddButton("Difference ", "s_difference()","A - B "); - //These two buttons are disabled cause of bugs - bar->AddButton("Complex composite", "complex_1()","(A * B) + (C - D)"); - bar->Show(); - - gROOT->SaveContext(); -} - -//______________________________________________________________________________ -void MakePicture() -{ - gGeoManager->GetGeomPainter()->SetRaytracing(kFALSE); - gPad->Modified(); - gPad->Update(); -} - - -void s_union() -{ - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("composite shape", "Union boolean operation", 700, 1000); - - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - - if (gGeoManager) delete gGeoManager; - - new TGeoManager("xtru", "poza12"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - - // define shape components with names - TGeoPgon *pgon = new TGeoPgon("pg",0.,360.,6,2); - pgon->DefineSection(0,0,0,20); - pgon->DefineSection(1, 30,0,20); - - TGeoSphere *sph = new TGeoSphere("sph", 40., 45., 5., 175., 0., 340.); - // define named geometrical transformations with names - TGeoTranslation *tr = new TGeoTranslation(0., 0., 45.); - tr->SetName("tr"); - // register all used transformations - tr->RegisterYourself(); - // create the composite shape based on a Boolean expression - TGeoCompositeShape *cs = new TGeoCompositeShape("mir", "sph:tr + pg"); - - TGeoVolume *vol = new TGeoVolume("COMP1",cs); - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(100); - top->Draw(); - MakePicture(); - - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TText *text = pt->AddText("TGeoCompositeShape - composite shape class"); - text->SetTextColor(2); - pt->AddText("----- It's an example of boolean union operation : A + B"); - pt->AddText("----- A == part of sphere (5-175, 0-340), B == pgon"); - pt->AddText(" "); - pt->SetAllWith("-----","color",4); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetTextAlign(12); - pt->SetTextSize(.044); - pt->Draw(); - c->cd(1); -} - -void s_intersection() -{ - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("composite shape", "Intersection boolean operation", 700, 1000); - - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - - if (gGeoManager) delete gGeoManager; - - new TGeoManager("xtru", "poza12"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - - // define shape components with names - TGeoBBox *box = new TGeoBBox("bx", 40., 40., 40.); - TGeoSphere *sph = new TGeoSphere("sph", 40., 45.); - // define named geometrical transformations with names - TGeoTranslation *tr = new TGeoTranslation(0., 0., 45.); - tr->SetName("tr"); - // register all used transformations - tr->RegisterYourself(); - // create the composite shape based on a Boolean expression - TGeoCompositeShape *cs = new TGeoCompositeShape("mir", "sph:tr * bx"); - - TGeoVolume *vol = new TGeoVolume("COMP2",cs); - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(100); - top->Draw(); - MakePicture(); - - c->cd(2); - - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - - pt->SetLineColor(1); - - TText *text = pt->AddText("TGeoCompositeShape - composite shape class"); - - text->SetTextColor(2); - pt->AddText("----- Here is an example of boolean intersection operation : A * B"); - pt->AddText("----- A == sphere (with inner radius non-zero), B == box"); - pt->AddText(" "); - pt->SetAllWith("-----","color",4); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -} - -void s_difference() -{ - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("composite shape", "Difference boolean operation", 700, 1000); - - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - - if (gGeoManager) delete gGeoManager; - - new TGeoManager("xtru", "poza12"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - - // define shape components with names - TGeoTorus *tor = new TGeoTorus("tor", 45., 15., 20., 45., 145.); - TGeoSphere *sph = new TGeoSphere("sph", 20., 45., 0., 180., 0., 270.); - // create the composite shape based on a Boolean expression - TGeoCompositeShape *cs = new TGeoCompositeShape("mir", "sph - tor"); - - TGeoVolume *vol = new TGeoVolume("COMP3",cs); - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(60); - top->Draw(); - MakePicture(); - - c->cd(2); - - TPaveText *pt = new TPaveText(.01, .01, .99, .99); - - pt->SetLineColor(1); - - TText *text = pt->AddText("TGeoCompositeShape - composite shape class"); - - text->SetTextColor(2); - - pt->AddText("----- It's an example of boolean difference: A - B"); - pt->AddText("----- A == part of sphere (0-180, 0-270), B == partial torus (45-145)"); - pt->AddText(" "); - pt->SetAllWith("-----","color",4); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -} - -void complex_1() -{ - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("composite shape", "A * B - C", 700, 1000); - - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - - if (gGeoManager) delete gGeoManager; - - new TGeoManager("xtru", "poza12"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - - // define shape components with names - TGeoBBox *box = new TGeoBBox("box", 20., 20., 20.); - TGeoBBox *box1 = new TGeoBBox("box1", 5., 5., 5.); - TGeoSphere *sph = new TGeoSphere("sph", 5., 25.); - TGeoSphere *sph1 = new TGeoSphere("sph1", 1., 15.); - // create the composite shape based on a Boolean expression - TGeoTranslation *tr = new TGeoTranslation(0., 30., 0.); - TGeoTranslation *tr1 = new TGeoTranslation(0., 40., 0.); - TGeoTranslation *tr2 = new TGeoTranslation(0., 30., 0.); - TGeoTranslation *tr3 = new TGeoTranslation(0., 30., 0.); - tr->SetName("tr"); - tr1->SetName("tr1"); - tr2->SetName("tr2"); - tr3->SetName("tr3"); - // register all used transformations - tr->RegisterYourself(); - tr1->RegisterYourself(); - tr2->RegisterYourself(); - tr3->RegisterYourself(); - - TGeoCompositeShape *cs = new TGeoCompositeShape("mir", "(sph * box) + (sph1:tr - box1:tr1)"); - - TGeoVolume *vol = new TGeoVolume("COMP4",cs); -// vol->SetLineColor(randomColor()); - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TText *text = pt->AddText("TGeoCompositeShape - composite shape class"); - text->SetTextColor(2); - pt->AddText("----- (sphere * box) + (sphere - box) "); - - pt->AddText(" "); - pt->SetAllWith("-----","color",4); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); - -} - -//______________________________________________________________________________ -void AddText(TPaveText *pave, const char *datamember, Double_t value, const char *comment) -{ - char line[128]; - for (Int_t i=0; i<128; i++) line[i] = ' '; - memcpy(&line[0], datamember, strlen(datamember)); - line[10] = '='; - char number[20]; - sprintf(number, "%5.2f", value); - memcpy(&line[12], number, strlen(number)); - line[26] = '='; - line[27] = '>'; - sprintf(&line[30], "%s",comment); - TText *text = pave->AddText(line); - text->SetTextAlign(12); -} - -//______________________________________________________________________________ -void AddText(TPaveText *pave, const char *datamember, Int_t value, const char *comment) -{ - char line[128]; - for (Int_t i=0; i<128; i++) line[i] = ' '; - memcpy(&line[0], datamember, strlen(datamember)); - line[10] = '='; - char number[20]; - sprintf(number, "%5i", value); - memcpy(&line[12], number, strlen(number)); - line[26] = '='; - line[27] = '>'; - sprintf(&line[30], "%s",comment); - TText *text = pave->AddText(line); - text->SetTextAlign(12); -} - -//______________________________________________________________________________ -void AddText(TPaveText *pave, TObject *pf, Int_t iaxis) -{ - char line[128]; - TGeoPatternFinder *finder = (TGeoPatternFinder*)pf; - if (!pave || !pf) return; - for (Int_t i=0; i<128; i++) line[i] = ' '; - TGeoVolume *volume = finder->GetVolume(); - TGeoShape *sh = volume->GetShape(); - sprintf(line, "Division of %s on axis %d (%s)", volume->GetName(), iaxis,sh->GetAxisName(iaxis)); - TText *text = pave->AddText(line); - text->SetTextColor(3); - text->SetTextAlign(12); - AddText(pave, "fNdiv",finder->GetNdiv(),"number of divisions"); - AddText(pave, "fStart",finder->GetStart(),"start divisioning position"); - AddText(pave, "fStep",finder->GetStep(),"division step"); -} - -//______________________________________________________________________________ -void raytrace() { - if (!gGeoManager) return; - - TVirtualGeoPainter *painter = gGeoManager->GetGeomPainter(); - - if (!painter) return; - - painter->SetRaytracing(raytracing); - - if (!gPad) return; - - gPad->Modified(); - gPad->Update(); -} - -//______________________________________________________________________________ -void help() { - // - - new TCanvas("chelp","Help to run demos",200,10,700,600); - - welcome = new TPaveText(.1,.8,.9,.97); - welcome->AddText("Welcome to the new geometry package"); - welcome->SetTextFont(32); - welcome->SetTextColor(4); - welcome->SetFillColor(24); - welcome->Draw(); - - hdemo = new TPaveText(.05,.05,.95,.7); - hdemo->SetTextAlign(12); - hdemo->SetTextFont(52); - hdemo->AddText("- Demo for building TGeo composite shapes"); - hdemo->AddText(" "); - hdemo->SetAllWith("....","color",2); - hdemo->SetAllWith("....","font",72); - hdemo->SetAllWith("....","size",0.03); - - hdemo->Draw(); -} - diff --git a/tutorials/customContextMenu.C b/tutorials/customContextMenu.C deleted file mode 100644 index b5056c26e7c40ed1bf8bbc87acc1c4b141601d05..0000000000000000000000000000000000000000 --- a/tutorials/customContextMenu.C +++ /dev/null @@ -1,85 +0,0 @@ -#include "TH1.h" -#include "TClassMenuItem.h" -#include "TList.h" - -void poptest1(int a=5, int b = 56); -void poptest2(int a, int b, TObject* c); -void poptest2bis(TObject* c); -int poptest3(); -void poptest4(char* ch); - - -void customContextMenu() -{ - TH1F *h; - TH1F *h2; - TClassMenuItem *n; - TList *l; - - // Create test histograms - h = new TH1F("h","Schtroumpf",100,-4,4); - h->FillRandom("gaus"); - h->Draw(); - - h2 = new TH1F("h2","h2",1000,-4,4); - h2->FillRandom("gaus",30000); - - // Retrieve menu list from TClass - TClass *cl = h->IsA(); - l = cl->GetMenuList(); - - // Add some items to the popup menus - n = new TClassMenuItem(TClassMenuItem::kPopupUserFunction,cl, - "Test object, draw a second h","Draw",h2,"Option_t*"); - l->AddFirst(n); - n = new TClassMenuItem(TClassMenuItem::kPopupSeparator,cl); - l->AddFirst(n); - - n = new TClassMenuItem(TClassMenuItem::kPopupUserFunction,cl, - "test no 4","poptest4",0,"const char*"); - l->AddFirst(n); - n = new TClassMenuItem(TClassMenuItem::kPopupUserFunction,cl, - "test no 3","poptest3",0,""); - l->AddFirst(n); - n = new TClassMenuItem(TClassMenuItem::kPopupUserFunction,cl, - "test no 2 bis","poptest2bis",0,"TObject*",2); - l->AddFirst(n); - n = new TClassMenuItem(TClassMenuItem::kPopupUserFunction,cl, - "test no 2","poptest2",0,"int,int,TObject*",2); - l->AddFirst(n); - n = new TClassMenuItem(TClassMenuItem::kPopupUserFunction,cl, - "test no 1","poptest1",0,"int,int"); - l->AddFirst(n); -} - -void poptest1(int a, int b) -{ - printf("poptest1 %d %d\n",a,b); -} - -void poptest2(int a, int b, TObject *c) -{ - // Remark: the object c will not be asked for since it is the selected object - printf("poptest2 %d %d\n",a,b); - printf("histo : %lx\n",(Long_t)c); - printf("title of the histogram : %s\n",((TH1F*)c)->GetTitle()); -} - -void poptest2bis(TObject *c) -{ - // Remark: the object c will not be asked for since it is the selected object - printf("poptest2bis\n"); - printf("histo : %lx\n",(Long_t)c); - printf("title of the histogram : %s\n",((TH1F*)c)->GetTitle()); -} - -int poptest3() -{ - printf("poptest3\n"); - return 12; -} - -void poptest4(const char *ch) -{ - printf("poptest4 %s\n",ch); -} diff --git a/tutorials/customTH1Fmenu.C b/tutorials/customTH1Fmenu.C deleted file mode 100644 index b93f98ad86286f6c19038af13ba903bce6beab96..0000000000000000000000000000000000000000 --- a/tutorials/customTH1Fmenu.C +++ /dev/null @@ -1,34 +0,0 @@ -{ - cl = gROOT->GetClass("TH1F"); - - cl->MakeCustomMenuList(); - ml = cl->GetMenuList(); - - ((TClassMenuItem*)ml->At(1))->SetTitle("Add histos..."); - ((TClassMenuItem*)ml->At(2))->SetTitle("Divide histos..."); - ((TClassMenuItem*)ml->At(3))->SetTitle("Draw panel..."); - ((TClassMenuItem*)ml->At(4))->SetTitle("Fit one function..."); - ((TClassMenuItem*)ml->At(5))->SetTitle("Fit panel..."); - ((TClassMenuItem*)ml->At(6))->SetTitle("Multiply histos..."); - ((TClassMenuItem*)ml->At(7))->SetTitle("Rebin..."); - ((TClassMenuItem*)ml->At(8))->SetTitle("Set maximum scale..."); - ((TClassMenuItem*)ml->At(9))->SetTitle("Set minimum scale..."); - ((TClassMenuItem*)ml->At(10))->SetTitle("Smooth histogram"); - ((TClassMenuItem*)ml->At(12))->SetTitle("Set name..."); - ((TClassMenuItem*)ml->At(13))->SetTitle("Set title..."); - ((TClassMenuItem*)ml->At(15))->SetTitle("Delete histogram"); - ((TClassMenuItem*)ml->At(16))->SetTitle("Draw class info"); - ((TClassMenuItem*)ml->At(17))->SetTitle("Draw clone"); - ((TClassMenuItem*)ml->At(18))->SetTitle("Dump information"); - ((TClassMenuItem*)ml->At(19))->SetTitle("Inspect"); - ((TClassMenuItem*)ml->At(20))->SetTitle("Set drawing option..."); - ((TClassMenuItem*)ml->At(22))->SetTitle("Set line attributes..."); - ((TClassMenuItem*)ml->At(24))->SetTitle("Set fill attributes..."); - ((TClassMenuItem*)ml->At(26))->SetTitle("Set marker attributes..."); - -// Remove separators at the end, between attributes - mi = (TClassMenuItem*)ml->At(23); - delete mi; - mi = (TClassMenuItem*)ml->At(24); - delete mi; -} diff --git a/tutorials/demo.py b/tutorials/demo.py deleted file mode 100755 index 3f32d7c526a8c3e47b1faffa721c467544626245..0000000000000000000000000000000000000000 --- a/tutorials/demo.py +++ /dev/null @@ -1,59 +0,0 @@ -import os, sys -import ROOT - -# To run, do an "execfile( '<path-to>/demo.py' )" or "python <path-to>/demo.py" - -# enable running from another directory than the one where demo.py resides -workdir = os.path.dirname( sys.argv[0] ) -if workdir: - os.chdir( workdir ) - -# This macro generates a Controlbar menu: To see the output, click begin_html <a href="gif/demos.gif" >here</a> end_html -# To execute an item, click with the left mouse button. -# To see the HELP of a button, click on the right mouse button. - -ROOT.gROOT.Reset() -ROOT.gStyle.SetScreenFactor(1) # if you have a large screen, select 1.2 or 1.4 - -bar = ROOT.TControlBar( 'vertical', 'Demos', 10, 10 ) - -# The callbacks to python work by having CINT call the python interpreter through -# the "TPython" class. Note the use of "raw strings." -bar.AddButton( 'Help on Demos', r'TPython::Exec( "execfile( \'demoshelp.py\' )" );', 'Click Here For Help on Running the Demos' ) -bar.AddButton( 'browser', r'TPython::Exec( "b = ROOT.TBrowser()" );', 'Start the ROOT browser' ) -bar.AddButton( 'framework', r'TPython::Exec( "execfile( \'framework.py\' )" );', 'An Example of Object Oriented User Interface' ) -bar.AddButton( 'first', r'TPython::Exec( "execfile( \'first.py\' )" );', 'An Example of Slide with Root' ) -bar.AddButton( 'hsimple', r'TPython::Exec( "execfile( \'hsimple.py\' )" );', 'Creating histograms/Ntuples on file', "button" ) -bar.AddButton( 'hsum', r'TPython::Exec( "execfile( \'hsum.py\' )" );', 'Filling Histograms and Some Graphics Options' ) -bar.AddButton( 'formula1', r'TPython::Exec( "execfile( \'formula1.py\' )" );', 'Simple Formula and Functions' ) -bar.AddButton( 'surfaces', r'TPython::Exec( "execfile( \'surfaces.py\' )" );', 'Surface Drawing Options' ) -bar.AddButton( 'fillrandom', r'TPython::Exec( "execfile( \'fillrandom.py\' )" );','Histograms with Random Numbers from a Function' ) -bar.AddButton( 'fit1', r'TPython::Exec( "execfile( \'fit1.py\' )" );', 'A Simple Fitting Example' ) -bar.AddButton( 'multifit', r'TPython::Exec( "execfile( \'multifit.py\' )" );', 'Fitting in Subranges of Histograms' ) -bar.AddButton( 'h1draw', r'TPython::Exec( "execfile( \'h1draw.py\' )" );', 'Drawing Options for 1D Histograms' ) -bar.AddButton( 'graph', r'TPython::Exec( "execfile( \'graph.py\' )" );', 'Example of a Simple Graph' ) -bar.AddButton( 'gerrors', r'TPython::Exec( "execfile( \'gerrors.py\' )" );', 'Example of a Graph with Error Bars' ) -bar.AddButton( 'tornado', r'TPython::Exec( "execfile( \'tornado.py\' )" );', 'Examples of 3-D PolyMarkers' ) -bar.AddButton( 'shapes', r'TPython::Exec( "execfile( \'shapes.py\' )" );', 'The Geometry Shapes' ) -bar.AddButton( 'geometry', r'TPython::Exec( "execfile( \'geometry.py\' )" );', 'Creation of the NA49 Geometry File' ) -bar.AddButton( 'na49view', r'TPython::Exec( "execfile( \'na49view.py\' )" );', 'Two Views of the NA49 Detector Geometry' ) -bar.AddButton( 'file', r'TPython::Exec( "execfile( \'file.py\' )" );', 'The ROOT File Format' ) -bar.AddButton( 'fildir', r'TPython::Exec( "execfile( \'fildir.py\' )" );', 'The ROOT File, Directories and Keys' ) -bar.AddButton( 'tree', r'TPython::Exec( "execfile( \'tree.py\' )" );', 'The Tree Data Structure' ) -bar.AddButton( 'ntuple1', r'TPython::Exec( "execfile( \'ntuple1.py\' )" );', 'Ntuples and Selections' ) -bar.AddButton( 'rootmarks', r'TPython::Exec( "execfile( \'rootmarks.py\' )" );', 'Prints an Estimated ROOTMARKS for Your Machine' ) -bar.AddSeparator() # not implemented -bar.AddButton( 'make ntuple', r'TPython::Exec( "execfile( \'mrt.py\' )" );', 'Convert a text file to an ntuple' ) - -bar.Show() - -ROOT.gROOT.SaveContext() - - -## wait for input to keep the GUI (which lives on a ROOT event dispatcher) alive -if __name__ == '__main__': - rep = '' - while not rep in [ 'q', 'Q' ]: - rep = raw_input( 'enter "q" to quit: ' ) - if 1 < len(rep): - rep = rep[0] diff --git a/tutorials/demo.rb b/tutorials/demo.rb deleted file mode 100644 index a7284d66df5b0c9f068835e3d2b6173abb844dc5..0000000000000000000000000000000000000000 --- a/tutorials/demo.rb +++ /dev/null @@ -1,61 +0,0 @@ -#to run this demo, do -# on Unix: ruby -r../lib/libRuby demo.rb -# on Windows: ruby -r../bin/libRuby demo.rb - -# This macro generates a Controlbar menu: To see the -# output, click begin_html <a href="gif/demos.gif" >here</a> end_html -# To execute an item, click with the left mouse button. -# To see the HELP of a button, click on the right mouse button. - -gROOT.Reset -gStyle.SetScreenFactor(1) # if you have a large screen, select 1.2 or 1.4 - -bar = TControlBar.new("vertical", "Demos") - -bar.AddButton("Help on Demos", 'TRuby::Exec("load \'demoshelp.rb\'");', - 'Click Here For Help on Running the Demos' ) - -bar.AddButton('browser', 'TRuby::Exec("b = TBrowser.new");', - 'Start the ROOT browser' ) - -bar.AddButton('framework', 'TRuby::Exec("load \'framework.rb\'");', - 'An Example of Object Oriented User Interface' ) - -bar.AddButton('canvas', 'TRuby::Exec("load \'canvas.rb\'");', - 'A simple plot example') - -bar.AddButton('surfaces', 'TRuby::Exec("load \'surfaces.rb\'");', - 'Plotting 2D functions') - -bar.AddButton('fillrandom', 'TRuby::Exec("load \'fillrandom.rb\'");', - 'Filling a histogram with random numbers') - -bar.AddButton('hsimple', 'TRuby::Exec("load \'hsimple.rb\'");', - 'Creating histograms/Ntuples on file') - -bar.AddButton('hksimple', 'TRuby::Exec("load \'hksimple.rb\'");', - 'Utilizing the TH1K functionality') - -bar.AddButton('multigraph', 'TRuby::Exec("load \'multigraph.rb\'");', - 'Using multiple graphs') - -bar.AddButton('hsum', 'TRuby::Exec("load \'hsum.rb\'");', - 'Filling Histograms and Some Graphics Options') - -bar.AddButton('hstack', 'TRuby::Exec("load \'hstack.rb\'");', - 'Using stacked histograms') - -bar.AddButton('ntuple1', 'TRuby::Exec("load \'ntuple1.rb\'");', - 'Using ntuples') - -bar.AddButton('latex', 'TRuby::Exec("load \'latex.rb\'");', - 'Creating LaTeX documents') - -bar.AddButton('Quit', 'exit(1);', - 'Filling Histograms and Some Graphics Options') - -bar.Show - -gROOT.SaveContext - -gApplication.Run diff --git a/tutorials/demos.C b/tutorials/demos.C deleted file mode 100644 index 89d07e416c14fe135b1590971ec4fd09082a36a5..0000000000000000000000000000000000000000 --- a/tutorials/demos.C +++ /dev/null @@ -1,38 +0,0 @@ -{ -// -// This macro generates a Controlbar menu: To see the output, click begin_html <a href="gif/demos.gif" >here</a> end_html -// To execute an item, click with the left mouse button. -// To see the HELP of a button, click on the right mouse button. - - gROOT->Reset(); - gStyle->SetScreenFactor(1); //if you have a large screen, select 1,2 or 1.4 - - bar = new TControlBar("vertical", "Demos",10,10); - - bar->AddButton("Help on Demos",".x demoshelp.C", "Click Here For Help on Running the Demos"); - bar->AddButton("browser", "new TBrowser;", "Start the ROOT Browser"); - bar->AddButton("framework", ".x framework.C", "An Example of Object Oriented User Interface"); - bar->AddButton("first", ".x first.C", "An Example of Slide with Root"); - bar->AddButton("hsimple", ".x hsimple.C", "An Example Creating Histograms/Ntuples on File"); - bar->AddButton("hsum", ".x hsum.C", "Filling Histograms and Some Graphics Options"); - bar->AddButton("formula1", ".x formula1.C", "Simple Formula and Functions"); - bar->AddButton("surfaces", ".x surfaces.C", "Surface Drawing Options"); - bar->AddButton("fillrandom", ".x fillrandom.C","Histograms with Random Numbers from a Function"); - bar->AddButton("fit1", ".x fit1.C", "A Simple Fitting Example"); - bar->AddButton("multifit", ".x multifit.C", "Fitting in Subranges of Histograms"); - bar->AddButton("h1draw", ".x h1draw.C", "Drawing Options for 1D Histograms"); - bar->AddButton("graph", ".x graph.C", "Example of a Simple Graph"); - bar->AddButton("gerrors", ".x gerrors.C", "Example of a Graph with Error Bars"); - bar->AddButton("tornado", ".x tornado.C", "Examples of 3-D PolyMarkers"); - bar->AddButton("shapes", ".x shapes.C", "The Geometry Shapes"); - bar->AddButton("geometry", ".x geometry.C", "Creation of the NA49 Geometry File"); - bar->AddButton("na49view", ".x na49view.C", "Two Views of the NA49 Detector Geometry"); - bar->AddButton("file", ".x file.C", "The ROOT File Format"); - bar->AddButton("fildir", ".x fildir.C", "The ROOT File, Directories and Keys"); - bar->AddButton("tree", ".x tree.C", "The Tree Data Structure"); - bar->AddButton("ntuple1", ".x ntuple1.C", "Ntuples and Selections"); - bar->AddButton("rootmarks", ".x rootmarks.C", "Prints an Estimated ROOTMARKS for Your Machine"); - bar->Show(); - gROOT->SaveContext(); -} - diff --git a/tutorials/demoshelp.C b/tutorials/demoshelp.C deleted file mode 100644 index 544983af14977e5f8b4f54e6013f46f1743d8896..0000000000000000000000000000000000000000 --- a/tutorials/demoshelp.C +++ /dev/null @@ -1,32 +0,0 @@ -{ - // - gROOT->Reset(); - new TCanvas("chelp","Help to run demos",200,10,700,500); - - welcome = new TPaveText(.1,.8,.9,.97); - welcome->AddText("Welcome to the ROOT demos"); - welcome->SetTextFont(32); - welcome->SetTextColor(4); - welcome->SetFillColor(24); - welcome->Draw(); - - hdemo = new TPaveText(.05,.05,.95,.7); - hdemo->SetTextAlign(12); - hdemo->SetTextFont(52); - hdemo->AddText("- Run demo hsimple.C first. Then in any order"); - hdemo->AddText("- Click left mouse button to execute one demo"); - hdemo->AddText("- Click right mouse button to see the title of the demo"); - hdemo->AddText("- Click on 'Close Bar' to exit from the demo menu"); - hdemo->AddText("- Select 'File/Print' to print a Postscript view of the canvas"); - hdemo->AddText("- You can execute a demo with the mouse or type commands"); - hdemo->AddText("- During the demo (try on this canvas) you can :"); - hdemo->AddText(" .... Use left button to move/grow/etc objects"); - hdemo->AddText(" .... Use middle button to pop overlapping objects"); - hdemo->AddText(" .... Use right button to get an object sensitive pop-up"); - hdemo->AddText(" "); - hdemo->SetAllWith("....","color",2); - hdemo->SetAllWith("....","font",72); - hdemo->SetAllWith("....","size",0.04); - - hdemo->Draw(); -} diff --git a/tutorials/demoshelp.py b/tutorials/demoshelp.py deleted file mode 100755 index e159ef049b9788e535d5f31d80396b65ad099913..0000000000000000000000000000000000000000 --- a/tutorials/demoshelp.py +++ /dev/null @@ -1,40 +0,0 @@ -import os -from ROOT import TCanvas, TPaveText -from ROOT import gROOT - - -gROOT.Reset() - -chelp = TCanvas( 'chelp', 'Help to run demos', 200, 10, 700, 500 ) - -welcome = TPaveText( .1, .8, .9, .97 ) -welcome.AddText( 'Welcome to the ROOT demos' ) -welcome.SetTextFont( 32 ) -welcome.SetTextColor( 4 ) -welcome.SetFillColor( 24 ) -welcome.Draw() - -hdemo = TPaveText( .05, .05, .95, .7 ) -hdemo.SetTextAlign( 12 ) -hdemo.SetTextFont( 52 ) - -text = """- Run demo hsimple.py first. Then in any order -- Click left mouse button to execute one demo -- Click right mouse button to see the title of the demo -- Click on 'Close Bar' to exit from the demo menu -- Select 'File/Print' to print a Postscript view of the canvas -- You can execute a demo with the mouse or type commands -- During the demo (try on this canvas) you can: - .... Use left button to move/grow/etc objects - .... Use middle button to pop overlapping objects - .... Use right button to get an object sensitive pop-up - """ -for line in text.split( os.linesep ): - hdemo.AddText( line ) - -hdemo.SetAllWith( '....', 'color', 2 ) -hdemo.SetAllWith( '....', 'font', 72 ) -hdemo.SetAllWith( '....', 'size', 0.04 ) - -hdemo.Draw() -chelp.Update() diff --git a/tutorials/demoshelp.rb b/tutorials/demoshelp.rb deleted file mode 100644 index eeed87450cfa92c7e95a161cb0100bb132ddb716..0000000000000000000000000000000000000000 --- a/tutorials/demoshelp.rb +++ /dev/null @@ -1,33 +0,0 @@ - -gROOT.Reset() - -c1 = TCanvas.new( "c1", "Help to run demos", 200, 10, 700, 500 ) - -welcome = TPaveText.new(0.1, 0.8, 0.9, 0.97 ) -welcome.AddText( "Welcome to the ROOT demos" ) -welcome.SetTextFont( 32 ) -welcome.SetTextColor( 4 ) -welcome.SetFillColor( 24 ) -welcome.Draw() - -hdemo = TPaveText.new( 0.05, 0.05, 0.95, 0.7 ) -hdemo.SetTextAlign( 12 ) -hdemo.SetTextFont( 52 ) -hdemo.AddText( "- Run demo hsimple.rb first. Then in any order" ) -hdemo.AddText( "- Click left mouse button to execute one demo" ) -hdemo.AddText( "- Click right mouse button to see the title of the demo" ) -hdemo.AddText( "- Click on 'Close Bar' to exit from the demo menu" ) -hdemo.AddText( "- Select 'File/Print' to print a Postscript view of the canvas" ) -hdemo.AddText( "- You can execute a demo with the mouse or type commands" ) -hdemo.AddText( "- During the demo (try on this canvas) you can :" ) -hdemo.AddText( ".... Use left button to move/grow/etc objects" ) -hdemo.AddText( ".... Use middle button to pop overlapping objects" ) -hdemo.AddText( ".... Use right button to get an object sensitive pop-up" ) -hdemo.AddText( " " ) -hdemo.SetAllWith( "....", "color", 2 ) -hdemo.SetAllWith( "....", "font", 72 ) -hdemo.SetAllWith( "....", "size", 0.04 ) - -hdemo.Draw() -c1.Update() -gApplication.Run \ No newline at end of file diff --git a/tutorials/dirs.C b/tutorials/dirs.C deleted file mode 100644 index 87996aedb2a6a42cff7f53a9ae4b72740d326e34..0000000000000000000000000000000000000000 --- a/tutorials/dirs.C +++ /dev/null @@ -1,76 +0,0 @@ -{ -// .........................macro dirs.C............................ -// This macro illustrates how to create a hierarchy of directories -// in a Root file. -// 10 directories called plane0, plane1, plane9 are created. -// Each plane directory contains 200 histograms. -// -// Run this macro (Note that the macro delete the TFile object at the end!) -// Connect the file again in read mode: -// Root > TFile *top = new TFile("top.root"); -// The hierarchy can be browsed by the Root browser as shown below -// Root > TBrowser b; -// click on the left pane on one of the plane directories. -// this shows the list of all histograms in this directory. -// Double click on one histogram to draw it (left mouse button). -// Select different options with the right mouse button. -// -// You can see the begin_html <a href="gif/dirs.gif" >picture of the browser </a> end_html -// -// Instead of using the browser, you can also do: -// Root > tof->cd(); -// Root > plane3->cd(); -// Root > h3_90N->Draw(); - - gROOT->Reset(); - - // create a new Root file - TFile *top = new TFile("top.root","recreate"); - - // create a subdirectory "tof" in this file - TDirectory *cdtof = top->mkdir("tof"); - cdtof->cd(); // make the "tof" directory the current directory - - // create a new subdirectory for each plane - const Int_t nplanes = 10; - const Int_t ncounters = 100; - char dirname[50]; - char hname[20]; - char htitle[80]; - Int_t i,j,k; - TDirectory *cdplane[nplanes]; - TH1F *hn[nplanes][ncounters]; - TH1F *hs[nplanes][ncounters]; - for (i=0;i<nplanes;i++) { - sprintf(dirname,"plane%d",i); - cdplane[i] = cdtof->mkdir(dirname); - cdplane[i]->cd(); - // create counter histograms - for (j=0;j<ncounters;j++) { - sprintf(hname,"h%d_%dN",i,j); - sprintf(htitle,"hist for counter:%d in plane:%d North",j,i); - hn[i][j] = new TH1F(hname,htitle,100,0,100); - sprintf(hname,"h%d_%dS",i,j); - sprintf(htitle,"hist for counter:%d in plane:%d South",j,i); - hs[i][j] = new TH1F(hname,htitle,100,0,100); - } - cdtof->cd(); // change current directory to top - } - - // .. fill histograms - TRandom r; - for (i=0;i<nplanes;i++) { - cdplane[i]->cd(); - for (j=0;j<ncounters;j++) { - for (k=0;k<100;k++) { - hn[i][j]->Fill(100*r.Rndm(),i+j); - hs[i][j]->Fill(100*r.Rndm(),i+j+k); - } - } - } - - // save histogram hierarchy in the file - top->Write(); - delete top; -} - diff --git a/tutorials/double32.C b/tutorials/double32.C deleted file mode 100644 index 94b59b83d3776fa2090c49d18d83f6bad10e7bad..0000000000000000000000000000000000000000 --- a/tutorials/double32.C +++ /dev/null @@ -1,148 +0,0 @@ -/////////////////////////////////////////////////////////////////////////// -// -// Tutorial illustrating use and precision of the Double32_t data type -// -// You must run this tutorial with ACLIC -// root > .x double32.C+ -// -// The following cases are supported for streaming a Double32_t type -// depending on the range declaration in the comment field of the data member: -// A- Double32_t fNormal; -// B- Double32_t fTemperature; //[0,100] -// C- Double32_t fCharge; //[-1,1,2] -// D- Double32_t fVertex[3]; //[-30,30,10] -// E Int_t fNsp; -// Double32_t* fPointValue; //[fNsp][0,3] -// -// In case A fNormal is converted from a Double_t to a Float_t -// In case B fTemperature is converted to a 32 bit unsigned integer -// In case C fCharge is converted to a 2 bits unsigned integer -// In case D the array elements of fVertex are converted to an unsigned 10 bits integer -// In case E the fNsp elements of array fPointvalue are converted to an unsigned 32 bit integer -// Note that the range specifier must follow the dimension specifier. -// the case B has more precision (9 to 10 significative digits than case A (6 to 7 digits). -// -// The range specifier has the general format: [xmin,xmax] or [xmin,xmax,nbits] -// [0,1] -// [-10,100]; -// [-pi,pi], [-pi/2,pi/4],[-2pi,2*pi] -// [-10,100,16] -// if nbits is not specified, or nbits <2 or nbits>32 it is set to 32 -// -/////////////////////////////////////////////////////////////////////////// - -#include "TFile.h" -#include "TCanvas.h" -#include "TTree.h" -#include "TH1.h" -#include "TRandom3.h" -#include "TGraph.h" -#include "TText.h" -#include "TFrame.h" -#include "TPaveLabel.h" - -class DemoDouble32 { -private: - Double_t fD64; //reference member with full double precision - Double32_t fF32; //saved as a 32 bit Float_t - Double32_t fI32; //[0,pi] saved as a 32 bit unsigned int - Double32_t fI30; //[0,pi,30] saved as a 30 bit unsigned int - Double32_t fI28; //[0,pi,28] saved as a 28 bit unsigned int - Double32_t fI26; //[0,pi,26] saved as a 26 bit unsigned int - Double32_t fI24; //[0,pi,24] saved as a 24 bit unsigned int - Double32_t fI22; //[0,pi,22] saved as a 22 bit unsigned int - Double32_t fI20; //[0,pi,20] saved as a 20 bit unsigned int - Double32_t fI18; //[0,pi,18] saved as a 18 bit unsigned int - Double32_t fI16; //[0,pi,16] saved as a 16 bit unsigned int - Double32_t fI14; //[0,pi,14] saved as a 14 bit unsigned int - Double32_t fI12; //[0,pi,12] saved as a 12 bit unsigned int - Double32_t fI10; //[0,pi,10] saved as a 10 bit unsigned int - Double32_t fI8; //[0,pi, 8] saved as a 8 bit unsigned int - Double32_t fI6; //[0,pi, 6] saved as a 6 bit unsigned int - Double32_t fI4; //[0,pi, 4] saved as a 4 bit unsigned int - Double32_t fI2; //[0,pi, 2] saved as a 2 bit unsigned int - -public: - DemoDouble32() {;} - void Set(Double_t ref); -}; - -void DemoDouble32::Set(Double_t ref) { - fD64 = fF32 = fI32 = fI30 = fI28 = fI26 = fI24 = fI22 = fI20 = ref; - fI18 = fI16 = fI14 = fI12 = fI10 = fI8 = fI6 = fI4 = fI2 = ref; -} - -void double32() { - // show the use and precision of the Double32_t data type - - DemoDouble32 *d = new DemoDouble32(); - - //create a Tree with 10000 objects DemoDouble32 - TFile::Open("DemoDouble32.root","recreate"); - TTree *T = new TTree("T","DemoDouble32"); - TBranch *bd = T->Branch("d","DemoDouble32",&d); - TRandom3 r; - Double_t pi = TMath::Pi(); - Int_t i, n = 10000; - for (i=0;i<n;i++) { - d->Set(r.Uniform(0,pi)); - T->Fill(); - } - T->Write(); - - //Create the frame histogram and the graphs - TObjArray *branches = bd->GetListOfBranches(); - Int_t nb = branches->GetEntries(); - TBranch *br = (TBranch*)branches->At(0); - Double_t zip64 = br->GetZipBytes(); - Double_t cx = 1; - Double_t di = 15; - TCanvas *c1 = new TCanvas("c1","c1",800,600); - c1->SetGrid(); - c1->SetHighLightColor(0); - c1->SetFillColor(17); - c1->SetFrameFillColor(20); - c1->SetFrameBorderSize(10); - TH1F *h = new TH1F("h","",nb,0,nb); - h->SetMaximum(16); - h->SetStats(0); - h->Draw(); - c1->GetFrame()->SetFillColor(21); - c1->GetFrame()->SetBorderSize(12); - TGraph *gcx = new TGraph(nb); - TGraph *gdi = new TGraph(nb); - gcx->SetMarkerStyle(21); - gcx->SetMarkerColor(kBlue); - gdi->SetMarkerStyle(20); - gdi->SetMarkerColor(kRed); - TText *tdi = new TText(2.5,10.5,"Number of significative digits"); - tdi->SetTextColor(kRed); - tdi->SetTextSize(0.05); - tdi->Draw(); - TText *tcx = new TText(1.5,2.6,"Compression factor"); - tcx->SetTextColor(kBlue); - tcx->SetTextSize(0.05); - tcx->Draw(); - TPaveLabel *title = new TPaveLabel(.15,.92,.85,.97,"Double32_t compression and precision","brNDC"); - title->Draw(); - - //loop on branches to get the precision and compression factors - for (i=0;i<nb;i++) { - br = (TBranch*)branches->At(i); - h->GetXaxis()->SetBinLabel(i+1,br->GetName()); - cx = zip64/br->GetZipBytes(); - gcx->SetPoint(i,i+0.5,cx); - if (i > 0) { - T->Draw(Form("fD64-%s",br->GetName()),"","goff"); - Double_t rms = TMath::RMS(n,T->GetV1()); - di = -(1)*TMath::Log10(2*rms/pi); - } - gdi->SetPoint(i,i+0.5,di); - } - gcx->Draw("lp"); - gdi->Draw("lp"); -} - - - - diff --git a/tutorials/draw2dopt.C b/tutorials/draw2dopt.C deleted file mode 100644 index 472253717bb141c9ecd7ff5d7be6a45baaa8f410..0000000000000000000000000000000000000000 --- a/tutorials/draw2dopt.C +++ /dev/null @@ -1,92 +0,0 @@ -{ - // display the various 2-d drawing options - gROOT->Reset(); - gStyle->SetOptStat(0); - gStyle->SetPalette(1); - gStyle->SetCanvasColor(33); - gStyle->SetFrameFillColor(18); - TF2 *f2 = new TF2("f2","xygaus + xygaus(5) + xylandau(10)",-4,4,-4,4); - Double_t params[] = {130,-1.4,1.8,1.5,1, 150,2,0.5,-2,0.5, 3600,-2,0.7,-3,0.3}; - f2.SetParameters(params); - TH2F h2("h2","xygaus + xygaus(5) + xylandau(10)",20,-4,4,20,-4,4); - h2.SetFillColor(46); - h2.FillRandom("f2",40000); - TPaveLabel pl; - - //basic 2-d options - Float_t x1=0.67, y1=0.875, x2=0.85, y2=0.95; - Int_t cancolor = 17; - TCanvas c2h("c2h","2-d options",10,10,800,600); - c2h.Divide(2,2); - c2h.SetFillColor(cancolor); - c2h.cd(1); - h2.Draw(); pl.DrawPaveLabel(x1,y1,x2,y2,"SCAT","brNDC"); - c2h.cd(2); - h2.Draw("box"); pl.DrawPaveLabel(x1,y1,x2,y2,"BOX","brNDC"); - c2h.cd(3); - h2.Draw("arr"); pl.DrawPaveLabel(x1,y1,x2,y2,"ARR","brNDC"); - c2h.cd(4); - h2.Draw("colz"); pl.DrawPaveLabel(x1,y1,x2,y2,"COLZ","brNDC"); - c2h.Update(); - // see the canvas begin_html <a href="gif/h2_c2h.gif" >c2h</a> end_html - - //text option - TCanvas ctext("ctext","text option",50,50,800,600); - gPad->SetGrid(); - ctext.SetFillColor(cancolor); - ctext->SetGrid(); - h2.Draw("text"); pl.DrawPaveLabel(x1,y1,x2,y2,"TEXT","brNDC"); - ctext.Update(); - // see the canvas begin_html <a href="gif/h2_text.gif" >ctext</a> end_html - - //contour options - TCanvas cont("contours","contours",100,100,800,600); - cont.Divide(2,2); - gPad->SetGrid(); - cont.SetFillColor(cancolor); - cont.cd(1); - h2.Draw("contz"); pl.DrawPaveLabel(x1,y1,x2,y2,"CONTZ","brNDC"); - cont.cd(2); - gPad->SetGrid(); - h2.Draw("cont1"); pl.DrawPaveLabel(x1,y1,x2,y2,"CONT1","brNDC"); - cont.cd(3); - gPad->SetGrid(); - h2.Draw("cont2"); pl.DrawPaveLabel(x1,y1,x2,y2,"CONT2","brNDC"); - cont.cd(4); - gPad->SetGrid(); - h2.Draw("cont3"); pl.DrawPaveLabel(x1,y1,x2,y2,"CONT3","brNDC"); - cont.Update(); - // see the canvas begin_html <a href="gif/h2_cont.gif" >contours</a> end_html - - //lego options - TCanvas lego("lego","lego options",150,150,800,600); - lego.Divide(2,2); - lego.SetFillColor(cancolor); - lego.cd(1); - h2.Draw("lego"); pl.DrawPaveLabel(x1,y1,x2,y2,"LEGO","brNDC"); - lego.cd(2); - h2.Draw("lego1"); pl.DrawPaveLabel(x1,y1,x2,y2,"LEGO1","brNDC"); - lego.cd(3); - gPad->SetTheta(61); gPad->SetPhi(-82); - h2.Draw("surf1pol"); pl.DrawPaveLabel(x1,y1,x2+0.05,y2,"SURF1POL","brNDC"); - lego.cd(4); - gPad->SetTheta(21); gPad->SetPhi(-90); - h2.Draw("surf1cyl"); pl.DrawPaveLabel(x1,y1,x2+0.05,y2,"SURF1CYL","brNDC"); - lego.Update(); - // see the canvas begin_html <a href="gif/h2_lego.gif" >lego</a> end_html - - //surface options - TCanvas surf("surfopt","surface options",200,200,800,600); - surf.Divide(2,2); - surf.SetFillColor(cancolor); - surf.cd(1); - h2.Draw("surf1"); pl.DrawPaveLabel(x1,y1,x2,y2,"SURF1","brNDC"); - surf.cd(2); - h2.Draw("surf2z"); pl.DrawPaveLabel(x1,y1,x2,y2,"SURF2Z","brNDC"); - surf.cd(3); - h2.Draw("surf3"); pl.DrawPaveLabel(x1,y1,x2,y2,"SURF3","brNDC"); - surf.cd(4); - h2.Draw("surf4"); pl.DrawPaveLabel(x1,y1,x2,y2,"SURF4","brNDC"); - surf.Update(); - // see the canvas begin_html <a href="gif/h2_surf.gif" >surfaces</a> end_html -} diff --git a/tutorials/earth.C b/tutorials/earth.C deleted file mode 100644 index 4d95f001c0f1b25e832233ffa84d53197b5a551a..0000000000000000000000000000000000000000 --- a/tutorials/earth.C +++ /dev/null @@ -1,45 +0,0 @@ -void earth() { - //this tutorial illustrate the special contour options - // "AITOFF" : Draw a contour via an AITOFF projection - // "MERCATOR" : Draw a contour via an Mercator projection - // "SINUSOIDAL" : Draw a contour via an Sinusoidal projection - // "PARABOLIC" : Draw a contour via an Parabolic projection - // from an original macro sent by Ernst-Jan Buis - - gStyle->SetPalette(1); - gStyle->SetOptTitle(1); - gStyle->SetOptStat(0); - - TCanvas *c1 = new TCanvas("c1","earth_projections",1000,800); - c1->Divide(2,2); - - TH2F *h1 = new TH2F("h1","Aitoff", 180, -180, 180, 179, -89.5, 89.5); - TH2F *h2 = new TH2F("h2","Mercator", 180, -180, 180, 161, -80.5, 80.5); - TH2F *h3 = new TH2F("h3","Sinusoidal",180, -180, 180, 181, -90.5, 90.5); - TH2F *h4 = new TH2F("h4","Parabolic", 180, -180, 180, 181, -90.5, 90.5); - - ifstream in; - in.open("earth.dat"); - Float_t x,y; - while (1) { - in >> x >> y; - if (!in.good()) break; - h1->Fill(x,y, 1); - h2->Fill(x,y, 1); - h3->Fill(x,y, 1); - h4->Fill(x,y, 1); - } - in.close(); - - c1->cd(1); - h1->Draw("z aitoff"); - - c1->cd(2); - h2->Draw("z mercator"); - - c1->cd(3); - h3->Draw("z sinusoidal"); - - c1->cd(4); - h4->Draw("z parabolic"); -} diff --git a/tutorials/earth.dat b/tutorials/earth.dat deleted file mode 100644 index 8944255be6a3d0de935008751e6957b57547690c..0000000000000000000000000000000000000000 --- a/tutorials/earth.dat +++ /dev/null @@ -1,21430 +0,0 @@ --179 -89 --179 -88 --179 -87 --179 -86 --179 -85 --179 -84 --179 -83 --179 -82 --179 -81 --179 -80 --179 -79 --179 67 --179 68 --179 71 --178 -89 --178 -88 --178 -87 --178 -86 --178 -85 --178 -84 --178 -83 --178 -82 --178 -81 --178 -80 --178 -79 --178 66 --178 67 --178 68 --177 -89 --177 -88 --177 -87 --177 -86 --177 -85 --177 -84 --177 -83 --177 -82 --177 -81 --177 -80 --177 -79 --177 66 --177 67 --177 68 --176 -89 --176 -88 --176 -87 --176 -86 --176 -85 --176 -84 --176 -83 --176 -82 --176 -81 --176 -80 --176 -79 --176 66 --176 67 --175 -89 --175 -88 --175 -87 --175 -86 --175 -85 --175 -84 --175 -83 --175 -82 --175 -81 --175 -80 --175 -79 --175 65 --175 66 --175 67 --174 -89 --174 -88 --174 -87 --174 -86 --174 -85 --174 -84 --174 -83 --174 -82 --174 -81 --174 -80 --174 -79 --174 65 --174 66 --174 67 --173 -89 --173 -88 --173 -87 --173 -86 --173 -85 --173 -84 --173 -83 --173 -82 --173 -81 --173 -80 --173 -79 --173 65 --173 66 --173 67 --172 -89 --172 -88 --172 -87 --172 -86 --172 -85 --172 -84 --172 -83 --172 -82 --172 -81 --172 -80 --172 -79 --172 66 --171 -89 --171 -88 --171 -87 --171 -86 --171 -85 --171 -84 --171 -83 --171 -82 --171 -81 --171 -80 --171 -79 --171 66 --170 -89 --170 -88 --170 -87 --170 -86 --170 -85 --170 -84 --170 -83 --170 -82 --170 -81 --170 -80 --170 -79 --169 -89 --169 -88 --169 -87 --169 -86 --169 -85 --169 -84 --169 -83 --169 -82 --169 -81 --169 -80 --169 -79 --168 -89 --168 -88 --168 -87 --168 -86 --168 -85 --168 -84 --168 -83 --168 -82 --168 -81 --168 -80 --168 -79 --167 -89 --167 -88 --167 -87 --167 -86 --167 -85 --167 -84 --167 -83 --167 -82 --167 -81 --167 -80 --167 -79 --167 60 --166 -89 --166 -88 --166 -87 --166 -86 --166 -85 --166 -84 --166 -83 --166 -82 --166 -81 --166 -80 --166 -79 --166 60 --166 65 --166 66 --165 -89 --165 -88 --165 -87 --165 -86 --165 -85 --165 -84 --165 -83 --165 -82 --165 -81 --165 -80 --165 -79 --165 61 --165 62 --165 65 --165 66 --165 68 --164 -89 --164 -88 --164 -87 --164 -86 --164 -85 --164 -84 --164 -83 --164 -82 --164 -81 --164 -80 --164 -79 --164 60 --164 62 --164 63 --164 65 --164 66 --164 68 --163 -89 --163 -88 --163 -87 --163 -86 --163 -85 --163 -84 --163 -83 --163 -82 --163 -81 --163 -80 --163 -79 --163 60 --163 61 --163 62 --163 63 --163 65 --163 66 --163 68 --163 69 --162 -89 --162 -88 --162 -87 --162 -86 --162 -85 --162 -84 --162 -83 --162 -82 --162 -81 --162 -80 --162 -79 --162 60 --162 61 --162 62 --162 63 --162 65 --162 66 --162 68 --162 69 --162 70 --161 -89 --161 -88 --161 -87 --161 -86 --161 -85 --161 -84 --161 -83 --161 -82 --161 -81 --161 -80 --161 -79 --161 -78 --161 59 --161 60 --161 61 --161 62 --161 63 --161 65 --161 66 --161 67 --161 68 --161 69 --161 70 --160 -89 --160 -88 --160 -87 --160 -86 --160 -85 --160 -84 --160 -83 --160 -82 --160 -81 --160 -80 --160 -79 --160 -78 --160 56 --160 59 --160 60 --160 61 --160 62 --160 63 --160 64 --160 65 --160 66 --160 67 --160 68 --160 69 --160 70 --159 -89 --159 -88 --159 -87 --159 -86 --159 -85 --159 -84 --159 -83 --159 -82 --159 -81 --159 -80 --159 -79 --159 -78 --159 56 --159 59 --159 60 --159 61 --159 62 --159 63 --159 64 --159 65 --159 66 --159 67 --159 68 --159 69 --159 70 --158 -89 --158 -88 --158 -87 --158 -86 --158 -85 --158 -84 --158 -83 --158 -82 --158 -81 --158 -80 --158 -79 --158 -78 --158 57 --158 59 --158 60 --158 61 --158 62 --158 63 --158 64 --158 65 --158 66 --158 67 --158 68 --158 69 --158 70 --157 -89 --157 -88 --157 -87 --157 -86 --157 -85 --157 -84 --157 -83 --157 -82 --157 -81 --157 -80 --157 -79 --157 -78 --157 -77 --157 57 --157 58 --157 59 --157 60 --157 61 --157 62 --157 63 --157 64 --157 65 --157 66 --157 67 --157 68 --157 69 --157 70 --157 71 --156 -89 --156 -88 --156 -87 --156 -86 --156 -85 --156 -84 --156 -83 --156 -82 --156 -81 --156 -80 --156 -79 --156 -78 --156 58 --156 59 --156 60 --156 61 --156 62 --156 63 --156 64 --156 65 --156 66 --156 67 --156 68 --156 69 --156 70 --156 71 --155 -89 --155 -88 --155 -87 --155 -86 --155 -85 --155 -84 --155 -83 --155 -82 --155 -81 --155 -80 --155 -79 --155 -78 --155 59 --155 60 --155 61 --155 62 --155 63 --155 64 --155 65 --155 70 --155 71 --154 -89 --154 -88 --154 -87 --154 -86 --154 -85 --154 -84 --154 -83 --154 -82 --154 -81 --154 -80 --154 -79 --154 -78 --154 59 --154 60 --154 61 --154 62 --154 63 --154 64 --154 65 --154 66 --154 67 --154 68 --154 69 --154 70 --153 -89 --153 -88 --153 -87 --153 -86 --153 -85 --153 -84 --153 -83 --153 -82 --153 -81 --153 -80 --153 -79 --153 -78 --153 58 --153 60 --153 61 --153 62 --153 63 --153 64 --153 65 --153 66 --153 67 --153 68 --153 69 --153 70 --152 -89 --152 -88 --152 -87 --152 -86 --152 -85 --152 -84 --152 -83 --152 -82 --152 -81 --152 -80 --152 -79 --152 -78 --152 -77 --152 61 --152 62 --152 63 --152 64 --152 65 --152 66 --152 67 --152 68 --152 69 --152 70 --151 -89 --151 -88 --151 -87 --151 -86 --151 -85 --151 -84 --151 -83 --151 -82 --151 -81 --151 -80 --151 -79 --151 -78 --151 -77 --151 60 --151 62 --151 63 --151 64 --151 65 --151 66 --151 67 --151 68 --151 69 --151 70 --150 -89 --150 -88 --150 -87 --150 -86 --150 -85 --150 -84 --150 -83 --150 -82 --150 -81 --150 -80 --150 -79 --150 -78 --150 -77 --150 60 --150 62 --150 63 --150 64 --150 65 --150 66 --150 67 --150 68 --150 69 --150 70 --149 -89 --149 -88 --149 -87 --149 -86 --149 -85 --149 -84 --149 -83 --149 -82 --149 -81 --149 -80 --149 -79 --149 -78 --149 -77 --149 60 --149 61 --149 62 --149 63 --149 64 --149 65 --149 66 --149 67 --149 68 --149 69 --149 70 --148 -89 --148 -88 --148 -87 --148 -86 --148 -85 --148 -84 --148 -83 --148 -82 --148 -81 --148 -80 --148 -79 --148 -78 --148 -77 --148 62 --148 63 --148 64 --148 65 --148 66 --148 67 --148 68 --148 69 --148 70 --147 -89 --147 -88 --147 -87 --147 -86 --147 -85 --147 -84 --147 -83 --147 -82 --147 -81 --147 -80 --147 -79 --147 -78 --147 -77 --147 62 --147 63 --147 64 --147 65 --147 66 --147 67 --147 68 --147 69 --147 70 --146 -89 --146 -88 --146 -87 --146 -86 --146 -85 --146 -84 --146 -83 --146 -82 --146 -81 --146 -80 --146 -79 --146 -78 --146 -77 --146 61 --146 62 --146 63 --146 64 --146 65 --146 66 --146 67 --146 68 --146 69 --146 70 --145 -89 --145 -88 --145 -87 --145 -86 --145 -85 --145 -84 --145 -83 --145 -82 --145 -81 --145 -80 --145 -79 --145 -78 --145 -77 --145 -76 --145 61 --145 62 --145 63 --145 64 --145 65 --145 66 --145 67 --145 68 --145 69 --144 -89 --144 -88 --144 -87 --144 -86 --144 -85 --144 -84 --144 -83 --144 -82 --144 -81 --144 -80 --144 -79 --144 -78 --144 -77 --144 -76 --144 61 --144 62 --144 63 --144 64 --144 65 --144 66 --144 67 --144 68 --144 69 --144 70 --143 -89 --143 -88 --143 -87 --143 -86 --143 -85 --143 -84 --143 -83 --143 -82 --143 -81 --143 -80 --143 -79 --143 -78 --143 -77 --143 -76 --143 61 --143 62 --143 63 --143 64 --143 65 --143 66 --143 67 --143 68 --143 69 --143 70 --142 -89 --142 -88 --142 -87 --142 -86 --142 -85 --142 -84 --142 -83 --142 -82 --142 -81 --142 -80 --142 -79 --142 -78 --142 -77 --142 -76 --142 61 --142 62 --142 63 --142 64 --142 65 --142 66 --142 67 --142 68 --142 69 --141 -89 --141 -88 --141 -87 --141 -86 --141 -85 --141 -84 --141 -83 --141 -82 --141 -81 --141 -80 --141 -79 --141 -78 --141 -77 --141 -76 --141 60 --141 61 --141 62 --141 63 --141 64 --141 65 --141 66 --141 67 --141 68 --141 69 --140 -89 --140 -88 --140 -87 --140 -86 --140 -85 --140 -84 --140 -83 --140 -82 --140 -81 --140 -80 --140 -79 --140 -78 --140 -77 --140 -76 --140 60 --140 61 --140 62 --140 63 --140 64 --140 65 --140 66 --140 67 --140 69 --139 -89 --139 -88 --139 -87 --139 -86 --139 -85 --139 -84 --139 -83 --139 -82 --139 -81 --139 -80 --139 -79 --139 -78 --139 -77 --139 -76 --139 -75 --139 60 --139 61 --139 62 --139 63 --139 64 --139 65 --139 66 --139 67 --139 68 --139 69 --138 -89 --138 -88 --138 -87 --138 -86 --138 -85 --138 -84 --138 -83 --138 -82 --138 -81 --138 -80 --138 -79 --138 -78 --138 -77 --138 -76 --138 -75 --138 59 --138 60 --138 61 --138 62 --138 63 --138 64 --138 65 --138 66 --138 67 --138 68 --138 69 --137 -89 --137 -88 --137 -87 --137 -86 --137 -85 --137 -84 --137 -83 --137 -82 --137 -81 --137 -80 --137 -79 --137 -78 --137 -77 --137 -76 --137 -75 --137 59 --137 60 --137 61 --137 62 --137 63 --137 64 --137 65 --137 66 --137 67 --137 68 --136 -89 --136 -88 --136 -87 --136 -86 --136 -85 --136 -84 --136 -83 --136 -82 --136 -81 --136 -80 --136 -79 --136 -78 --136 -77 --136 -76 --136 -75 --136 58 --136 59 --136 60 --136 61 --136 62 --136 63 --136 64 --136 65 --136 66 --136 67 --136 68 --135 -89 --135 -88 --135 -87 --135 -86 --135 -85 --135 -84 --135 -83 --135 -82 --135 -81 --135 -80 --135 -79 --135 -78 --135 -77 --135 -76 --135 -75 --135 57 --135 58 --135 59 --135 60 --135 61 --135 62 --135 63 --135 64 --135 65 --135 66 --135 67 --135 68 --135 69 --134 -89 --134 -88 --134 -87 --134 -86 --134 -85 --134 -84 --134 -83 --134 -82 --134 -81 --134 -80 --134 -79 --134 -78 --134 -77 --134 -76 --134 -75 --134 59 --134 60 --134 61 --134 62 --134 63 --134 64 --134 65 --134 66 --134 67 --134 68 --134 69 --133 -89 --133 -88 --133 -87 --133 -86 --133 -85 --133 -84 --133 -83 --133 -82 --133 -81 --133 -80 --133 -79 --133 -78 --133 -77 --133 -76 --133 -75 --133 54 --133 55 --133 56 --133 58 --133 59 --133 60 --133 61 --133 62 --133 63 --133 64 --133 65 --133 66 --133 67 --133 68 --133 69 --132 -89 --132 -88 --132 -87 --132 -86 --132 -85 --132 -84 --132 -83 --132 -82 --132 -81 --132 -80 --132 -79 --132 -78 --132 -77 --132 -76 --132 -75 --132 53 --132 54 --132 55 --132 57 --132 58 --132 59 --132 60 --132 61 --132 62 --132 63 --132 64 --132 65 --132 66 --132 67 --132 68 --132 69 --131 -89 --131 -88 --131 -87 --131 -86 --131 -85 --131 -84 --131 -83 --131 -82 --131 -81 --131 -80 --131 -79 --131 -78 --131 -77 --131 -76 --131 -75 --131 55 --131 56 --131 57 --131 58 --131 59 --131 60 --131 61 --131 62 --131 63 --131 64 --131 65 --131 66 --131 67 --131 68 --131 69 --130 -89 --130 -88 --130 -87 --130 -86 --130 -85 --130 -84 --130 -83 --130 -82 --130 -81 --130 -80 --130 -79 --130 -78 --130 -77 --130 -76 --130 -75 --130 54 --130 56 --130 57 --130 58 --130 59 --130 60 --130 61 --130 62 --130 63 --130 64 --130 65 --130 66 --130 67 --130 68 --130 69 --130 70 --129 -89 --129 -88 --129 -87 --129 -86 --129 -85 --129 -84 --129 -83 --129 -82 --129 -81 --129 -80 --129 -79 --129 -78 --129 -77 --129 -76 --129 -75 --129 53 --129 54 --129 55 --129 56 --129 57 --129 58 --129 59 --129 60 --129 61 --129 62 --129 63 --129 64 --129 65 --129 66 --129 67 --129 68 --129 69 --128 -89 --128 -88 --128 -87 --128 -86 --128 -85 --128 -84 --128 -83 --128 -82 --128 -81 --128 -80 --128 -79 --128 -78 --128 -77 --128 -76 --128 -75 --128 -74 --128 52 --128 53 --128 54 --128 55 --128 56 --128 57 --128 58 --128 59 --128 60 --128 61 --128 62 --128 63 --128 64 --128 65 --128 66 --128 67 --128 68 --128 69 --128 70 --127 -89 --127 -88 --127 -87 --127 -86 --127 -85 --127 -84 --127 -83 --127 -82 --127 -81 --127 -80 --127 -79 --127 -78 --127 -77 --127 -76 --127 -75 --127 -74 --127 50 --127 51 --127 52 --127 53 --127 54 --127 55 --127 56 --127 57 --127 58 --127 59 --127 60 --127 61 --127 62 --127 63 --127 64 --127 65 --127 66 --127 67 --127 68 --127 69 --127 70 --126 -89 --126 -88 --126 -87 --126 -86 --126 -85 --126 -84 --126 -83 --126 -82 --126 -81 --126 -80 --126 -79 --126 -78 --126 -77 --126 -76 --126 -75 --126 -74 --126 50 --126 51 --126 52 --126 53 --126 54 --126 55 --126 56 --126 57 --126 58 --126 59 --126 60 --126 61 --126 62 --126 63 --126 64 --126 65 --126 66 --126 67 --126 68 --126 69 --125 -89 --125 -88 --125 -87 --125 -86 --125 -85 --125 -84 --125 -83 --125 -82 --125 -81 --125 -80 --125 -79 --125 -78 --125 -77 --125 -76 --125 -75 --125 -74 --125 49 --125 51 --125 52 --125 53 --125 55 --125 60 --125 61 --125 62 --125 63 --125 64 --125 65 --125 66 --125 67 --125 68 --125 69 --125 70 --125 72 --124 -89 --124 -88 --124 -87 --124 -86 --124 -85 --124 -84 --124 -83 --124 -82 --124 -81 --124 -80 --124 -79 --124 -78 --124 -77 --124 -76 --124 -75 --124 -74 --124 40 --124 41 --124 42 --124 43 --124 44 --124 45 --124 47 --124 48 --124 49 --124 50 --124 51 --124 52 --124 53 --124 54 --124 55 --124 57 --124 58 --124 59 --124 60 --124 61 --124 62 --124 63 --124 64 --124 65 --124 66 --124 67 --124 68 --124 69 --124 72 --124 73 --124 74 --123 -89 --123 -88 --123 -87 --123 -86 --123 -85 --123 -84 --123 -83 --123 -82 --123 -81 --123 -80 --123 -79 --123 -78 --123 -77 --123 -76 --123 -75 --123 -74 --123 38 --123 39 --123 40 --123 41 --123 42 --123 43 --123 44 --123 45 --123 46 --123 47 --123 48 --123 50 --123 51 --123 52 --123 53 --123 54 --123 55 --123 56 --123 57 --123 58 --123 59 --123 60 --123 61 --123 62 --123 63 --123 64 --123 65 --123 66 --123 67 --123 68 --123 69 --123 72 --123 73 --123 74 --122 -89 --122 -88 --122 -87 --122 -86 --122 -85 --122 -84 --122 -83 --122 -82 --122 -81 --122 -80 --122 -79 --122 -78 --122 -77 --122 -76 --122 -75 --122 -74 --122 37 --122 38 --122 39 --122 40 --122 41 --122 42 --122 43 --122 44 --122 45 --122 46 --122 47 --122 48 --122 49 --122 50 --122 51 --122 52 --122 53 --122 54 --122 55 --122 56 --122 57 --122 58 --122 59 --122 60 --122 61 --122 62 --122 63 --122 64 --122 66 --122 67 --122 68 --122 69 --122 72 --122 73 --122 74 --121 -89 --121 -88 --121 -87 --121 -86 --121 -85 --121 -84 --121 -83 --121 -82 --121 -81 --121 -80 --121 -79 --121 -78 --121 -77 --121 -76 --121 -75 --121 -74 --121 36 --121 37 --121 38 --121 39 --121 40 --121 41 --121 42 --121 43 --121 44 --121 45 --121 46 --121 47 --121 48 --121 49 --121 50 --121 51 --121 52 --121 53 --121 54 --121 55 --121 56 --121 57 --121 58 --121 59 --121 60 --121 61 --121 62 --121 63 --121 64 --121 67 --121 68 --121 69 --121 72 --121 73 --121 74 --120 -89 --120 -88 --120 -87 --120 -86 --120 -85 --120 -84 --120 -83 --120 -82 --120 -81 --120 -80 --120 -79 --120 -78 --120 -77 --120 -76 --120 -75 --120 -74 --120 35 --120 36 --120 37 --120 38 --120 40 --120 41 --120 42 --120 43 --120 44 --120 45 --120 46 --120 47 --120 48 --120 49 --120 50 --120 51 --120 52 --120 53 --120 54 --120 55 --120 56 --120 57 --120 58 --120 59 --120 60 --120 61 --120 62 --120 63 --120 65 --120 68 --120 69 --120 73 --120 74 --120 76 --120 77 --119 -89 --119 -88 --119 -87 --119 -86 --119 -85 --119 -84 --119 -83 --119 -82 --119 -81 --119 -80 --119 -79 --119 -78 --119 -77 --119 -76 --119 -75 --119 -74 --119 35 --119 36 --119 37 --119 38 --119 39 --119 40 --119 41 --119 42 --119 43 --119 44 --119 45 --119 46 --119 47 --119 48 --119 49 --119 50 --119 52 --119 53 --119 54 --119 55 --119 56 --119 57 --119 58 --119 59 --119 60 --119 61 --119 62 --119 63 --119 64 --119 65 --119 67 --119 68 --119 69 --119 73 --119 74 --119 77 --118 -89 --118 -88 --118 -87 --118 -86 --118 -85 --118 -84 --118 -83 --118 -82 --118 -81 --118 -80 --118 -79 --118 -78 --118 -77 --118 -76 --118 -75 --118 -74 --118 34 --118 35 --118 36 --118 37 --118 38 --118 39 --118 40 --118 41 --118 42 --118 43 --118 44 --118 45 --118 46 --118 47 --118 48 --118 49 --118 50 --118 51 --118 52 --118 53 --118 54 --118 55 --118 56 --118 57 --118 58 --118 59 --118 60 --118 62 --118 63 --118 64 --118 65 --118 66 --118 67 --118 68 --118 69 --118 71 --118 72 --118 73 --118 74 --118 76 --118 77 --117 -89 --117 -88 --117 -87 --117 -86 --117 -85 --117 -84 --117 -83 --117 -82 --117 -81 --117 -80 --117 -79 --117 -78 --117 -77 --117 -76 --117 -75 --117 -74 --117 33 --117 34 --117 35 --117 36 --117 37 --117 38 --117 39 --117 40 --117 41 --117 42 --117 43 --117 44 --117 45 --117 46 --117 47 --117 48 --117 49 --117 50 --117 51 --117 52 --117 53 --117 54 --117 55 --117 56 --117 57 --117 58 --117 59 --117 60 --117 61 --117 62 --117 63 --117 64 --117 65 --117 66 --117 67 --117 68 --117 70 --117 71 --117 72 --117 74 --117 77 --116 -89 --116 -88 --116 -87 --116 -86 --116 -85 --116 -84 --116 -83 --116 -82 --116 -81 --116 -80 --116 -79 --116 -78 --116 -77 --116 -76 --116 -75 --116 -74 --116 31 --116 32 --116 33 --116 34 --116 35 --116 36 --116 37 --116 38 --116 39 --116 40 --116 41 --116 42 --116 43 --116 44 --116 45 --116 46 --116 47 --116 48 --116 49 --116 50 --116 51 --116 52 --116 53 --116 54 --116 55 --116 56 --116 57 --116 58 --116 59 --116 60 --116 62 --116 63 --116 64 --116 65 --116 66 --116 67 --116 68 --116 70 --116 71 --116 72 --116 73 --116 76 --116 77 --115 -89 --115 -88 --115 -87 --115 -86 --115 -85 --115 -84 --115 -83 --115 -82 --115 -81 --115 -80 --115 -79 --115 -78 --115 -77 --115 -76 --115 -75 --115 30 --115 31 --115 32 --115 33 --115 34 --115 35 --115 40 --115 45 --115 50 --115 51 --115 52 --115 53 --115 54 --115 55 --115 56 --115 57 --115 58 --115 59 --115 60 --115 62 --115 63 --115 64 --115 65 --115 66 --115 67 --115 70 --115 71 --115 72 --115 73 --115 75 --115 76 --114 -89 --114 -88 --114 -87 --114 -86 --114 -85 --114 -84 --114 -83 --114 -82 --114 -81 --114 -80 --114 -79 --114 -78 --114 -77 --114 -76 --114 -75 --114 -74 --114 27 --114 28 --114 29 --114 32 --114 33 --114 34 --114 35 --114 36 --114 37 --114 38 --114 39 --114 40 --114 41 --114 42 --114 43 --114 44 --114 45 --114 46 --114 47 --114 48 --114 49 --114 50 --114 51 --114 52 --114 54 --114 55 --114 56 --114 57 --114 58 --114 59 --114 60 --114 63 --114 64 --114 65 --114 66 --114 67 --114 70 --114 71 --114 72 --114 76 --113 -89 --113 -88 --113 -87 --113 -86 --113 -85 --113 -84 --113 -83 --113 -82 --113 -81 --113 -80 --113 -79 --113 -78 --113 -77 --113 -76 --113 -75 --113 27 --113 28 --113 31 --113 32 --113 33 --113 34 --113 35 --113 36 --113 37 --113 38 --113 39 --113 40 --113 41 --113 42 --113 43 --113 44 --113 45 --113 46 --113 47 --113 48 --113 49 --113 50 --113 51 --113 52 --113 53 --113 54 --113 55 --113 56 --113 57 --113 58 --113 59 --113 60 --113 61 --113 63 --113 64 --113 65 --113 66 --113 67 --113 69 --113 70 --113 71 --113 72 --113 73 --113 76 --112 -89 --112 -88 --112 -87 --112 -86 --112 -85 --112 -84 --112 -83 --112 -82 --112 -81 --112 -80 --112 -79 --112 -78 --112 -77 --112 -76 --112 -75 --112 25 --112 26 --112 29 --112 30 --112 31 --112 32 --112 33 --112 34 --112 35 --112 36 --112 37 --112 38 --112 39 --112 40 --112 41 --112 42 --112 43 --112 44 --112 45 --112 46 --112 47 --112 48 --112 49 --112 50 --112 51 --112 52 --112 53 --112 54 --112 55 --112 56 --112 57 --112 58 --112 59 --112 60 --112 61 --112 63 --112 64 --112 66 --112 67 --112 69 --112 70 --112 71 --112 72 --112 75 --112 76 --112 78 --111 -89 --111 -88 --111 -87 --111 -86 --111 -85 --111 -84 --111 -83 --111 -82 --111 -81 --111 -80 --111 -79 --111 -78 --111 -77 --111 -76 --111 -75 --111 25 --111 28 --111 29 --111 30 --111 31 --111 32 --111 33 --111 34 --111 35 --111 36 --111 37 --111 38 --111 39 --111 40 --111 41 --111 42 --111 43 --111 44 --111 45 --111 46 --111 47 --111 48 --111 49 --111 50 --111 51 --111 52 --111 53 --111 54 --111 55 --111 56 --111 57 --111 58 --111 59 --111 60 --111 61 --111 62 --111 63 --111 64 --111 65 --111 66 --111 67 --111 69 --111 70 --111 71 --111 72 --111 75 --111 78 --110 -89 --110 -88 --110 -87 --110 -86 --110 -85 --110 -84 --110 -83 --110 -82 --110 -81 --110 -80 --110 -79 --110 -78 --110 -77 --110 -76 --110 -75 --110 23 --110 24 --110 28 --110 29 --110 30 --110 35 --110 40 --110 41 --110 42 --110 43 --110 44 --110 45 --110 46 --110 47 --110 48 --110 49 --110 50 --110 51 --110 52 --110 53 --110 54 --110 55 --110 56 --110 57 --110 58 --110 60 --110 61 --110 62 --110 63 --110 64 --110 65 --110 66 --110 67 --110 69 --110 70 --110 71 --110 72 --110 75 --110 78 --109 -89 --109 -88 --109 -87 --109 -86 --109 -85 --109 -84 --109 -83 --109 -82 --109 -81 --109 -80 --109 -79 --109 -78 --109 -77 --109 -76 --109 -75 --109 -74 --109 26 --109 27 --109 28 --109 29 --109 30 --109 31 --109 32 --109 33 --109 34 --109 35 --109 36 --109 37 --109 38 --109 39 --109 40 --109 41 --109 42 --109 43 --109 44 --109 45 --109 46 --109 47 --109 48 --109 49 --109 50 --109 51 --109 52 --109 53 --109 54 --109 55 --109 57 --109 58 --109 59 --109 60 --109 61 --109 62 --109 63 --109 64 --109 65 --109 66 --109 67 --109 69 --109 70 --109 71 --109 72 --109 75 --109 76 --108 -89 --108 -88 --108 -87 --108 -86 --108 -85 --108 -84 --108 -83 --108 -82 --108 -81 --108 -80 --108 -79 --108 -78 --108 -77 --108 -76 --108 -75 --108 -74 --108 25 --108 26 --108 27 --108 28 --108 29 --108 30 --108 31 --108 32 --108 33 --108 34 --108 35 --108 36 --108 37 --108 38 --108 39 --108 40 --108 41 --108 42 --108 43 --108 44 --108 45 --108 46 --108 47 --108 48 --108 49 --108 50 --108 51 --108 52 --108 53 --108 54 --108 55 --108 56 --108 57 --108 58 --108 59 --108 60 --108 61 --108 62 --108 64 --108 65 --108 66 --108 69 --108 70 --108 71 --108 73 --108 75 --108 76 --107 -89 --107 -88 --107 -87 --107 -86 --107 -85 --107 -84 --107 -83 --107 -82 --107 -81 --107 -80 --107 -79 --107 -78 --107 -77 --107 -76 --107 -75 --107 24 --107 25 --107 26 --107 27 --107 28 --107 29 --107 30 --107 31 --107 32 --107 33 --107 34 --107 35 --107 36 --107 37 --107 38 --107 39 --107 40 --107 41 --107 42 --107 43 --107 44 --107 45 --107 46 --107 47 --107 48 --107 49 --107 50 --107 51 --107 52 --107 53 --107 55 --107 56 --107 57 --107 58 --107 59 --107 60 --107 61 --107 62 --107 63 --107 64 --107 65 --107 66 --107 67 --107 68 --107 70 --107 71 --107 72 --107 73 --107 75 --106 -89 --106 -88 --106 -87 --106 -86 --106 -85 --106 -84 --106 -83 --106 -82 --106 -81 --106 -80 --106 -79 --106 -78 --106 -77 --106 -76 --106 -75 --106 23 --106 24 --106 25 --106 26 --106 27 --106 28 --106 29 --106 30 --106 31 --106 32 --106 33 --106 34 --106 35 --106 36 --106 37 --106 38 --106 39 --106 40 --106 41 --106 42 --106 43 --106 44 --106 45 --106 46 --106 47 --106 48 --106 49 --106 50 --106 51 --106 52 --106 53 --106 54 --106 55 --106 56 --106 57 --106 58 --106 59 --106 60 --106 61 --106 62 --106 63 --106 64 --106 65 --106 66 --106 67 --106 68 --106 70 --106 71 --106 72 --106 73 --106 76 --105 -89 --105 -88 --105 -87 --105 -86 --105 -85 --105 -84 --105 -83 --105 -82 --105 -81 --105 -80 --105 -79 --105 -78 --105 -77 --105 -76 --105 -75 --105 20 --105 25 --105 30 --105 35 --105 40 --105 41 --105 42 --105 43 --105 44 --105 45 --105 46 --105 47 --105 48 --105 49 --105 50 --105 51 --105 52 --105 53 --105 54 --105 56 --105 57 --105 58 --105 59 --105 60 --105 61 --105 62 --105 63 --105 64 --105 65 --105 66 --105 67 --105 68 --105 69 --105 70 --105 71 --105 72 --104 -89 --104 -88 --104 -87 --104 -86 --104 -85 --104 -84 --104 -83 --104 -82 --104 -81 --104 -80 --104 -79 --104 -78 --104 -77 --104 -76 --104 -75 --104 19 --104 20 --104 21 --104 22 --104 23 --104 24 --104 25 --104 26 --104 27 --104 28 --104 29 --104 30 --104 31 --104 32 --104 33 --104 34 --104 35 --104 36 --104 37 --104 38 --104 39 --104 40 --104 41 --104 42 --104 43 --104 44 --104 45 --104 46 --104 47 --104 48 --104 49 --104 50 --104 51 --104 52 --104 53 --104 54 --104 55 --104 56 --104 57 --104 58 --104 59 --104 60 --104 61 --104 62 --104 63 --104 64 --104 65 --104 66 --104 67 --104 68 --104 69 --104 70 --104 79 --103 -89 --103 -88 --103 -87 --103 -86 --103 -85 --103 -84 --103 -83 --103 -82 --103 -81 --103 -80 --103 -79 --103 -78 --103 -77 --103 -76 --103 -75 --103 -73 --103 19 --103 20 --103 21 --103 22 --103 23 --103 24 --103 25 --103 26 --103 27 --103 28 --103 29 --103 30 --103 31 --103 32 --103 33 --103 34 --103 35 --103 36 --103 37 --103 38 --103 39 --103 40 --103 41 --103 42 --103 43 --103 44 --103 45 --103 46 --103 47 --103 48 --103 49 --103 50 --103 51 --103 52 --103 53 --103 54 --103 55 --103 56 --103 57 --103 58 --103 59 --103 60 --103 61 --103 63 --103 64 --103 66 --103 67 --103 69 --103 70 --103 76 --103 79 --102 -89 --102 -88 --102 -87 --102 -86 --102 -85 --102 -84 --102 -83 --102 -82 --102 -81 --102 -80 --102 -79 --102 -78 --102 -77 --102 -76 --102 -74 --102 -73 --102 -72 --102 18 --102 19 --102 20 --102 21 --102 22 --102 23 --102 24 --102 25 --102 26 --102 27 --102 28 --102 29 --102 30 --102 31 --102 32 --102 33 --102 34 --102 35 --102 36 --102 37 --102 38 --102 39 --102 40 --102 41 --102 42 --102 43 --102 44 --102 45 --102 46 --102 47 --102 48 --102 49 --102 50 --102 51 --102 52 --102 53 --102 54 --102 55 --102 56 --102 58 --102 59 --102 61 --102 62 --102 64 --102 65 --102 66 --102 67 --102 69 --102 70 --102 73 --102 79 --101 -89 --101 -88 --101 -87 --101 -86 --101 -85 --101 -84 --101 -83 --101 -82 --101 -81 --101 -80 --101 -79 --101 -78 --101 -77 --101 -76 --101 -75 --101 -74 --101 -73 --101 -72 --101 18 --101 19 --101 20 --101 21 --101 22 --101 23 --101 24 --101 25 --101 26 --101 27 --101 28 --101 29 --101 30 --101 31 --101 32 --101 33 --101 34 --101 35 --101 36 --101 37 --101 38 --101 39 --101 40 --101 41 --101 42 --101 43 --101 44 --101 45 --101 46 --101 47 --101 48 --101 49 --101 50 --101 51 --101 52 --101 53 --101 55 --101 56 --101 57 --101 58 --101 59 --101 60 --101 61 --101 62 --101 64 --101 65 --101 66 --101 67 --101 70 --101 76 --100 -89 --100 -88 --100 -87 --100 -86 --100 -85 --100 -84 --100 -83 --100 -82 --100 -81 --100 -80 --100 -79 --100 -78 --100 -77 --100 -76 --100 -75 --100 -74 --100 -73 --100 -72 --100 17 --100 18 --100 19 --100 20 --100 21 --100 22 --100 23 --100 24 --100 25 --100 26 --100 27 --100 28 --100 29 --100 30 --100 35 --100 36 --100 37 --100 38 --100 39 --100 40 --100 45 --100 46 --100 47 --100 48 --100 49 --100 50 --100 51 --100 52 --100 54 --100 55 --100 56 --100 57 --100 58 --100 61 --100 62 --100 63 --100 64 --100 65 --100 66 --100 67 --100 69 --100 72 --100 73 --100 75 --100 78 --100 80 --99 -89 --99 -88 --99 -87 --99 -86 --99 -85 --99 -84 --99 -83 --99 -82 --99 -81 --99 -80 --99 -79 --99 -78 --99 -77 --99 -76 --99 -75 --99 -74 --99 -73 --99 -72 --99 17 --99 18 --99 19 --99 20 --99 21 --99 22 --99 23 --99 24 --99 25 --99 26 --99 27 --99 28 --99 29 --99 30 --99 31 --99 32 --99 33 --99 34 --99 35 --99 36 --99 37 --99 38 --99 39 --99 40 --99 41 --99 42 --99 43 --99 44 --99 45 --99 46 --99 47 --99 48 --99 49 --99 50 --99 51 --99 52 --99 53 --99 54 --99 55 --99 56 --99 57 --99 58 --99 59 --99 60 --99 61 --99 62 --99 63 --99 64 --99 65 --99 66 --99 67 --99 69 --99 72 --99 73 --99 76 --99 80 --98 -89 --98 -88 --98 -87 --98 -86 --98 -85 --98 -84 --98 -83 --98 -82 --98 -81 --98 -80 --98 -79 --98 -78 --98 -77 --98 -76 --98 -75 --98 -74 --98 -73 --98 -72 --98 17 --98 18 --98 19 --98 20 --98 21 --98 22 --98 23 --98 24 --98 25 --98 26 --98 27 --98 28 --98 29 --98 30 --98 31 --98 32 --98 33 --98 34 --98 35 --98 36 --98 37 --98 38 --98 39 --98 40 --98 41 --98 42 --98 43 --98 44 --98 45 --98 46 --98 47 --98 48 --98 49 --98 50 --98 51 --98 54 --98 55 --98 56 --98 57 --98 58 --98 59 --98 60 --98 61 --98 62 --98 63 --98 65 --98 66 --98 67 --98 68 --98 69 --98 72 --98 73 --98 74 --98 76 --97 -89 --97 -88 --97 -87 --97 -86 --97 -85 --97 -84 --97 -83 --97 -82 --97 -81 --97 -80 --97 -79 --97 -78 --97 -77 --97 -76 --97 -75 --97 -74 --97 -73 --97 -72 --97 16 --97 17 --97 18 --97 19 --97 20 --97 29 --97 30 --97 31 --97 32 --97 33 --97 34 --97 35 --97 36 --97 37 --97 38 --97 39 --97 40 --97 41 --97 42 --97 43 --97 44 --97 45 --97 46 --97 47 --97 48 --97 49 --97 50 --97 51 --97 53 --97 54 --97 55 --97 56 --97 57 --97 58 --97 59 --97 60 --97 61 --97 62 --97 63 --97 64 --97 65 --97 66 --97 67 --97 68 --97 69 --97 72 --97 73 --97 78 --96 -89 --96 -88 --96 -87 --96 -86 --96 -85 --96 -84 --96 -83 --96 -82 --96 -81 --96 -80 --96 -79 --96 -78 --96 -77 --96 -76 --96 -75 --96 -74 --96 -73 --96 16 --96 17 --96 18 --96 19 --96 29 --96 30 --96 31 --96 32 --96 33 --96 34 --96 35 --96 36 --96 37 --96 38 --96 39 --96 40 --96 41 --96 42 --96 43 --96 44 --96 45 --96 46 --96 47 --96 48 --96 49 --96 50 --96 51 --96 52 --96 53 --96 54 --96 55 --96 56 --96 57 --96 58 --96 59 --96 60 --96 61 --96 62 --96 63 --96 64 --96 65 --96 66 --96 67 --96 69 --96 70 --96 71 --96 75 --96 77 --96 78 --96 80 --95 -89 --95 -88 --95 -87 --95 -86 --95 -85 --95 -84 --95 -83 --95 -82 --95 -81 --95 -80 --95 -79 --95 -78 --95 -77 --95 -76 --95 -75 --95 -74 --95 -73 --95 17 --95 18 --95 30 --95 31 --95 32 --95 33 --95 34 --95 35 --95 36 --95 37 --95 38 --95 39 --95 40 --95 41 --95 42 --95 43 --95 44 --95 45 --95 46 --95 47 --95 50 --95 51 --95 52 --95 53 --95 54 --95 55 --95 56 --95 57 --95 58 --95 59 --95 60 --95 61 --95 62 --95 63 --95 64 --95 65 --95 66 --95 67 --95 68 --95 70 --95 71 --95 72 --95 73 --95 74 --95 75 --95 80 --95 81 --94 -89 --94 -88 --94 -87 --94 -86 --94 -85 --94 -84 --94 -83 --94 -82 --94 -81 --94 -80 --94 -79 --94 -78 --94 -77 --94 -76 --94 -75 --94 -74 --94 -73 --94 16 --94 17 --94 18 --94 30 --94 31 --94 32 --94 33 --94 34 --94 35 --94 36 --94 37 --94 38 --94 39 --94 40 --94 41 --94 42 --94 43 --94 44 --94 45 --94 46 --94 47 --94 48 --94 49 --94 50 --94 51 --94 52 --94 53 --94 54 --94 55 --94 56 --94 57 --94 58 --94 62 --94 63 --94 64 --94 65 --94 66 --94 67 --94 68 --94 69 --94 70 --94 71 --94 73 --94 74 --94 75 --94 79 --94 80 --94 81 --93 -89 --93 -88 --93 -87 --93 -86 --93 -85 --93 -84 --93 -83 --93 -82 --93 -81 --93 -80 --93 -79 --93 -78 --93 -77 --93 -76 --93 -75 --93 -74 --93 -73 --93 16 --93 17 --93 18 --93 30 --93 31 --93 32 --93 33 --93 34 --93 35 --93 36 --93 37 --93 38 --93 39 --93 40 --93 41 --93 42 --93 43 --93 44 --93 45 --93 46 --93 47 --93 48 --93 49 --93 50 --93 51 --93 52 --93 54 --93 55 --93 56 --93 57 --93 58 --93 63 --93 64 --93 65 --93 66 --93 67 --93 68 --93 69 --93 70 --93 71 --93 73 --93 74 --93 79 --93 80 --93 81 --92 -89 --92 -88 --92 -87 --92 -86 --92 -85 --92 -84 --92 -83 --92 -82 --92 -81 --92 -80 --92 -79 --92 -78 --92 -77 --92 -76 --92 -75 --92 -74 --92 -73 --92 15 --92 16 --92 17 --92 18 --92 30 --92 31 --92 32 --92 33 --92 34 --92 35 --92 36 --92 37 --92 38 --92 39 --92 40 --92 41 --92 42 --92 43 --92 44 --92 45 --92 46 --92 47 --92 48 --92 50 --92 51 --92 52 --92 54 --92 55 --92 56 --92 57 --92 63 --92 64 --92 65 --92 66 --92 67 --92 68 --92 69 --92 70 --92 73 --92 74 --92 75 --92 76 --92 79 --92 80 --92 81 --91 -89 --91 -88 --91 -87 --91 -86 --91 -85 --91 -84 --91 -83 --91 -82 --91 -81 --91 -80 --91 -79 --91 -78 --91 -77 --91 -76 --91 -75 --91 -74 --91 -73 --91 14 --91 15 --91 16 --91 17 --91 18 --91 19 --91 30 --91 31 --91 32 --91 33 --91 34 --91 35 --91 36 --91 37 --91 38 --91 39 --91 40 --91 41 --91 42 --91 43 --91 44 --91 45 --91 46 --91 48 --91 49 --91 50 --91 52 --91 53 --91 54 --91 55 --91 56 --91 57 --91 63 --91 64 --91 65 --91 66 --91 67 --91 68 --91 69 --91 74 --91 75 --91 76 --91 79 --91 80 --90 -89 --90 -88 --90 -87 --90 -86 --90 -85 --90 -84 --90 -83 --90 -82 --90 -81 --90 -80 --90 -79 --90 -78 --90 -77 --90 -76 --90 -75 --90 -74 --90 -73 --90 14 --90 15 --90 16 --90 17 --90 18 --90 19 --90 20 --90 21 --90 30 --90 31 --90 32 --90 33 --90 34 --90 35 --90 40 --90 41 --90 42 --90 43 --90 44 --90 45 --90 46 --90 48 --90 49 --90 50 --90 51 --90 52 --90 53 --90 54 --90 55 --90 56 --90 57 --90 64 --90 65 --90 66 --90 67 --90 68 --90 74 --90 75 --90 76 --90 79 --90 80 --89 -89 --89 -88 --89 -87 --89 -86 --89 -85 --89 -84 --89 -83 --89 -82 --89 -81 --89 -80 --89 -79 --89 -78 --89 -77 --89 -76 --89 -75 --89 -74 --89 -73 --89 14 --89 15 --89 16 --89 17 --89 18 --89 19 --89 20 --89 21 --89 31 --89 32 --89 33 --89 34 --89 35 --89 36 --89 37 --89 38 --89 39 --89 40 --89 41 --89 42 --89 43 --89 44 --89 45 --89 46 --89 47 --89 48 --89 49 --89 50 --89 51 --89 52 --89 53 --89 54 --89 55 --89 56 --89 65 --89 66 --89 67 --89 68 --89 69 --89 71 --89 72 --89 73 --89 75 --89 79 --89 80 --88 -89 --88 -88 --88 -87 --88 -86 --88 -85 --88 -84 --88 -83 --88 -82 --88 -81 --88 -80 --88 -79 --88 -78 --88 -77 --88 -76 --88 -75 --88 -74 --88 -73 --88 14 --88 15 --88 19 --88 20 --88 21 --88 31 --88 32 --88 33 --88 34 --88 35 --88 37 --88 38 --88 39 --88 40 --88 41 --88 42 --88 43 --88 44 --88 45 --88 46 --88 49 --88 50 --88 51 --88 52 --88 53 --88 54 --88 55 --88 56 --88 65 --88 66 --88 67 --88 72 --88 73 --88 75 --88 77 --88 80 --88 81 --88 82 --87 -89 --87 -88 --87 -87 --87 -86 --87 -85 --87 -84 --87 -83 --87 -82 --87 -81 --87 -80 --87 -79 --87 -78 --87 -77 --87 -76 --87 -75 --87 -74 --87 -73 --87 13 --87 14 --87 15 --87 21 --87 31 --87 32 --87 33 --87 34 --87 35 --87 36 --87 37 --87 38 --87 39 --87 40 --87 41 --87 46 --87 49 --87 50 --87 51 --87 52 --87 53 --87 54 --87 55 --87 66 --87 67 --87 72 --87 73 --87 75 --87 77 --87 79 --86 -89 --86 -88 --86 -87 --86 -86 --86 -85 --86 -84 --86 -83 --86 -82 --86 -81 --86 -80 --86 -79 --86 -78 --86 -77 --86 -76 --86 -75 --86 -74 --86 12 --86 13 --86 14 --86 15 --86 31 --86 32 --86 33 --86 34 --86 35 --86 36 --86 37 --86 38 --86 39 --86 40 --86 41 --86 42 --86 43 --86 44 --86 46 --86 49 --86 50 --86 51 --86 52 --86 53 --86 54 --86 55 --86 64 --86 65 --86 67 --86 68 --86 71 --86 72 --86 75 --86 77 --86 79 --86 80 --86 81 --86 82 --85 -89 --85 -88 --85 -87 --85 -86 --85 -85 --85 -84 --85 -83 --85 -82 --85 -81 --85 -80 --85 -79 --85 -78 --85 -77 --85 -76 --85 -75 --85 -74 --85 -73 --85 11 --85 12 --85 13 --85 14 --85 15 --85 30 --85 31 --85 32 --85 33 --85 34 --85 35 --85 36 --85 37 --85 38 --85 39 --85 40 --85 41 --85 42 --85 43 --85 44 --85 45 --85 48 --85 49 --85 50 --85 51 --85 52 --85 53 --85 54 --85 55 --85 64 --85 65 --85 66 --85 67 --85 68 --85 71 --85 72 --85 73 --85 75 --85 77 --85 78 --85 80 --85 81 --84 -89 --84 -88 --84 -87 --84 -86 --84 -85 --84 -84 --84 -83 --84 -82 --84 -81 --84 -80 --84 -79 --84 -78 --84 -77 --84 -76 --84 -75 --84 -74 --84 -73 --84 10 --84 11 --84 12 --84 13 --84 14 --84 15 --84 22 --84 31 --84 32 --84 33 --84 34 --84 35 --84 36 --84 37 --84 38 --84 39 --84 40 --84 41 --84 42 --84 43 --84 44 --84 45 --84 46 --84 47 --84 48 --84 49 --84 50 --84 51 --84 52 --84 53 --84 54 --84 55 --84 64 --84 65 --84 66 --84 67 --84 68 --84 69 --84 70 --84 71 --84 72 --84 73 --84 75 --84 77 --84 78 --84 79 --84 80 --84 81 --84 82 --83 -89 --83 -88 --83 -87 --83 -86 --83 -85 --83 -84 --83 -83 --83 -82 --83 -81 --83 -80 --83 -79 --83 -78 --83 -77 --83 -76 --83 -75 --83 -74 --83 -73 --83 9 --83 23 --83 30 --83 31 --83 32 --83 33 --83 34 --83 35 --83 36 --83 37 --83 38 --83 39 --83 40 --83 41 --83 43 --83 44 --83 47 --83 48 --83 49 --83 50 --83 51 --83 52 --83 53 --83 54 --83 55 --83 64 --83 67 --83 68 --83 69 --83 70 --83 71 --83 72 --83 73 --83 75 --83 77 --83 78 --83 79 --83 80 --83 81 --83 82 --82 -89 --82 -88 --82 -87 --82 -86 --82 -85 --82 -84 --82 -83 --82 -82 --82 -81 --82 -80 --82 -79 --82 -78 --82 -77 --82 -76 --82 -75 --82 -74 --82 -73 --82 23 --82 27 --82 28 --82 29 --82 30 --82 31 --82 32 --82 33 --82 34 --82 35 --82 36 --82 37 --82 38 --82 39 --82 40 --82 41 --82 43 --82 47 --82 48 --82 49 --82 50 --82 51 --82 52 --82 53 --82 64 --82 67 --82 69 --82 70 --82 71 --82 72 --82 73 --82 75 --82 77 --82 78 --82 79 --82 80 --82 81 --82 82 --81 -89 --81 -88 --81 -87 --81 -86 --81 -85 --81 -84 --81 -83 --81 -82 --81 -81 --81 -80 --81 -79 --81 -78 --81 -77 --81 -76 --81 -75 --81 -74 --81 -73 --81 -6 --81 -5 --81 8 --81 23 --81 26 --81 28 --81 29 --81 32 --81 33 --81 34 --81 35 --81 36 --81 37 --81 38 --81 39 --81 40 --81 41 --81 43 --81 44 --81 46 --81 47 --81 48 --81 49 --81 50 --81 51 --81 52 --81 53 --81 71 --81 72 --81 73 --81 75 --81 77 --81 78 --81 79 --81 80 --81 81 --81 82 --80 -89 --80 -88 --80 -87 --80 -86 --80 -85 --80 -84 --80 -83 --80 -82 --80 -81 --80 -80 --80 -79 --80 -78 --80 -77 --80 -76 --80 -75 --80 -74 --80 -73 --80 -6 --80 -5 --80 -4 --80 -2 --80 -1 --80 0 --80 9 --80 22 --80 33 --80 34 --80 35 --80 36 --80 37 --80 38 --80 39 --80 40 --80 41 --80 42 --80 43 --80 44 --80 46 --80 47 --80 48 --80 49 --80 50 --80 51 --80 62 --80 71 --80 72 --80 73 --80 75 --80 77 --80 78 --80 79 --80 80 --80 81 --80 82 --79 -89 --79 -88 --79 -87 --79 -86 --79 -85 --79 -84 --79 -83 --79 -82 --79 -81 --79 -80 --79 -79 --79 -78 --79 -77 --79 -76 --79 -75 --79 -74 --79 -8 --79 -7 --79 -6 --79 -5 --79 -4 --79 -3 --79 -2 --79 -1 --79 0 --79 1 --79 9 --79 22 --79 34 --79 35 --79 36 --79 37 --79 38 --79 39 --79 40 --79 41 --79 42 --79 43 --79 44 --79 45 --79 48 --79 49 --79 50 --79 51 --79 56 --79 69 --79 70 --79 71 --79 73 --79 78 --79 79 --79 80 --79 82 --78 -89 --78 -88 --78 -87 --78 -86 --78 -85 --78 -84 --78 -83 --78 -82 --78 -81 --78 -80 --78 -79 --78 -78 --78 -77 --78 -76 --78 -75 --78 -74 --78 -73 --78 -10 --78 -9 --78 -8 --78 -7 --78 -6 --78 -5 --78 -4 --78 -3 --78 -2 --78 -1 --78 0 --78 1 --78 2 --78 8 --78 9 --78 21 --78 25 --78 34 --78 35 --78 36 --78 37 --78 38 --78 39 --78 40 --78 41 --78 42 --78 43 --78 44 --78 45 --78 46 --78 47 --78 48 --78 49 --78 50 --78 51 --78 52 --78 53 --78 54 --78 55 --78 59 --78 62 --78 64 --78 65 --78 70 --78 71 --78 72 --78 73 --78 78 --78 79 --78 80 --78 81 --78 82 --77 -89 --77 -88 --77 -87 --77 -86 --77 -85 --77 -84 --77 -83 --77 -82 --77 -81 --77 -80 --77 -79 --77 -78 --77 -77 --77 -76 --77 -75 --77 -74 --77 -73 --77 -12 --77 -11 --77 -10 --77 -9 --77 -8 --77 -7 --77 -6 --77 -5 --77 -4 --77 -3 --77 -2 --77 -1 --77 0 --77 1 --77 2 --77 3 --77 4 --77 5 --77 6 --77 7 --77 8 --77 18 --77 20 --77 21 --77 35 --77 36 --77 37 --77 38 --77 39 --77 40 --77 41 --77 42 --77 43 --77 45 --77 46 --77 47 --77 48 --77 49 --77 50 --77 52 --77 53 --77 54 --77 55 --77 58 --77 59 --77 60 --77 61 --77 62 --77 65 --77 68 --77 70 --77 71 --77 72 --77 73 --77 78 --77 79 --77 80 --77 81 --77 82 --77 83 --76 -89 --76 -88 --76 -87 --76 -86 --76 -85 --76 -84 --76 -83 --76 -82 --76 -81 --76 -80 --76 -79 --76 -78 --76 -77 --76 -76 --76 -75 --76 -74 --76 -73 --76 -14 --76 -13 --76 -12 --76 -11 --76 -10 --76 -9 --76 -8 --76 -7 --76 -6 --76 -5 --76 -4 --76 -3 --76 -2 --76 -1 --76 0 --76 1 --76 2 --76 3 --76 4 --76 5 --76 6 --76 7 --76 8 --76 9 --76 20 --76 21 --76 38 --76 39 --76 40 --76 41 --76 42 --76 43 --76 44 --76 45 --76 46 --76 47 --76 48 --76 49 --76 50 --76 51 --76 52 --76 53 --76 54 --76 55 --76 56 --76 57 --76 58 --76 59 --76 60 --76 61 --76 62 --76 65 --76 68 --76 69 --76 70 --76 71 --76 72 --76 78 --76 80 --76 81 --76 82 --76 83 --75 -89 --75 -88 --75 -87 --75 -86 --75 -85 --75 -84 --75 -83 --75 -82 --75 -81 --75 -80 --75 -79 --75 -78 --75 -77 --75 -76 --75 -75 --75 -74 --75 -73 --75 -52 --75 -51 --75 -49 --75 -48 --75 -15 --75 -10 --75 -9 --75 -8 --75 -7 --75 -6 --75 -5 --75 -4 --75 -3 --75 -2 --75 -1 --75 0 --75 1 --75 2 --75 3 --75 4 --75 5 --75 6 --75 7 --75 8 --75 9 --75 10 --75 20 --75 40 --75 41 --75 42 --75 43 --75 44 --75 45 --75 46 --75 47 --75 48 --75 49 --75 50 --75 51 --75 52 --75 53 --75 54 --75 55 --75 56 --75 57 --75 58 --75 59 --75 60 --75 61 --75 62 --75 65 --75 69 --75 70 --75 71 --75 72 --75 80 --75 81 --75 82 --75 83 --74 -89 --74 -88 --74 -87 --74 -86 --74 -85 --74 -84 --74 -83 --74 -82 --74 -81 --74 -80 --74 -79 --74 -78 --74 -77 --74 -76 --74 -75 --74 -74 --74 -73 --74 -72 --74 -70 --74 -53 --74 -52 --74 -51 --74 -50 --74 -49 --74 -43 --74 -42 --74 -16 --74 -15 --74 -14 --74 -13 --74 -12 --74 -11 --74 -10 --74 -9 --74 -8 --74 -7 --74 -6 --74 -5 --74 -4 --74 -3 --74 -2 --74 -1 --74 0 --74 1 --74 2 --74 3 --74 4 --74 5 --74 6 --74 7 --74 8 --74 9 --74 10 --74 11 --74 41 --74 42 --74 43 --74 44 --74 45 --74 46 --74 47 --74 48 --74 49 --74 50 --74 51 --74 52 --74 53 --74 54 --74 55 --74 57 --74 58 --74 59 --74 60 --74 62 --74 65 --74 66 --74 68 --74 69 --74 70 --74 71 --74 80 --74 81 --74 82 --74 83 --73 -89 --73 -88 --73 -87 --73 -86 --73 -85 --73 -84 --73 -83 --73 -82 --73 -81 --73 -80 --73 -79 --73 -78 --73 -77 --73 -76 --73 -75 --73 -74 --73 -72 --73 -71 --73 -70 --73 -53 --73 -52 --73 -51 --73 -50 --73 -49 --73 -48 --73 -47 --73 -46 --73 -45 --73 -44 --73 -41 --73 -40 --73 -39 --73 -38 --73 -37 --73 -16 --73 -15 --73 -14 --73 -13 --73 -12 --73 -11 --73 -10 --73 -9 --73 -8 --73 -7 --73 -6 --73 -5 --73 -4 --73 -3 --73 -2 --73 -1 --73 0 --73 1 --73 2 --73 3 --73 4 --73 5 --73 6 --73 7 --73 8 --73 9 --73 10 --73 11 --73 42 --73 43 --73 44 --73 45 --73 46 --73 47 --73 48 --73 49 --73 50 --73 51 --73 52 --73 53 --73 54 --73 56 --73 57 --73 58 --73 59 --73 60 --73 61 --73 62 --73 65 --73 66 --73 69 --73 70 --73 71 --73 80 --73 81 --73 82 --73 83 --72 -89 --72 -88 --72 -87 --72 -86 --72 -85 --72 -84 --72 -83 --72 -82 --72 -81 --72 -80 --72 -79 --72 -78 --72 -77 --72 -76 --72 -75 --72 -74 --72 -73 --72 -72 --72 -71 --72 -70 --72 -54 --72 -53 --72 -52 --72 -51 --72 -50 --72 -49 --72 -48 --72 -47 --72 -46 --72 -45 --72 -44 --72 -43 --72 -42 --72 -41 --72 -40 --72 -39 --72 -38 --72 -37 --72 -36 --72 -35 --72 -17 --72 -16 --72 -15 --72 -14 --72 -13 --72 -12 --72 -11 --72 -10 --72 -9 --72 -8 --72 -7 --72 -6 --72 -5 --72 -4 --72 -3 --72 -2 --72 -1 --72 0 --72 1 --72 2 --72 3 --72 4 --72 5 --72 6 --72 7 --72 8 --72 9 --72 11 --72 12 --72 19 --72 42 --72 43 --72 44 --72 45 --72 46 --72 47 --72 48 --72 49 --72 50 --72 51 --72 52 --72 53 --72 54 --72 55 --72 57 --72 58 --72 60 --72 61 --72 64 --72 65 --72 66 --72 67 --72 68 --72 69 --72 70 --72 71 --72 78 --72 80 --72 81 --72 82 --72 83 --71 -89 --71 -88 --71 -87 --71 -86 --71 -85 --71 -84 --71 -83 --71 -82 --71 -81 --71 -80 --71 -79 --71 -78 --71 -77 --71 -76 --71 -75 --71 -74 --71 -73 --71 -72 --71 -71 --71 -70 --71 -69 --71 -53 --71 -52 --71 -51 --71 -50 --71 -49 --71 -48 --71 -47 --71 -46 --71 -45 --71 -44 --71 -43 --71 -42 --71 -41 --71 -40 --71 -39 --71 -38 --71 -37 --71 -36 --71 -35 --71 -34 --71 -33 --71 -32 --71 -31 --71 -30 --71 -29 --71 -28 --71 -17 --71 -16 --71 -15 --71 -14 --71 -13 --71 -12 --71 -11 --71 -10 --71 -9 --71 -8 --71 -7 --71 -6 --71 -5 --71 -4 --71 -3 --71 -2 --71 -1 --71 0 --71 1 --71 2 --71 3 --71 4 --71 5 --71 6 --71 7 --71 8 --71 9 --71 10 --71 11 --71 19 --71 42 --71 43 --71 44 --71 45 --71 46 --71 47 --71 48 --71 49 --71 50 --71 51 --71 52 --71 53 --71 54 --71 55 --71 56 --71 57 --71 58 --71 59 --71 60 --71 61 --71 63 --71 64 --71 66 --71 67 --71 68 --71 69 --71 70 --71 71 --71 77 --71 78 --71 80 --71 81 --71 82 --71 83 --70 -89 --70 -88 --70 -87 --70 -86 --70 -85 --70 -84 --70 -83 --70 -82 --70 -81 --70 -80 --70 -79 --70 -78 --70 -77 --70 -76 --70 -75 --70 -74 --70 -73 --70 -72 --70 -71 --70 -70 --70 -54 --70 -53 --70 -52 --70 -51 --70 -50 --70 -49 --70 -48 --70 -47 --70 -46 --70 -45 --70 -44 --70 -43 --70 -42 --70 -41 --70 -40 --70 -39 --70 -38 --70 -37 --70 -36 --70 -35 --70 -34 --70 -33 --70 -32 --70 -31 --70 -30 --70 -29 --70 -28 --70 -27 --70 -26 --70 -25 --70 -20 --70 -19 --70 -18 --70 -17 --70 -16 --70 -15 --70 -10 --70 -9 --70 -8 --70 -7 --70 -6 --70 -5 --70 -4 --70 -3 --70 -2 --70 -1 --70 0 --70 1 --70 2 --70 3 --70 4 --70 5 --70 6 --70 7 --70 8 --70 9 --70 10 --70 11 --70 12 --70 19 --70 44 --70 45 --70 46 --70 47 --70 48 --70 49 --70 50 --70 51 --70 52 --70 53 --70 54 --70 55 --70 56 --70 57 --70 58 --70 59 --70 61 --70 63 --70 64 --70 65 --70 66 --70 67 --70 68 --70 69 --70 70 --70 77 --70 78 --70 81 --70 82 --70 83 --69 -89 --69 -88 --69 -87 --69 -86 --69 -85 --69 -84 --69 -83 --69 -82 --69 -81 --69 -80 --69 -79 --69 -78 --69 -77 --69 -76 --69 -75 --69 -74 --69 -73 --69 -72 --69 -71 --69 -70 --69 -55 --69 -53 --69 -52 --69 -50 --69 -49 --69 -48 --69 -47 --69 -46 --69 -45 --69 -44 --69 -43 --69 -42 --69 -41 --69 -40 --69 -39 --69 -38 --69 -37 --69 -36 --69 -35 --69 -34 --69 -33 --69 -32 --69 -31 --69 -30 --69 -29 --69 -28 --69 -27 --69 -26 --69 -25 --69 -24 --69 -23 --69 -22 --69 -21 --69 -20 --69 -19 --69 -18 --69 -17 --69 -15 --69 -14 --69 -13 --69 -12 --69 -11 --69 -10 --69 -9 --69 -8 --69 -7 --69 -6 --69 -5 --69 -4 --69 -3 --69 -2 --69 -1 --69 0 --69 1 --69 2 --69 3 --69 4 --69 5 --69 6 --69 7 --69 8 --69 9 --69 10 --69 11 --69 19 --69 45 --69 46 --69 47 --69 48 --69 49 --69 51 --69 52 --69 53 --69 54 --69 55 --69 56 --69 57 --69 58 --69 59 --69 63 --69 64 --69 65 --69 66 --69 67 --69 68 --69 69 --69 77 --69 78 --69 79 --69 81 --69 82 --69 83 --68 -89 --68 -88 --68 -87 --68 -86 --68 -85 --68 -84 --68 -83 --68 -82 --68 -81 --68 -80 --68 -79 --68 -78 --68 -77 --68 -76 --68 -75 --68 -74 --68 -73 --68 -72 --68 -71 --68 -70 --68 -67 --68 -55 --68 -54 --68 -50 --68 -49 --68 -48 --68 -47 --68 -46 --68 -45 --68 -44 --68 -43 --68 -42 --68 -41 --68 -40 --68 -39 --68 -38 --68 -37 --68 -36 --68 -35 --68 -34 --68 -33 --68 -32 --68 -31 --68 -30 --68 -29 --68 -28 --68 -27 --68 -26 --68 -25 --68 -24 --68 -23 --68 -22 --68 -21 --68 -20 --68 -19 --68 -18 --68 -17 --68 -16 --68 -15 --68 -14 --68 -13 --68 -12 --68 -11 --68 -10 --68 -9 --68 -8 --68 -7 --68 -6 --68 -5 --68 -4 --68 -3 --68 -2 --68 -1 --68 0 --68 1 --68 2 --68 3 --68 4 --68 5 --68 6 --68 7 --68 8 --68 9 --68 10 --68 45 --68 46 --68 47 --68 48 --68 50 --68 51 --68 52 --68 53 --68 54 --68 55 --68 56 --68 57 --68 58 --68 63 --68 64 --68 65 --68 66 --68 67 --68 68 --68 69 --68 70 --68 77 --68 78 --68 79 --68 81 --68 82 --67 -89 --67 -88 --67 -87 --67 -86 --67 -85 --67 -84 --67 -83 --67 -82 --67 -81 --67 -80 --67 -79 --67 -78 --67 -77 --67 -76 --67 -75 --67 -74 --67 -73 --67 -72 --67 -71 --67 -70 --67 -69 --67 -68 --67 -67 --67 -55 --67 -48 --67 -47 --67 -45 --67 -44 --67 -43 --67 -42 --67 -41 --67 -40 --67 -39 --67 -38 --67 -37 --67 -36 --67 -35 --67 -34 --67 -33 --67 -32 --67 -31 --67 -30 --67 -29 --67 -28 --67 -27 --67 -26 --67 -25 --67 -24 --67 -23 --67 -22 --67 -21 --67 -20 --67 -18 --67 -17 --67 -16 --67 -15 --67 -13 --67 -12 --67 -11 --67 -10 --67 -9 --67 -8 --67 -7 --67 -6 --67 -5 --67 -4 --67 -3 --67 -2 --67 -1 --67 0 --67 1 --67 2 --67 3 --67 4 --67 5 --67 6 --67 7 --67 8 --67 9 --67 10 --67 18 --67 46 --67 47 --67 48 --67 50 --67 51 --67 52 --67 53 --67 54 --67 55 --67 56 --67 57 --67 58 --67 64 --67 65 --67 67 --67 76 --67 77 --67 78 --67 79 --67 81 --67 82 --66 -89 --66 -88 --66 -87 --66 -86 --66 -85 --66 -84 --66 -83 --66 -82 --66 -81 --66 -80 --66 -79 --66 -78 --66 -77 --66 -76 --66 -75 --66 -74 --66 -73 --66 -72 --66 -71 --66 -70 --66 -69 --66 -68 --66 -67 --66 -48 --66 -45 --66 -44 --66 -43 --66 -42 --66 -41 --66 -40 --66 -39 --66 -38 --66 -37 --66 -36 --66 -35 --66 -34 --66 -33 --66 -32 --66 -31 --66 -30 --66 -29 --66 -28 --66 -27 --66 -26 --66 -25 --66 -24 --66 -23 --66 -22 --66 -21 --66 -20 --66 -19 --66 -18 --66 -17 --66 -16 --66 -15 --66 -14 --66 -12 --66 -11 --66 -10 --66 -9 --66 -8 --66 -7 --66 -6 --66 -5 --66 -4 --66 -3 --66 -2 --66 -1 --66 0 --66 1 --66 2 --66 3 --66 4 --66 5 --66 6 --66 7 --66 8 --66 9 --66 10 --66 18 --66 44 --66 47 --66 49 --66 51 --66 52 --66 53 --66 54 --66 55 --66 56 --66 57 --66 58 --66 64 --66 67 --66 68 --66 77 --66 78 --66 79 --66 82 --65 -89 --65 -88 --65 -87 --65 -86 --65 -85 --65 -84 --65 -83 --65 -82 --65 -81 --65 -80 --65 -79 --65 -78 --65 -77 --65 -76 --65 -75 --65 -74 --65 -73 --65 -72 --65 -71 --65 -70 --65 -69 --65 -68 --65 -67 --65 -66 --65 -43 --65 -40 --65 -39 --65 -38 --65 -37 --65 -36 --65 -35 --65 -34 --65 -33 --65 -32 --65 -31 --65 -30 --65 -29 --65 -28 --65 -27 --65 -26 --65 -25 --65 -24 --65 -23 --65 -22 --65 -21 --65 -20 --65 -15 --65 -10 --65 -9 --65 -8 --65 -7 --65 -6 --65 -5 --65 -4 --65 -3 --65 -2 --65 -1 --65 0 --65 1 --65 2 --65 3 --65 4 --65 5 --65 6 --65 7 --65 8 --65 9 --65 10 --65 44 --65 45 --65 46 --65 47 --65 49 --65 51 --65 52 --65 53 --65 55 --65 56 --65 57 --65 58 --65 59 --65 60 --65 63 --65 64 --65 67 --65 68 --65 77 --65 78 --65 79 --65 80 --65 82 --64 -89 --64 -88 --64 -87 --64 -86 --64 -85 --64 -84 --64 -83 --64 -82 --64 -81 --64 -80 --64 -79 --64 -78 --64 -77 --64 -76 --64 -75 --64 -74 --64 -73 --64 -72 --64 -71 --64 -70 --64 -69 --64 -68 --64 -67 --64 -66 --64 -41 --64 -40 --64 -39 --64 -38 --64 -37 --64 -36 --64 -35 --64 -34 --64 -33 --64 -32 --64 -31 --64 -30 --64 -29 --64 -28 --64 -27 --64 -26 --64 -25 --64 -24 --64 -23 --64 -22 --64 -21 --64 -20 --64 -19 --64 -18 --64 -17 --64 -16 --64 -15 --64 -14 --64 -13 --64 -12 --64 -11 --64 -10 --64 -9 --64 -8 --64 -7 --64 -6 --64 -5 --64 -4 --64 -3 --64 -2 --64 -1 --64 0 --64 1 --64 2 --64 3 --64 4 --64 5 --64 6 --64 7 --64 8 --64 9 --64 10 --64 11 --64 45 --64 47 --64 51 --64 52 --64 53 --64 55 --64 56 --64 57 --64 58 --64 59 --64 66 --64 67 --64 77 --64 78 --64 79 --64 80 --64 81 --64 82 --63 -89 --63 -88 --63 -87 --63 -86 --63 -85 --63 -84 --63 -83 --63 -82 --63 -81 --63 -80 --63 -79 --63 -78 --63 -77 --63 -76 --63 -75 --63 -74 --63 -73 --63 -72 --63 -71 --63 -70 --63 -69 --63 -68 --63 -67 --63 -66 --63 -65 --63 -41 --63 -40 --63 -39 --63 -38 --63 -37 --63 -36 --63 -35 --63 -34 --63 -33 --63 -32 --63 -31 --63 -30 --63 -29 --63 -28 --63 -27 --63 -26 --63 -25 --63 -24 --63 -23 --63 -22 --63 -21 --63 -20 --63 -19 --63 -18 --63 -17 --63 -16 --63 -15 --63 -14 --63 -13 --63 -12 --63 -11 --63 -10 --63 -9 --63 -8 --63 -7 --63 -6 --63 -5 --63 -4 --63 -3 --63 -2 --63 -1 --63 0 --63 1 --63 2 --63 3 --63 4 --63 5 --63 6 --63 7 --63 8 --63 9 --63 10 --63 45 --63 51 --63 52 --63 53 --63 54 --63 55 --63 56 --63 57 --63 58 --63 66 --63 77 --63 78 --63 79 --63 80 --63 81 --63 82 --62 -89 --62 -88 --62 -87 --62 -86 --62 -85 --62 -84 --62 -83 --62 -82 --62 -81 --62 -80 --62 -79 --62 -78 --62 -77 --62 -76 --62 -75 --62 -74 --62 -73 --62 -72 --62 -71 --62 -70 --62 -69 --62 -68 --62 -67 --62 -66 --62 -65 --62 -38 --62 -37 --62 -36 --62 -35 --62 -34 --62 -33 --62 -32 --62 -31 --62 -30 --62 -29 --62 -28 --62 -27 --62 -26 --62 -25 --62 -24 --62 -23 --62 -22 --62 -21 --62 -20 --62 -19 --62 -18 --62 -17 --62 -16 --62 -15 --62 -14 --62 -13 --62 -12 --62 -11 --62 -10 --62 -9 --62 -8 --62 -7 --62 -6 --62 -5 --62 -4 --62 -3 --62 -2 --62 -1 --62 0 --62 1 --62 2 --62 3 --62 4 --62 5 --62 6 --62 7 --62 8 --62 9 --62 51 --62 52 --62 53 --62 54 --62 55 --62 56 --62 57 --62 66 --62 77 --62 78 --62 79 --62 80 --62 81 --61 -89 --61 -88 --61 -87 --61 -86 --61 -85 --61 -84 --61 -83 --61 -82 --61 -81 --61 -80 --61 -79 --61 -78 --61 -77 --61 -76 --61 -74 --61 -73 --61 -72 --61 -71 --61 -70 --61 -69 --61 -68 --61 -67 --61 -66 --61 -65 --61 -38 --61 -37 --61 -36 --61 -35 --61 -34 --61 -33 --61 -32 --61 -31 --61 -30 --61 -29 --61 -28 --61 -27 --61 -26 --61 -25 --61 -24 --61 -23 --61 -22 --61 -21 --61 -20 --61 -19 --61 -18 --61 -17 --61 -16 --61 -15 --61 -14 --61 -13 --61 -12 --61 -11 --61 -10 --61 -9 --61 -8 --61 -7 --61 -6 --61 -5 --61 -4 --61 -3 --61 -2 --61 -1 --61 0 --61 1 --61 2 --61 3 --61 4 --61 5 --61 6 --61 7 --61 8 --61 9 --61 14 --61 46 --61 51 --61 52 --61 53 --61 54 --61 55 --61 77 --61 78 --61 79 --61 80 --61 81 --60 -89 --60 -88 --60 -87 --60 -86 --60 -85 --60 -84 --60 -83 --60 -82 --60 -81 --60 -80 --60 -79 --60 -78 --60 -77 --60 -76 --60 -73 --60 -69 --60 -65 --60 -64 --60 -52 --60 -38 --60 -37 --60 -36 --60 -35 --60 -34 --60 -33 --60 -32 --60 -31 --60 -30 --60 -29 --60 -28 --60 -27 --60 -26 --60 -25 --60 -24 --60 -23 --60 -22 --60 -21 --60 -20 --60 -15 --60 -14 --60 -13 --60 -12 --60 -11 --60 -10 --60 -9 --60 -8 --60 -7 --60 -6 --60 -5 --60 -4 --60 -3 --60 -2 --60 -1 --60 0 --60 1 --60 2 --60 3 --60 4 --60 5 --60 6 --60 7 --60 8 --60 46 --60 51 --60 52 --60 53 --60 54 --60 55 --60 76 --60 77 --60 78 --60 79 --60 80 --60 81 --60 82 --59 -89 --59 -88 --59 -87 --59 -86 --59 -85 --59 -84 --59 -83 --59 -82 --59 -81 --59 -80 --59 -79 --59 -78 --59 -77 --59 -76 --59 -64 --59 -52 --59 -38 --59 -37 --59 -36 --59 -35 --59 -34 --59 -33 --59 -32 --59 -31 --59 -30 --59 -29 --59 -28 --59 -27 --59 -26 --59 -25 --59 -24 --59 -23 --59 -22 --59 -21 --59 -20 --59 -19 --59 -18 --59 -17 --59 -16 --59 -15 --59 -14 --59 -13 --59 -12 --59 -11 --59 -10 --59 -9 --59 -8 --59 -7 --59 -6 --59 -5 --59 -4 --59 -3 --59 -2 --59 -1 --59 0 --59 1 --59 2 --59 3 --59 4 --59 5 --59 6 --59 7 --59 48 --59 51 --59 52 --59 53 --59 54 --59 55 --59 76 --59 77 --59 78 --59 79 --59 80 --59 81 --59 82 --58 -89 --58 -88 --58 -87 --58 -86 --58 -85 --58 -84 --58 -83 --58 -82 --58 -81 --58 -80 --58 -79 --58 -78 --58 -77 --58 -76 --58 -64 --58 -62 --58 -38 --58 -37 --58 -36 --58 -35 --58 -34 --58 -33 --58 -32 --58 -31 --58 -30 --58 -29 --58 -28 --58 -27 --58 -26 --58 -25 --58 -24 --58 -23 --58 -22 --58 -21 --58 -20 --58 -19 --58 -18 --58 -17 --58 -16 --58 -15 --58 -14 --58 -13 --58 -12 --58 -11 --58 -10 --58 -9 --58 -8 --58 -7 --58 -6 --58 -5 --58 -4 --58 -3 --58 -2 --58 -1 --58 0 --58 1 --58 2 --58 3 --58 4 --58 5 --58 6 --58 48 --58 49 --58 52 --58 53 --58 54 --58 76 --58 77 --58 78 --58 79 --58 80 --58 81 --58 82 --57 -89 --57 -88 --57 -87 --57 -86 --57 -85 --57 -84 --57 -83 --57 -82 --57 -81 --57 -80 --57 -79 --57 -78 --57 -77 --57 -37 --57 -34 --57 -33 --57 -32 --57 -31 --57 -30 --57 -29 --57 -28 --57 -27 --57 -26 --57 -25 --57 -24 --57 -23 --57 -22 --57 -21 --57 -20 --57 -19 --57 -18 --57 -17 --57 -16 --57 -15 --57 -14 --57 -13 --57 -12 --57 -11 --57 -10 --57 -9 --57 -8 --57 -7 --57 -6 --57 -5 --57 -4 --57 -3 --57 -2 --57 -1 --57 0 --57 1 --57 2 --57 3 --57 4 --57 5 --57 48 --57 49 --57 50 --57 51 --57 52 --57 53 --57 75 --57 76 --57 77 --57 78 --57 79 --57 80 --57 81 --57 82 --56 -89 --56 -88 --56 -87 --56 -86 --56 -85 --56 -84 --56 -83 --56 -82 --56 -81 --56 -80 --56 -79 --56 -78 --56 -77 --56 -34 --56 -33 --56 -32 --56 -31 --56 -30 --56 -29 --56 -28 --56 -27 --56 -26 --56 -25 --56 -24 --56 -23 --56 -22 --56 -21 --56 -20 --56 -19 --56 -18 --56 -17 --56 -16 --56 -15 --56 -14 --56 -13 --56 -12 --56 -11 --56 -10 --56 -9 --56 -8 --56 -7 --56 -6 --56 -5 --56 -4 --56 -3 --56 -2 --56 -1 --56 0 --56 1 --56 2 --56 3 --56 4 --56 5 --56 48 --56 49 --56 51 --56 52 --56 74 --56 75 --56 76 --56 77 --56 78 --56 79 --56 80 --56 81 --56 82 --55 -89 --55 -88 --55 -87 --55 -86 --55 -85 --55 -84 --55 -83 --55 -82 --55 -81 --55 -80 --55 -79 --55 -78 --55 -77 --55 -34 --55 -33 --55 -32 --55 -31 --55 -30 --55 -29 --55 -28 --55 -27 --55 -26 --55 -25 --55 -24 --55 -23 --55 -22 --55 -21 --55 -20 --55 -19 --55 -18 --55 -17 --55 -16 --55 -15 --55 -14 --55 -13 --55 -12 --55 -11 --55 -10 --55 -9 --55 -8 --55 -7 --55 -6 --55 -5 --55 -4 --55 -3 --55 -2 --55 -1 --55 0 --55 1 --55 2 --55 3 --55 4 --55 5 --55 6 --55 48 --55 49 --55 72 --55 73 --55 74 --55 75 --55 76 --55 77 --55 78 --55 79 --55 80 --55 81 --55 82 --54 -89 --54 -88 --54 -87 --54 -86 --54 -85 --54 -84 --54 -83 --54 -82 --54 -81 --54 -80 --54 -79 --54 -78 --54 -77 --54 -34 --54 -33 --54 -32 --54 -31 --54 -30 --54 -29 --54 -28 --54 -27 --54 -26 --54 -25 --54 -24 --54 -23 --54 -22 --54 -21 --54 -20 --54 -19 --54 -18 --54 -17 --54 -16 --54 -15 --54 -14 --54 -13 --54 -12 --54 -11 --54 -10 --54 -9 --54 -8 --54 -7 --54 -6 --54 -5 --54 -4 --54 -3 --54 -2 --54 -1 --54 0 --54 1 --54 2 --54 3 --54 4 --54 5 --54 47 --54 48 --54 49 --54 70 --54 72 --54 73 --54 74 --54 75 --54 76 --54 77 --54 78 --54 79 --54 80 --54 81 --53 -89 --53 -88 --53 -87 --53 -86 --53 -85 --53 -84 --53 -83 --53 -82 --53 -81 --53 -80 --53 -79 --53 -78 --53 -77 --53 -33 --53 -32 --53 -31 --53 -30 --53 -29 --53 -28 --53 -27 --53 -26 --53 -25 --53 -24 --53 -23 --53 -22 --53 -21 --53 -20 --53 -19 --53 -18 --53 -17 --53 -16 --53 -15 --53 -14 --53 -13 --53 -12 --53 -11 --53 -10 --53 -9 --53 -8 --53 -7 --53 -6 --53 -5 --53 -4 --53 -3 --53 -2 --53 -1 --53 0 --53 1 --53 2 --53 3 --53 4 --53 5 --53 47 --53 48 --53 67 --53 68 --53 70 --53 72 --53 73 --53 74 --53 75 --53 76 --53 77 --53 78 --53 79 --53 80 --53 81 --52 -89 --52 -88 --52 -87 --52 -86 --52 -85 --52 -84 --52 -83 --52 -82 --52 -81 --52 -80 --52 -79 --52 -78 --52 -77 --52 -32 --52 -31 --52 -30 --52 -29 --52 -28 --52 -27 --52 -26 --52 -25 --52 -24 --52 -23 --52 -22 --52 -21 --52 -20 --52 -19 --52 -18 --52 -17 --52 -16 --52 -15 --52 -14 --52 -13 --52 -12 --52 -11 --52 -10 --52 -9 --52 -8 --52 -7 --52 -6 --52 -5 --52 -4 --52 -3 --52 -2 --52 -1 --52 0 --52 1 --52 2 --52 3 --52 4 --52 65 --52 66 --52 67 --52 68 --52 72 --52 73 --52 74 --52 75 --52 76 --52 77 --52 78 --52 79 --52 80 --52 81 --52 82 --51 -89 --51 -88 --51 -87 --51 -86 --51 -85 --51 -84 --51 -83 --51 -82 --51 -81 --51 -80 --51 -79 --51 -78 --51 -30 --51 -29 --51 -28 --51 -27 --51 -26 --51 -25 --51 -24 --51 -23 --51 -22 --51 -21 --51 -20 --51 -19 --51 -18 --51 -17 --51 -16 --51 -15 --51 -14 --51 -13 --51 -12 --51 -11 --51 -10 --51 -9 --51 -8 --51 -7 --51 -6 --51 -5 --51 -4 --51 -3 --51 -1 --51 1 --51 2 --51 3 --51 64 --51 65 --51 66 --51 67 --51 69 --51 72 --51 73 --51 74 --51 75 --51 76 --51 77 --51 78 --51 79 --51 80 --51 81 --50 -89 --50 -88 --50 -87 --50 -86 --50 -85 --50 -84 --50 -83 --50 -82 --50 -81 --50 -80 --50 -79 --50 -78 --50 -29 --50 -28 --50 -27 --50 -26 --50 -25 --50 -24 --50 -23 --50 -22 --50 -21 --50 -20 --50 -19 --50 -18 --50 -17 --50 -16 --50 -15 --50 -14 --50 -13 --50 -12 --50 -11 --50 -10 --50 -9 --50 -8 --50 -7 --50 -6 --50 -5 --50 -4 --50 -3 --50 -2 --50 -1 --50 0 --50 1 --50 63 --50 64 --50 65 --50 66 --50 67 --50 68 --50 69 --50 70 --50 71 --50 72 --50 73 --50 74 --50 75 --50 76 --50 77 --50 78 --50 79 --50 80 --50 81 --50 82 --49 -89 --49 -88 --49 -87 --49 -86 --49 -85 --49 -84 --49 -83 --49 -82 --49 -81 --49 -80 --49 -79 --49 -78 --49 -28 --49 -27 --49 -26 --49 -25 --49 -24 --49 -23 --49 -22 --49 -21 --49 -20 --49 -19 --49 -18 --49 -17 --49 -16 --49 -15 --49 -14 --49 -13 --49 -12 --49 -11 --49 -10 --49 -9 --49 -8 --49 -7 --49 -6 --49 -5 --49 -4 --49 -3 --49 -2 --49 -1 --49 62 --49 63 --49 64 --49 65 --49 66 --49 67 --49 68 --49 69 --49 70 --49 71 --49 72 --49 73 --49 74 --49 75 --49 76 --49 77 --49 78 --49 79 --49 80 --49 81 --49 82 --48 -89 --48 -88 --48 -87 --48 -86 --48 -85 --48 -84 --48 -83 --48 -82 --48 -81 --48 -80 --48 -79 --48 -78 --48 -25 --48 -24 --48 -23 --48 -22 --48 -21 --48 -20 --48 -19 --48 -18 --48 -17 --48 -16 --48 -15 --48 -14 --48 -13 --48 -12 --48 -11 --48 -10 --48 -9 --48 -8 --48 -7 --48 -6 --48 -5 --48 -4 --48 -3 --48 -2 --48 -1 --48 61 --48 62 --48 63 --48 64 --48 65 --48 66 --48 67 --48 68 --48 69 --48 70 --48 71 --48 72 --48 73 --48 74 --48 75 --48 76 --48 77 --48 78 --48 79 --48 80 --48 81 --48 82 --47 -89 --47 -88 --47 -87 --47 -86 --47 -85 --47 -84 --47 -83 --47 -82 --47 -81 --47 -80 --47 -79 --47 -78 --47 -24 --47 -23 --47 -22 --47 -21 --47 -20 --47 -19 --47 -18 --47 -17 --47 -16 --47 -15 --47 -14 --47 -13 --47 -12 --47 -11 --47 -10 --47 -9 --47 -8 --47 -7 --47 -6 --47 -5 --47 -4 --47 -3 --47 -2 --47 -1 --47 61 --47 62 --47 63 --47 64 --47 65 --47 66 --47 67 --47 68 --47 69 --47 70 --47 71 --47 72 --47 73 --47 74 --47 75 --47 76 --47 77 --47 78 --47 79 --47 80 --47 81 --47 82 --47 83 --46 -89 --46 -88 --46 -87 --46 -86 --46 -85 --46 -84 --46 -83 --46 -82 --46 -81 --46 -80 --46 -79 --46 -78 --46 -23 --46 -22 --46 -20 --46 -19 --46 -18 --46 -17 --46 -16 --46 -15 --46 -14 --46 -13 --46 -12 --46 -11 --46 -10 --46 -9 --46 -8 --46 -7 --46 -6 --46 -5 --46 -4 --46 -3 --46 -2 --46 62 --46 63 --46 64 --46 65 --46 66 --46 67 --46 68 --46 69 --46 70 --46 71 --46 72 --46 73 --46 74 --46 75 --46 76 --46 77 --46 78 --46 79 --46 80 --46 81 --45 -89 --45 -88 --45 -87 --45 -86 --45 -85 --45 -84 --45 -83 --45 -82 --45 -81 --45 -80 --45 -79 --45 -23 --45 -22 --45 -21 --45 -20 --45 -19 --45 -18 --45 -17 --45 -16 --45 -15 --45 -14 --45 -13 --45 -12 --45 -11 --45 -10 --45 -5 --45 -4 --45 -3 --45 -2 --45 61 --45 62 --45 63 --45 64 --45 65 --45 66 --45 67 --45 68 --45 69 --45 70 --45 71 --45 72 --45 73 --45 74 --45 75 --45 76 --45 77 --45 78 --45 79 --45 80 --45 81 --45 82 --45 83 --44 -89 --44 -88 --44 -87 --44 -86 --44 -85 --44 -84 --44 -83 --44 -82 --44 -81 --44 -80 --44 -79 --44 -78 --44 -22 --44 -21 --44 -20 --44 -19 --44 -18 --44 -17 --44 -16 --44 -15 --44 -14 --44 -13 --44 -12 --44 -11 --44 -10 --44 -9 --44 -8 --44 -7 --44 -6 --44 -5 --44 -4 --44 -3 --44 61 --44 62 --44 63 --44 64 --44 65 --44 66 --44 67 --44 68 --44 69 --44 70 --44 71 --44 72 --44 73 --44 74 --44 75 --44 76 --44 77 --44 78 --44 79 --44 80 --44 81 --44 82 --44 83 --43 -89 --43 -88 --43 -87 --43 -86 --43 -85 --43 -84 --43 -83 --43 -82 --43 -81 --43 -80 --43 -79 --43 -78 --43 -22 --43 -21 --43 -20 --43 -19 --43 -18 --43 -17 --43 -16 --43 -15 --43 -14 --43 -13 --43 -12 --43 -11 --43 -10 --43 -9 --43 -8 --43 -7 --43 -6 --43 -5 --43 -4 --43 -3 --43 61 --43 62 --43 63 --43 64 --43 65 --43 66 --43 67 --43 68 --43 69 --43 70 --43 71 --43 72 --43 73 --43 74 --43 75 --43 76 --43 77 --43 78 --43 79 --43 80 --43 81 --43 82 --43 83 --42 -89 --42 -88 --42 -87 --42 -86 --42 -85 --42 -84 --42 -83 --42 -82 --42 -81 --42 -80 --42 -79 --42 -78 --42 -23 --42 -22 --42 -21 --42 -20 --42 -19 --42 -18 --42 -17 --42 -16 --42 -15 --42 -14 --42 -13 --42 -12 --42 -11 --42 -10 --42 -9 --42 -8 --42 -7 --42 -6 --42 -5 --42 -4 --42 -3 --42 63 --42 64 --42 65 --42 66 --42 67 --42 68 --42 69 --42 70 --42 71 --42 72 --42 73 --42 74 --42 75 --42 76 --42 77 --42 78 --42 79 --42 80 --42 81 --42 82 --42 83 --41 -89 --41 -88 --41 -87 --41 -86 --41 -85 --41 -84 --41 -83 --41 -82 --41 -81 --41 -80 --41 -79 --41 -78 --41 -22 --41 -21 --41 -20 --41 -19 --41 -18 --41 -17 --41 -16 --41 -15 --41 -14 --41 -13 --41 -12 --41 -11 --41 -10 --41 -9 --41 -8 --41 -7 --41 -6 --41 -5 --41 -4 --41 -3 --41 64 --41 65 --41 66 --41 67 --41 68 --41 69 --41 70 --41 71 --41 72 --41 73 --41 74 --41 75 --41 76 --41 77 --41 78 --41 79 --41 80 --41 81 --41 82 --41 83 --40 -89 --40 -88 --40 -87 --40 -86 --40 -85 --40 -84 --40 -83 --40 -82 --40 -81 --40 -80 --40 -79 --40 -78 --40 -19 --40 -18 --40 -17 --40 -16 --40 -15 --40 -14 --40 -13 --40 -12 --40 -11 --40 -10 --40 -9 --40 -8 --40 -7 --40 -6 --40 -5 --40 -4 --40 -3 --40 66 --40 67 --40 68 --40 69 --40 70 --40 71 --40 72 --40 73 --40 74 --40 75 --40 76 --40 77 --40 78 --40 79 --40 80 --40 81 --40 82 --40 83 --39 -89 --39 -88 --39 -87 --39 -86 --39 -85 --39 -84 --39 -83 --39 -82 --39 -81 --39 -80 --39 -79 --39 -78 --39 -16 --39 -15 --39 -13 --39 -12 --39 -11 --39 -10 --39 -9 --39 -8 --39 -7 --39 -6 --39 -5 --39 -4 --39 66 --39 67 --39 68 --39 69 --39 70 --39 71 --39 72 --39 73 --39 74 --39 75 --39 76 --39 77 --39 78 --39 79 --39 80 --39 81 --39 82 --39 83 --38 -89 --38 -88 --38 -87 --38 -86 --38 -85 --38 -84 --38 -83 --38 -82 --38 -81 --38 -80 --38 -79 --38 -78 --38 -12 --38 -11 --38 -10 --38 -9 --38 -8 --38 -7 --38 -6 --38 -5 --38 66 --38 67 --38 68 --38 69 --38 70 --38 71 --38 72 --38 73 --38 74 --38 75 --38 76 --38 77 --38 78 --38 79 --38 80 --38 81 --38 82 --38 83 --37 -89 --37 -88 --37 -87 --37 -86 --37 -85 --37 -84 --37 -83 --37 -82 --37 -81 --37 -80 --37 -79 --37 -78 --37 -10 --37 -9 --37 -8 --37 -7 --37 -6 --37 -5 --37 66 --37 67 --37 68 --37 69 --37 70 --37 71 --37 72 --37 73 --37 74 --37 75 --37 76 --37 77 --37 78 --37 79 --37 80 --37 81 --37 82 --37 83 --36 -89 --36 -88 --36 -87 --36 -86 --36 -85 --36 -84 --36 -83 --36 -82 --36 -81 --36 -80 --36 -79 --36 -9 --36 -8 --36 -7 --36 -6 --36 66 --36 67 --36 68 --36 69 --36 70 --36 71 --36 72 --36 73 --36 74 --36 75 --36 76 --36 77 --36 78 --36 79 --36 80 --36 81 --36 82 --36 83 --35 -89 --35 -88 --35 -87 --35 -86 --35 -85 --35 -84 --35 -83 --35 -82 --35 -81 --35 -80 --35 -79 --35 -78 --35 -8 --35 -7 --35 67 --35 68 --35 69 --35 70 --35 71 --35 72 --35 73 --35 74 --35 75 --35 76 --35 77 --35 78 --35 79 --35 80 --35 81 --35 82 --35 83 --34 -89 --34 -88 --34 -87 --34 -86 --34 -85 --34 -84 --34 -83 --34 -82 --34 -81 --34 -80 --34 -79 --34 -78 --34 67 --34 68 --34 69 --34 70 --34 71 --34 72 --34 73 --34 74 --34 75 --34 76 --34 77 --34 78 --34 79 --34 80 --34 81 --34 82 --33 -89 --33 -88 --33 -87 --33 -86 --33 -85 --33 -84 --33 -83 --33 -82 --33 -81 --33 -80 --33 -79 --33 -78 --33 68 --33 69 --33 70 --33 71 --33 72 --33 73 --33 74 --33 75 --33 76 --33 77 --33 78 --33 79 --33 80 --33 81 --33 82 --33 83 --32 -89 --32 -88 --32 -87 --32 -86 --32 -85 --32 -84 --32 -83 --32 -82 --32 -81 --32 -80 --32 -79 --32 -78 --32 69 --32 70 --32 71 --32 72 --32 73 --32 74 --32 75 --32 76 --32 77 --32 78 --32 79 --32 80 --32 81 --32 83 --31 -89 --31 -88 --31 -87 --31 -86 --31 -85 --31 -84 --31 -83 --31 -82 --31 -81 --31 -80 --31 -79 --31 -78 --31 -77 --31 69 --31 70 --31 71 --31 72 --31 73 --31 74 --31 75 --31 76 --31 77 --31 78 --31 79 --31 80 --31 81 --31 83 --30 -89 --30 -88 --30 -87 --30 -86 --30 -85 --30 -84 --30 -83 --30 -82 --30 -81 --30 -80 --30 -79 --30 -78 --30 -77 --30 69 --30 70 --30 71 --30 72 --30 73 --30 74 --30 75 --30 76 --30 77 --30 78 --30 79 --30 80 --30 81 --30 83 --29 -89 --29 -88 --29 -87 --29 -86 --29 -85 --29 -84 --29 -83 --29 -82 --29 -81 --29 -80 --29 -79 --29 -78 --29 -77 --29 69 --29 70 --29 71 --29 72 --29 73 --29 74 --29 75 --29 76 --29 77 --29 78 --29 79 --29 80 --29 81 --29 82 --29 83 --28 -89 --28 -88 --28 -87 --28 -86 --28 -85 --28 -84 --28 -83 --28 -82 --28 -81 --28 -80 --28 -79 --28 -78 --28 -77 --28 69 --28 70 --28 71 --28 72 --28 73 --28 74 --28 75 --28 76 --28 77 --28 78 --28 79 --28 80 --28 81 --28 82 --28 83 --27 -89 --27 -88 --27 -87 --27 -86 --27 -85 --27 -84 --27 -83 --27 -82 --27 -81 --27 -80 --27 -79 --27 -78 --27 -77 --27 69 --27 70 --27 71 --27 72 --27 73 --27 74 --27 75 --27 76 --27 77 --27 78 --27 79 --27 80 --27 81 --27 83 --26 -89 --26 -88 --26 -87 --26 -86 --26 -85 --26 -84 --26 -83 --26 -82 --26 -81 --26 -80 --26 -79 --26 -78 --26 -77 --26 -76 --26 69 --26 70 --26 71 --26 72 --26 73 --26 74 --26 75 --26 76 --26 77 --26 78 --26 79 --26 80 --26 81 --26 83 --25 -89 --25 -88 --25 -87 --25 -86 --25 -85 --25 -84 --25 -83 --25 -82 --25 -81 --25 -80 --25 -79 --25 -78 --25 -77 --25 -76 --25 70 --25 72 --25 74 --25 75 --25 76 --25 77 --25 78 --25 79 --25 80 --25 81 --24 -89 --24 -88 --24 -87 --24 -86 --24 -85 --24 -84 --24 -83 --24 -82 --24 -81 --24 -80 --24 -79 --24 -78 --24 -77 --24 -76 --24 -75 --24 70 --24 71 --24 72 --24 73 --24 74 --24 75 --24 76 --24 77 --24 78 --24 79 --24 80 --24 81 --24 82 --23 -89 --23 -88 --23 -87 --23 -86 --23 -85 --23 -84 --23 -83 --23 -82 --23 -81 --23 -80 --23 -79 --23 -78 --23 -77 --23 -76 --23 -75 --23 65 --23 66 --23 70 --23 71 --23 72 --23 73 --23 74 --23 75 --23 76 --23 77 --23 78 --23 79 --23 80 --23 81 --23 82 --22 -89 --22 -88 --22 -87 --22 -86 --22 -85 --22 -84 --22 -83 --22 -82 --22 -81 --22 -80 --22 -79 --22 -78 --22 -77 --22 -76 --22 -75 --22 64 --22 65 --22 66 --22 71 --22 75 --22 76 --22 77 --22 78 --22 79 --22 80 --22 81 --21 -89 --21 -88 --21 -87 --21 -86 --21 -85 --21 -84 --21 -83 --21 -82 --21 -81 --21 -80 --21 -79 --21 -78 --21 -77 --21 -76 --21 -75 --21 64 --21 65 --21 75 --21 76 --21 77 --21 79 --21 80 --21 81 --20 -89 --20 -88 --20 -87 --20 -86 --20 -85 --20 -84 --20 -83 --20 -82 --20 -81 --20 -80 --20 -79 --20 -78 --20 -77 --20 -76 --20 -75 --20 -74 --20 64 --20 65 --20 66 --20 77 --20 79 --20 80 --19 -89 --19 -88 --19 -87 --19 -86 --19 -85 --19 -84 --19 -83 --19 -82 --19 -81 --19 -80 --19 -79 --19 -78 --19 -77 --19 -76 --19 -75 --19 -74 --19 -73 --19 64 --19 65 --19 66 --19 77 --19 80 --19 81 --18 -89 --18 -88 --18 -87 --18 -86 --18 -85 --18 -84 --18 -83 --18 -82 --18 -81 --18 -80 --18 -79 --18 -78 --18 -77 --18 -76 --18 -75 --18 -74 --18 -73 --18 64 --18 65 --18 66 --18 80 --18 81 --17 -89 --17 -88 --17 -87 --17 -86 --17 -85 --17 -84 --17 -83 --17 -82 --17 -81 --17 -80 --17 -79 --17 -78 --17 -77 --17 -76 --17 -75 --17 -74 --17 -73 --17 15 --17 64 --17 65 --17 66 --17 81 --16 -89 --16 -88 --16 -87 --16 -86 --16 -85 --16 -84 --16 -83 --16 -82 --16 -81 --16 -80 --16 -79 --16 -78 --16 -77 --16 -76 --16 -75 --16 -74 --16 -73 --16 12 --16 13 --16 14 --16 15 --16 16 --16 17 --16 18 --16 19 --16 20 --16 21 --16 22 --16 23 --16 65 --16 66 --16 81 --15 -89 --15 -88 --15 -87 --15 -86 --15 -85 --15 -84 --15 -83 --15 -82 --15 -81 --15 -80 --15 -79 --15 -78 --15 -77 --15 -76 --15 -75 --15 -74 --15 -73 --15 11 --15 12 --15 13 --15 14 --15 15 --15 16 --15 17 --15 18 --15 19 --15 20 --15 21 --15 22 --15 23 --15 24 --15 65 --15 66 --15 81 --14 -89 --14 -88 --14 -87 --14 -86 --14 -85 --14 -84 --14 -83 --14 -82 --14 -81 --14 -80 --14 -79 --14 -78 --14 -77 --14 -76 --14 -75 --14 -74 --14 -73 --14 -72 --14 10 --14 11 --14 12 --14 13 --14 14 --14 15 --14 16 --14 17 --14 18 --14 19 --14 20 --14 21 --14 22 --14 23 --14 24 --14 25 --14 26 --14 65 --13 -89 --13 -88 --13 -87 --13 -86 --13 -85 --13 -84 --13 -83 --13 -82 --13 -81 --13 -80 --13 -79 --13 -78 --13 -77 --13 -76 --13 -75 --13 -74 --13 -73 --13 9 --13 10 --13 11 --13 12 --13 13 --13 14 --13 15 --13 16 --13 17 --13 18 --13 19 --13 20 --13 21 --13 22 --13 23 --13 24 --13 25 --13 26 --13 27 --12 -89 --12 -88 --12 -87 --12 -86 --12 -85 --12 -84 --12 -83 --12 -82 --12 -81 --12 -80 --12 -79 --12 -78 --12 -77 --12 -76 --12 -75 --12 -74 --12 -73 --12 -72 --12 8 --12 9 --12 10 --12 11 --12 12 --12 13 --12 14 --12 15 --12 16 --12 17 --12 18 --12 19 --12 20 --12 21 --12 22 --12 23 --12 24 --12 25 --12 26 --12 27 --12 28 --11 -89 --11 -88 --11 -87 --11 -86 --11 -85 --11 -84 --11 -83 --11 -82 --11 -81 --11 -80 --11 -79 --11 -78 --11 -77 --11 -76 --11 -75 --11 -74 --11 -73 --11 -72 --11 7 --11 8 --11 9 --11 10 --11 11 --11 12 --11 13 --11 14 --11 15 --11 16 --11 17 --11 18 --11 19 --11 20 --11 21 --11 22 --11 23 --11 24 --11 25 --11 26 --11 27 --11 28 --10 -89 --10 -88 --10 -87 --10 -86 --10 -85 --10 -84 --10 -83 --10 -82 --10 -81 --10 -80 --10 -79 --10 -78 --10 -77 --10 -76 --10 -75 --10 -74 --10 -73 --10 -72 --10 -71 --10 6 --10 7 --10 8 --10 9 --10 10 --10 11 --10 12 --10 13 --10 14 --10 15 --10 16 --10 17 --10 18 --10 19 --10 20 --10 21 --10 22 --10 23 --10 24 --10 25 --10 26 --10 27 --10 28 --10 29 --10 52 --10 54 --9 -89 --9 -88 --9 -87 --9 -86 --9 -85 --9 -84 --9 -83 --9 -82 --9 -81 --9 -80 --9 -79 --9 -78 --9 -77 --9 -76 --9 -75 --9 -74 --9 -73 --9 -72 --9 -71 --9 5 --9 6 --9 7 --9 8 --9 9 --9 10 --9 11 --9 12 --9 13 --9 14 --9 15 --9 16 --9 17 --9 18 --9 19 --9 20 --9 21 --9 22 --9 23 --9 24 --9 25 --9 26 --9 27 --9 28 --9 29 --9 30 --9 31 --9 32 --9 39 --9 43 --9 52 --9 53 --9 54 --8 -89 --8 -88 --8 -87 --8 -86 --8 -85 --8 -84 --8 -83 --8 -82 --8 -81 --8 -80 --8 -79 --8 -78 --8 -77 --8 -76 --8 -75 --8 -74 --8 -73 --8 -72 --8 -71 --8 5 --8 6 --8 7 --8 8 --8 9 --8 10 --8 11 --8 12 --8 13 --8 14 --8 15 --8 16 --8 17 --8 18 --8 19 --8 20 --8 21 --8 22 --8 23 --8 24 --8 25 --8 26 --8 27 --8 28 --8 29 --8 30 --8 31 --8 32 --8 33 --8 38 --8 39 --8 40 --8 41 --8 42 --8 43 --8 52 --8 53 --8 54 --8 55 --7 -89 --7 -88 --7 -87 --7 -86 --7 -85 --7 -84 --7 -83 --7 -82 --7 -81 --7 -80 --7 -79 --7 -78 --7 -77 --7 -76 --7 -75 --7 -74 --7 -73 --7 -72 --7 -71 --7 5 --7 6 --7 7 --7 8 --7 9 --7 10 --7 11 --7 12 --7 13 --7 14 --7 15 --7 16 --7 17 --7 18 --7 19 --7 20 --7 21 --7 22 --7 23 --7 24 --7 25 --7 26 --7 27 --7 28 --7 29 --7 30 --7 31 --7 32 --7 33 --7 38 --7 39 --7 40 --7 41 --7 42 --7 43 --7 53 --7 54 --7 55 --7 58 --7 62 --6 -89 --6 -88 --6 -87 --6 -86 --6 -85 --6 -84 --6 -83 --6 -82 --6 -81 --6 -80 --6 -79 --6 -78 --6 -77 --6 -76 --6 -75 --6 -74 --6 -73 --6 -72 --6 -71 --6 5 --6 6 --6 7 --6 8 --6 9 --6 10 --6 11 --6 12 --6 13 --6 14 --6 15 --6 16 --6 17 --6 18 --6 19 --6 20 --6 21 --6 22 --6 23 --6 24 --6 25 --6 26 --6 27 --6 28 --6 29 --6 30 --6 31 --6 32 --6 33 --6 34 --6 35 --6 37 --6 38 --6 39 --6 40 --6 41 --6 42 --6 43 --6 55 --5 -89 --5 -88 --5 -87 --5 -86 --5 -85 --5 -84 --5 -83 --5 -82 --5 -81 --5 -80 --5 -79 --5 -78 --5 -77 --5 -76 --5 -75 --5 -74 --5 -73 --5 -72 --5 -71 --5 6 --5 7 --5 8 --5 9 --5 10 --5 11 --5 12 --5 13 --5 14 --5 15 --5 16 --5 17 --5 18 --5 19 --5 20 --5 21 --5 22 --5 23 --5 24 --5 25 --5 26 --5 27 --5 28 --5 29 --5 30 --5 31 --5 32 --5 33 --5 34 --5 35 --5 37 --5 38 --5 39 --5 40 --5 41 --5 42 --5 43 --5 52 --5 55 --5 56 --5 57 --5 58 --4 -89 --4 -88 --4 -87 --4 -86 --4 -85 --4 -84 --4 -83 --4 -82 --4 -81 --4 -80 --4 -79 --4 -78 --4 -77 --4 -76 --4 -75 --4 -74 --4 -73 --4 -72 --4 -71 --4 6 --4 7 --4 8 --4 9 --4 10 --4 11 --4 12 --4 13 --4 14 --4 15 --4 16 --4 17 --4 18 --4 19 --4 20 --4 21 --4 22 --4 23 --4 24 --4 25 --4 26 --4 27 --4 28 --4 29 --4 30 --4 31 --4 32 --4 33 --4 34 --4 35 --4 37 --4 38 --4 39 --4 40 --4 41 --4 42 --4 43 --4 48 --4 51 --4 52 --4 53 --4 55 --4 56 --4 57 --4 58 --3 -89 --3 -88 --3 -87 --3 -86 --3 -85 --3 -84 --3 -83 --3 -82 --3 -81 --3 -80 --3 -79 --3 -78 --3 -77 --3 -76 --3 -75 --3 -74 --3 -73 --3 -72 --3 -71 --3 6 --3 7 --3 8 --3 9 --3 10 --3 11 --3 12 --3 13 --3 14 --3 15 --3 16 --3 17 --3 18 --3 19 --3 20 --3 21 --3 22 --3 23 --3 24 --3 25 --3 26 --3 27 --3 28 --3 29 --3 30 --3 31 --3 32 --3 33 --3 34 --3 35 --3 37 --3 38 --3 39 --3 40 --3 41 --3 42 --3 43 --3 48 --3 51 --3 52 --3 53 --3 55 --3 57 --3 59 --2 -89 --2 -88 --2 -87 --2 -86 --2 -85 --2 -84 --2 -83 --2 -82 --2 -81 --2 -80 --2 -79 --2 -78 --2 -77 --2 -76 --2 -75 --2 -74 --2 -73 --2 -72 --2 -71 --2 -70 --2 5 --2 6 --2 7 --2 8 --2 9 --2 10 --2 11 --2 12 --2 13 --2 14 --2 15 --2 16 --2 17 --2 18 --2 19 --2 20 --2 21 --2 22 --2 23 --2 24 --2 25 --2 26 --2 27 --2 28 --2 29 --2 30 --2 31 --2 32 --2 33 --2 34 --2 35 --2 37 --2 38 --2 39 --2 40 --2 41 --2 42 --2 43 --2 47 --2 48 --2 51 --2 52 --2 53 --2 54 --2 55 --1 -89 --1 -88 --1 -87 --1 -86 --1 -85 --1 -84 --1 -83 --1 -82 --1 -81 --1 -80 --1 -79 --1 -78 --1 -77 --1 -76 --1 -75 --1 -74 --1 -73 --1 -72 --1 -71 --1 -70 --1 -69 --1 6 --1 7 --1 8 --1 9 --1 10 --1 11 --1 12 --1 13 --1 14 --1 15 --1 16 --1 17 --1 18 --1 19 --1 20 --1 21 --1 22 --1 23 --1 24 --1 25 --1 26 --1 27 --1 28 --1 29 --1 30 --1 31 --1 32 --1 33 --1 34 --1 35 --1 38 --1 39 --1 40 --1 41 --1 42 --1 43 --1 44 --1 45 --1 46 --1 47 --1 48 --1 49 --1 51 --1 52 --1 53 --1 54 -0 -89 -0 -88 -0 -87 -0 -86 -0 -85 -0 -84 -0 -83 -0 -82 -0 -81 -0 -80 -0 -79 -0 -78 -0 -77 -0 -76 -0 -75 -0 -74 -0 -73 -0 -72 -0 -71 -0 -70 -0 -69 -0 6 -0 7 -0 8 -0 9 -0 10 -0 11 -0 12 -0 13 -0 14 -0 15 -0 16 -0 17 -0 18 -0 19 -0 20 -0 25 -0 26 -0 27 -0 28 -0 29 -0 30 -0 31 -0 32 -0 33 -0 34 -0 35 -0 40 -0 41 -0 42 -0 43 -0 44 -0 45 -0 46 -0 47 -0 48 -0 49 -0 51 -0 52 -0 53 -1 -89 -1 -88 -1 -87 -1 -86 -1 -85 -1 -84 -1 -83 -1 -82 -1 -81 -1 -80 -1 -79 -1 -78 -1 -77 -1 -76 -1 -75 -1 -74 -1 -73 -1 -72 -1 -71 -1 -70 -1 6 -1 7 -1 8 -1 9 -1 10 -1 11 -1 12 -1 13 -1 14 -1 15 -1 16 -1 17 -1 18 -1 19 -1 20 -1 21 -1 22 -1 23 -1 24 -1 25 -1 26 -1 27 -1 28 -1 29 -1 30 -1 31 -1 32 -1 33 -1 34 -1 35 -1 36 -1 42 -1 43 -1 44 -1 45 -1 46 -1 47 -1 48 -1 49 -1 52 -2 -89 -2 -88 -2 -87 -2 -86 -2 -85 -2 -84 -2 -83 -2 -82 -2 -81 -2 -80 -2 -79 -2 -78 -2 -77 -2 -76 -2 -75 -2 -74 -2 -73 -2 -72 -2 -71 -2 -70 -2 7 -2 8 -2 9 -2 10 -2 11 -2 12 -2 13 -2 14 -2 15 -2 16 -2 17 -2 18 -2 19 -2 20 -2 21 -2 22 -2 23 -2 24 -2 25 -2 26 -2 27 -2 28 -2 29 -2 30 -2 31 -2 32 -2 33 -2 34 -2 35 -2 36 -2 42 -2 43 -2 44 -2 45 -2 46 -2 47 -2 48 -2 49 -2 50 -3 -89 -3 -88 -3 -87 -3 -86 -3 -85 -3 -84 -3 -83 -3 -82 -3 -81 -3 -80 -3 -79 -3 -78 -3 -77 -3 -76 -3 -75 -3 -74 -3 -73 -3 -72 -3 -71 -3 7 -3 8 -3 9 -3 10 -3 11 -3 12 -3 13 -3 14 -3 15 -3 16 -3 17 -3 18 -3 19 -3 20 -3 21 -3 22 -3 23 -3 24 -3 25 -3 26 -3 27 -3 28 -3 29 -3 30 -3 31 -3 32 -3 33 -3 34 -3 35 -3 36 -3 42 -3 43 -3 44 -3 45 -3 46 -3 47 -3 48 -3 49 -3 50 -3 51 -4 -89 -4 -88 -4 -87 -4 -86 -4 -85 -4 -84 -4 -83 -4 -82 -4 -81 -4 -80 -4 -79 -4 -78 -4 -77 -4 -76 -4 -75 -4 -74 -4 -73 -4 -72 -4 -71 -4 7 -4 8 -4 9 -4 10 -4 11 -4 12 -4 13 -4 14 -4 15 -4 16 -4 17 -4 18 -4 19 -4 20 -4 21 -4 22 -4 23 -4 24 -4 25 -4 26 -4 27 -4 28 -4 29 -4 30 -4 31 -4 32 -4 33 -4 34 -4 35 -4 36 -4 40 -4 44 -4 45 -4 46 -4 47 -4 48 -4 49 -4 50 -4 51 -5 -89 -5 -88 -5 -87 -5 -86 -5 -85 -5 -84 -5 -83 -5 -82 -5 -81 -5 -80 -5 -79 -5 -78 -5 -77 -5 -76 -5 -75 -5 -74 -5 -73 -5 -72 -5 -71 -5 6 -5 7 -5 8 -5 9 -5 10 -5 11 -5 12 -5 13 -5 14 -5 15 -5 16 -5 17 -5 18 -5 19 -5 20 -5 21 -5 22 -5 23 -5 24 -5 25 -5 26 -5 27 -5 28 -5 29 -5 30 -5 31 -5 32 -5 33 -5 34 -5 35 -5 36 -5 44 -5 45 -5 46 -5 47 -5 48 -5 49 -5 50 -5 51 -5 52 -5 61 -5 62 -6 -89 -6 -88 -6 -87 -6 -86 -6 -85 -6 -84 -6 -83 -6 -82 -6 -81 -6 -80 -6 -79 -6 -78 -6 -77 -6 -76 -6 -75 -6 -74 -6 -73 -6 -72 -6 -71 -6 5 -6 6 -6 7 -6 8 -6 9 -6 10 -6 11 -6 12 -6 13 -6 14 -6 15 -6 16 -6 17 -6 18 -6 19 -6 20 -6 21 -6 22 -6 23 -6 24 -6 25 -6 26 -6 27 -6 28 -6 29 -6 30 -6 31 -6 32 -6 33 -6 34 -6 35 -6 36 -6 44 -6 45 -6 46 -6 47 -6 48 -6 49 -6 50 -6 51 -6 52 -6 53 -6 60 -6 61 -6 62 -7 -89 -7 -88 -7 -87 -7 -86 -7 -85 -7 -84 -7 -83 -7 -82 -7 -81 -7 -80 -7 -79 -7 -78 -7 -77 -7 -76 -7 -75 -7 -74 -7 -73 -7 -72 -7 -71 -7 5 -7 6 -7 7 -7 8 -7 9 -7 10 -7 11 -7 12 -7 13 -7 14 -7 15 -7 16 -7 17 -7 18 -7 19 -7 20 -7 21 -7 22 -7 23 -7 24 -7 25 -7 26 -7 27 -7 28 -7 29 -7 30 -7 31 -7 32 -7 33 -7 34 -7 35 -7 36 -7 44 -7 45 -7 46 -7 48 -7 49 -7 50 -7 51 -7 52 -7 53 -7 59 -7 60 -7 61 -7 62 -8 -89 -8 -88 -8 -87 -8 -86 -8 -85 -8 -84 -8 -83 -8 -82 -8 -81 -8 -80 -8 -79 -8 -78 -8 -77 -8 -76 -8 -75 -8 -74 -8 -73 -8 -72 -8 -71 -8 -70 -8 5 -8 6 -8 7 -8 8 -8 9 -8 10 -8 11 -8 12 -8 13 -8 14 -8 15 -8 16 -8 17 -8 18 -8 19 -8 20 -8 21 -8 22 -8 23 -8 24 -8 25 -8 26 -8 27 -8 28 -8 29 -8 30 -8 31 -8 32 -8 33 -8 34 -8 35 -8 36 -8 44 -8 45 -8 46 -8 47 -8 48 -8 49 -8 50 -8 51 -8 52 -8 53 -8 59 -8 60 -8 61 -8 62 -8 63 -9 -89 -9 -88 -9 -87 -9 -86 -9 -85 -9 -84 -9 -83 -9 -82 -9 -81 -9 -80 -9 -79 -9 -78 -9 -77 -9 -76 -9 -75 -9 -74 -9 -73 -9 -72 -9 -71 -9 -70 -9 -1 -9 5 -9 6 -9 7 -9 8 -9 9 -9 10 -9 11 -9 12 -9 13 -9 14 -9 15 -9 16 -9 17 -9 18 -9 19 -9 20 -9 21 -9 22 -9 23 -9 24 -9 25 -9 26 -9 27 -9 28 -9 29 -9 30 -9 31 -9 32 -9 33 -9 34 -9 35 -9 36 -9 37 -9 39 -9 40 -9 41 -9 42 -9 45 -9 47 -9 48 -9 49 -9 50 -9 51 -9 52 -9 53 -9 54 -9 55 -9 56 -9 59 -9 60 -9 61 -9 62 -9 63 -10 -89 -10 -88 -10 -87 -10 -86 -10 -85 -10 -84 -10 -83 -10 -82 -10 -81 -10 -80 -10 -79 -10 -78 -10 -77 -10 -76 -10 -75 -10 -74 -10 -73 -10 -72 -10 -71 -10 -70 -10 -2 -10 -1 -10 0 -10 1 -10 2 -10 3 -10 4 -10 5 -10 6 -10 7 -10 8 -10 9 -10 10 -10 11 -10 12 -10 13 -10 14 -10 15 -10 16 -10 17 -10 18 -10 19 -10 20 -10 21 -10 22 -10 23 -10 24 -10 25 -10 26 -10 27 -10 28 -10 29 -10 30 -10 31 -10 32 -10 33 -10 34 -10 35 -10 36 -10 37 -10 45 -10 46 -10 47 -10 48 -10 49 -10 50 -10 51 -10 52 -10 53 -10 54 -10 56 -10 57 -10 59 -10 60 -10 61 -10 62 -10 63 -11 -89 -11 -88 -11 -87 -11 -86 -11 -85 -11 -84 -11 -83 -11 -82 -11 -81 -11 -80 -11 -79 -11 -78 -11 -77 -11 -76 -11 -75 -11 -74 -11 -73 -11 -72 -11 -71 -11 -70 -11 -3 -11 -2 -11 -1 -11 0 -11 1 -11 2 -11 3 -11 4 -11 5 -11 6 -11 7 -11 8 -11 9 -11 10 -11 11 -11 12 -11 13 -11 14 -11 15 -11 16 -11 17 -11 18 -11 19 -11 20 -11 21 -11 22 -11 23 -11 24 -11 25 -11 26 -11 27 -11 28 -11 29 -11 30 -11 31 -11 32 -11 33 -11 37 -11 43 -11 44 -11 45 -11 46 -11 47 -11 48 -11 49 -11 50 -11 51 -11 52 -11 53 -11 60 -11 61 -11 62 -11 63 -11 64 -12 -89 -12 -88 -12 -87 -12 -86 -12 -85 -12 -84 -12 -83 -12 -82 -12 -81 -12 -80 -12 -79 -12 -78 -12 -77 -12 -76 -12 -75 -12 -74 -12 -73 -12 -72 -12 -71 -12 -70 -12 -18 -12 -17 -12 -16 -12 -5 -12 -4 -12 -3 -12 -2 -12 -1 -12 0 -12 1 -12 2 -12 3 -12 4 -12 5 -12 6 -12 7 -12 8 -12 9 -12 10 -12 11 -12 12 -12 13 -12 14 -12 15 -12 16 -12 17 -12 18 -12 19 -12 20 -12 21 -12 22 -12 23 -12 24 -12 25 -12 26 -12 27 -12 28 -12 29 -12 30 -12 31 -12 32 -12 42 -12 43 -12 44 -12 45 -12 46 -12 47 -12 48 -12 49 -12 50 -12 51 -12 52 -12 53 -12 54 -12 55 -12 56 -12 58 -12 59 -12 60 -12 61 -12 62 -12 63 -12 64 -12 65 -13 -89 -13 -88 -13 -87 -13 -86 -13 -85 -13 -84 -13 -83 -13 -82 -13 -81 -13 -80 -13 -79 -13 -78 -13 -77 -13 -76 -13 -75 -13 -74 -13 -73 -13 -72 -13 -71 -13 -70 -13 -19 -13 -18 -13 -17 -13 -16 -13 -15 -13 -14 -13 -13 -13 -7 -13 -6 -13 -5 -13 -4 -13 -3 -13 -2 -13 -1 -13 0 -13 1 -13 2 -13 3 -13 4 -13 5 -13 6 -13 7 -13 8 -13 9 -13 10 -13 11 -13 12 -13 13 -13 14 -13 15 -13 16 -13 17 -13 18 -13 19 -13 20 -13 21 -13 22 -13 23 -13 24 -13 25 -13 26 -13 27 -13 28 -13 29 -13 30 -13 31 -13 32 -13 38 -13 42 -13 43 -13 46 -13 47 -13 48 -13 49 -13 50 -13 51 -13 52 -13 53 -13 54 -13 56 -13 57 -13 58 -13 60 -13 61 -13 62 -13 63 -13 64 -13 65 -13 66 -13 68 -13 79 -14 -89 -14 -88 -14 -87 -14 -86 -14 -85 -14 -84 -14 -83 -14 -82 -14 -81 -14 -80 -14 -79 -14 -78 -14 -77 -14 -76 -14 -75 -14 -74 -14 -73 -14 -72 -14 -71 -14 -70 -14 -21 -14 -20 -14 -19 -14 -18 -14 -17 -14 -16 -14 -15 -14 -14 -14 -13 -14 -12 -14 -11 -14 -10 -14 -9 -14 -8 -14 -7 -14 -6 -14 -5 -14 -4 -14 -3 -14 -2 -14 -1 -14 0 -14 1 -14 2 -14 3 -14 4 -14 5 -14 6 -14 7 -14 8 -14 9 -14 10 -14 11 -14 12 -14 14 -14 15 -14 16 -14 17 -14 18 -14 19 -14 20 -14 21 -14 22 -14 23 -14 24 -14 25 -14 26 -14 27 -14 28 -14 29 -14 30 -14 31 -14 32 -14 38 -14 41 -14 42 -14 45 -14 46 -14 47 -14 48 -14 49 -14 50 -14 51 -14 52 -14 53 -14 56 -14 57 -14 58 -14 59 -14 60 -14 61 -14 62 -14 63 -14 64 -14 65 -14 66 -14 78 -14 79 -15 -89 -15 -88 -15 -87 -15 -86 -15 -85 -15 -84 -15 -83 -15 -82 -15 -81 -15 -80 -15 -79 -15 -78 -15 -77 -15 -76 -15 -75 -15 -74 -15 -73 -15 -72 -15 -71 -15 -70 -15 -26 -15 -25 -15 -24 -15 -23 -15 -22 -15 -21 -15 -20 -15 -19 -15 -18 -15 -17 -15 -16 -15 -15 -15 -14 -15 -13 -15 -12 -15 -11 -15 -10 -15 -9 -15 -8 -15 -7 -15 -6 -15 -5 -15 -4 -15 -3 -15 -2 -15 -1 -15 0 -15 1 -15 2 -15 3 -15 4 -15 5 -15 6 -15 7 -15 8 -15 9 -15 10 -15 11 -15 12 -15 14 -15 15 -15 16 -15 17 -15 18 -15 19 -15 20 -15 21 -15 22 -15 23 -15 24 -15 25 -15 26 -15 27 -15 28 -15 29 -15 30 -15 31 -15 32 -15 37 -15 38 -15 41 -15 42 -15 45 -15 50 -15 51 -15 52 -15 53 -15 54 -15 55 -15 57 -15 58 -15 59 -15 60 -15 61 -15 62 -15 63 -15 64 -15 65 -15 66 -15 67 -15 78 -15 79 -16 -89 -16 -88 -16 -87 -16 -86 -16 -85 -16 -84 -16 -83 -16 -82 -16 -81 -16 -80 -16 -79 -16 -78 -16 -77 -16 -76 -16 -75 -16 -74 -16 -73 -16 -72 -16 -71 -16 -70 -16 -28 -16 -27 -16 -26 -16 -25 -16 -24 -16 -23 -16 -22 -16 -21 -16 -20 -16 -19 -16 -18 -16 -17 -16 -16 -16 -15 -16 -14 -16 -13 -16 -12 -16 -11 -16 -10 -16 -9 -16 -8 -16 -7 -16 -6 -16 -5 -16 -4 -16 -3 -16 -2 -16 -1 -16 0 -16 1 -16 2 -16 3 -16 4 -16 5 -16 6 -16 7 -16 8 -16 9 -16 10 -16 11 -16 12 -16 13 -16 14 -16 15 -16 16 -16 17 -16 18 -16 19 -16 20 -16 21 -16 22 -16 23 -16 24 -16 25 -16 26 -16 27 -16 28 -16 29 -16 30 -16 31 -16 38 -16 40 -16 41 -16 44 -16 45 -16 46 -16 47 -16 48 -16 49 -16 50 -16 51 -16 52 -16 53 -16 54 -16 57 -16 58 -16 59 -16 60 -16 61 -16 62 -16 63 -16 64 -16 65 -16 66 -16 67 -16 68 -16 78 -16 79 -17 -89 -17 -88 -17 -87 -17 -86 -17 -85 -17 -84 -17 -83 -17 -82 -17 -81 -17 -80 -17 -79 -17 -78 -17 -77 -17 -76 -17 -75 -17 -74 -17 -73 -17 -72 -17 -71 -17 -70 -17 -29 -17 -28 -17 -27 -17 -26 -17 -25 -17 -24 -17 -23 -17 -22 -17 -21 -17 -20 -17 -19 -17 -18 -17 -17 -17 -16 -17 -15 -17 -14 -17 -13 -17 -12 -17 -11 -17 -10 -17 -9 -17 -8 -17 -7 -17 -6 -17 -5 -17 -4 -17 -3 -17 -2 -17 -1 -17 0 -17 1 -17 2 -17 3 -17 4 -17 5 -17 6 -17 7 -17 8 -17 9 -17 10 -17 11 -17 12 -17 13 -17 14 -17 15 -17 16 -17 17 -17 18 -17 19 -17 20 -17 21 -17 22 -17 23 -17 24 -17 25 -17 26 -17 27 -17 28 -17 29 -17 30 -17 31 -17 39 -17 41 -17 44 -17 45 -17 46 -17 47 -17 48 -17 49 -17 50 -17 51 -17 52 -17 53 -17 54 -17 59 -17 60 -17 61 -17 62 -17 63 -17 64 -17 65 -17 66 -17 67 -17 68 -17 77 -17 78 -17 79 -18 -89 -18 -88 -18 -87 -18 -86 -18 -85 -18 -84 -18 -83 -18 -82 -18 -81 -18 -80 -18 -79 -18 -78 -18 -77 -18 -76 -18 -75 -18 -74 -18 -73 -18 -72 -18 -71 -18 -70 -18 -31 -18 -30 -18 -29 -18 -28 -18 -27 -18 -26 -18 -25 -18 -24 -18 -23 -18 -22 -18 -21 -18 -20 -18 -19 -18 -18 -18 -17 -18 -16 -18 -15 -18 -14 -18 -13 -18 -12 -18 -11 -18 -10 -18 -9 -18 -8 -18 -7 -18 -6 -18 -5 -18 -4 -18 -3 -18 -2 -18 -1 -18 0 -18 1 -18 2 -18 3 -18 4 -18 5 -18 6 -18 7 -18 8 -18 9 -18 10 -18 11 -18 12 -18 13 -18 14 -18 15 -18 16 -18 17 -18 18 -18 19 -18 20 -18 21 -18 22 -18 23 -18 24 -18 25 -18 26 -18 27 -18 28 -18 29 -18 30 -18 40 -18 43 -18 44 -18 45 -18 46 -18 47 -18 48 -18 49 -18 50 -18 51 -18 52 -18 53 -18 54 -18 59 -18 60 -18 63 -18 64 -18 65 -18 66 -18 67 -18 68 -18 69 -18 78 -18 79 -19 -89 -19 -88 -19 -87 -19 -86 -19 -85 -19 -84 -19 -83 -19 -82 -19 -81 -19 -80 -19 -79 -19 -78 -19 -77 -19 -76 -19 -75 -19 -74 -19 -73 -19 -72 -19 -71 -19 -70 -19 -34 -19 -33 -19 -32 -19 -31 -19 -30 -19 -29 -19 -28 -19 -27 -19 -26 -19 -25 -19 -24 -19 -23 -19 -22 -19 -21 -19 -20 -19 -19 -19 -18 -19 -17 -19 -16 -19 -15 -19 -14 -19 -13 -19 -12 -19 -11 -19 -10 -19 -9 -19 -8 -19 -7 -19 -6 -19 -5 -19 -4 -19 -3 -19 -2 -19 -1 -19 0 -19 1 -19 2 -19 3 -19 4 -19 5 -19 6 -19 7 -19 8 -19 9 -19 10 -19 11 -19 12 -19 13 -19 14 -19 15 -19 16 -19 17 -19 18 -19 19 -19 20 -19 21 -19 22 -19 23 -19 24 -19 25 -19 26 -19 27 -19 28 -19 29 -19 30 -19 43 -19 44 -19 45 -19 46 -19 47 -19 48 -19 49 -19 50 -19 51 -19 52 -19 53 -19 54 -19 64 -19 65 -19 66 -19 67 -19 68 -19 69 -19 70 -19 79 -19 80 -20 -89 -20 -88 -20 -87 -20 -86 -20 -85 -20 -84 -20 -83 -20 -82 -20 -81 -20 -80 -20 -79 -20 -78 -20 -77 -20 -76 -20 -75 -20 -74 -20 -73 -20 -72 -20 -71 -20 -70 -20 -34 -20 -33 -20 -32 -20 -31 -20 -30 -20 -29 -20 -28 -20 -27 -20 -26 -20 -25 -20 -20 -20 -19 -20 -18 -20 -17 -20 -16 -20 -15 -20 -14 -20 -13 -20 -12 -20 -11 -20 -10 -20 -9 -20 -8 -20 -7 -20 -6 -20 -5 -20 -4 -20 -3 -20 -2 -20 -1 -20 0 -20 1 -20 2 -20 3 -20 4 -20 5 -20 6 -20 7 -20 8 -20 9 -20 10 -20 11 -20 12 -20 13 -20 14 -20 15 -20 16 -20 17 -20 18 -20 19 -20 20 -20 21 -20 22 -20 23 -20 24 -20 25 -20 30 -20 32 -20 40 -20 41 -20 42 -20 43 -20 44 -20 45 -20 50 -20 51 -20 52 -20 53 -20 54 -20 64 -20 65 -20 66 -20 67 -20 68 -20 69 -20 80 -21 -89 -21 -88 -21 -87 -21 -86 -21 -85 -21 -84 -21 -83 -21 -82 -21 -81 -21 -80 -21 -79 -21 -78 -21 -77 -21 -76 -21 -75 -21 -74 -21 -73 -21 -72 -21 -71 -21 -70 -21 -34 -21 -33 -21 -32 -21 -31 -21 -30 -21 -29 -21 -28 -21 -27 -21 -26 -21 -25 -21 -24 -21 -23 -21 -22 -21 -21 -21 -20 -21 -19 -21 -18 -21 -17 -21 -16 -21 -15 -21 -14 -21 -13 -21 -12 -21 -11 -21 -10 -21 -9 -21 -8 -21 -7 -21 -6 -21 -5 -21 -4 -21 -3 -21 -2 -21 -1 -21 0 -21 1 -21 2 -21 3 -21 4 -21 5 -21 6 -21 7 -21 8 -21 9 -21 10 -21 11 -21 12 -21 13 -21 14 -21 15 -21 16 -21 17 -21 18 -21 19 -21 20 -21 21 -21 22 -21 23 -21 24 -21 25 -21 26 -21 27 -21 28 -21 29 -21 30 -21 31 -21 32 -21 40 -21 42 -21 43 -21 44 -21 45 -21 46 -21 47 -21 48 -21 49 -21 50 -21 51 -21 52 -21 53 -21 54 -21 65 -21 66 -21 67 -21 68 -21 69 -21 80 -22 -89 -22 -88 -22 -87 -22 -86 -22 -85 -22 -84 -22 -83 -22 -82 -22 -81 -22 -80 -22 -79 -22 -78 -22 -77 -22 -76 -22 -75 -22 -74 -22 -73 -22 -72 -22 -71 -22 -34 -22 -33 -22 -32 -22 -31 -22 -30 -22 -29 -22 -28 -22 -27 -22 -26 -22 -25 -22 -24 -22 -23 -22 -22 -22 -21 -22 -20 -22 -19 -22 -18 -22 -17 -22 -16 -22 -15 -22 -14 -22 -13 -22 -12 -22 -11 -22 -10 -22 -9 -22 -8 -22 -7 -22 -6 -22 -5 -22 -4 -22 -3 -22 -2 -22 -1 -22 0 -22 1 -22 2 -22 3 -22 4 -22 5 -22 6 -22 7 -22 8 -22 9 -22 10 -22 11 -22 12 -22 13 -22 14 -22 15 -22 16 -22 17 -22 18 -22 19 -22 20 -22 21 -22 22 -22 23 -22 24 -22 25 -22 26 -22 27 -22 28 -22 29 -22 30 -22 31 -22 32 -22 38 -22 39 -22 40 -22 41 -22 42 -22 43 -22 44 -22 45 -22 46 -22 47 -22 48 -22 49 -22 50 -22 51 -22 52 -22 53 -22 54 -22 55 -22 56 -22 57 -22 61 -22 62 -22 63 -22 66 -22 67 -22 68 -22 69 -22 78 -22 80 -23 -89 -23 -88 -23 -87 -23 -86 -23 -85 -23 -84 -23 -83 -23 -82 -23 -81 -23 -80 -23 -79 -23 -78 -23 -77 -23 -76 -23 -75 -23 -74 -23 -73 -23 -72 -23 -71 -23 -34 -23 -33 -23 -32 -23 -31 -23 -30 -23 -29 -23 -28 -23 -27 -23 -26 -23 -25 -23 -24 -23 -23 -23 -22 -23 -21 -23 -20 -23 -19 -23 -18 -23 -17 -23 -16 -23 -15 -23 -14 -23 -13 -23 -12 -23 -11 -23 -10 -23 -9 -23 -8 -23 -7 -23 -6 -23 -5 -23 -4 -23 -3 -23 -2 -23 -1 -23 0 -23 1 -23 2 -23 3 -23 4 -23 5 -23 6 -23 7 -23 8 -23 9 -23 10 -23 11 -23 12 -23 13 -23 14 -23 15 -23 16 -23 17 -23 18 -23 19 -23 20 -23 21 -23 22 -23 23 -23 24 -23 25 -23 26 -23 27 -23 28 -23 29 -23 30 -23 31 -23 32 -23 37 -23 38 -23 39 -23 41 -23 42 -23 43 -23 44 -23 45 -23 46 -23 47 -23 48 -23 49 -23 50 -23 51 -23 52 -23 53 -23 54 -23 55 -23 56 -23 57 -23 61 -23 62 -23 63 -23 66 -23 67 -23 68 -23 69 -23 70 -23 78 -23 80 -24 -89 -24 -88 -24 -87 -24 -86 -24 -85 -24 -84 -24 -83 -24 -82 -24 -81 -24 -80 -24 -79 -24 -78 -24 -77 -24 -76 -24 -75 -24 -74 -24 -73 -24 -72 -24 -71 -24 -34 -24 -33 -24 -32 -24 -31 -24 -30 -24 -29 -24 -28 -24 -27 -24 -26 -24 -25 -24 -24 -24 -23 -24 -22 -24 -21 -24 -20 -24 -19 -24 -18 -24 -17 -24 -16 -24 -15 -24 -14 -24 -13 -24 -12 -24 -11 -24 -10 -24 -9 -24 -8 -24 -7 -24 -6 -24 -5 -24 -4 -24 -3 -24 -2 -24 -1 -24 0 -24 1 -24 2 -24 3 -24 4 -24 5 -24 6 -24 7 -24 8 -24 9 -24 10 -24 11 -24 12 -24 13 -24 14 -24 15 -24 16 -24 17 -24 18 -24 19 -24 20 -24 21 -24 22 -24 23 -24 24 -24 25 -24 26 -24 27 -24 28 -24 29 -24 30 -24 31 -24 32 -24 38 -24 41 -24 42 -24 43 -24 44 -24 45 -24 46 -24 47 -24 48 -24 49 -24 50 -24 51 -24 52 -24 53 -24 54 -24 55 -24 56 -24 57 -24 59 -24 61 -24 62 -24 63 -24 64 -24 66 -24 67 -24 68 -24 69 -24 70 -24 71 -24 80 -25 -89 -25 -88 -25 -87 -25 -86 -25 -85 -25 -84 -25 -83 -25 -82 -25 -81 -25 -80 -25 -79 -25 -78 -25 -77 -25 -76 -25 -75 -25 -74 -25 -73 -25 -72 -25 -71 -25 -33 -25 -32 -25 -31 -25 -30 -25 -25 -25 -24 -25 -23 -25 -22 -25 -21 -25 -20 -25 -15 -25 -14 -25 -13 -25 -12 -25 -11 -25 -10 -25 -9 -25 -8 -25 -7 -25 -6 -25 -5 -25 -4 -25 -3 -25 -2 -25 -1 -25 0 -25 1 -25 2 -25 3 -25 4 -25 5 -25 6 -25 7 -25 8 -25 9 -25 10 -25 11 -25 12 -25 13 -25 14 -25 15 -25 16 -25 17 -25 18 -25 19 -25 20 -25 21 -25 22 -25 23 -25 24 -25 25 -25 26 -25 27 -25 28 -25 29 -25 30 -25 31 -25 35 -25 41 -25 42 -25 43 -25 44 -25 45 -25 46 -25 47 -25 48 -25 49 -25 50 -25 51 -25 52 -25 53 -25 54 -25 55 -25 56 -25 57 -25 58 -25 59 -25 61 -25 62 -25 63 -25 64 -25 66 -25 67 -25 68 -25 69 -25 70 -25 71 -25 80 -26 -89 -26 -88 -26 -87 -26 -86 -26 -85 -26 -84 -26 -83 -26 -82 -26 -81 -26 -80 -26 -79 -26 -78 -26 -77 -26 -76 -26 -75 -26 -74 -26 -73 -26 -72 -26 -71 -26 -33 -26 -32 -26 -31 -26 -30 -26 -29 -26 -28 -26 -27 -26 -26 -26 -25 -26 -24 -26 -23 -26 -22 -26 -21 -26 -20 -26 -19 -26 -18 -26 -17 -26 -16 -26 -15 -26 -14 -26 -13 -26 -12 -26 -11 -26 -10 -26 -9 -26 -8 -26 -7 -26 -6 -26 -5 -26 -4 -26 -3 -26 -2 -26 -1 -26 0 -26 1 -26 2 -26 3 -26 4 -26 5 -26 6 -26 7 -26 8 -26 9 -26 10 -26 11 -26 12 -26 13 -26 14 -26 15 -26 16 -26 17 -26 18 -26 19 -26 20 -26 21 -26 22 -26 23 -26 24 -26 25 -26 26 -26 27 -26 28 -26 29 -26 30 -26 31 -26 41 -26 42 -26 43 -26 44 -26 45 -26 46 -26 47 -26 48 -26 49 -26 50 -26 51 -26 52 -26 53 -26 54 -26 55 -26 56 -26 57 -26 58 -26 59 -26 61 -26 62 -26 64 -26 65 -26 66 -26 67 -26 68 -26 69 -26 70 -26 71 -26 80 -27 -89 -27 -88 -27 -87 -27 -86 -27 -85 -27 -84 -27 -83 -27 -82 -27 -81 -27 -80 -27 -79 -27 -78 -27 -77 -27 -76 -27 -75 -27 -74 -27 -73 -27 -72 -27 -71 -27 -70 -27 -33 -27 -32 -27 -31 -27 -30 -27 -29 -27 -28 -27 -27 -27 -26 -27 -25 -27 -24 -27 -23 -27 -22 -27 -21 -27 -20 -27 -19 -27 -18 -27 -17 -27 -16 -27 -15 -27 -14 -27 -13 -27 -12 -27 -10 -27 -9 -27 -8 -27 -7 -27 -6 -27 -5 -27 -4 -27 -3 -27 -2 -27 -1 -27 0 -27 1 -27 2 -27 3 -27 4 -27 5 -27 6 -27 7 -27 8 -27 9 -27 10 -27 11 -27 12 -27 13 -27 14 -27 15 -27 16 -27 17 -27 18 -27 19 -27 20 -27 21 -27 22 -27 23 -27 24 -27 25 -27 26 -27 27 -27 28 -27 29 -27 30 -27 31 -27 37 -27 39 -27 40 -27 41 -27 42 -27 43 -27 44 -27 45 -27 46 -27 47 -27 48 -27 49 -27 50 -27 51 -27 52 -27 53 -27 54 -27 55 -27 56 -27 57 -27 58 -27 59 -27 61 -27 62 -27 63 -27 64 -27 65 -27 66 -27 67 -27 68 -27 70 -27 80 -28 -89 -28 -88 -28 -87 -28 -86 -28 -85 -28 -84 -28 -83 -28 -82 -28 -81 -28 -80 -28 -79 -28 -78 -28 -77 -28 -76 -28 -75 -28 -74 -28 -73 -28 -72 -28 -71 -28 -70 -28 -32 -28 -31 -28 -30 -28 -29 -28 -28 -28 -27 -28 -26 -28 -25 -28 -24 -28 -23 -28 -22 -28 -21 -28 -20 -28 -19 -28 -18 -28 -16 -28 -15 -28 -14 -28 -13 -28 -12 -28 -11 -28 -10 -28 -9 -28 -8 -28 -7 -28 -6 -28 -5 -28 -4 -28 -3 -28 -2 -28 -1 -28 0 -28 1 -28 2 -28 3 -28 4 -28 5 -28 6 -28 7 -28 8 -28 9 -28 10 -28 11 -28 12 -28 13 -28 14 -28 15 -28 16 -28 17 -28 18 -28 19 -28 20 -28 21 -28 22 -28 23 -28 24 -28 25 -28 26 -28 27 -28 28 -28 29 -28 30 -28 31 -28 38 -28 39 -28 40 -28 42 -28 44 -28 45 -28 46 -28 47 -28 48 -28 49 -28 50 -28 51 -28 52 -28 53 -28 54 -28 55 -28 56 -28 57 -28 59 -28 61 -28 62 -28 64 -28 65 -28 66 -28 67 -28 70 -28 71 -29 -89 -29 -88 -29 -87 -29 -86 -29 -85 -29 -84 -29 -83 -29 -82 -29 -81 -29 -80 -29 -79 -29 -78 -29 -77 -29 -76 -29 -75 -29 -74 -29 -73 -29 -72 -29 -71 -29 -70 -29 -32 -29 -31 -29 -30 -29 -29 -29 -28 -29 -27 -29 -26 -29 -25 -29 -24 -29 -23 -29 -22 -29 -21 -29 -20 -29 -19 -29 -18 -29 -17 -29 -16 -29 -15 -29 -14 -29 -13 -29 -12 -29 -11 -29 -10 -29 -9 -29 -8 -29 -7 -29 -6 -29 -5 -29 -4 -29 -3 -29 -1 -29 0 -29 1 -29 2 -29 3 -29 4 -29 5 -29 6 -29 7 -29 8 -29 9 -29 10 -29 11 -29 12 -29 13 -29 14 -29 15 -29 16 -29 17 -29 18 -29 19 -29 20 -29 21 -29 22 -29 23 -29 24 -29 25 -29 26 -29 27 -29 28 -29 29 -29 30 -29 37 -29 38 -29 39 -29 40 -29 46 -29 47 -29 48 -29 49 -29 50 -29 51 -29 52 -29 53 -29 54 -29 55 -29 56 -29 57 -29 58 -29 59 -29 61 -29 62 -29 63 -29 64 -29 65 -29 66 -29 67 -29 68 -29 69 -29 70 -30 -89 -30 -88 -30 -87 -30 -86 -30 -85 -30 -84 -30 -83 -30 -82 -30 -81 -30 -80 -30 -79 -30 -78 -30 -77 -30 -76 -30 -75 -30 -74 -30 -73 -30 -72 -30 -71 -30 -70 -30 -31 -30 -30 -30 -29 -30 -28 -30 -27 -30 -26 -30 -25 -30 -24 -30 -23 -30 -22 -30 -21 -30 -20 -30 -19 -30 -18 -30 -17 -30 -16 -30 -15 -30 -14 -30 -13 -30 -12 -30 -10 -30 -9 -30 -8 -30 -6 -30 -5 -30 -4 -30 -3 -30 -2 -30 -1 -30 0 -30 1 -30 2 -30 3 -30 4 -30 5 -30 6 -30 7 -30 8 -30 9 -30 10 -30 15 -30 16 -30 17 -30 18 -30 19 -30 20 -30 21 -30 22 -30 23 -30 24 -30 25 -30 26 -30 27 -30 28 -30 29 -30 30 -30 31 -30 37 -30 38 -30 39 -30 40 -30 41 -30 46 -30 47 -30 48 -30 49 -30 50 -30 55 -30 56 -30 57 -30 58 -30 59 -30 60 -30 64 -30 65 -30 66 -30 67 -30 68 -30 69 -31 -89 -31 -88 -31 -87 -31 -86 -31 -85 -31 -84 -31 -83 -31 -82 -31 -81 -31 -80 -31 -79 -31 -78 -31 -77 -31 -76 -31 -75 -31 -74 -31 -73 -31 -72 -31 -71 -31 -70 -31 -29 -31 -28 -31 -27 -31 -26 -31 -25 -31 -24 -31 -23 -31 -22 -31 -21 -31 -20 -31 -19 -31 -18 -31 -17 -31 -16 -31 -15 -31 -14 -31 -13 -31 -12 -31 -11 -31 -10 -31 -9 -31 -8 -31 -7 -31 -6 -31 -5 -31 -4 -31 -3 -31 -2 -31 -1 -31 0 -31 1 -31 2 -31 3 -31 4 -31 5 -31 6 -31 7 -31 8 -31 9 -31 10 -31 11 -31 12 -31 13 -31 14 -31 15 -31 16 -31 17 -31 18 -31 19 -31 20 -31 21 -31 22 -31 23 -31 24 -31 25 -31 26 -31 27 -31 28 -31 29 -31 30 -31 31 -31 37 -31 38 -31 39 -31 40 -31 41 -31 47 -31 48 -31 49 -31 50 -31 51 -31 52 -31 53 -31 54 -31 55 -31 56 -31 57 -31 58 -31 59 -31 60 -31 63 -31 64 -31 65 -31 67 -31 68 -31 69 -32 -89 -32 -88 -32 -87 -32 -86 -32 -85 -32 -84 -32 -83 -32 -82 -32 -81 -32 -80 -32 -79 -32 -78 -32 -77 -32 -76 -32 -75 -32 -74 -32 -73 -32 -72 -32 -71 -32 -70 -32 -28 -32 -27 -32 -26 -32 -25 -32 -24 -32 -23 -32 -22 -32 -21 -32 -20 -32 -19 -32 -18 -32 -17 -32 -16 -32 -15 -32 -14 -32 -13 -32 -12 -32 -11 -32 -10 -32 -9 -32 -8 -32 -7 -32 -6 -32 -5 -32 -4 -32 -3 -32 0 -32 1 -32 2 -32 3 -32 4 -32 5 -32 6 -32 7 -32 8 -32 9 -32 10 -32 11 -32 12 -32 13 -32 14 -32 15 -32 16 -32 17 -32 18 -32 19 -32 20 -32 21 -32 22 -32 23 -32 24 -32 25 -32 26 -32 27 -32 28 -32 29 -32 30 -32 31 -32 37 -32 38 -32 39 -32 40 -32 41 -32 47 -32 48 -32 49 -32 50 -32 51 -32 52 -32 53 -32 54 -32 55 -32 56 -32 57 -32 58 -32 59 -32 60 -32 62 -32 63 -32 64 -32 65 -32 66 -32 67 -32 68 -32 69 -33 -89 -33 -88 -33 -87 -33 -86 -33 -85 -33 -84 -33 -83 -33 -82 -33 -81 -33 -80 -33 -79 -33 -78 -33 -77 -33 -76 -33 -75 -33 -74 -33 -73 -33 -72 -33 -71 -33 -70 -33 -25 -33 -24 -33 -23 -33 -22 -33 -21 -33 -20 -33 -19 -33 -18 -33 -17 -33 -16 -33 -15 -33 -14 -33 -13 -33 -12 -33 -11 -33 -10 -33 -9 -33 -8 -33 -7 -33 -6 -33 -5 -33 -4 -33 -3 -33 -2 -33 1 -33 2 -33 3 -33 4 -33 5 -33 6 -33 7 -33 8 -33 9 -33 10 -33 11 -33 12 -33 13 -33 14 -33 15 -33 16 -33 17 -33 18 -33 19 -33 20 -33 21 -33 22 -33 23 -33 24 -33 25 -33 26 -33 27 -33 28 -33 30 -33 31 -33 35 -33 37 -33 38 -33 39 -33 40 -33 41 -33 47 -33 48 -33 49 -33 50 -33 51 -33 52 -33 53 -33 54 -33 55 -33 56 -33 57 -33 58 -33 59 -33 60 -33 61 -33 63 -33 64 -33 65 -33 66 -33 67 -33 68 -33 69 -34 -89 -34 -88 -34 -87 -34 -86 -34 -85 -34 -84 -34 -83 -34 -82 -34 -81 -34 -80 -34 -79 -34 -78 -34 -77 -34 -76 -34 -75 -34 -74 -34 -73 -34 -72 -34 -71 -34 -70 -34 -69 -34 -25 -34 -24 -34 -23 -34 -22 -34 -21 -34 -20 -34 -19 -34 -18 -34 -17 -34 -16 -34 -15 -34 -14 -34 -13 -34 -12 -34 -11 -34 -9 -34 -8 -34 -7 -34 -6 -34 -5 -34 -4 -34 -3 -34 -2 -34 0 -34 1 -34 2 -34 3 -34 4 -34 5 -34 6 -34 7 -34 8 -34 9 -34 10 -34 11 -34 12 -34 13 -34 14 -34 15 -34 16 -34 17 -34 18 -34 19 -34 20 -34 21 -34 22 -34 23 -34 24 -34 25 -34 26 -34 28 -34 29 -34 30 -34 31 -34 35 -34 37 -34 38 -34 39 -34 40 -34 41 -34 45 -34 46 -34 47 -34 48 -34 49 -34 50 -34 51 -34 52 -34 53 -34 54 -34 55 -34 56 -34 57 -34 58 -34 59 -34 60 -34 61 -34 62 -34 63 -34 64 -34 65 -34 66 -34 67 -34 68 -34 69 -35 -89 -35 -88 -35 -87 -35 -86 -35 -85 -35 -84 -35 -83 -35 -82 -35 -81 -35 -80 -35 -79 -35 -78 -35 -77 -35 -76 -35 -75 -35 -74 -35 -73 -35 -72 -35 -71 -35 -70 -35 -69 -35 -24 -35 -23 -35 -22 -35 -21 -35 -19 -35 -18 -35 -17 -35 -16 -35 -15 -35 -13 -35 -12 -35 -11 -35 -10 -35 -9 -35 -8 -35 -7 -35 -6 -35 -5 -35 -4 -35 -3 -35 -2 -35 -1 -35 0 -35 5 -35 10 -35 15 -35 16 -35 17 -35 18 -35 19 -35 20 -35 21 -35 22 -35 23 -35 24 -35 29 -35 30 -35 31 -35 32 -35 37 -35 38 -35 39 -35 40 -35 41 -35 42 -35 45 -35 47 -35 48 -35 49 -35 50 -35 55 -35 56 -35 57 -35 58 -35 59 -35 60 -35 61 -35 63 -35 64 -35 67 -35 68 -35 69 -36 -89 -36 -88 -36 -87 -36 -86 -36 -85 -36 -84 -36 -83 -36 -82 -36 -81 -36 -80 -36 -79 -36 -78 -36 -77 -36 -76 -36 -75 -36 -74 -36 -73 -36 -72 -36 -71 -36 -70 -36 -18 -36 -17 -36 -16 -36 -15 -36 -14 -36 -13 -36 -12 -36 -11 -36 -10 -36 -9 -36 -8 -36 -7 -36 -6 -36 -5 -36 -4 -36 -3 -36 -2 -36 -1 -36 0 -36 1 -36 2 -36 3 -36 5 -36 6 -36 7 -36 8 -36 9 -36 10 -36 11 -36 12 -36 13 -36 14 -36 15 -36 16 -36 17 -36 18 -36 19 -36 20 -36 21 -36 22 -36 27 -36 28 -36 29 -36 30 -36 31 -36 32 -36 33 -36 34 -36 35 -36 36 -36 37 -36 38 -36 39 -36 40 -36 41 -36 47 -36 48 -36 49 -36 50 -36 51 -36 52 -36 53 -36 54 -36 55 -36 56 -36 57 -36 58 -36 59 -36 60 -36 62 -36 63 -36 64 -36 67 -36 68 -36 69 -37 -89 -37 -88 -37 -87 -37 -86 -37 -85 -37 -84 -37 -83 -37 -82 -37 -81 -37 -80 -37 -79 -37 -78 -37 -77 -37 -76 -37 -75 -37 -74 -37 -73 -37 -72 -37 -71 -37 -70 -37 -17 -37 -16 -37 -15 -37 -14 -37 -13 -37 -12 -37 -11 -37 -10 -37 -9 -37 -8 -37 -7 -37 -6 -37 -5 -37 -4 -37 -3 -37 -2 -37 -1 -37 0 -37 1 -37 2 -37 3 -37 4 -37 5 -37 6 -37 7 -37 8 -37 9 -37 10 -37 11 -37 13 -37 14 -37 15 -37 16 -37 17 -37 18 -37 19 -37 20 -37 21 -37 26 -37 27 -37 28 -37 29 -37 30 -37 31 -37 32 -37 33 -37 34 -37 35 -37 36 -37 37 -37 38 -37 39 -37 40 -37 41 -37 47 -37 48 -37 49 -37 50 -37 51 -37 52 -37 53 -37 54 -37 55 -37 56 -37 57 -37 58 -37 59 -37 61 -37 62 -37 63 -37 65 -37 67 -37 68 -38 -89 -38 -88 -38 -87 -38 -86 -38 -85 -38 -84 -38 -83 -38 -82 -38 -81 -38 -80 -38 -79 -38 -78 -38 -77 -38 -76 -38 -75 -38 -74 -38 -73 -38 -72 -38 -71 -38 -70 -38 -17 -38 -16 -38 -15 -38 -14 -38 -13 -38 -12 -38 -11 -38 -10 -38 -9 -38 -8 -38 -7 -38 -6 -38 -5 -38 -4 -38 -3 -38 -2 -38 -1 -38 0 -38 1 -38 2 -38 3 -38 4 -38 5 -38 6 -38 7 -38 8 -38 9 -38 10 -38 11 -38 12 -38 13 -38 14 -38 15 -38 16 -38 17 -38 18 -38 25 -38 26 -38 27 -38 28 -38 29 -38 30 -38 31 -38 32 -38 33 -38 34 -38 35 -38 36 -38 37 -38 38 -38 39 -38 40 -38 45 -38 48 -38 49 -38 50 -38 51 -38 52 -38 53 -38 54 -38 55 -38 56 -38 57 -38 58 -38 59 -38 60 -38 61 -38 62 -38 63 -38 67 -38 68 -39 -89 -39 -88 -39 -87 -39 -86 -39 -85 -39 -84 -39 -83 -39 -82 -39 -81 -39 -80 -39 -79 -39 -78 -39 -77 -39 -76 -39 -75 -39 -74 -39 -73 -39 -72 -39 -71 -39 -70 -39 -17 -39 -16 -39 -15 -39 -14 -39 -13 -39 -12 -39 -11 -39 -10 -39 -9 -39 -8 -39 -7 -39 -5 -39 -4 -39 -3 -39 -2 -39 -1 -39 0 -39 1 -39 2 -39 3 -39 4 -39 5 -39 6 -39 7 -39 8 -39 9 -39 10 -39 11 -39 12 -39 13 -39 14 -39 15 -39 16 -39 17 -39 23 -39 24 -39 25 -39 26 -39 27 -39 28 -39 29 -39 30 -39 31 -39 32 -39 33 -39 34 -39 35 -39 36 -39 37 -39 38 -39 39 -39 40 -39 41 -39 45 -39 46 -39 48 -39 49 -39 50 -39 51 -39 52 -39 53 -39 54 -39 55 -39 56 -39 57 -39 58 -39 59 -39 60 -39 61 -39 62 -39 63 -39 64 -39 67 -39 68 -40 -89 -40 -88 -40 -87 -40 -86 -40 -85 -40 -84 -40 -83 -40 -82 -40 -81 -40 -80 -40 -79 -40 -78 -40 -77 -40 -76 -40 -75 -40 -74 -40 -73 -40 -72 -40 -71 -40 -70 -40 -69 -40 -16 -40 -15 -40 -14 -40 -13 -40 -12 -40 -11 -40 -3 -40 -2 -40 -1 -40 0 -40 1 -40 2 -40 3 -40 4 -40 5 -40 6 -40 7 -40 8 -40 9 -40 10 -40 11 -40 12 -40 13 -40 14 -40 15 -40 21 -40 22 -40 23 -40 24 -40 25 -40 26 -40 27 -40 28 -40 29 -40 30 -40 31 -40 32 -40 33 -40 34 -40 35 -40 36 -40 37 -40 38 -40 39 -40 40 -40 44 -40 45 -40 46 -40 47 -40 48 -40 49 -40 50 -40 51 -40 52 -40 53 -40 54 -40 55 -40 56 -40 57 -40 58 -40 59 -40 60 -40 61 -40 62 -40 63 -40 64 -40 67 -41 -89 -41 -88 -41 -87 -41 -86 -41 -85 -41 -84 -41 -83 -41 -82 -41 -81 -41 -80 -41 -79 -41 -78 -41 -77 -41 -76 -41 -75 -41 -74 -41 -73 -41 -72 -41 -71 -41 -70 -41 -69 -41 -2 -41 -1 -41 0 -41 1 -41 2 -41 3 -41 4 -41 5 -41 6 -41 7 -41 8 -41 9 -41 10 -41 11 -41 12 -41 13 -41 14 -41 20 -41 21 -41 22 -41 23 -41 24 -41 25 -41 26 -41 27 -41 28 -41 29 -41 30 -41 31 -41 32 -41 33 -41 34 -41 35 -41 36 -41 37 -41 38 -41 39 -41 40 -41 41 -41 43 -41 44 -41 45 -41 46 -41 47 -41 48 -41 49 -41 50 -41 51 -41 52 -41 53 -41 54 -41 55 -41 56 -41 57 -41 58 -41 59 -41 60 -41 61 -41 62 -41 63 -41 64 -41 65 -41 66 -41 67 -42 -89 -42 -88 -42 -87 -42 -86 -42 -85 -42 -84 -42 -83 -42 -82 -42 -81 -42 -80 -42 -79 -42 -78 -42 -77 -42 -76 -42 -75 -42 -74 -42 -73 -42 -72 -42 -71 -42 -70 -42 -69 -42 -1 -42 0 -42 1 -42 2 -42 3 -42 4 -42 5 -42 6 -42 7 -42 8 -42 9 -42 10 -42 11 -42 12 -42 13 -42 18 -42 19 -42 20 -42 21 -42 22 -42 23 -42 24 -42 25 -42 26 -42 27 -42 28 -42 29 -42 30 -42 31 -42 32 -42 33 -42 34 -42 35 -42 36 -42 37 -42 38 -42 39 -42 40 -42 41 -42 42 -42 43 -42 44 -42 45 -42 46 -42 47 -42 48 -42 49 -42 50 -42 51 -42 52 -42 53 -42 54 -42 55 -42 56 -42 57 -42 58 -42 59 -42 60 -42 61 -42 62 -42 63 -42 64 -42 65 -42 66 -43 -89 -43 -88 -43 -87 -43 -86 -43 -85 -43 -84 -43 -83 -43 -82 -43 -81 -43 -80 -43 -79 -43 -78 -43 -77 -43 -76 -43 -75 -43 -74 -43 -73 -43 -72 -43 -71 -43 -70 -43 -69 -43 1 -43 2 -43 3 -43 4 -43 5 -43 6 -43 7 -43 8 -43 9 -43 10 -43 11 -43 12 -43 15 -43 16 -43 17 -43 18 -43 19 -43 20 -43 21 -43 22 -43 23 -43 24 -43 25 -43 26 -43 27 -43 28 -43 29 -43 30 -43 31 -43 32 -43 33 -43 34 -43 35 -43 36 -43 37 -43 38 -43 39 -43 40 -43 41 -43 42 -43 43 -43 44 -43 45 -43 46 -43 47 -43 49 -43 50 -43 51 -43 52 -43 53 -43 54 -43 55 -43 56 -43 57 -43 58 -43 59 -43 60 -43 61 -43 62 -43 63 -43 64 -43 65 -43 66 -44 -89 -44 -88 -44 -87 -44 -86 -44 -85 -44 -84 -44 -83 -44 -82 -44 -81 -44 -80 -44 -79 -44 -78 -44 -77 -44 -76 -44 -75 -44 -74 -44 -73 -44 -72 -44 -71 -44 -70 -44 -69 -44 -24 -44 -23 -44 -22 -44 -21 -44 2 -44 3 -44 4 -44 5 -44 6 -44 7 -44 8 -44 9 -44 10 -44 13 -44 14 -44 15 -44 16 -44 17 -44 18 -44 19 -44 20 -44 21 -44 22 -44 23 -44 24 -44 25 -44 26 -44 27 -44 28 -44 29 -44 30 -44 31 -44 32 -44 33 -44 34 -44 35 -44 36 -44 37 -44 38 -44 39 -44 40 -44 41 -44 42 -44 43 -44 44 -44 45 -44 46 -44 47 -44 48 -44 49 -44 50 -44 51 -44 52 -44 53 -44 54 -44 55 -44 56 -44 57 -44 58 -44 59 -44 60 -44 61 -44 62 -44 63 -44 64 -44 65 -44 66 -45 -89 -45 -88 -45 -87 -45 -86 -45 -85 -45 -84 -45 -83 -45 -82 -45 -81 -45 -80 -45 -79 -45 -78 -45 -77 -45 -76 -45 -75 -45 -74 -45 -73 -45 -72 -45 -71 -45 -70 -45 -69 -45 -68 -45 -25 -45 -24 -45 -23 -45 -22 -45 -21 -45 -20 -45 -19 -45 -18 -45 -17 -45 2 -45 3 -45 4 -45 5 -45 6 -45 7 -45 8 -45 9 -45 10 -45 13 -45 14 -45 15 -45 16 -45 17 -45 18 -45 19 -45 20 -45 21 -45 22 -45 23 -45 24 -45 25 -45 26 -45 27 -45 28 -45 29 -45 30 -45 31 -45 32 -45 33 -45 34 -45 35 -45 36 -45 37 -45 38 -45 39 -45 40 -45 41 -45 42 -45 43 -45 44 -45 45 -45 46 -45 47 -45 48 -45 49 -45 50 -45 51 -45 52 -45 53 -45 54 -45 55 -45 56 -45 57 -45 58 -45 59 -45 60 -45 61 -45 62 -45 63 -45 64 -45 65 -45 66 -45 67 -45 68 -46 -89 -46 -88 -46 -87 -46 -86 -46 -85 -46 -84 -46 -83 -46 -82 -46 -81 -46 -80 -46 -79 -46 -78 -46 -77 -46 -76 -46 -75 -46 -74 -46 -73 -46 -72 -46 -71 -46 -70 -46 -69 -46 -68 -46 -25 -46 -24 -46 -23 -46 -22 -46 -21 -46 -20 -46 -19 -46 -18 -46 -17 -46 -16 -46 3 -46 4 -46 5 -46 6 -46 7 -46 8 -46 9 -46 10 -46 14 -46 15 -46 16 -46 17 -46 18 -46 19 -46 20 -46 21 -46 22 -46 23 -46 24 -46 25 -46 26 -46 27 -46 28 -46 29 -46 30 -46 31 -46 32 -46 33 -46 34 -46 35 -46 36 -46 37 -46 38 -46 39 -46 40 -46 41 -46 42 -46 43 -46 44 -46 45 -46 46 -46 47 -46 48 -46 49 -46 50 -46 52 -46 53 -46 54 -46 55 -46 56 -46 57 -46 58 -46 59 -46 60 -46 61 -46 62 -46 63 -46 64 -46 65 -46 66 -46 68 -47 -89 -47 -88 -47 -87 -47 -86 -47 -85 -47 -84 -47 -83 -47 -82 -47 -81 -47 -80 -47 -79 -47 -78 -47 -77 -47 -76 -47 -75 -47 -74 -47 -73 -47 -72 -47 -71 -47 -70 -47 -69 -47 -68 -47 -24 -47 -23 -47 -22 -47 -21 -47 -20 -47 -19 -47 -18 -47 -17 -47 -16 -47 4 -47 5 -47 6 -47 7 -47 8 -47 9 -47 10 -47 14 -47 15 -47 16 -47 17 -47 18 -47 19 -47 20 -47 21 -47 22 -47 23 -47 24 -47 25 -47 26 -47 27 -47 28 -47 29 -47 30 -47 31 -47 32 -47 33 -47 34 -47 35 -47 36 -47 37 -47 38 -47 39 -47 40 -47 41 -47 42 -47 43 -47 44 -47 45 -47 46 -47 47 -47 48 -47 49 -47 50 -47 51 -47 52 -47 53 -47 54 -47 55 -47 56 -47 57 -47 58 -47 59 -47 60 -47 61 -47 62 -47 63 -47 64 -47 65 -47 66 -48 -89 -48 -88 -48 -87 -48 -86 -48 -85 -48 -84 -48 -83 -48 -82 -48 -81 -48 -80 -48 -79 -48 -78 -48 -77 -48 -76 -48 -75 -48 -74 -48 -73 -48 -72 -48 -71 -48 -70 -48 -69 -48 -68 -48 -22 -48 -21 -48 -20 -48 -19 -48 -18 -48 -17 -48 -16 -48 -15 -48 -14 -48 5 -48 6 -48 7 -48 8 -48 9 -48 10 -48 11 -48 15 -48 16 -48 17 -48 18 -48 19 -48 20 -48 21 -48 22 -48 23 -48 24 -48 25 -48 26 -48 27 -48 28 -48 29 -48 31 -48 32 -48 33 -48 34 -48 35 -48 36 -48 37 -48 38 -48 39 -48 40 -48 41 -48 42 -48 46 -48 47 -48 48 -48 49 -48 50 -48 51 -48 52 -48 53 -48 54 -48 55 -48 56 -48 57 -48 58 -48 59 -48 60 -48 61 -48 62 -48 63 -48 64 -48 65 -48 66 -48 67 -49 -89 -49 -88 -49 -87 -49 -86 -49 -85 -49 -84 -49 -83 -49 -82 -49 -81 -49 -80 -49 -79 -49 -78 -49 -77 -49 -76 -49 -75 -49 -74 -49 -73 -49 -72 -49 -71 -49 -70 -49 -69 -49 -68 -49 -67 -49 -19 -49 -18 -49 -17 -49 -16 -49 -15 -49 -14 -49 -13 -49 7 -49 8 -49 9 -49 10 -49 11 -49 15 -49 16 -49 17 -49 18 -49 19 -49 20 -49 21 -49 22 -49 23 -49 24 -49 25 -49 26 -49 27 -49 31 -49 32 -49 33 -49 34 -49 35 -49 36 -49 37 -49 40 -49 41 -49 47 -49 48 -49 49 -49 50 -49 51 -49 52 -49 53 -49 54 -49 56 -49 57 -49 58 -49 59 -49 60 -49 61 -49 62 -49 63 -49 64 -49 65 -49 66 -49 67 -49 69 -50 -89 -50 -88 -50 -87 -50 -86 -50 -85 -50 -84 -50 -83 -50 -82 -50 -81 -50 -80 -50 -79 -50 -78 -50 -77 -50 -76 -50 -75 -50 -74 -50 -73 -50 -72 -50 -71 -50 -70 -50 -69 -50 -68 -50 -15 -50 -14 -50 9 -50 10 -50 11 -50 15 -50 16 -50 17 -50 18 -50 19 -50 20 -50 21 -50 22 -50 23 -50 24 -50 25 -50 26 -50 31 -50 32 -50 33 -50 34 -50 35 -50 36 -50 37 -50 47 -50 48 -50 49 -50 50 -50 55 -50 56 -50 57 -50 58 -50 59 -50 60 -50 61 -50 62 -50 63 -50 64 -50 65 -50 66 -50 67 -50 68 -51 -89 -51 -88 -51 -87 -51 -86 -51 -85 -51 -84 -51 -83 -51 -82 -51 -81 -51 -80 -51 -79 -51 -78 -51 -77 -51 -76 -51 -75 -51 -74 -51 -73 -51 -72 -51 -71 -51 -70 -51 -69 -51 -68 -51 -67 -51 11 -51 16 -51 17 -51 18 -51 19 -51 20 -51 21 -51 22 -51 23 -51 24 -51 25 -51 29 -51 30 -51 31 -51 32 -51 33 -51 34 -51 35 -51 36 -51 44 -51 48 -51 49 -51 50 -51 51 -51 52 -51 53 -51 54 -51 55 -51 56 -51 57 -51 58 -51 59 -51 60 -51 61 -51 62 -51 63 -51 64 -51 65 -51 66 -51 67 -51 68 -51 80 -52 -89 -52 -88 -52 -87 -52 -86 -52 -85 -52 -84 -52 -83 -52 -82 -52 -81 -52 -80 -52 -79 -52 -78 -52 -77 -52 -76 -52 -75 -52 -74 -52 -73 -52 -72 -52 -71 -52 -70 -52 -69 -52 -68 -52 -67 -52 16 -52 17 -52 18 -52 19 -52 20 -52 21 -52 22 -52 23 -52 28 -52 29 -52 30 -52 31 -52 32 -52 33 -52 34 -52 35 -52 36 -52 43 -52 44 -52 45 -52 47 -52 48 -52 49 -52 50 -52 51 -52 52 -52 53 -52 54 -52 55 -52 56 -52 57 -52 58 -52 59 -52 60 -52 61 -52 62 -52 63 -52 64 -52 65 -52 66 -52 67 -52 68 -52 72 -53 -89 -53 -88 -53 -87 -53 -86 -53 -85 -53 -84 -53 -83 -53 -82 -53 -81 -53 -80 -53 -79 -53 -78 -53 -77 -53 -76 -53 -75 -53 -74 -53 -73 -53 -72 -53 -71 -53 -70 -53 -69 -53 -68 -53 -67 -53 -66 -53 17 -53 18 -53 19 -53 20 -53 21 -53 22 -53 23 -53 24 -53 28 -53 29 -53 30 -53 31 -53 32 -53 33 -53 34 -53 35 -53 36 -53 40 -53 43 -53 44 -53 45 -53 47 -53 48 -53 49 -53 50 -53 51 -53 52 -53 53 -53 54 -53 55 -53 56 -53 57 -53 58 -53 59 -53 60 -53 61 -53 62 -53 63 -53 64 -53 65 -53 66 -53 67 -53 68 -53 72 -54 -89 -54 -88 -54 -87 -54 -86 -54 -85 -54 -84 -54 -83 -54 -82 -54 -81 -54 -80 -54 -79 -54 -78 -54 -77 -54 -76 -54 -75 -54 -74 -54 -73 -54 -72 -54 -71 -54 -70 -54 -69 -54 -68 -54 -67 -54 -66 -54 17 -54 18 -54 19 -54 20 -54 21 -54 22 -54 23 -54 24 -54 27 -54 28 -54 29 -54 30 -54 31 -54 32 -54 33 -54 34 -54 35 -54 36 -54 38 -54 39 -54 40 -54 42 -54 43 -54 44 -54 45 -54 46 -54 47 -54 48 -54 49 -54 50 -54 51 -54 52 -54 53 -54 54 -54 55 -54 56 -54 57 -54 58 -54 59 -54 60 -54 61 -54 62 -54 63 -54 64 -54 65 -54 66 -54 67 -54 68 -54 71 -54 72 -54 73 -55 -89 -55 -88 -55 -87 -55 -86 -55 -85 -55 -84 -55 -83 -55 -82 -55 -81 -55 -80 -55 -79 -55 -78 -55 -77 -55 -76 -55 -75 -55 -74 -55 -73 -55 -72 -55 -71 -55 -70 -55 -69 -55 -68 -55 -67 -55 -66 -55 18 -55 19 -55 20 -55 21 -55 22 -55 23 -55 24 -55 27 -55 28 -55 29 -55 30 -55 31 -55 32 -55 33 -55 34 -55 35 -55 36 -55 37 -55 38 -55 39 -55 40 -55 41 -55 42 -55 43 -55 44 -55 45 -55 46 -55 47 -55 48 -55 49 -55 50 -55 55 -55 56 -55 57 -55 58 -55 59 -55 60 -55 61 -55 62 -55 63 -55 64 -55 65 -55 66 -55 67 -55 68 -55 71 -55 72 -55 73 -55 74 -55 81 -56 -89 -56 -88 -56 -87 -56 -86 -56 -85 -56 -84 -56 -83 -56 -82 -56 -81 -56 -80 -56 -79 -56 -78 -56 -77 -56 -76 -56 -75 -56 -74 -56 -73 -56 -72 -56 -71 -56 -70 -56 -69 -56 -68 -56 -67 -56 18 -56 19 -56 20 -56 21 -56 22 -56 23 -56 24 -56 25 -56 28 -56 29 -56 30 -56 31 -56 32 -56 33 -56 34 -56 35 -56 36 -56 37 -56 38 -56 39 -56 40 -56 41 -56 42 -56 43 -56 44 -56 45 -56 46 -56 47 -56 48 -56 49 -56 50 -56 51 -56 52 -56 53 -56 54 -56 55 -56 56 -56 57 -56 58 -56 59 -56 60 -56 61 -56 62 -56 63 -56 64 -56 65 -56 66 -56 67 -56 68 -56 71 -56 73 -56 74 -56 75 -56 81 -57 -89 -57 -88 -57 -87 -57 -86 -57 -85 -57 -84 -57 -83 -57 -82 -57 -81 -57 -80 -57 -79 -57 -78 -57 -77 -57 -76 -57 -75 -57 -74 -57 -73 -57 -72 -57 -71 -57 -70 -57 -69 -57 -68 -57 19 -57 20 -57 21 -57 22 -57 23 -57 24 -57 27 -57 28 -57 29 -57 30 -57 31 -57 32 -57 33 -57 34 -57 35 -57 36 -57 37 -57 38 -57 39 -57 40 -57 41 -57 42 -57 43 -57 44 -57 45 -57 46 -57 47 -57 48 -57 49 -57 50 -57 51 -57 52 -57 53 -57 54 -57 55 -57 56 -57 57 -57 58 -57 59 -57 60 -57 61 -57 62 -57 63 -57 64 -57 65 -57 66 -57 67 -57 68 -57 74 -57 75 -57 81 -58 -89 -58 -88 -58 -87 -58 -86 -58 -85 -58 -84 -58 -83 -58 -82 -58 -81 -58 -80 -58 -79 -58 -78 -58 -77 -58 -76 -58 -75 -58 -74 -58 -73 -58 -72 -58 -71 -58 -70 -58 -69 -58 -68 -58 21 -58 22 -58 23 -58 26 -58 27 -58 28 -58 29 -58 30 -58 31 -58 32 -58 33 -58 34 -58 35 -58 36 -58 37 -58 38 -58 39 -58 40 -58 41 -58 42 -58 43 -58 44 -58 45 -58 46 -58 47 -58 48 -58 49 -58 50 -58 51 -58 52 -58 53 -58 54 -58 55 -58 56 -58 57 -58 58 -58 59 -58 60 -58 61 -58 62 -58 63 -58 64 -58 65 -58 66 -58 67 -58 68 -58 74 -58 75 -59 -89 -59 -88 -59 -87 -59 -86 -59 -85 -59 -84 -59 -83 -59 -82 -59 -81 -59 -80 -59 -79 -59 -78 -59 -77 -59 -76 -59 -75 -59 -74 -59 -73 -59 -72 -59 -71 -59 -70 -59 -69 -59 -68 -59 22 -59 23 -59 26 -59 27 -59 28 -59 29 -59 30 -59 31 -59 32 -59 33 -59 34 -59 35 -59 36 -59 37 -59 38 -59 39 -59 40 -59 41 -59 42 -59 43 -59 47 -59 48 -59 49 -59 50 -59 51 -59 52 -59 53 -59 54 -59 55 -59 56 -59 57 -59 58 -59 59 -59 60 -59 61 -59 62 -59 63 -59 64 -59 65 -59 66 -59 67 -59 68 -59 70 -59 75 -59 80 -60 -89 -60 -88 -60 -87 -60 -86 -60 -85 -60 -84 -60 -83 -60 -82 -60 -81 -60 -80 -60 -79 -60 -78 -60 -77 -60 -76 -60 -75 -60 -74 -60 -73 -60 -72 -60 -71 -60 -70 -60 -69 -60 -68 -60 26 -60 27 -60 28 -60 29 -60 30 -60 35 -60 40 -60 41 -60 42 -60 43 -60 47 -60 48 -60 49 -60 50 -60 51 -60 52 -60 53 -60 54 -60 55 -60 60 -60 61 -60 62 -60 63 -60 64 -60 65 -60 66 -60 67 -60 68 -60 70 -60 75 -61 -89 -61 -88 -61 -87 -61 -86 -61 -85 -61 -84 -61 -83 -61 -82 -61 -81 -61 -80 -61 -79 -61 -78 -61 -77 -61 -76 -61 -75 -61 -74 -61 -73 -61 -72 -61 -71 -61 -70 -61 -69 -61 -68 -61 26 -61 27 -61 28 -61 29 -61 30 -61 31 -61 32 -61 33 -61 34 -61 35 -61 36 -61 37 -61 38 -61 39 -61 40 -61 41 -61 42 -61 43 -61 44 -61 47 -61 48 -61 49 -61 50 -61 51 -61 52 -61 53 -61 54 -61 55 -61 56 -61 57 -61 58 -61 59 -61 60 -61 61 -61 62 -61 63 -61 64 -61 65 -61 66 -61 67 -61 68 -61 69 -61 76 -61 81 -62 -89 -62 -88 -62 -87 -62 -86 -62 -85 -62 -84 -62 -83 -62 -82 -62 -81 -62 -80 -62 -79 -62 -78 -62 -77 -62 -76 -62 -75 -62 -74 -62 -73 -62 -72 -62 -71 -62 -70 -62 -69 -62 -68 -62 26 -62 27 -62 28 -62 29 -62 30 -62 31 -62 32 -62 33 -62 34 -62 35 -62 36 -62 37 -62 38 -62 39 -62 40 -62 41 -62 42 -62 43 -62 44 -62 45 -62 46 -62 47 -62 48 -62 49 -62 50 -62 51 -62 52 -62 53 -62 54 -62 55 -62 56 -62 57 -62 58 -62 59 -62 60 -62 61 -62 62 -62 63 -62 64 -62 65 -62 66 -62 67 -62 68 -62 69 -62 76 -63 -89 -63 -88 -63 -87 -63 -86 -63 -85 -63 -84 -63 -83 -63 -82 -63 -81 -63 -80 -63 -79 -63 -78 -63 -77 -63 -76 -63 -75 -63 -74 -63 -73 -63 -72 -63 -71 -63 -70 -63 -69 -63 -68 -63 26 -63 27 -63 28 -63 29 -63 30 -63 31 -63 32 -63 33 -63 34 -63 35 -63 36 -63 37 -63 38 -63 39 -63 40 -63 41 -63 42 -63 43 -63 44 -63 45 -63 46 -63 47 -63 48 -63 49 -63 50 -63 51 -63 52 -63 53 -63 54 -63 55 -63 56 -63 57 -63 58 -63 59 -63 60 -63 61 -63 62 -63 63 -63 64 -63 65 -63 66 -63 67 -63 68 -63 69 -63 76 -64 -89 -64 -88 -64 -87 -64 -86 -64 -85 -64 -84 -64 -83 -64 -82 -64 -81 -64 -80 -64 -79 -64 -78 -64 -77 -64 -76 -64 -75 -64 -74 -64 -73 -64 -72 -64 -71 -64 -70 -64 -69 -64 -68 -64 26 -64 27 -64 28 -64 29 -64 30 -64 31 -64 32 -64 33 -64 34 -64 35 -64 36 -64 37 -64 38 -64 39 -64 40 -64 41 -64 42 -64 43 -64 44 -64 45 -64 46 -64 47 -64 48 -64 49 -64 50 -64 51 -64 52 -64 53 -64 54 -64 55 -64 56 -64 57 -64 58 -64 59 -64 60 -64 61 -64 62 -64 63 -64 64 -64 65 -64 66 -64 67 -64 68 -64 69 -64 76 -65 -89 -65 -88 -65 -87 -65 -86 -65 -85 -65 -84 -65 -83 -65 -82 -65 -81 -65 -80 -65 -79 -65 -78 -65 -77 -65 -76 -65 -75 -65 -74 -65 -73 -65 -72 -65 -71 -65 -70 -65 -69 -65 -68 -65 26 -65 27 -65 28 -65 29 -65 30 -65 31 -65 32 -65 33 -65 34 -65 35 -65 40 -65 41 -65 42 -65 43 -65 44 -65 45 -65 46 -65 47 -65 48 -65 49 -65 50 -65 51 -65 52 -65 53 -65 54 -65 55 -65 56 -65 57 -65 58 -65 59 -65 60 -65 61 -65 62 -65 63 -65 64 -65 65 -65 66 -65 67 -65 68 -65 69 -65 76 -65 81 -66 -89 -66 -88 -66 -87 -66 -86 -66 -85 -66 -84 -66 -83 -66 -82 -66 -81 -66 -80 -66 -79 -66 -78 -66 -77 -66 -76 -66 -75 -66 -74 -66 -73 -66 -72 -66 -71 -66 -70 -66 -69 -66 -68 -66 26 -66 27 -66 28 -66 29 -66 30 -66 31 -66 32 -66 33 -66 34 -66 35 -66 36 -66 37 -66 38 -66 39 -66 40 -66 41 -66 42 -66 43 -66 44 -66 45 -66 46 -66 47 -66 48 -66 49 -66 50 -66 51 -66 52 -66 53 -66 54 -66 55 -66 56 -66 57 -66 58 -66 59 -66 60 -66 61 -66 62 -66 63 -66 64 -66 65 -66 66 -66 67 -66 68 -66 69 -66 76 -67 -89 -67 -88 -67 -87 -67 -86 -67 -85 -67 -84 -67 -83 -67 -82 -67 -81 -67 -80 -67 -79 -67 -78 -67 -77 -67 -76 -67 -75 -67 -74 -67 -73 -67 -72 -67 -71 -67 -70 -67 -69 -67 -68 -67 25 -67 26 -67 27 -67 28 -67 29 -67 30 -67 31 -67 32 -67 33 -67 34 -67 35 -67 36 -67 37 -67 38 -67 39 -67 40 -67 41 -67 42 -67 43 -67 44 -67 45 -67 46 -67 47 -67 48 -67 49 -67 50 -67 51 -67 52 -67 53 -67 54 -67 55 -67 56 -67 57 -67 58 -67 59 -67 60 -67 61 -67 62 -67 63 -67 64 -67 65 -67 66 -67 67 -67 68 -67 71 -68 -89 -68 -88 -68 -87 -68 -86 -68 -85 -68 -84 -68 -83 -68 -82 -68 -81 -68 -80 -68 -79 -68 -78 -68 -77 -68 -76 -68 -75 -68 -74 -68 -73 -68 -72 -68 -71 -68 -70 -68 -69 -68 -68 -68 24 -68 25 -68 26 -68 28 -68 29 -68 30 -68 31 -68 32 -68 33 -68 34 -68 35 -68 36 -68 37 -68 38 -68 39 -68 40 -68 41 -68 42 -68 43 -68 44 -68 45 -68 46 -68 47 -68 48 -68 49 -68 50 -68 51 -68 52 -68 53 -68 54 -68 55 -68 56 -68 57 -68 58 -68 59 -68 60 -68 61 -68 62 -68 63 -68 64 -68 65 -68 66 -68 67 -68 68 -68 70 -68 71 -69 -89 -69 -88 -69 -87 -69 -86 -69 -85 -69 -84 -69 -83 -69 -82 -69 -81 -69 -80 -69 -79 -69 -78 -69 -77 -69 -76 -69 -75 -69 -74 -69 -73 -69 -72 -69 -71 -69 -70 -69 -69 -69 -68 -69 -49 -69 23 -69 24 -69 25 -69 26 -69 27 -69 28 -69 29 -69 30 -69 31 -69 32 -69 33 -69 34 -69 35 -69 36 -69 37 -69 38 -69 39 -69 40 -69 41 -69 42 -69 43 -69 44 -69 45 -69 46 -69 47 -69 48 -69 49 -69 50 -69 51 -69 52 -69 53 -69 54 -69 55 -69 56 -69 57 -69 58 -69 59 -69 60 -69 62 -69 63 -69 64 -69 65 -69 66 -69 67 -69 68 -69 69 -69 70 -69 71 -69 72 -70 -89 -70 -88 -70 -87 -70 -86 -70 -85 -70 -84 -70 -83 -70 -82 -70 -81 -70 -80 -70 -79 -70 -78 -70 -77 -70 -76 -70 -75 -70 -74 -70 -73 -70 -72 -70 -71 -70 -70 -70 -69 -70 22 -70 23 -70 24 -70 25 -70 30 -70 35 -70 40 -70 41 -70 42 -70 43 -70 44 -70 45 -70 46 -70 47 -70 48 -70 49 -70 50 -70 51 -70 52 -70 53 -70 54 -70 55 -70 56 -70 57 -70 58 -70 59 -70 60 -70 61 -70 62 -70 63 -70 64 -70 65 -70 66 -70 67 -70 68 -70 69 -70 70 -70 71 -70 72 -71 -89 -71 -88 -71 -87 -71 -86 -71 -85 -71 -84 -71 -83 -71 -82 -71 -81 -71 -80 -71 -79 -71 -78 -71 -77 -71 -76 -71 -75 -71 -74 -71 -73 -71 -72 -71 -71 -71 -70 -71 -69 -71 21 -71 22 -71 23 -71 24 -71 25 -71 26 -71 27 -71 28 -71 29 -71 30 -71 31 -71 32 -71 33 -71 34 -71 35 -71 36 -71 37 -71 38 -71 39 -71 40 -71 41 -71 42 -71 43 -71 44 -71 45 -71 46 -71 47 -71 48 -71 49 -71 50 -71 51 -71 52 -71 53 -71 54 -71 55 -71 56 -71 57 -71 58 -71 59 -71 60 -71 61 -71 62 -71 63 -71 64 -71 65 -71 66 -71 67 -71 69 -71 71 -71 72 -72 -89 -72 -88 -72 -87 -72 -86 -72 -85 -72 -84 -72 -83 -72 -82 -72 -81 -72 -80 -72 -79 -72 -78 -72 -77 -72 -76 -72 -75 -72 -74 -72 -73 -72 -72 -72 -71 -72 -70 -72 -69 -72 22 -72 23 -72 24 -72 25 -72 26 -72 27 -72 28 -72 29 -72 30 -72 31 -72 32 -72 33 -72 34 -72 35 -72 36 -72 37 -72 38 -72 39 -72 40 -72 41 -72 42 -72 43 -72 44 -72 45 -72 46 -72 47 -72 48 -72 49 -72 50 -72 51 -72 52 -72 53 -72 55 -72 56 -72 57 -72 58 -72 59 -72 60 -72 61 -72 62 -72 63 -72 64 -72 65 -72 66 -72 68 -72 69 -72 70 -72 71 -72 72 -73 -89 -73 -88 -73 -87 -73 -86 -73 -85 -73 -84 -73 -83 -73 -82 -73 -81 -73 -80 -73 -79 -73 -78 -73 -77 -73 -76 -73 -75 -73 -74 -73 -73 -73 -72 -73 -71 -73 -70 -73 20 -73 21 -73 22 -73 23 -73 24 -73 25 -73 26 -73 27 -73 28 -73 29 -73 30 -73 31 -73 32 -73 33 -73 34 -73 35 -73 36 -73 37 -73 38 -73 39 -73 40 -73 41 -73 42 -73 43 -73 44 -73 45 -73 46 -73 47 -73 48 -73 49 -73 50 -73 51 -73 52 -73 53 -73 54 -73 55 -73 56 -73 57 -73 58 -73 59 -73 60 -73 61 -73 62 -73 63 -73 64 -73 65 -73 66 -73 68 -74 -89 -74 -88 -74 -87 -74 -86 -74 -85 -74 -84 -74 -83 -74 -82 -74 -81 -74 -80 -74 -79 -74 -78 -74 -77 -74 -76 -74 -75 -74 -74 -74 -73 -74 -72 -74 -71 -74 -70 -74 16 -74 17 -74 18 -74 19 -74 20 -74 21 -74 22 -74 23 -74 24 -74 25 -74 26 -74 27 -74 28 -74 29 -74 30 -74 31 -74 32 -74 33 -74 34 -74 35 -74 36 -74 37 -74 38 -74 39 -74 40 -74 41 -74 42 -74 43 -74 44 -74 47 -74 48 -74 49 -74 50 -74 51 -74 52 -74 53 -74 54 -74 55 -74 56 -74 57 -74 58 -74 59 -74 60 -74 61 -74 62 -74 63 -74 64 -74 65 -74 66 -74 67 -74 70 -74 71 -75 -89 -75 -88 -75 -87 -75 -86 -75 -85 -75 -84 -75 -83 -75 -82 -75 -81 -75 -80 -75 -79 -75 -78 -75 -77 -75 -76 -75 -75 -75 -74 -75 -73 -75 -72 -75 -71 -75 -70 -75 13 -75 14 -75 15 -75 20 -75 25 -75 26 -75 27 -75 28 -75 29 -75 30 -75 35 -75 40 -75 45 -75 46 -75 47 -75 48 -75 49 -75 50 -75 51 -75 52 -75 53 -75 54 -75 55 -75 56 -75 57 -75 58 -75 59 -75 60 -75 61 -75 62 -75 63 -75 64 -75 65 -75 66 -75 67 -75 68 -75 70 -75 71 -75 72 -76 -89 -76 -88 -76 -87 -76 -86 -76 -85 -76 -84 -76 -83 -76 -82 -76 -81 -76 -80 -76 -79 -76 -78 -76 -77 -76 -76 -76 -75 -76 -74 -76 -73 -76 -72 -76 -71 -76 -70 -76 11 -76 12 -76 13 -76 14 -76 15 -76 16 -76 17 -76 18 -76 19 -76 20 -76 21 -76 22 -76 23 -76 24 -76 25 -76 26 -76 27 -76 28 -76 29 -76 30 -76 31 -76 32 -76 33 -76 34 -76 35 -76 36 -76 37 -76 38 -76 39 -76 40 -76 41 -76 42 -76 43 -76 44 -76 45 -76 46 -76 47 -76 48 -76 49 -76 50 -76 51 -76 52 -76 53 -76 54 -76 55 -76 56 -76 57 -76 58 -76 59 -76 60 -76 61 -76 62 -76 63 -76 64 -76 65 -76 66 -76 67 -76 68 -76 70 -76 71 -77 -89 -77 -88 -77 -87 -77 -86 -77 -85 -77 -84 -77 -83 -77 -82 -77 -81 -77 -80 -77 -79 -77 -78 -77 -77 -77 -76 -77 -75 -77 -74 -77 -73 -77 -72 -77 -71 -77 -70 -77 9 -77 10 -77 11 -77 12 -77 13 -77 14 -77 15 -77 16 -77 17 -77 18 -77 19 -77 20 -77 21 -77 22 -77 23 -77 24 -77 25 -77 26 -77 27 -77 28 -77 29 -77 30 -77 31 -77 32 -77 33 -77 34 -77 35 -77 36 -77 37 -77 38 -77 39 -77 40 -77 41 -77 42 -77 43 -77 44 -77 45 -77 46 -77 47 -77 48 -77 49 -77 50 -77 51 -77 52 -77 53 -77 54 -77 55 -77 56 -77 57 -77 58 -77 59 -77 60 -77 61 -77 62 -77 63 -77 64 -77 65 -77 66 -77 67 -77 68 -77 69 -77 70 -77 71 -77 72 -78 -89 -78 -88 -78 -87 -78 -86 -78 -85 -78 -84 -78 -83 -78 -82 -78 -81 -78 -80 -78 -79 -78 -78 -78 -77 -78 -76 -78 -75 -78 -74 -78 -73 -78 -72 -78 -71 -78 -70 -78 -69 -78 9 -78 10 -78 11 -78 12 -78 13 -78 14 -78 15 -78 16 -78 17 -78 18 -78 19 -78 20 -78 21 -78 22 -78 23 -78 24 -78 25 -78 26 -78 27 -78 28 -78 29 -78 30 -78 31 -78 32 -78 33 -78 34 -78 35 -78 36 -78 37 -78 38 -78 39 -78 40 -78 41 -78 42 -78 43 -78 44 -78 45 -78 46 -78 47 -78 48 -78 49 -78 50 -78 51 -78 52 -78 53 -78 54 -78 56 -78 57 -78 58 -78 59 -78 60 -78 61 -78 62 -78 63 -78 64 -78 65 -78 66 -78 67 -78 68 -78 69 -78 70 -79 -89 -79 -88 -79 -87 -79 -86 -79 -85 -79 -84 -79 -83 -79 -82 -79 -81 -79 -80 -79 -79 -79 -78 -79 -77 -79 -76 -79 -75 -79 -74 -79 -73 -79 -72 -79 -71 -79 -70 -79 -69 -79 10 -79 11 -79 12 -79 13 -79 14 -79 15 -79 16 -79 17 -79 18 -79 19 -79 20 -79 21 -79 22 -79 23 -79 24 -79 25 -79 26 -79 27 -79 28 -79 29 -79 30 -79 31 -79 32 -79 33 -79 34 -79 35 -79 36 -79 37 -79 38 -79 39 -79 40 -79 41 -79 42 -79 43 -79 44 -79 45 -79 46 -79 47 -79 48 -79 49 -79 50 -79 51 -79 52 -79 53 -79 54 -79 55 -79 56 -79 57 -79 58 -79 59 -79 61 -79 62 -79 63 -79 64 -79 65 -79 66 -79 67 -79 68 -79 69 -79 70 -79 71 -79 72 -79 73 -80 -89 -80 -88 -80 -87 -80 -86 -80 -85 -80 -84 -80 -83 -80 -82 -80 -81 -80 -80 -80 -79 -80 -78 -80 -77 -80 -76 -80 -75 -80 -74 -80 -73 -80 -72 -80 -71 -80 -70 -80 -69 -80 -68 -80 7 -80 8 -80 13 -80 14 -80 15 -80 16 -80 17 -80 18 -80 19 -80 20 -80 25 -80 30 -80 31 -80 32 -80 33 -80 34 -80 35 -80 36 -80 37 -80 38 -80 39 -80 40 -80 45 -80 50 -80 55 -80 56 -80 57 -80 58 -80 59 -80 60 -80 65 -80 66 -80 67 -80 68 -80 69 -80 70 -80 71 -80 72 -81 -89 -81 -88 -81 -87 -81 -86 -81 -85 -81 -84 -81 -83 -81 -82 -81 -81 -81 -80 -81 -79 -81 -78 -81 -77 -81 -76 -81 -75 -81 -74 -81 -73 -81 -72 -81 -71 -81 -70 -81 -69 -81 -68 -81 7 -81 8 -81 16 -81 17 -81 18 -81 19 -81 20 -81 21 -81 22 -81 23 -81 24 -81 25 -81 26 -81 27 -81 28 -81 29 -81 30 -81 31 -81 32 -81 33 -81 34 -81 36 -81 37 -81 38 -81 39 -81 40 -81 41 -81 42 -81 43 -81 44 -81 45 -81 46 -81 47 -81 48 -81 49 -81 50 -81 51 -81 52 -81 53 -81 54 -81 55 -81 56 -81 57 -81 58 -81 59 -81 60 -81 61 -81 62 -81 63 -81 64 -81 65 -81 66 -81 67 -81 68 -81 69 -81 70 -81 71 -81 73 -82 -89 -82 -88 -82 -87 -82 -86 -82 -85 -82 -84 -82 -83 -82 -82 -82 -81 -82 -80 -82 -79 -82 -78 -82 -77 -82 -76 -82 -75 -82 -74 -82 -73 -82 -72 -82 -71 -82 -70 -82 -69 -82 -68 -82 -66 -82 17 -82 18 -82 19 -82 20 -82 21 -82 22 -82 23 -82 24 -82 25 -82 26 -82 27 -82 28 -82 29 -82 30 -82 31 -82 32 -82 33 -82 34 -82 35 -82 36 -82 37 -82 38 -82 39 -82 40 -82 41 -82 42 -82 43 -82 44 -82 45 -82 47 -82 48 -82 49 -82 50 -82 51 -82 52 -82 53 -82 54 -82 55 -82 56 -82 57 -82 58 -82 59 -82 60 -82 61 -82 62 -82 63 -82 64 -82 65 -82 66 -82 67 -82 68 -82 69 -82 70 -82 71 -82 73 -83 -89 -83 -88 -83 -87 -83 -86 -83 -85 -83 -84 -83 -83 -83 -82 -83 -81 -83 -80 -83 -79 -83 -78 -83 -77 -83 -76 -83 -75 -83 -74 -83 -73 -83 -72 -83 -71 -83 -70 -83 -69 -83 -68 -83 -67 -83 18 -83 19 -83 20 -83 21 -83 22 -83 23 -83 24 -83 25 -83 26 -83 27 -83 28 -83 29 -83 30 -83 31 -83 32 -83 33 -83 34 -83 35 -83 36 -83 37 -83 38 -83 39 -83 40 -83 41 -83 42 -83 43 -83 44 -83 45 -83 46 -83 47 -83 48 -83 49 -83 50 -83 51 -83 52 -83 53 -83 54 -83 55 -83 56 -83 57 -83 58 -83 59 -83 60 -83 61 -83 62 -83 63 -83 64 -83 65 -83 66 -83 67 -83 68 -83 69 -83 70 -83 72 -83 73 -84 -89 -84 -88 -84 -87 -84 -86 -84 -85 -84 -84 -84 -83 -84 -82 -84 -81 -84 -80 -84 -79 -84 -78 -84 -77 -84 -76 -84 -75 -84 -74 -84 -73 -84 -72 -84 -71 -84 -70 -84 -69 -84 -68 -84 -67 -84 19 -84 20 -84 21 -84 22 -84 23 -84 24 -84 25 -84 26 -84 27 -84 28 -84 29 -84 30 -84 31 -84 32 -84 33 -84 34 -84 35 -84 36 -84 37 -84 38 -84 39 -84 40 -84 41 -84 42 -84 43 -84 44 -84 45 -84 46 -84 47 -84 49 -84 50 -84 51 -84 52 -84 53 -84 54 -84 55 -84 56 -84 57 -84 58 -84 59 -84 60 -84 61 -84 62 -84 63 -84 64 -84 65 -84 66 -84 67 -84 68 -84 69 -84 70 -84 71 -84 72 -84 73 -84 74 -85 -89 -85 -88 -85 -87 -85 -86 -85 -85 -85 -84 -85 -83 -85 -82 -85 -81 -85 -80 -85 -79 -85 -78 -85 -77 -85 -76 -85 -75 -85 -74 -85 -73 -85 -72 -85 -71 -85 -70 -85 -69 -85 -68 -85 -67 -85 20 -85 21 -85 22 -85 23 -85 24 -85 25 -85 26 -85 27 -85 28 -85 29 -85 30 -85 31 -85 32 -85 33 -85 34 -85 35 -85 40 -85 45 -85 46 -85 47 -85 48 -85 49 -85 50 -85 55 -85 60 -85 61 -85 62 -85 63 -85 64 -85 65 -85 66 -85 67 -85 68 -85 69 -85 70 -85 71 -85 72 -85 73 -86 -89 -86 -88 -86 -87 -86 -86 -86 -85 -86 -84 -86 -83 -86 -82 -86 -81 -86 -80 -86 -79 -86 -78 -86 -77 -86 -76 -86 -75 -86 -74 -86 -73 -86 -72 -86 -71 -86 -70 -86 -69 -86 -68 -86 -67 -86 20 -86 21 -86 22 -86 23 -86 24 -86 25 -86 26 -86 27 -86 28 -86 29 -86 30 -86 31 -86 32 -86 33 -86 34 -86 35 -86 36 -86 37 -86 38 -86 39 -86 40 -86 41 -86 42 -86 43 -86 44 -86 45 -86 46 -86 47 -86 48 -86 49 -86 50 -86 51 -86 52 -86 53 -86 54 -86 55 -86 56 -86 57 -86 58 -86 59 -86 60 -86 61 -86 62 -86 63 -86 64 -86 65 -86 66 -86 67 -86 68 -86 70 -86 71 -86 72 -86 73 -87 -89 -87 -88 -87 -87 -87 -86 -87 -85 -87 -84 -87 -83 -87 -82 -87 -81 -87 -80 -87 -79 -87 -78 -87 -77 -87 -76 -87 -75 -87 -74 -87 -73 -87 -72 -87 -71 -87 -70 -87 -69 -87 -68 -87 -67 -87 22 -87 23 -87 24 -87 25 -87 26 -87 27 -87 28 -87 29 -87 30 -87 32 -87 33 -87 34 -87 35 -87 36 -87 37 -87 38 -87 39 -87 40 -87 41 -87 43 -87 44 -87 45 -87 46 -87 47 -87 48 -87 49 -87 50 -87 51 -87 52 -87 53 -87 54 -87 55 -87 56 -87 57 -87 58 -87 59 -87 60 -87 61 -87 62 -87 63 -87 64 -87 65 -87 66 -87 67 -87 68 -87 69 -87 70 -87 71 -87 72 -87 73 -88 -89 -88 -88 -88 -87 -88 -86 -88 -85 -88 -84 -88 -83 -88 -82 -88 -81 -88 -80 -88 -79 -88 -78 -88 -77 -88 -76 -88 -75 -88 -74 -88 -73 -88 -72 -88 -71 -88 -70 -88 -69 -88 -68 -88 -67 -88 22 -88 23 -88 24 -88 25 -88 26 -88 27 -88 28 -88 29 -88 30 -88 31 -88 32 -88 33 -88 34 -88 35 -88 36 -88 37 -88 38 -88 39 -88 40 -88 41 -88 42 -88 43 -88 44 -88 45 -88 46 -88 47 -88 48 -88 49 -88 50 -88 51 -88 52 -88 53 -88 54 -88 55 -88 56 -88 57 -88 58 -88 59 -88 60 -88 61 -88 62 -88 63 -88 64 -88 65 -88 66 -88 67 -88 68 -88 69 -88 70 -88 71 -88 72 -88 73 -88 74 -88 75 -89 -89 -89 -88 -89 -87 -89 -86 -89 -85 -89 -84 -89 -83 -89 -82 -89 -81 -89 -80 -89 -79 -89 -78 -89 -77 -89 -76 -89 -75 -89 -74 -89 -73 -89 -72 -89 -71 -89 -70 -89 -69 -89 -68 -89 -67 -89 22 -89 23 -89 24 -89 25 -89 26 -89 27 -89 28 -89 29 -89 30 -89 31 -89 32 -89 33 -89 34 -89 35 -89 36 -89 37 -89 38 -89 39 -89 40 -89 41 -89 42 -89 43 -89 44 -89 45 -89 46 -89 47 -89 48 -89 49 -89 50 -89 51 -89 52 -89 53 -89 54 -89 55 -89 56 -89 57 -89 58 -89 59 -89 60 -89 61 -89 62 -89 63 -89 64 -89 65 -89 66 -89 67 -89 68 -89 69 -89 70 -89 71 -89 72 -89 73 -89 74 -89 75 -90 -89 -90 -88 -90 -87 -90 -86 -90 -85 -90 -84 -90 -83 -90 -82 -90 -81 -90 -80 -90 -79 -90 -78 -90 -77 -90 -76 -90 -75 -90 -74 -90 -73 -90 -72 -90 -71 -90 -70 -90 -69 -90 -68 -90 -67 -90 23 -90 24 -90 25 -90 26 -90 27 -90 28 -90 29 -90 30 -90 31 -90 32 -90 33 -90 34 -90 35 -90 36 -90 37 -90 38 -90 39 -90 40 -90 45 -90 46 -90 47 -90 48 -90 49 -90 50 -90 51 -90 52 -90 53 -90 54 -90 55 -90 56 -90 57 -90 58 -90 59 -90 60 -90 61 -90 62 -90 63 -90 64 -90 65 -90 66 -90 67 -90 68 -90 69 -90 70 -90 71 -90 72 -90 73 -90 74 -90 75 -91 -89 -91 -88 -91 -87 -91 -86 -91 -85 -91 -84 -91 -83 -91 -82 -91 -81 -91 -80 -91 -79 -91 -78 -91 -77 -91 -76 -91 -75 -91 -74 -91 -73 -91 -72 -91 -71 -91 -70 -91 -69 -91 -68 -91 -67 -91 23 -91 24 -91 25 -91 26 -91 27 -91 28 -91 29 -91 30 -91 31 -91 32 -91 33 -91 34 -91 35 -91 36 -91 37 -91 38 -91 39 -91 40 -91 41 -91 42 -91 43 -91 44 -91 45 -91 46 -91 47 -91 48 -91 49 -91 50 -91 51 -91 52 -91 53 -91 54 -91 55 -91 56 -91 57 -91 58 -91 59 -91 60 -91 61 -91 62 -91 63 -91 64 -91 65 -91 66 -91 67 -91 68 -91 69 -91 70 -91 71 -91 72 -91 73 -91 74 -91 75 -92 -89 -92 -88 -92 -87 -92 -86 -92 -85 -92 -84 -92 -83 -92 -82 -92 -81 -92 -80 -92 -79 -92 -78 -92 -77 -92 -76 -92 -75 -92 -74 -92 -73 -92 -72 -92 -71 -92 -70 -92 -69 -92 -68 -92 -67 -92 22 -92 23 -92 24 -92 25 -92 26 -92 27 -92 28 -92 29 -92 30 -92 31 -92 32 -92 33 -92 34 -92 35 -92 36 -92 37 -92 38 -92 39 -92 40 -92 41 -92 42 -92 43 -92 44 -92 45 -92 46 -92 47 -92 49 -92 50 -92 51 -92 52 -92 53 -92 54 -92 55 -92 56 -92 57 -92 58 -92 59 -92 60 -92 61 -92 62 -92 63 -92 64 -92 65 -92 66 -92 67 -92 68 -92 69 -92 70 -92 71 -92 72 -92 73 -92 74 -92 75 -92 80 -93 -89 -93 -88 -93 -87 -93 -86 -93 -85 -93 -84 -93 -83 -93 -82 -93 -81 -93 -80 -93 -79 -93 -78 -93 -77 -93 -76 -93 -75 -93 -74 -93 -73 -93 -72 -93 -71 -93 -70 -93 -69 -93 -68 -93 -67 -93 12 -93 21 -93 22 -93 23 -93 24 -93 25 -93 26 -93 27 -93 28 -93 29 -93 30 -93 31 -93 32 -93 33 -93 34 -93 35 -93 36 -93 37 -93 38 -93 39 -93 40 -93 41 -93 42 -93 43 -93 44 -93 45 -93 46 -93 47 -93 48 -93 49 -93 50 -93 51 -93 52 -93 53 -93 54 -93 55 -93 56 -93 57 -93 58 -93 59 -93 60 -93 61 -93 62 -93 63 -93 64 -93 65 -93 66 -93 67 -93 68 -93 69 -93 70 -93 71 -93 72 -93 73 -93 74 -93 75 -93 76 -93 80 -94 -89 -94 -88 -94 -87 -94 -86 -94 -85 -94 -84 -94 -83 -94 -82 -94 -81 -94 -80 -94 -79 -94 -78 -94 -77 -94 -76 -94 -75 -94 -74 -94 -73 -94 -72 -94 -71 -94 -70 -94 -69 -94 -68 -94 -67 -94 20 -94 21 -94 22 -94 23 -94 24 -94 25 -94 26 -94 27 -94 28 -94 29 -94 30 -94 31 -94 32 -94 33 -94 34 -94 35 -94 36 -94 37 -94 38 -94 39 -94 40 -94 41 -94 42 -94 43 -94 44 -94 45 -94 46 -94 47 -94 48 -94 49 -94 50 -94 51 -94 52 -94 53 -94 54 -94 55 -94 56 -94 57 -94 58 -94 59 -94 60 -94 61 -94 62 -94 63 -94 64 -94 65 -94 66 -94 67 -94 68 -94 69 -94 70 -94 71 -94 72 -94 73 -94 74 -94 75 -94 76 -94 80 -94 81 -95 -89 -95 -88 -95 -87 -95 -86 -95 -85 -95 -84 -95 -83 -95 -82 -95 -81 -95 -80 -95 -79 -95 -78 -95 -77 -95 -76 -95 -75 -95 -74 -95 -73 -95 -72 -95 -71 -95 -70 -95 -69 -95 -68 -95 -67 -95 16 -95 17 -95 18 -95 19 -95 20 -95 25 -95 30 -95 31 -95 32 -95 33 -95 34 -95 35 -95 36 -95 37 -95 38 -95 39 -95 40 -95 41 -95 42 -95 43 -95 44 -95 45 -95 50 -95 51 -95 52 -95 53 -95 54 -95 55 -95 56 -95 57 -95 58 -95 59 -95 60 -95 61 -95 62 -95 63 -95 64 -95 65 -95 66 -95 67 -95 68 -95 69 -95 70 -95 71 -95 72 -95 73 -95 74 -95 75 -95 76 -95 80 -95 81 -96 -89 -96 -88 -96 -87 -96 -86 -96 -85 -96 -84 -96 -83 -96 -82 -96 -81 -96 -80 -96 -79 -96 -78 -96 -77 -96 -76 -96 -75 -96 -74 -96 -73 -96 -72 -96 -71 -96 -70 -96 -69 -96 -68 -96 -67 -96 -66 -96 5 -96 17 -96 18 -96 19 -96 20 -96 21 -96 22 -96 23 -96 24 -96 25 -96 26 -96 27 -96 28 -96 29 -96 30 -96 31 -96 32 -96 33 -96 34 -96 35 -96 36 -96 37 -96 38 -96 39 -96 40 -96 41 -96 42 -96 43 -96 44 -96 45 -96 46 -96 47 -96 48 -96 49 -96 50 -96 51 -96 52 -96 53 -96 54 -96 55 -96 56 -96 57 -96 58 -96 59 -96 60 -96 61 -96 62 -96 63 -96 64 -96 65 -96 66 -96 67 -96 68 -96 69 -96 70 -96 71 -96 72 -96 73 -96 74 -96 75 -96 76 -96 79 -96 80 -96 81 -97 -89 -97 -88 -97 -87 -97 -86 -97 -85 -97 -84 -97 -83 -97 -82 -97 -81 -97 -80 -97 -79 -97 -78 -97 -77 -97 -76 -97 -75 -97 -74 -97 -73 -97 -72 -97 -71 -97 -70 -97 -69 -97 -68 -97 -67 -97 -66 -97 4 -97 5 -97 18 -97 19 -97 20 -97 21 -97 22 -97 23 -97 24 -97 25 -97 26 -97 27 -97 28 -97 29 -97 30 -97 31 -97 32 -97 33 -97 34 -97 35 -97 36 -97 37 -97 38 -97 39 -97 40 -97 41 -97 42 -97 43 -97 44 -97 45 -97 46 -97 47 -97 48 -97 49 -97 50 -97 51 -97 52 -97 53 -97 54 -97 55 -97 56 -97 57 -97 58 -97 59 -97 60 -97 61 -97 62 -97 63 -97 64 -97 65 -97 66 -97 67 -97 68 -97 69 -97 70 -97 71 -97 72 -97 73 -97 74 -97 75 -97 79 -97 80 -98 -89 -98 -88 -98 -87 -98 -86 -98 -85 -98 -84 -98 -83 -98 -82 -98 -81 -98 -80 -98 -79 -98 -78 -98 -77 -98 -76 -98 -75 -98 -74 -98 -73 -98 -72 -98 -71 -98 -70 -98 -69 -98 -68 -98 -67 -98 -66 -98 3 -98 4 -98 15 -98 16 -98 17 -98 18 -98 19 -98 20 -98 21 -98 22 -98 23 -98 24 -98 25 -98 26 -98 27 -98 28 -98 29 -98 30 -98 31 -98 32 -98 33 -98 34 -98 35 -98 36 -98 37 -98 38 -98 39 -98 40 -98 41 -98 42 -98 43 -98 44 -98 45 -98 46 -98 47 -98 48 -98 49 -98 50 -98 51 -98 52 -98 53 -98 54 -98 55 -98 56 -98 57 -98 58 -98 59 -98 60 -98 61 -98 62 -98 63 -98 64 -98 65 -98 66 -98 67 -98 68 -98 69 -98 70 -98 71 -98 72 -98 73 -98 74 -98 75 -98 76 -98 79 -99 -89 -99 -88 -99 -87 -99 -86 -99 -85 -99 -84 -99 -83 -99 -82 -99 -81 -99 -80 -99 -79 -99 -78 -99 -77 -99 -76 -99 -75 -99 -74 -99 -73 -99 -72 -99 -71 -99 -70 -99 -69 -99 -68 -99 -67 -99 -66 -99 1 -99 2 -99 3 -99 8 -99 9 -99 10 -99 11 -99 12 -99 13 -99 14 -99 15 -99 16 -99 17 -99 18 -99 19 -99 20 -99 21 -99 22 -99 23 -99 24 -99 25 -99 26 -99 27 -99 28 -99 29 -99 30 -99 31 -99 32 -99 33 -99 34 -99 35 -99 36 -99 37 -99 38 -99 39 -99 40 -99 41 -99 42 -99 43 -99 44 -99 45 -99 46 -99 47 -99 48 -99 49 -99 50 -99 51 -99 52 -99 53 -99 54 -99 55 -99 56 -99 57 -99 58 -99 59 -99 60 -99 61 -99 62 -99 63 -99 64 -99 65 -99 66 -99 67 -99 68 -99 69 -99 70 -99 71 -99 72 -99 73 -99 74 -99 75 -99 76 -99 79 -99 80 -100 -89 -100 -88 -100 -87 -100 -86 -100 -85 -100 -84 -100 -83 -100 -82 -100 -81 -100 -80 -100 -79 -100 -78 -100 -77 -100 -76 -100 -75 -100 -74 -100 -73 -100 -72 -100 -71 -100 -70 -100 -69 -100 -68 -100 -67 -100 -66 -100 0 -100 1 -100 2 -100 7 -100 8 -100 13 -100 14 -100 15 -100 16 -100 17 -100 18 -100 19 -100 20 -100 21 -100 22 -100 23 -100 24 -100 25 -100 26 -100 27 -100 28 -100 29 -100 30 -100 31 -100 32 -100 33 -100 34 -100 35 -100 36 -100 38 -100 39 -100 40 -100 45 -100 50 -100 51 -100 52 -100 53 -100 54 -100 55 -100 56 -100 57 -100 58 -100 59 -100 60 -100 61 -100 62 -100 63 -100 64 -100 65 -100 70 -100 71 -100 72 -100 73 -100 75 -100 76 -100 78 -101 -89 -101 -88 -101 -87 -101 -86 -101 -85 -101 -84 -101 -83 -101 -82 -101 -81 -101 -80 -101 -79 -101 -78 -101 -77 -101 -76 -101 -75 -101 -74 -101 -73 -101 -72 -101 -71 -101 -70 -101 -69 -101 -68 -101 -67 -101 -66 -101 -2 -101 -1 -101 0 -101 1 -101 2 -101 4 -101 5 -101 6 -101 13 -101 14 -101 15 -101 16 -101 17 -101 18 -101 19 -101 20 -101 21 -101 22 -101 23 -101 24 -101 25 -101 26 -101 27 -101 28 -101 29 -101 30 -101 31 -101 32 -101 33 -101 34 -101 35 -101 36 -101 37 -101 38 -101 39 -101 40 -101 41 -101 42 -101 43 -101 44 -101 45 -101 46 -101 47 -101 48 -101 49 -101 50 -101 51 -101 52 -101 53 -101 54 -101 55 -101 56 -101 57 -101 58 -101 59 -101 60 -101 61 -101 62 -101 63 -101 64 -101 65 -101 66 -101 67 -101 68 -101 69 -101 70 -101 71 -101 72 -101 74 -101 75 -101 76 -102 -89 -102 -88 -102 -87 -102 -86 -102 -85 -102 -84 -102 -83 -102 -82 -102 -81 -102 -80 -102 -79 -102 -78 -102 -77 -102 -76 -102 -75 -102 -74 -102 -73 -102 -72 -102 -71 -102 -70 -102 -69 -102 -68 -102 -67 -102 -66 -102 -3 -102 -2 -102 -1 -102 0 -102 1 -102 3 -102 4 -102 5 -102 6 -102 13 -102 14 -102 15 -102 16 -102 17 -102 18 -102 19 -102 20 -102 21 -102 22 -102 23 -102 24 -102 25 -102 26 -102 27 -102 28 -102 29 -102 30 -102 31 -102 32 -102 33 -102 34 -102 35 -102 36 -102 37 -102 38 -102 39 -102 40 -102 41 -102 42 -102 43 -102 44 -102 45 -102 46 -102 47 -102 48 -102 49 -102 50 -102 51 -102 52 -102 53 -102 54 -102 55 -102 56 -102 57 -102 58 -102 59 -102 60 -102 61 -102 62 -102 63 -102 64 -102 65 -102 66 -102 67 -102 68 -102 69 -102 70 -102 71 -102 72 -102 73 -102 74 -102 75 -102 76 -102 77 -102 79 -103 -89 -103 -88 -103 -87 -103 -86 -103 -85 -103 -84 -103 -83 -103 -82 -103 -81 -103 -80 -103 -79 -103 -78 -103 -77 -103 -76 -103 -75 -103 -74 -103 -73 -103 -72 -103 -71 -103 -70 -103 -69 -103 -68 -103 -67 -103 -66 -103 -4 -103 -3 -103 -2 -103 -1 -103 0 -103 1 -103 2 -103 3 -103 4 -103 5 -103 12 -103 13 -103 14 -103 15 -103 16 -103 17 -103 18 -103 19 -103 20 -103 21 -103 22 -103 23 -103 24 -103 25 -103 26 -103 27 -103 28 -103 29 -103 30 -103 31 -103 32 -103 33 -103 34 -103 35 -103 36 -103 37 -103 38 -103 39 -103 40 -103 41 -103 42 -103 43 -103 44 -103 45 -103 46 -103 47 -103 48 -103 49 -103 50 -103 51 -103 52 -103 53 -103 54 -103 55 -103 57 -103 58 -103 59 -103 60 -103 61 -103 62 -103 63 -103 64 -103 65 -103 66 -103 67 -103 68 -103 69 -103 70 -103 71 -103 72 -103 73 -103 74 -103 75 -103 76 -103 77 -103 79 -104 -89 -104 -88 -104 -87 -104 -86 -104 -85 -104 -84 -104 -83 -104 -82 -104 -81 -104 -80 -104 -79 -104 -78 -104 -77 -104 -76 -104 -75 -104 -74 -104 -73 -104 -72 -104 -71 -104 -70 -104 -69 -104 -68 -104 -67 -104 -66 -104 -5 -104 -4 -104 -3 -104 -2 -104 2 -104 11 -104 12 -104 14 -104 15 -104 16 -104 17 -104 18 -104 19 -104 20 -104 21 -104 22 -104 23 -104 24 -104 25 -104 26 -104 27 -104 28 -104 29 -104 30 -104 31 -104 32 -104 33 -104 34 -104 35 -104 36 -104 37 -104 38 -104 39 -104 40 -104 41 -104 42 -104 43 -104 44 -104 45 -104 46 -104 47 -104 48 -104 49 -104 50 -104 51 -104 52 -104 53 -104 54 -104 55 -104 56 -104 57 -104 58 -104 59 -104 60 -104 61 -104 62 -104 63 -104 64 -104 65 -104 66 -104 67 -104 68 -104 69 -104 70 -104 71 -104 72 -104 73 -104 74 -104 75 -104 76 -104 77 -104 79 -105 -89 -105 -88 -105 -87 -105 -86 -105 -85 -105 -84 -105 -83 -105 -82 -105 -81 -105 -80 -105 -79 -105 -78 -105 -77 -105 -76 -105 -75 -105 -74 -105 -73 -105 -72 -105 -71 -105 -70 -105 -69 -105 -68 -105 -67 -105 -66 -105 -5 -105 -4 -105 -3 -105 9 -105 11 -105 12 -105 13 -105 14 -105 15 -105 16 -105 17 -105 18 -105 19 -105 20 -105 21 -105 22 -105 23 -105 24 -105 25 -105 26 -105 27 -105 28 -105 29 -105 30 -105 31 -105 32 -105 33 -105 34 -105 35 -105 40 -105 45 -105 46 -105 47 -105 48 -105 49 -105 50 -105 51 -105 52 -105 53 -105 54 -105 55 -105 56 -105 57 -105 58 -105 59 -105 60 -105 61 -105 62 -105 63 -105 64 -105 65 -105 66 -105 67 -105 68 -105 69 -105 70 -105 71 -105 72 -105 73 -105 74 -105 75 -105 76 -105 77 -106 -89 -106 -88 -106 -87 -106 -86 -106 -85 -106 -84 -106 -83 -106 -82 -106 -81 -106 -80 -106 -79 -106 -78 -106 -77 -106 -76 -106 -75 -106 -74 -106 -73 -106 -72 -106 -71 -106 -70 -106 -69 -106 -68 -106 -67 -106 -6 -106 -3 -106 -2 -106 10 -106 11 -106 12 -106 14 -106 15 -106 16 -106 17 -106 18 -106 20 -106 21 -106 22 -106 23 -106 24 -106 25 -106 26 -106 27 -106 28 -106 29 -106 30 -106 31 -106 32 -106 33 -106 34 -106 35 -106 36 -106 37 -106 38 -106 39 -106 40 -106 41 -106 42 -106 43 -106 44 -106 45 -106 46 -106 47 -106 48 -106 49 -106 50 -106 51 -106 53 -106 54 -106 55 -106 56 -106 57 -106 58 -106 59 -106 60 -106 61 -106 62 -106 63 -106 64 -106 65 -106 66 -106 67 -106 68 -106 69 -106 70 -106 71 -106 72 -106 74 -106 75 -106 76 -106 77 -107 -89 -107 -88 -107 -87 -107 -86 -107 -85 -107 -84 -107 -83 -107 -82 -107 -81 -107 -80 -107 -79 -107 -78 -107 -77 -107 -76 -107 -75 -107 -74 -107 -73 -107 -72 -107 -71 -107 -70 -107 -69 -107 -68 -107 -67 -107 -7 -107 11 -107 12 -107 13 -107 14 -107 15 -107 16 -107 17 -107 21 -107 22 -107 23 -107 24 -107 25 -107 26 -107 27 -107 28 -107 29 -107 30 -107 31 -107 32 -107 33 -107 34 -107 35 -107 36 -107 37 -107 38 -107 39 -107 40 -107 41 -107 42 -107 43 -107 44 -107 45 -107 46 -107 47 -107 48 -107 49 -107 50 -107 51 -107 52 -107 54 -107 55 -107 56 -107 57 -107 58 -107 59 -107 60 -107 61 -107 62 -107 63 -107 64 -107 65 -107 66 -107 67 -107 68 -107 69 -107 70 -107 71 -107 72 -107 73 -107 74 -107 75 -107 76 -107 77 -108 -89 -108 -88 -108 -87 -108 -86 -108 -85 -108 -84 -108 -83 -108 -82 -108 -81 -108 -80 -108 -79 -108 -78 -108 -77 -108 -76 -108 -75 -108 -74 -108 -73 -108 -72 -108 -71 -108 -70 -108 -69 -108 -68 -108 -67 -108 -7 -108 -3 -108 4 -108 11 -108 12 -108 13 -108 14 -108 15 -108 16 -108 22 -108 23 -108 24 -108 25 -108 26 -108 27 -108 28 -108 29 -108 30 -108 31 -108 32 -108 33 -108 34 -108 35 -108 36 -108 37 -108 38 -108 39 -108 40 -108 41 -108 42 -108 43 -108 44 -108 45 -108 46 -108 47 -108 48 -108 49 -108 50 -108 51 -108 52 -108 54 -108 55 -108 56 -108 57 -108 58 -108 59 -108 60 -108 61 -108 62 -108 63 -108 64 -108 65 -108 66 -108 67 -108 68 -108 69 -108 70 -108 71 -108 72 -108 73 -108 74 -108 75 -108 76 -109 -89 -109 -88 -109 -87 -109 -86 -109 -85 -109 -84 -109 -83 -109 -82 -109 -81 -109 -80 -109 -79 -109 -78 -109 -77 -109 -76 -109 -75 -109 -74 -109 -73 -109 -72 -109 -71 -109 -70 -109 -69 -109 -68 -109 -67 -109 -7 -109 1 -109 12 -109 13 -109 14 -109 19 -109 22 -109 23 -109 24 -109 25 -109 26 -109 27 -109 28 -109 29 -109 30 -109 31 -109 32 -109 33 -109 34 -109 35 -109 36 -109 37 -109 38 -109 39 -109 40 -109 41 -109 42 -109 43 -109 44 -109 45 -109 46 -109 47 -109 48 -109 49 -109 50 -109 51 -109 52 -109 53 -109 56 -109 57 -109 58 -109 59 -109 60 -109 61 -109 62 -109 63 -109 64 -109 65 -109 66 -109 67 -109 68 -109 69 -109 70 -109 71 -109 72 -109 73 -109 75 -109 76 -110 -89 -110 -88 -110 -87 -110 -86 -110 -85 -110 -84 -110 -83 -110 -82 -110 -81 -110 -80 -110 -79 -110 -78 -110 -77 -110 -76 -110 -75 -110 -74 -110 -73 -110 -72 -110 -71 -110 -70 -110 -69 -110 -68 -110 -67 -110 -7 -110 -1 -110 0 -110 1 -110 19 -110 21 -110 22 -110 23 -110 24 -110 25 -110 26 -110 27 -110 28 -110 29 -110 30 -110 31 -110 32 -110 33 -110 34 -110 35 -110 36 -110 37 -110 38 -110 39 -110 40 -110 41 -110 42 -110 43 -110 44 -110 45 -110 50 -110 55 -110 56 -110 57 -110 58 -110 59 -110 60 -110 61 -110 62 -110 63 -110 64 -110 65 -110 66 -110 67 -110 68 -110 69 -110 70 -110 71 -110 72 -110 73 -110 75 -110 76 -111 -89 -111 -88 -111 -87 -111 -86 -111 -85 -111 -84 -111 -83 -111 -82 -111 -81 -111 -80 -111 -79 -111 -78 -111 -77 -111 -76 -111 -75 -111 -74 -111 -73 -111 -72 -111 -71 -111 -70 -111 -69 -111 -68 -111 -67 -111 -8 -111 -7 -111 -3 -111 -2 -111 -1 -111 0 -111 1 -111 22 -111 23 -111 24 -111 25 -111 26 -111 27 -111 28 -111 29 -111 30 -111 31 -111 32 -111 33 -111 34 -111 36 -111 37 -111 38 -111 39 -111 40 -111 41 -111 42 -111 43 -111 44 -111 45 -111 46 -111 47 -111 48 -111 49 -111 50 -111 51 -111 52 -111 53 -111 54 -111 55 -111 56 -111 57 -111 58 -111 59 -111 60 -111 61 -111 62 -111 63 -111 64 -111 65 -111 66 -111 67 -111 68 -111 69 -111 70 -111 71 -111 72 -111 73 -111 75 -111 76 -112 -89 -112 -88 -112 -87 -112 -86 -112 -85 -112 -84 -112 -83 -112 -82 -112 -81 -112 -80 -112 -79 -112 -78 -112 -77 -112 -76 -112 -75 -112 -74 -112 -73 -112 -72 -112 -71 -112 -70 -112 -69 -112 -68 -112 -67 -112 -66 -112 -8 -112 -7 -112 -3 -112 -2 -112 -1 -112 0 -112 1 -112 2 -112 22 -112 23 -112 24 -112 25 -112 26 -112 27 -112 28 -112 29 -112 30 -112 31 -112 32 -112 33 -112 34 -112 35 -112 36 -112 37 -112 38 -112 39 -112 40 -112 41 -112 42 -112 43 -112 44 -112 45 -112 46 -112 47 -112 48 -112 49 -112 50 -112 51 -112 52 -112 53 -112 54 -112 55 -112 56 -112 57 -112 58 -112 59 -112 60 -112 61 -112 62 -112 63 -112 64 -112 65 -112 66 -112 67 -112 68 -112 69 -112 70 -112 71 -112 72 -112 73 -112 75 -112 76 -113 -89 -113 -88 -113 -87 -113 -86 -113 -85 -113 -84 -113 -83 -113 -82 -113 -81 -113 -80 -113 -79 -113 -78 -113 -77 -113 -76 -113 -75 -113 -74 -113 -73 -113 -72 -113 -71 -113 -70 -113 -69 -113 -68 -113 -67 -113 -66 -113 -8 -113 -7 -113 -3 -113 -2 -113 -1 -113 0 -113 1 -113 2 -113 3 -113 22 -113 23 -113 24 -113 25 -113 26 -113 27 -113 28 -113 29 -113 30 -113 31 -113 32 -113 33 -113 34 -113 35 -113 36 -113 37 -113 38 -113 39 -113 40 -113 41 -113 42 -113 43 -113 44 -113 45 -113 46 -113 47 -113 48 -113 49 -113 50 -113 51 -113 52 -113 53 -113 54 -113 55 -113 56 -113 57 -113 58 -113 59 -113 60 -113 61 -113 62 -113 63 -113 64 -113 65 -113 66 -113 67 -113 68 -113 69 -113 70 -113 71 -113 72 -113 73 -113 76 -114 -89 -114 -88 -114 -87 -114 -86 -114 -85 -114 -84 -114 -83 -114 -82 -114 -81 -114 -80 -114 -79 -114 -78 -114 -77 -114 -76 -114 -75 -114 -74 -114 -73 -114 -72 -114 -71 -114 -70 -114 -69 -114 -68 -114 -67 -114 -27 -114 -25 -114 -24 -114 -23 -114 -22 -114 -8 -114 -7 -114 -3 -114 -2 -114 -1 -114 0 -114 1 -114 2 -114 3 -114 4 -114 23 -114 24 -114 25 -114 26 -114 27 -114 28 -114 29 -114 30 -114 31 -114 32 -114 33 -114 34 -114 35 -114 36 -114 37 -114 38 -114 39 -114 40 -114 41 -114 42 -114 43 -114 44 -114 45 -114 46 -114 47 -114 48 -114 49 -114 50 -114 51 -114 52 -114 53 -114 54 -114 55 -114 56 -114 57 -114 58 -114 59 -114 60 -114 61 -114 62 -114 63 -114 64 -114 65 -114 66 -114 67 -114 68 -114 69 -114 70 -114 71 -114 72 -114 73 -115 -89 -115 -88 -115 -87 -115 -86 -115 -85 -115 -84 -115 -83 -115 -82 -115 -81 -115 -80 -115 -79 -115 -78 -115 -77 -115 -76 -115 -75 -115 -74 -115 -73 -115 -72 -115 -71 -115 -70 -115 -69 -115 -68 -115 -67 -115 -34 -115 -30 -115 -29 -115 -28 -115 -27 -115 -26 -115 -25 -115 -24 -115 -23 -115 -22 -115 -4 -115 -3 -115 -2 -115 -1 -115 0 -115 1 -115 2 -115 3 -115 4 -115 5 -115 23 -115 24 -115 25 -115 26 -115 27 -115 28 -115 29 -115 30 -115 31 -115 32 -115 33 -115 34 -115 35 -115 36 -115 37 -115 38 -115 39 -115 40 -115 41 -115 42 -115 43 -115 44 -115 45 -115 50 -115 55 -115 56 -115 57 -115 58 -115 59 -115 60 -115 61 -115 62 -115 63 -115 64 -115 65 -115 66 -115 67 -115 68 -115 69 -115 70 -115 71 -115 72 -115 73 -116 -89 -116 -88 -116 -87 -116 -86 -116 -85 -116 -84 -116 -83 -116 -82 -116 -81 -116 -80 -116 -79 -116 -78 -116 -77 -116 -76 -116 -75 -116 -74 -116 -73 -116 -72 -116 -71 -116 -70 -116 -69 -116 -68 -116 -67 -116 -34 -116 -33 -116 -32 -116 -31 -116 -30 -116 -29 -116 -28 -116 -27 -116 -26 -116 -25 -116 -24 -116 -23 -116 -22 -116 -3 -116 -2 -116 -1 -116 0 -116 1 -116 2 -116 3 -116 4 -116 5 -116 23 -116 24 -116 25 -116 26 -116 27 -116 28 -116 29 -116 30 -116 31 -116 32 -116 33 -116 34 -116 35 -116 36 -116 37 -116 38 -116 39 -116 40 -116 41 -116 42 -116 43 -116 44 -116 45 -116 46 -116 47 -116 48 -116 49 -116 50 -116 51 -116 52 -116 53 -116 54 -116 55 -116 56 -116 57 -116 58 -116 59 -116 60 -116 61 -116 62 -116 63 -116 64 -116 65 -116 66 -116 67 -116 68 -116 69 -116 70 -116 71 -116 72 -116 73 -117 -89 -117 -88 -117 -87 -117 -86 -117 -85 -117 -84 -117 -83 -117 -82 -117 -81 -117 -80 -117 -79 -117 -78 -117 -77 -117 -76 -117 -75 -117 -74 -117 -73 -117 -72 -117 -71 -117 -70 -117 -69 -117 -68 -117 -67 -117 -35 -117 -34 -117 -33 -117 -32 -117 -31 -117 -30 -117 -29 -117 -28 -117 -27 -117 -26 -117 -25 -117 -24 -117 -23 -117 -22 -117 -21 -117 -9 -117 -1 -117 0 -117 1 -117 2 -117 3 -117 4 -117 5 -117 6 -117 8 -117 24 -117 25 -117 26 -117 27 -117 28 -117 29 -117 30 -117 31 -117 32 -117 33 -117 34 -117 35 -117 36 -117 37 -117 38 -117 39 -117 40 -117 41 -117 42 -117 43 -117 44 -117 45 -117 46 -117 47 -117 48 -117 49 -117 50 -117 51 -117 52 -117 53 -117 54 -117 55 -117 56 -117 57 -117 58 -117 59 -117 60 -117 61 -117 62 -117 63 -117 64 -117 65 -117 66 -117 67 -117 68 -117 69 -117 70 -117 71 -117 72 -117 73 -118 -89 -118 -88 -118 -87 -118 -86 -118 -85 -118 -84 -118 -83 -118 -82 -118 -81 -118 -80 -118 -79 -118 -78 -118 -77 -118 -76 -118 -75 -118 -74 -118 -73 -118 -72 -118 -71 -118 -70 -118 -69 -118 -68 -118 -67 -118 -35 -118 -34 -118 -33 -118 -32 -118 -31 -118 -30 -118 -29 -118 -28 -118 -27 -118 -26 -118 -25 -118 -24 -118 -23 -118 -22 -118 -21 -118 1 -118 5 -118 6 -118 9 -118 25 -118 26 -118 27 -118 28 -118 29 -118 30 -118 31 -118 32 -118 33 -118 34 -118 35 -118 36 -118 37 -118 38 -118 40 -118 41 -118 42 -118 43 -118 44 -118 45 -118 46 -118 47 -118 48 -118 49 -118 50 -118 51 -118 52 -118 53 -118 54 -118 55 -118 56 -118 57 -118 58 -118 59 -118 60 -118 61 -118 62 -118 63 -118 64 -118 65 -118 66 -118 67 -118 68 -118 69 -118 70 -118 71 -118 72 -118 73 -119 -89 -119 -88 -119 -87 -119 -86 -119 -85 -119 -84 -119 -83 -119 -82 -119 -81 -119 -80 -119 -79 -119 -78 -119 -77 -119 -76 -119 -75 -119 -74 -119 -73 -119 -72 -119 -71 -119 -70 -119 -69 -119 -68 -119 -67 -119 -34 -119 -33 -119 -32 -119 -31 -119 -30 -119 -29 -119 -28 -119 -27 -119 -26 -119 -25 -119 -24 -119 -23 -119 -22 -119 -21 -119 -3 -119 10 -119 26 -119 27 -119 28 -119 29 -119 30 -119 31 -119 32 -119 33 -119 34 -119 35 -119 36 -119 37 -119 40 -119 41 -119 42 -119 43 -119 44 -119 45 -119 46 -119 47 -119 48 -119 49 -119 50 -119 51 -119 52 -119 53 -119 54 -119 55 -119 56 -119 57 -119 58 -119 59 -119 60 -119 61 -119 62 -119 63 -119 64 -119 65 -119 66 -119 67 -119 68 -119 69 -119 70 -119 71 -119 72 -119 73 -120 -89 -120 -88 -120 -87 -120 -86 -120 -85 -120 -84 -120 -83 -120 -82 -120 -81 -120 -80 -120 -79 -120 -78 -120 -77 -120 -76 -120 -75 -120 -74 -120 -73 -120 -72 -120 -71 -120 -70 -120 -69 -120 -68 -120 -67 -120 -33 -120 -32 -120 -31 -120 -30 -120 -29 -120 -28 -120 -27 -120 -26 -120 -25 -120 -24 -120 -23 -120 -22 -120 -21 -120 -20 -120 -10 -120 -5 -120 -4 -120 -3 -120 -2 -120 -1 -120 0 -120 5 -120 16 -120 27 -120 28 -120 29 -120 30 -120 31 -120 32 -120 33 -120 34 -120 36 -120 37 -120 41 -120 42 -120 43 -120 44 -120 45 -120 50 -120 51 -120 52 -120 53 -120 54 -120 55 -120 56 -120 57 -120 58 -120 59 -120 60 -120 61 -120 62 -120 63 -120 64 -120 65 -120 66 -120 67 -120 68 -120 69 -120 70 -120 71 -120 72 -120 73 -121 -89 -121 -88 -121 -87 -121 -86 -121 -85 -121 -84 -121 -83 -121 -82 -121 -81 -121 -80 -121 -79 -121 -78 -121 -77 -121 -76 -121 -75 -121 -74 -121 -73 -121 -72 -121 -71 -121 -70 -121 -69 -121 -68 -121 -67 -121 -33 -121 -32 -121 -31 -121 -30 -121 -29 -121 -28 -121 -27 -121 -26 -121 -25 -121 -24 -121 -23 -121 -22 -121 -21 -121 -20 -121 -2 -121 1 -121 6 -121 13 -121 14 -121 15 -121 16 -121 17 -121 18 -121 23 -121 24 -121 29 -121 30 -121 31 -121 32 -121 37 -121 41 -121 42 -121 43 -121 44 -121 45 -121 46 -121 47 -121 48 -121 49 -121 50 -121 51 -121 52 -121 53 -121 54 -121 55 -121 56 -121 57 -121 58 -121 59 -121 60 -121 61 -121 62 -121 63 -121 64 -121 65 -121 66 -121 67 -121 68 -121 69 -121 70 -121 71 -121 72 -122 -89 -122 -88 -122 -87 -122 -86 -122 -85 -122 -84 -122 -83 -122 -82 -122 -81 -122 -80 -122 -79 -122 -78 -122 -77 -122 -76 -122 -75 -122 -74 -122 -73 -122 -72 -122 -71 -122 -70 -122 -69 -122 -68 -122 -67 -122 -33 -122 -32 -122 -31 -122 -30 -122 -29 -122 -28 -122 -27 -122 -26 -122 -25 -122 -24 -122 -23 -122 -22 -122 -21 -122 -20 -122 -19 -122 -4 -122 -3 -122 -1 -122 1 -122 7 -122 15 -122 17 -122 18 -122 37 -122 40 -122 41 -122 42 -122 43 -122 44 -122 45 -122 46 -122 47 -122 48 -122 49 -122 50 -122 51 -122 52 -122 53 -122 54 -122 55 -122 56 -122 57 -122 58 -122 59 -122 60 -122 61 -122 62 -122 63 -122 64 -122 65 -122 66 -122 67 -122 68 -122 69 -122 70 -122 71 -122 72 -123 -89 -123 -88 -123 -87 -123 -86 -123 -85 -123 -84 -123 -83 -123 -82 -123 -81 -123 -80 -123 -79 -123 -78 -123 -77 -123 -76 -123 -75 -123 -74 -123 -73 -123 -72 -123 -71 -123 -70 -123 -69 -123 -68 -123 -67 -123 -33 -123 -32 -123 -31 -123 -30 -123 -29 -123 -28 -123 -27 -123 -26 -123 -25 -123 -24 -123 -23 -123 -22 -123 -21 -123 -20 -123 -19 -123 -18 -123 -17 -123 8 -123 10 -123 14 -123 40 -123 41 -123 42 -123 43 -123 44 -123 45 -123 46 -123 47 -123 48 -123 49 -123 50 -123 51 -123 52 -123 53 -123 54 -123 55 -123 56 -123 57 -123 58 -123 59 -123 60 -123 61 -123 62 -123 63 -123 64 -123 65 -123 66 -123 67 -123 68 -123 69 -123 70 -123 71 -123 72 -124 -89 -124 -88 -124 -87 -124 -86 -124 -85 -124 -84 -124 -83 -124 -82 -124 -81 -124 -80 -124 -79 -124 -78 -124 -77 -124 -76 -124 -75 -124 -74 -124 -73 -124 -72 -124 -71 -124 -70 -124 -69 -124 -68 -124 -67 -124 -33 -124 -32 -124 -31 -124 -30 -124 -29 -124 -28 -124 -27 -124 -26 -124 -25 -124 -24 -124 -23 -124 -22 -124 -21 -124 -20 -124 -19 -124 -18 -124 -17 -124 -10 -124 7 -124 8 -124 11 -124 13 -124 40 -124 41 -124 42 -124 43 -124 44 -124 45 -124 46 -124 47 -124 48 -124 49 -124 50 -124 51 -124 52 -124 53 -124 54 -124 55 -124 56 -124 57 -124 58 -124 59 -124 60 -124 61 -124 62 -124 63 -124 64 -124 65 -124 66 -124 67 -124 68 -124 70 -124 71 -124 72 -124 73 -125 -89 -125 -88 -125 -87 -125 -86 -125 -85 -125 -84 -125 -83 -125 -82 -125 -81 -125 -80 -125 -79 -125 -78 -125 -77 -125 -76 -125 -75 -125 -74 -125 -73 -125 -72 -125 -71 -125 -70 -125 -69 -125 -68 -125 -67 -125 -32 -125 -31 -125 -30 -125 -29 -125 -28 -125 -27 -125 -26 -125 -25 -125 -24 -125 -23 -125 -22 -125 -21 -125 -20 -125 -19 -125 -18 -125 -17 -125 -16 -125 -9 -125 6 -125 7 -125 8 -125 11 -125 12 -125 40 -125 41 -125 42 -125 43 -125 44 -125 45 -125 46 -125 47 -125 48 -125 49 -125 50 -125 51 -125 52 -125 53 -125 54 -125 55 -125 56 -125 57 -125 58 -125 59 -125 60 -125 61 -125 62 -125 63 -125 64 -125 65 -125 66 -125 67 -125 68 -125 69 -125 70 -125 71 -125 72 -125 73 -126 -89 -126 -88 -126 -87 -126 -86 -126 -85 -126 -84 -126 -83 -126 -82 -126 -81 -126 -80 -126 -79 -126 -78 -126 -77 -126 -76 -126 -75 -126 -74 -126 -73 -126 -72 -126 -71 -126 -70 -126 -69 -126 -68 -126 -67 -126 -32 -126 -31 -126 -30 -126 -29 -126 -28 -126 -27 -126 -26 -126 -25 -126 -24 -126 -23 -126 -22 -126 -21 -126 -20 -126 -19 -126 -18 -126 -17 -126 -16 -126 -15 -126 -9 -126 7 -126 8 -126 9 -126 38 -126 39 -126 40 -126 41 -126 42 -126 43 -126 44 -126 45 -126 46 -126 47 -126 48 -126 49 -126 50 -126 51 -126 52 -126 53 -126 54 -126 55 -126 56 -126 57 -126 58 -126 59 -126 60 -126 61 -126 62 -126 63 -126 65 -126 66 -126 67 -126 68 -126 69 -126 70 -126 71 -126 72 -126 73 -127 -89 -127 -88 -127 -87 -127 -86 -127 -85 -127 -84 -127 -83 -127 -82 -127 -81 -127 -80 -127 -79 -127 -78 -127 -77 -127 -76 -127 -75 -127 -74 -127 -73 -127 -72 -127 -71 -127 -70 -127 -69 -127 -68 -127 -67 -127 -32 -127 -31 -127 -30 -127 -29 -127 -28 -127 -27 -127 -26 -127 -25 -127 -24 -127 -23 -127 -22 -127 -21 -127 -20 -127 -19 -127 -18 -127 -17 -127 -16 -127 -15 -127 -14 -127 35 -127 36 -127 37 -127 38 -127 39 -127 40 -127 41 -127 42 -127 43 -127 44 -127 45 -127 46 -127 47 -127 48 -127 49 -127 50 -127 51 -127 52 -127 53 -127 54 -127 55 -127 56 -127 57 -127 58 -127 59 -127 60 -127 61 -127 62 -127 63 -127 64 -127 65 -127 66 -127 67 -127 68 -127 69 -127 70 -127 71 -127 72 -127 73 -128 -89 -128 -88 -128 -87 -128 -86 -128 -85 -128 -84 -128 -83 -128 -82 -128 -81 -128 -80 -128 -79 -128 -78 -128 -77 -128 -76 -128 -75 -128 -74 -128 -73 -128 -72 -128 -71 -128 -70 -128 -69 -128 -68 -128 -32 -128 -31 -128 -30 -128 -29 -128 -28 -128 -27 -128 -26 -128 -25 -128 -24 -128 -23 -128 -22 -128 -21 -128 -20 -128 -19 -128 -18 -128 -17 -128 -16 -128 -15 -128 1 -128 35 -128 36 -128 37 -128 38 -128 41 -128 42 -128 43 -128 44 -128 45 -128 46 -128 47 -128 48 -128 49 -128 50 -128 51 -128 52 -128 53 -128 54 -128 55 -128 56 -128 57 -128 58 -128 59 -128 60 -128 61 -128 62 -128 63 -128 64 -128 65 -128 66 -128 67 -128 68 -128 69 -128 70 -128 71 -128 72 -128 73 -129 -89 -129 -88 -129 -87 -129 -86 -129 -85 -129 -84 -129 -83 -129 -82 -129 -81 -129 -80 -129 -79 -129 -78 -129 -77 -129 -76 -129 -75 -129 -74 -129 -73 -129 -72 -129 -71 -129 -70 -129 -69 -129 -68 -129 -67 -129 -31 -129 -30 -129 -29 -129 -28 -129 -27 -129 -26 -129 -25 -129 -24 -129 -23 -129 -22 -129 -21 -129 -20 -129 -19 -129 -18 -129 -17 -129 -16 -129 -15 -129 -3 -129 36 -129 37 -129 41 -129 42 -129 43 -129 45 -129 46 -129 47 -129 48 -129 49 -129 50 -129 51 -129 52 -129 53 -129 54 -129 55 -129 56 -129 57 -129 58 -129 59 -129 60 -129 61 -129 62 -129 63 -129 64 -129 65 -129 66 -129 67 -129 68 -129 69 -129 70 -129 71 -130 -89 -130 -88 -130 -87 -130 -86 -130 -85 -130 -84 -130 -83 -130 -82 -130 -81 -130 -80 -130 -79 -130 -78 -130 -77 -130 -76 -130 -75 -130 -74 -130 -73 -130 -72 -130 -71 -130 -70 -130 -69 -130 -68 -130 -67 -130 -66 -130 -31 -130 -30 -130 -29 -130 -28 -130 -27 -130 -26 -130 -25 -130 -24 -130 -23 -130 -22 -130 -21 -130 -20 -130 -15 -130 -14 -130 -3 -130 -2 -130 33 -130 42 -130 43 -130 44 -130 45 -130 46 -130 47 -130 48 -130 49 -130 50 -130 51 -130 52 -130 53 -130 54 -130 55 -130 56 -130 57 -130 58 -130 59 -130 60 -130 61 -130 62 -130 63 -130 64 -130 65 -130 66 -130 67 -130 68 -130 69 -130 70 -130 71 -131 -89 -131 -88 -131 -87 -131 -86 -131 -85 -131 -84 -131 -83 -131 -82 -131 -81 -131 -80 -131 -79 -131 -78 -131 -77 -131 -76 -131 -75 -131 -74 -131 -73 -131 -72 -131 -71 -131 -70 -131 -69 -131 -68 -131 -67 -131 -31 -131 -30 -131 -29 -131 -28 -131 -27 -131 -26 -131 -25 -131 -24 -131 -23 -131 -22 -131 -21 -131 -20 -131 -19 -131 -18 -131 -17 -131 -16 -131 -15 -131 -14 -131 -13 -131 -1 -131 32 -131 33 -131 34 -131 43 -131 44 -131 45 -131 46 -131 47 -131 48 -131 49 -131 50 -131 51 -131 52 -131 53 -131 54 -131 55 -131 56 -131 57 -131 58 -131 59 -131 60 -131 61 -131 62 -131 63 -131 64 -131 65 -131 66 -131 67 -131 68 -131 69 -131 70 -132 -89 -132 -88 -132 -87 -132 -86 -132 -85 -132 -84 -132 -83 -132 -82 -132 -81 -132 -80 -132 -79 -132 -78 -132 -77 -132 -76 -132 -75 -132 -74 -132 -73 -132 -72 -132 -71 -132 -70 -132 -69 -132 -68 -132 -67 -132 -31 -132 -30 -132 -29 -132 -28 -132 -27 -132 -26 -132 -25 -132 -24 -132 -23 -132 -22 -132 -21 -132 -20 -132 -19 -132 -18 -132 -17 -132 -16 -132 -15 -132 -14 -132 -13 -132 -1 -132 34 -132 44 -132 45 -132 46 -132 47 -132 48 -132 49 -132 50 -132 51 -132 52 -132 53 -132 54 -132 55 -132 56 -132 57 -132 58 -132 59 -132 60 -132 61 -132 62 -132 63 -132 64 -132 65 -132 66 -132 67 -132 68 -132 69 -132 70 -132 71 -133 -89 -133 -88 -133 -87 -133 -86 -133 -85 -133 -84 -133 -83 -133 -82 -133 -81 -133 -80 -133 -79 -133 -78 -133 -77 -133 -76 -133 -75 -133 -74 -133 -73 -133 -72 -133 -71 -133 -70 -133 -69 -133 -68 -133 -67 -133 -32 -133 -31 -133 -30 -133 -29 -133 -28 -133 -27 -133 -26 -133 -25 -133 -24 -133 -23 -133 -22 -133 -21 -133 -20 -133 -19 -133 -18 -133 -17 -133 -16 -133 -15 -133 -14 -133 -13 -133 -12 -133 -4 -133 -3 -133 -2 -133 -1 -133 33 -133 34 -133 35 -133 43 -133 44 -133 45 -133 46 -133 47 -133 48 -133 49 -133 50 -133 51 -133 52 -133 53 -133 54 -133 55 -133 56 -133 57 -133 58 -133 59 -133 60 -133 61 -133 62 -133 63 -133 64 -133 65 -133 66 -133 67 -133 68 -133 69 -133 70 -133 71 -134 -89 -134 -88 -134 -87 -134 -86 -134 -85 -134 -84 -134 -83 -134 -82 -134 -81 -134 -80 -134 -79 -134 -78 -134 -77 -134 -76 -134 -75 -134 -74 -134 -73 -134 -72 -134 -71 -134 -70 -134 -69 -134 -68 -134 -67 -134 -32 -134 -31 -134 -30 -134 -29 -134 -28 -134 -27 -134 -26 -134 -25 -134 -24 -134 -23 -134 -22 -134 -21 -134 -20 -134 -19 -134 -18 -134 -17 -134 -16 -134 -15 -134 -14 -134 -13 -134 -12 -134 -3 -134 -2 -134 -1 -134 34 -134 35 -134 43 -134 44 -134 45 -134 46 -134 47 -134 48 -134 49 -134 50 -134 51 -134 52 -134 53 -134 54 -134 55 -134 56 -134 57 -134 58 -134 59 -134 60 -134 61 -134 62 -134 64 -134 65 -134 66 -134 67 -134 68 -134 69 -134 70 -134 71 -135 -89 -135 -88 -135 -87 -135 -86 -135 -85 -135 -84 -135 -83 -135 -82 -135 -81 -135 -80 -135 -79 -135 -78 -135 -77 -135 -76 -135 -75 -135 -74 -135 -73 -135 -72 -135 -71 -135 -70 -135 -69 -135 -68 -135 -67 -135 -66 -135 -33 -135 -32 -135 -31 -135 -30 -135 -29 -135 -28 -135 -27 -135 -26 -135 -25 -135 -24 -135 -23 -135 -22 -135 -21 -135 -20 -135 -19 -135 -18 -135 -17 -135 -16 -135 -15 -135 -14 -135 -13 -135 -4 -135 35 -135 44 -135 45 -135 46 -135 47 -135 48 -135 49 -135 50 -135 51 -135 52 -135 53 -135 54 -135 55 -135 56 -135 57 -135 58 -135 59 -135 60 -135 61 -135 62 -135 63 -135 64 -135 65 -135 66 -135 67 -135 68 -135 69 -135 70 -135 71 -136 -89 -136 -88 -136 -87 -136 -86 -136 -85 -136 -84 -136 -83 -136 -82 -136 -81 -136 -80 -136 -79 -136 -78 -136 -77 -136 -76 -136 -75 -136 -74 -136 -73 -136 -72 -136 -71 -136 -70 -136 -69 -136 -68 -136 -67 -136 -34 -136 -33 -136 -32 -136 -31 -136 -30 -136 -29 -136 -28 -136 -27 -136 -26 -136 -25 -136 -24 -136 -23 -136 -22 -136 -21 -136 -20 -136 -19 -136 -18 -136 -17 -136 -16 -136 -13 -136 -4 -136 -3 -136 -1 -136 34 -136 35 -136 36 -136 45 -136 46 -136 47 -136 48 -136 49 -136 50 -136 51 -136 52 -136 53 -136 54 -136 56 -136 57 -136 58 -136 59 -136 60 -136 61 -136 62 -136 63 -136 64 -136 65 -136 66 -136 67 -136 68 -136 69 -136 70 -136 71 -136 74 -137 -89 -137 -88 -137 -87 -137 -86 -137 -85 -137 -84 -137 -83 -137 -82 -137 -81 -137 -80 -137 -79 -137 -78 -137 -77 -137 -76 -137 -75 -137 -74 -137 -73 -137 -72 -137 -71 -137 -70 -137 -69 -137 -68 -137 -67 -137 -36 -137 -35 -137 -33 -137 -32 -137 -31 -137 -30 -137 -29 -137 -28 -137 -27 -137 -26 -137 -25 -137 -24 -137 -23 -137 -22 -137 -21 -137 -20 -137 -19 -137 -18 -137 -17 -137 -16 -137 -4 -137 -3 -137 35 -137 36 -137 37 -137 46 -137 47 -137 48 -137 49 -137 50 -137 51 -137 52 -137 53 -137 55 -137 56 -137 57 -137 58 -137 59 -137 60 -137 61 -137 62 -137 63 -137 64 -137 65 -137 66 -137 67 -137 68 -137 69 -137 70 -137 71 -138 -89 -138 -88 -138 -87 -138 -86 -138 -85 -138 -84 -138 -83 -138 -82 -138 -81 -138 -80 -138 -79 -138 -78 -138 -77 -138 -76 -138 -75 -138 -74 -138 -73 -138 -72 -138 -71 -138 -70 -138 -69 -138 -68 -138 -67 -138 -34 -138 -33 -138 -32 -138 -31 -138 -30 -138 -29 -138 -28 -138 -27 -138 -26 -138 -25 -138 -24 -138 -23 -138 -22 -138 -21 -138 -20 -138 -19 -138 -18 -138 -17 -138 -8 -138 -5 -138 -4 -138 -3 -138 -2 -138 35 -138 36 -138 37 -138 47 -138 48 -138 49 -138 50 -138 51 -138 52 -138 53 -138 55 -138 57 -138 58 -138 59 -138 60 -138 61 -138 62 -138 63 -138 64 -138 65 -138 66 -138 67 -138 68 -138 69 -138 70 -138 71 -138 75 -138 76 -139 -89 -139 -88 -139 -87 -139 -86 -139 -85 -139 -84 -139 -83 -139 -82 -139 -81 -139 -80 -139 -79 -139 -78 -139 -77 -139 -76 -139 -75 -139 -74 -139 -73 -139 -72 -139 -71 -139 -70 -139 -69 -139 -68 -139 -67 -139 -35 -139 -34 -139 -33 -139 -32 -139 -31 -139 -30 -139 -29 -139 -28 -139 -27 -139 -26 -139 -25 -139 -24 -139 -23 -139 -22 -139 -21 -139 -20 -139 -19 -139 -18 -139 -17 -139 -8 -139 -7 -139 -6 -139 -5 -139 -4 -139 -3 -139 -2 -139 35 -139 36 -139 37 -139 48 -139 49 -139 50 -139 51 -139 52 -139 53 -139 54 -139 58 -139 59 -139 60 -139 61 -139 62 -139 63 -139 64 -139 65 -139 66 -139 67 -139 68 -139 69 -139 70 -139 71 -139 75 -139 76 -140 -89 -140 -88 -140 -87 -140 -86 -140 -85 -140 -84 -140 -83 -140 -82 -140 -81 -140 -80 -140 -79 -140 -78 -140 -77 -140 -76 -140 -75 -140 -74 -140 -73 -140 -72 -140 -71 -140 -70 -140 -69 -140 -68 -140 -67 -140 -37 -140 -36 -140 -35 -140 -30 -140 -29 -140 -28 -140 -27 -140 -26 -140 -25 -140 -24 -140 -23 -140 -22 -140 -21 -140 -20 -140 -19 -140 -18 -140 -8 -140 -7 -140 -6 -140 -5 -140 -4 -140 -3 -140 36 -140 37 -140 38 -140 39 -140 40 -140 49 -140 50 -140 51 -140 52 -140 53 -140 54 -140 58 -140 59 -140 60 -140 65 -140 66 -140 67 -140 68 -140 69 -140 70 -140 71 -140 72 -140 75 -141 -89 -141 -88 -141 -87 -141 -86 -141 -85 -141 -84 -141 -83 -141 -82 -141 -81 -141 -80 -141 -79 -141 -78 -141 -77 -141 -76 -141 -75 -141 -74 -141 -73 -141 -72 -141 -71 -141 -70 -141 -69 -141 -68 -141 -67 -141 -38 -141 -37 -141 -36 -141 -35 -141 -34 -141 -33 -141 -32 -141 -31 -141 -30 -141 -29 -141 -28 -141 -27 -141 -26 -141 -25 -141 -24 -141 -23 -141 -22 -141 -21 -141 -20 -141 -19 -141 -18 -141 -17 -141 -9 -141 -8 -141 -7 -141 -6 -141 -5 -141 -4 -141 -3 -141 39 -141 40 -141 43 -141 52 -141 59 -141 60 -141 61 -141 62 -141 63 -141 64 -141 65 -141 66 -141 67 -141 68 -141 69 -141 70 -141 71 -141 72 -141 74 -141 75 -142 -89 -142 -88 -142 -87 -142 -86 -142 -85 -142 -84 -142 -83 -142 -82 -142 -81 -142 -80 -142 -79 -142 -78 -142 -77 -142 -76 -142 -75 -142 -74 -142 -73 -142 -72 -142 -71 -142 -70 -142 -69 -142 -68 -142 -67 -142 -38 -142 -37 -142 -36 -142 -35 -142 -34 -142 -33 -142 -32 -142 -31 -142 -30 -142 -29 -142 -28 -142 -27 -142 -26 -142 -25 -142 -24 -142 -23 -142 -22 -142 -21 -142 -20 -142 -19 -142 -18 -142 -17 -142 -16 -142 -15 -142 -14 -142 -13 -142 -12 -142 -9 -142 -8 -142 -7 -142 -6 -142 -5 -142 -4 -142 -3 -142 43 -142 44 -142 45 -142 46 -142 52 -142 53 -142 59 -142 60 -142 61 -142 62 -142 63 -142 64 -142 65 -142 66 -142 67 -142 68 -142 69 -142 70 -142 71 -142 72 -142 76 -143 -89 -143 -88 -143 -87 -143 -86 -143 -85 -143 -84 -143 -83 -143 -82 -143 -81 -143 -80 -143 -79 -143 -78 -143 -77 -143 -76 -143 -75 -143 -74 -143 -73 -143 -72 -143 -71 -143 -70 -143 -69 -143 -68 -143 -67 -143 -38 -143 -37 -143 -36 -143 -35 -143 -34 -143 -33 -143 -32 -143 -31 -143 -30 -143 -29 -143 -28 -143 -27 -143 -26 -143 -25 -143 -24 -143 -23 -143 -22 -143 -21 -143 -20 -143 -19 -143 -18 -143 -17 -143 -16 -143 -15 -143 -14 -143 -13 -143 -12 -143 -9 -143 -8 -143 -7 -143 -6 -143 -5 -143 -4 -143 43 -143 44 -143 47 -143 50 -143 51 -143 52 -143 53 -143 60 -143 61 -143 62 -143 63 -143 64 -143 65 -143 66 -143 67 -143 68 -143 69 -143 70 -143 71 -143 72 -143 75 -144 -89 -144 -88 -144 -87 -144 -86 -144 -85 -144 -84 -144 -83 -144 -82 -144 -81 -144 -80 -144 -79 -144 -78 -144 -77 -144 -76 -144 -75 -144 -74 -144 -73 -144 -72 -144 -71 -144 -70 -144 -69 -144 -68 -144 -40 -144 -38 -144 -37 -144 -36 -144 -35 -144 -34 -144 -33 -144 -32 -144 -31 -144 -30 -144 -29 -144 -28 -144 -27 -144 -26 -144 -25 -144 -24 -144 -23 -144 -22 -144 -21 -144 -20 -144 -19 -144 -18 -144 -17 -144 -16 -144 -15 -144 -7 -144 -6 -144 -5 -144 -4 -144 43 -144 44 -144 60 -144 61 -144 62 -144 63 -144 64 -144 65 -144 66 -144 67 -144 68 -144 69 -144 70 -144 71 -144 72 -145 -89 -145 -88 -145 -87 -145 -86 -145 -85 -145 -84 -145 -83 -145 -82 -145 -81 -145 -80 -145 -79 -145 -78 -145 -77 -145 -76 -145 -75 -145 -74 -145 -73 -145 -72 -145 -71 -145 -70 -145 -69 -145 -68 -145 -67 -145 -41 -145 -37 -145 -36 -145 -35 -145 -34 -145 -33 -145 -32 -145 -31 -145 -30 -145 -29 -145 -28 -145 -27 -145 -26 -145 -25 -145 -24 -145 -23 -145 -22 -145 -21 -145 -20 -145 -19 -145 -18 -145 -17 -145 -16 -145 -15 -145 -7 -145 -6 -145 -5 -145 43 -145 44 -145 60 -145 61 -145 62 -145 63 -145 64 -145 65 -145 66 -145 67 -145 68 -145 69 -145 70 -145 71 -145 72 -146 -89 -146 -88 -146 -87 -146 -86 -146 -85 -146 -84 -146 -83 -146 -82 -146 -81 -146 -80 -146 -79 -146 -78 -146 -77 -146 -76 -146 -75 -146 -74 -146 -73 -146 -72 -146 -71 -146 -70 -146 -69 -146 -68 -146 -67 -146 -43 -146 -42 -146 -38 -146 -37 -146 -36 -146 -35 -146 -34 -146 -33 -146 -32 -146 -31 -146 -30 -146 -29 -146 -28 -146 -27 -146 -26 -146 -25 -146 -24 -146 -23 -146 -22 -146 -21 -146 -20 -146 -19 -146 -18 -146 -8 -146 -7 -146 -6 -146 60 -146 61 -146 62 -146 63 -146 64 -146 65 -146 66 -146 67 -146 68 -146 69 -146 70 -146 71 -146 72 -147 -89 -147 -88 -147 -87 -147 -86 -147 -85 -147 -84 -147 -83 -147 -82 -147 -81 -147 -80 -147 -79 -147 -78 -147 -77 -147 -76 -147 -75 -147 -74 -147 -73 -147 -72 -147 -71 -147 -70 -147 -69 -147 -68 -147 -43 -147 -42 -147 -41 -147 -38 -147 -37 -147 -36 -147 -35 -147 -34 -147 -33 -147 -32 -147 -31 -147 -30 -147 -29 -147 -28 -147 -27 -147 -26 -147 -25 -147 -24 -147 -23 -147 -22 -147 -21 -147 -20 -147 -9 -147 -8 -147 -6 -147 -2 -147 60 -147 61 -147 62 -147 63 -147 64 -147 65 -147 66 -147 67 -147 68 -147 69 -147 70 -147 71 -147 72 -148 -89 -148 -88 -148 -87 -148 -86 -148 -85 -148 -84 -148 -83 -148 -82 -148 -81 -148 -80 -148 -79 -148 -78 -148 -77 -148 -76 -148 -75 -148 -74 -148 -73 -148 -72 -148 -71 -148 -70 -148 -69 -148 -68 -148 -42 -148 -41 -148 -40 -148 -37 -148 -36 -148 -35 -148 -34 -148 -33 -148 -32 -148 -31 -148 -30 -148 -29 -148 -28 -148 -27 -148 -26 -148 -25 -148 -24 -148 -23 -148 -22 -148 -21 -148 -20 -148 -10 -148 -9 -148 60 -148 61 -148 62 -148 63 -148 64 -148 65 -148 66 -148 67 -148 68 -148 69 -148 70 -148 71 -148 72 -148 75 -149 -89 -149 -88 -149 -87 -149 -86 -149 -85 -149 -84 -149 -83 -149 -82 -149 -81 -149 -80 -149 -79 -149 -78 -149 -77 -149 -76 -149 -75 -149 -74 -149 -73 -149 -72 -149 -71 -149 -70 -149 -69 -149 -37 -149 -36 -149 -35 -149 -34 -149 -33 -149 -32 -149 -31 -149 -30 -149 -29 -149 -28 -149 -27 -149 -26 -149 -25 -149 -24 -149 -23 -149 -22 -149 -21 -149 -10 -149 -6 -149 60 -149 61 -149 62 -149 63 -149 64 -149 65 -149 66 -149 67 -149 68 -149 69 -149 70 -149 71 -149 75 -150 -89 -150 -88 -150 -87 -150 -86 -150 -85 -150 -84 -150 -83 -150 -82 -150 -81 -150 -80 -150 -79 -150 -78 -150 -77 -150 -76 -150 -75 -150 -74 -150 -73 -150 -72 -150 -71 -150 -70 -150 -69 -150 -36 -150 -35 -150 -34 -150 -33 -150 -32 -150 -31 -150 -30 -150 -29 -150 -28 -150 -27 -150 -26 -150 -25 -150 -24 -150 -23 -150 -6 -150 46 -150 60 -150 61 -150 62 -150 63 -150 64 -150 65 -150 66 -150 67 -150 68 -150 69 -150 70 -150 71 -150 75 -151 -89 -151 -88 -151 -87 -151 -86 -151 -85 -151 -84 -151 -83 -151 -82 -151 -81 -151 -80 -151 -79 -151 -78 -151 -77 -151 -76 -151 -75 -151 -74 -151 -73 -151 -72 -151 -71 -151 -70 -151 -69 -151 -34 -151 -33 -151 -32 -151 -31 -151 -30 -151 -29 -151 -28 -151 -27 -151 -26 -151 -25 -151 -24 -151 -10 -151 -6 -151 60 -151 61 -151 62 -151 63 -151 64 -151 65 -151 66 -151 67 -151 68 -151 69 -151 70 -151 71 -152 -89 -152 -88 -152 -87 -152 -86 -152 -85 -152 -84 -152 -83 -152 -82 -152 -81 -152 -80 -152 -79 -152 -78 -152 -77 -152 -76 -152 -75 -152 -74 -152 -73 -152 -72 -152 -71 -152 -70 -152 -69 -152 -32 -152 -31 -152 -30 -152 -29 -152 -28 -152 -27 -152 -26 -152 -25 -152 59 -152 60 -152 61 -152 62 -152 63 -152 64 -152 65 -152 66 -152 67 -152 68 -152 69 -152 70 -152 71 -153 -89 -153 -88 -153 -87 -153 -86 -153 -85 -153 -84 -153 -83 -153 -82 -153 -81 -153 -80 -153 -79 -153 -78 -153 -77 -153 -76 -153 -75 -153 -74 -153 -73 -153 -72 -153 -71 -153 -70 -153 -69 -153 -31 -153 -30 -153 -29 -153 -28 -153 -27 -153 -26 -153 60 -153 61 -153 62 -153 63 -153 64 -153 65 -153 66 -153 67 -153 68 -153 69 -153 70 -154 -89 -154 -88 -154 -87 -154 -86 -154 -85 -154 -84 -154 -83 -154 -82 -154 -81 -154 -80 -154 -79 -154 -78 -154 -77 -154 -76 -154 -75 -154 -74 -154 -73 -154 -72 -154 -71 -154 -70 -154 -69 -154 60 -154 61 -154 62 -154 63 -154 64 -154 65 -154 66 -154 67 -154 68 -154 69 -154 70 -155 -89 -155 -88 -155 -87 -155 -86 -155 -85 -155 -84 -155 -83 -155 -82 -155 -81 -155 -80 -155 -79 -155 -78 -155 -77 -155 -76 -155 -75 -155 -74 -155 -73 -155 -72 -155 -71 -155 -70 -155 -69 -155 -6 -155 61 -155 62 -155 63 -155 64 -155 65 -155 66 -155 67 -155 68 -155 69 -155 70 -155 71 -156 -89 -156 -88 -156 -87 -156 -86 -156 -85 -156 -84 -156 -83 -156 -82 -156 -81 -156 -80 -156 -79 -156 -78 -156 -77 -156 -76 -156 -75 -156 -74 -156 -73 -156 -72 -156 -71 -156 -70 -156 -69 -156 54 -156 55 -156 56 -156 61 -156 62 -156 63 -156 64 -156 65 -156 66 -156 67 -156 68 -156 69 -156 70 -156 71 -157 -89 -157 -88 -157 -87 -157 -86 -157 -85 -157 -84 -157 -83 -157 -82 -157 -81 -157 -80 -157 -79 -157 -78 -157 -77 -157 -76 -157 -75 -157 -74 -157 -73 -157 -72 -157 -71 -157 -70 -157 -8 -157 -7 -157 52 -157 53 -157 54 -157 55 -157 56 -157 57 -157 62 -157 63 -157 64 -157 65 -157 66 -157 67 -157 68 -157 69 -157 70 -157 71 -158 -89 -158 -88 -158 -87 -158 -86 -158 -85 -158 -84 -158 -83 -158 -82 -158 -81 -158 -80 -158 -79 -158 -78 -158 -77 -158 -76 -158 -75 -158 -74 -158 -73 -158 -72 -158 -71 -158 -70 -158 52 -158 53 -158 54 -158 55 -158 56 -158 57 -158 62 -158 63 -158 64 -158 65 -158 66 -158 67 -158 68 -158 69 -158 70 -158 71 -159 -89 -159 -88 -159 -87 -159 -86 -159 -85 -159 -84 -159 -83 -159 -82 -159 -81 -159 -80 -159 -79 -159 -78 -159 -77 -159 -76 -159 -75 -159 -74 -159 -73 -159 -72 -159 -71 -159 -70 -159 -8 -159 54 -159 55 -159 56 -159 57 -159 58 -159 62 -159 63 -159 64 -159 65 -159 66 -159 67 -159 68 -159 70 -160 -89 -160 -88 -160 -87 -160 -86 -160 -85 -160 -84 -160 -83 -160 -82 -160 -81 -160 -80 -160 -79 -160 -78 -160 -77 -160 -76 -160 -75 -160 -74 -160 -73 -160 -72 -160 -71 -160 -70 -160 55 -160 56 -160 57 -160 58 -160 59 -160 61 -160 62 -160 63 -160 64 -160 65 -160 66 -160 67 -160 68 -160 69 -161 -89 -161 -88 -161 -87 -161 -86 -161 -85 -161 -84 -161 -83 -161 -82 -161 -81 -161 -80 -161 -79 -161 -78 -161 -77 -161 -76 -161 -75 -161 -74 -161 -73 -161 -72 -161 -71 -161 -9 -161 55 -161 56 -161 57 -161 58 -161 59 -161 61 -161 62 -161 63 -161 64 -161 65 -161 66 -161 67 -161 68 -161 69 -162 -89 -162 -88 -162 -87 -162 -86 -162 -85 -162 -84 -162 -83 -162 -82 -162 -81 -162 -80 -162 -79 -162 -78 -162 -77 -162 -76 -162 -75 -162 -74 -162 -73 -162 -72 -162 -71 -162 56 -162 57 -162 58 -162 59 -162 60 -162 62 -162 63 -162 64 -162 65 -162 66 -162 67 -162 68 -162 69 -163 -89 -163 -88 -163 -87 -163 -86 -163 -85 -163 -84 -163 -83 -163 -82 -163 -81 -163 -80 -163 -79 -163 -78 -163 -75 -163 -74 -163 -73 -163 -72 -163 -71 -163 59 -163 60 -163 62 -163 63 -163 64 -163 65 -163 66 -163 67 -163 68 -163 69 -164 -89 -164 -88 -164 -87 -164 -86 -164 -85 -164 -84 -164 -83 -164 -82 -164 -81 -164 -80 -164 -79 -164 -78 -164 -74 -164 -73 -164 -72 -164 -71 -164 59 -164 61 -164 63 -164 64 -164 65 -164 66 -164 67 -164 68 -164 69 -165 -89 -165 -88 -165 -87 -165 -86 -165 -85 -165 -84 -165 -83 -165 -82 -165 -81 -165 -80 -165 -79 -165 -78 -165 -74 -165 -73 -165 -72 -165 -71 -165 -21 -165 60 -165 61 -165 62 -165 63 -165 64 -165 65 -165 66 -165 67 -165 68 -165 69 -166 -89 -166 -88 -166 -87 -166 -86 -166 -85 -166 -84 -166 -83 -166 -82 -166 -81 -166 -80 -166 -79 -166 -78 -166 -74 -166 -73 -166 -72 -166 -71 -166 61 -166 62 -166 63 -166 64 -166 65 -166 66 -166 67 -166 68 -166 69 -167 -89 -167 -88 -167 -87 -167 -86 -167 -85 -167 -84 -167 -83 -167 -82 -167 -81 -167 -80 -167 -79 -167 -78 -167 -73 -167 -72 -167 -71 -167 -46 -167 -15 -167 61 -167 62 -167 63 -167 64 -167 65 -167 66 -167 67 -167 68 -167 69 -168 -89 -168 -88 -168 -87 -168 -86 -168 -85 -168 -84 -168 -83 -168 -82 -168 -81 -168 -80 -168 -79 -168 -78 -168 -73 -168 -72 -168 -47 -168 -46 -168 -45 -168 61 -168 62 -168 63 -168 64 -168 65 -168 66 -168 67 -168 68 -168 69 -169 -89 -169 -88 -169 -87 -169 -86 -169 -85 -169 -84 -169 -83 -169 -82 -169 -81 -169 -80 -169 -79 -169 -78 -169 -73 -169 -72 -169 -46 -169 -45 -169 -44 -169 61 -169 62 -169 63 -169 64 -169 65 -169 66 -169 67 -169 68 -169 69 -170 -89 -170 -88 -170 -87 -170 -86 -170 -85 -170 -84 -170 -83 -170 -82 -170 -81 -170 -80 -170 -79 -170 -78 -170 -72 -170 -46 -170 -45 -170 -44 -170 61 -170 62 -170 63 -170 64 -170 65 -170 66 -170 67 -170 68 -171 -89 -171 -88 -171 -87 -171 -86 -171 -85 -171 -84 -171 -83 -171 -82 -171 -81 -171 -80 -171 -79 -171 -78 -171 -45 -171 -44 -171 -43 -171 61 -171 62 -171 63 -171 64 -171 65 -171 66 -171 67 -171 68 -171 69 -171 70 -172 -89 -172 -88 -172 -87 -172 -86 -172 -85 -172 -84 -172 -83 -172 -82 -172 -81 -172 -80 -172 -79 -172 -78 -172 -43 -172 -42 -172 61 -172 62 -172 63 -172 64 -172 65 -172 66 -172 67 -172 68 -172 69 -173 -89 -173 -88 -173 -87 -173 -86 -173 -85 -173 -84 -173 -83 -173 -82 -173 -81 -173 -80 -173 -79 -173 -78 -173 -43 -173 -42 -173 -41 -173 62 -173 63 -173 64 -173 65 -173 66 -173 67 -173 68 -173 69 -174 -89 -174 -88 -174 -87 -174 -86 -174 -85 -174 -84 -174 -83 -174 -82 -174 -81 -174 -80 -174 -79 -174 -78 -174 -42 -174 -41 -174 -36 -174 62 -174 63 -174 64 -174 65 -174 66 -174 67 -174 68 -174 69 -175 -89 -175 -88 -175 -87 -175 -86 -175 -85 -175 -84 -175 -83 -175 -82 -175 -81 -175 -80 -175 -79 -175 -78 -175 -41 -175 -39 -175 -38 -175 -37 -175 62 -175 63 -175 64 -175 65 -175 66 -175 67 -175 68 -175 69 -176 -89 -176 -88 -176 -87 -176 -86 -176 -85 -176 -84 -176 -83 -176 -82 -176 -81 -176 -80 -176 -79 -176 -78 -176 -41 -176 -40 -176 -39 -176 -38 -176 63 -176 64 -176 65 -176 66 -176 67 -176 68 -176 69 -177 -89 -177 -88 -177 -87 -177 -86 -177 -85 -177 -84 -177 -83 -177 -82 -177 -81 -177 -80 -177 -79 -177 -78 -177 -39 -177 -38 -177 63 -177 64 -177 65 -177 66 -177 67 -177 68 -177 69 -178 -89 -178 -88 -178 -87 -178 -86 -178 -85 -178 -84 -178 -83 -178 -82 -178 -81 -178 -80 -178 -79 -178 -38 -178 -18 -178 63 -178 64 -178 65 -178 66 -178 67 -178 68 -178 69 -179 -89 -179 -88 -179 -87 -179 -86 -179 -85 -179 -84 -179 -83 -179 -82 -179 -81 -179 -80 -179 -79 -179 63 -179 65 -179 66 -179 67 -179 68 -179 69 -179 71 -180 -89 -180 -88 -180 -87 -180 -86 -180 -85 -180 -84 -180 -83 -180 -82 -180 -81 -180 -80 -180 -79 -180 66 -180 67 -180 68 -180 71 diff --git a/tutorials/ellipse.C b/tutorials/ellipse.C deleted file mode 100644 index 3ff1c0bd66502c2f6316864028053737e8b14bb4..0000000000000000000000000000000000000000 --- a/tutorials/ellipse.C +++ /dev/null @@ -1,25 +0,0 @@ -{ - gROOT->Reset(); - c1 = new TCanvas("c1"); - c1->Range(0,0,1,1); - TPaveLabel pel(0.1,0.8,0.9,0.95,"Examples of Ellipses"); - pel.SetFillColor(42); - pel.Draw(); - TEllipse el1(0.25,0.25,.1,.2); - el1.Draw(); - TEllipse el2(0.25,0.6,.2,.1); - el2.SetFillColor(6); - el2.SetFillStyle(3008); - el2.Draw(); - TEllipse el3(0.75,0.6,.2,.1,45,315); - el3.SetFillColor(2); - el3.SetFillStyle(1001); - el3.SetLineColor(4); - el3.Draw(); - TEllipse el4(0.75,0.25,.2,.15,45,315,62); - el4.SetFillColor(5); - el4.SetFillStyle(1001); - el4.SetLineColor(4); - el4.SetLineWidth(6); - el4.Draw(); -} diff --git a/tutorials/eval.C b/tutorials/eval.C deleted file mode 100644 index e4960864efe4e9f7985cf3b542db9bd365aba8e1..0000000000000000000000000000000000000000 --- a/tutorials/eval.C +++ /dev/null @@ -1,40 +0,0 @@ -{ - // - // This macro produces the flowchart of TFormula::Eval - // - gROOT->Reset(); - c1 = new TCanvas("c1"); - c1->Range(0,0,20,10); - TPaveLabel pt1(0.2,4,3,6,"Eval"); - pt1.SetTextSize(0.5); - pt1.SetFillColor(42); - pt1.Draw(); - TPaveText pt2(4.5,4,7.8,6); - pt2.Draw(); - TText *t1=pt2.AddText("Read Operator"); - TText *t2=pt2.AddText("number i"); - TPaveText pt3(9,3.5,17.5,6.5); - TText *t4=pt3.AddText("Apply Operator to current stack values"); - TText *t5=pt3.AddText("Example: if operator +"); - TText *t6=pt3.AddText("value[i] += value[i-1]"); - t4.SetTextAlign(22); - t5.SetTextAlign(22); - t6.SetTextAlign(22); - t5.SetTextColor(4); - t6.SetTextColor(2); - pt3.Draw(); - TPaveLabel pt4(4,0.5,12,2.5,"return result = value[i]"); - pt4.Draw(); - TArrow ar1(6,4,6,2.7,0.02,"|>"); - ar1.Draw(); - TText t7(6.56,2.7,"if i = number of stack elements"); - t7.SetTextSize(0.04); - t7.Draw(); - ar1.DrawArrow(6,8,6,6.2,0.02,"|>"); - TLine l1(12,6.6,12,8); - l1.Draw(); - l1.DrawLine(12,8,6,8); - ar1.DrawArrow(3,5,4.4,5,0.02,"|>"); - ar1.DrawArrow(7.8,5,8.9,5,0.02,"|>"); -} - diff --git a/tutorials/event.C b/tutorials/event.C deleted file mode 100644 index dc37c9a8d73f4e95b2faca3606fdc267149a2685..0000000000000000000000000000000000000000 --- a/tutorials/event.C +++ /dev/null @@ -1,66 +0,0 @@ -{ - gROOT->Reset(); - c1 = new TCanvas("c1","ROOT Event description",700,500); - c1->Range(0,0,14,15.5); - TPaveText event(1,13,3,15); - event.SetFillColor(11); - event.Draw(); - event.AddText("Event"); - TLine line(1.1,13,1.1,1.5); - line.SetLineWidth(2); - line.Draw(); - line.DrawLine(1.3,13,1.3,3.5); - line.DrawLine(1.5,13,1.5,5.5); - line.DrawLine(1.7,13,1.7,7.5); - line.DrawLine(1.9,13,1.9,9.5); - line.DrawLine(2.1,13,2.1,11.5); - TArrow arrow(1.1,1.5,3.9,1.5,0.02,"|>"); - arrow.SetFillStyle(1001); - arrow.SetFillColor(1); - arrow.Draw(); - arrow.DrawArrow(1.3,3.5,3.9,3.5,0.02,"|>"); - arrow.DrawArrow(1.5,5.5,3.9,5.5,0.02,"|>"); - arrow.DrawArrow(1.7,7.5,3.9,7.5,0.02,"|>"); - arrow.DrawArrow(1.9,9.5,3.9,9.5,0.02,"|>"); - arrow.DrawArrow(2.1,11.5,3.9,11.5,0.02,"|>"); - TPaveText p1(4,1,11,2); - p1.SetTextAlign(12); - p1.SetFillColor(42); - p1.AddText("1 Mbyte"); - p1.Draw(); - TPaveText p2(4,3,10,4); - p2.SetTextAlign(12); - p2.SetFillColor(42); - p2.AddText("100 Kbytes"); - p2.Draw(); - TPaveText p3(4,5,9,6); - p3.SetTextAlign(12); - p3.SetFillColor(42); - p3.AddText("10 Kbytes"); - p3.Draw(); - TPaveText p4(4,7,8,8); - p4.SetTextAlign(12); - p4.SetFillColor(42); - p4.AddText("1 Kbytes"); - p4.Draw(); - TPaveText p5(4,9,7,10); - p5.SetTextAlign(12); - p5.SetFillColor(42); - p5.AddText("100 bytes"); - p5.Draw(); - TPaveText p6(4,11,6,12); - p6.SetTextAlign(12); - p6.SetFillColor(42); - p6.AddText("10 bytes"); - p6.Draw(); - TText text; - text.SetTextAlign(12); - text.SetTextSize(0.04); - text.SetTextFont(72); - text.DrawText(6.2,11.5,"Header:Event_flag"); - text.DrawText(7.2,9.5,"Trigger_Info"); - text.DrawText(8.2,7.5,"Muon_Detector: TOF"); - text.DrawText(9.2,5.5,"Calorimeters"); - text.DrawText(10.2,3.5,"Forward_Detectors"); - text.DrawText(11.2,1.5,"TPCs"); -} diff --git a/tutorials/exclusiongraph.C b/tutorials/exclusiongraph.C deleted file mode 100644 index 74cfe2055d109c52c5a9416e4f29c5770c53f493..0000000000000000000000000000000000000000 --- a/tutorials/exclusiongraph.C +++ /dev/null @@ -1,48 +0,0 @@ -{ - // Draw three graphs with an exclusion zone. This drawing mode is activated - // when the absolute value of the graph line width (set thanks to - // SetLineWidth) is greater than 99. In that case the line width number is - // interpreted as 100*ff+ll = ffll . The two digits number "ll" represent the - // normal line width whereas "ff" is the filled area width. The sign of - // "ffll" allows to flip the filled area from one side of the line to the - // other. The current fill area attributes are used to draw the hatched zone. - - c1 = new TCanvas("c1","Exclusion graphs examples",200,10,700,500); - c1->SetGrid(); - - TMultiGraph *mg = new TMultiGraph(); - mg->SetTitle("Exclusion graphs"); - - const Int_t n = 35; - Double_t x1[n], x2[n], x3[n], y1[n], y2[n], y3[n]; - for (Int_t i=0;i<n;i++) { - x1[i] = i*0.1; - x2[i] = x1[i]; - x3[i] = x1[i]+.5; - y1[i] = 10*sin(x1[i]); - y2[i] = 10*cos(x1[i]); - y3[i] = 10*sin(x1[i])-2; - } - - gr1 = new TGraph(n,x1,y1); - gr1->SetLineColor(2); - gr1->SetLineWidth(1504); - gr1->SetFillStyle(3005); - - gr2 = new TGraph(n,x2,y2); - gr2->SetLineColor(4); - gr2->SetLineWidth(-2002); - gr2->SetFillStyle(3004); - gr2->SetFillColor(9); - - gr3 = new TGraph(n,x3,y3); - gr3->SetLineColor(5); - gr3->SetLineWidth(-802); - gr3->SetFillStyle(3002); - gr3->SetFillColor(2); - - mg->Add(gr1); - mg->Add(gr2); - mg->Add(gr3); - mg->Draw("AC"); -} diff --git a/tutorials/exclusiongraph2.C b/tutorials/exclusiongraph2.C deleted file mode 100644 index 7ce76e9818cf45e43b80531fa3bfe59049c6aef9..0000000000000000000000000000000000000000 --- a/tutorials/exclusiongraph2.C +++ /dev/null @@ -1,145 +0,0 @@ -void exclusiongraph2() -{ - // Draw several graphs with an exclusion zones. - - c = new TCanvas("c","Charged Higgs L300 Contour",0,0,700,700); - c->SetTickx(); - c->SetTicky(); - c->SetGridx(); - c->SetGridy(); - - TH1 *frame = new TH1F("frame","",1000,50,500); - frame->SetMinimum(1); - frame->SetMaximum(50); - frame->SetDirectory(0); - frame->SetStats(0); - frame->GetXaxis()->SetTitle("m_{A} (GeV)"); - frame->GetXaxis()->SetTickLength(0.02); - frame->GetXaxis()->SetLabelSize(0.03); - frame->GetYaxis()->SetTitle("tan#beta"); - frame->GetYaxis()->SetMoreLogLabels(); - frame->GetYaxis()->SetLabelSize(0.03); - frame->Draw(" "); - c->SetLogy(); - - gr1 = new TGraph(10); - gr1->SetFillColor(6); - gr1->SetFillStyle(3005); - gr1->SetLineColor(6); - gr1->SetLineWidth(603); - gr1->SetPoint(0,140,0.5); - gr1->SetPoint(1,130,2.9); - gr1->SetPoint(2,124.677,3.83726); - gr1->SetPoint(3,113.362,6.06903); - gr1->SetPoint(4,108.513,8.00221); - gr1->SetPoint(5,111.746,10.0272); - gr1->SetPoint(6,119.828,12.8419); - gr1->SetPoint(7,135.991,30.0872); - gr1->SetPoint(8,140,40); - gr1->SetPoint(9,135,60); - gr1->Draw("C"); - TLatex *tex = new TLatex(140.841,37.9762,"#leftarrow t #rightarrow bH^{+}, H^{+} #rightarrow #tau#nu"); - tex->SetTextColor(6); - tex->Draw(); - - gr2 = new TGraph(15); - gr2->SetName("Graph"); - gr2->SetTitle("Graph"); - gr2->SetFillColor(1); - gr2->SetFillStyle(3005); - gr2->SetLineWidth(3); - gr2->SetPoint(0,499.192,3.02622); - gr2->SetPoint(1,427.748,3.06233); - gr2->SetPoint(2,358.244,3.10722); - gr2->SetPoint(3,305.711,3.24589); - gr2->SetPoint(4,244.289,3.36617); - gr2->SetPoint(5,206.304,3.7544); - gr2->SetPoint(6,178.017,4.50347); - gr2->SetPoint(7,148.114,6.20297); - gr2->SetPoint(8,131.142,8.00221); - gr2->SetPoint(9,111.746,8.48188); - gr2->SetPoint(10,102.047,9.52921); - gr2->SetPoint(11,96.3901,13.2212); - gr2->SetPoint(12,92.3491,19.0232); - gr2->SetPoint(13,90.7328,26.3935); - gr2->SetPoint(14,93.1573,50.4385); - gr2->Draw("L"); - tex = new TLatex(346.929,6.62281,"ATLAS"); - tex->SetLineWidth(2); - tex->Draw(); - tex = new TLatex(328.341,5.24703,"#intLdt = 300 fb^{-1}"); - tex->SetTextSize(0.0297619); - tex->SetLineWidth(2); - tex->Draw(); - tex = new TLatex(340.463,4.1874,"Maximal mixing"); - tex->SetTextSize(0.0297619); - tex->SetLineWidth(2); - tex->Draw(); - tex = new TLatex(413.2,2.51608,"LEP 2000"); - tex->SetTextSize(0.0297619); - tex->SetLineWidth(2); - tex->Draw(); - - gr3 = new TGraph(10); - gr3->SetName("Graph"); - gr3->SetTitle("Graph"); - gr3->SetFillColor(2); - gr3->SetFillStyle(3004); - gr3->SetLineColor(2); - gr3->SetLineWidth(603); - gr3->SetPoint(0,176.84,10.7499); - gr3->SetPoint(1,190.575,11.9912); - gr3->SetPoint(2,211.58,12.7108); - gr3->SetPoint(3,243.088,12.3457); - gr3->SetPoint(4,279.443,12.6185); - gr3->SetPoint(5,302.065,12.9916); - gr3->SetPoint(6,331.957,13.7713); - gr3->SetPoint(7,369.928,14.2821); - gr3->SetPoint(8,425.673,16.1651); - gr3->SetPoint(9,499.192,18.1635); - gr3->Draw("C"); - tex = new TLatex(188.151,9.36035,"gb #rightarrow tH^{+}, H^{+} #rightarrow #tau#nu"); - tex->SetTextColor(2); - tex->Draw(); - - gr4 = new TGraph(10); - gr4->SetName("Graph"); - gr4->SetTitle("Graph"); - gr4->SetFillColor(4); - gr4->SetFillStyle(3004); - gr4->SetLineColor(4); - gr4->SetLineWidth(-603); - gr4->SetPoint(0,178.456,2.91797); - gr4->SetPoint(1,200.269,3.40033); - gr4->SetPoint(2,229.354,3.96243); - gr4->SetPoint(3,249.551,4.07959); - gr4->SetPoint(4,269.749,3.71097); - gr4->SetPoint(5,298.025,3.09308); - gr4->SetPoint(6,341.652,2.89679); - gr4->SetPoint(7,378.007,2.57808); - gr4->SetPoint(8,441.023,2.16454); - gr4->SetPoint(9,499.677,1.76145); - gr4->Draw("C"); - tex = new TLatex(165.,1.15498,"gb #rightarrow tH^{+}, H^{+} #rightarrow tb"); - tex->SetTextColor(4); - tex->Draw(); - - gr5 = new TGraph(10); - gr5->SetName("Graph"); - gr5->SetTitle("Graph"); - gr5->SetFillColor(4); - gr5->SetFillStyle(3004); - gr5->SetLineColor(4); - gr5->SetLineWidth(603); - gr5->SetPoint(0,152.603,23.0996); - gr5->SetPoint(1,188.151,18.8373); - gr5->SetPoint(2,239.048,15.2499); - gr5->SetPoint(3,264.901,15.8156); - gr5->SetPoint(4,299.641,18.8373); - gr5->SetPoint(5,334.381,20.7085); - gr5->SetPoint(6,360.233,22.4362); - gr5->SetPoint(7,396.589,24.4859); - gr5->SetPoint(8,433.752,25.7669); - gr5->SetPoint(9,499.192,27.3132); - gr5->Draw("C"); -} diff --git a/tutorials/exec1.C b/tutorials/exec1.C deleted file mode 100644 index cfe9357868894d19ecd0709626f039fd5a633e7a..0000000000000000000000000000000000000000 --- a/tutorials/exec1.C +++ /dev/null @@ -1,22 +0,0 @@ -void exec1() -{ - //example of macro called when a pad is redrawn - //one must create a TExec object in the following way - // TExec ex("ex",".x exec1.C"); - // ex.Draw(); - // this macro prints the bin number and the bin content when one clicks - //on the histogram contour of any histogram in a pad - int event = gPad->GetEvent(); - if (event != 11) return; - int px = gPad->GetEventX(); - TObject *select = gPad->GetSelected(); - if (!select) return; - if (select->InheritsFrom("TH1")) { - TH1 *h = (TH1*)select; - Float_t xx = gPad->AbsPixeltoX(px); - Float_t x = gPad->PadtoX(xx); - Int_t binx = h->GetXaxis()->FindBin(x); - printf("event=%d, hist:%s, bin=%d, content=%f\n",event,h->GetName(),binx,h->GetBinContent(binx)); - } -} - diff --git a/tutorials/exec2.C b/tutorials/exec2.C deleted file mode 100644 index a2f32c8c830c74a4dde6e9e8c7fe1e8ac9e8f835..0000000000000000000000000000000000000000 --- a/tutorials/exec2.C +++ /dev/null @@ -1,54 +0,0 @@ -void exec2() -{ - //example of macro called when a mouse event occurs in a pad. - // Example: - // Root > TFile f("hsimple.root"); - // Root > hpxpy.Draw(); - // Root > c1.AddExec("ex2",".x exec2.C"); - // When moving the mouse in the canvas, a second canvas shows the - // projection along X of the bin corresponding to the Y position - // of the mouse. The resulting histogram is fitted with a gaussian. - // A "dynamic" line shows the current bin position in Y. - // This more elaborated example can be used as a starting point - // to develop more powerful interactive applications exploiting CINT - // as a development engine. - // - - TObject *select = gPad->GetSelected(); - if(!select) return; - if (!select->InheritsFrom("TH2")) {gPad->SetUniqueID(0); return;} - gPad->GetCanvas()->FeedbackMode(kTRUE); - - //erase old position and draw a line at current position - int pyold = gPad->GetUniqueID(); - int px = gPad->GetEventX(); - int py = gPad->GetEventY(); - float uxmin = gPad->GetUxmin(); - float uxmax = gPad->GetUxmax(); - int pxmin = gPad->XtoAbsPixel(uxmin); - int pxmax = gPad->XtoAbsPixel(uxmax); - if(pyold) gVirtualX->DrawLine(pxmin,pyold,pxmax,pyold); - gVirtualX->DrawLine(pxmin,py,pxmax,py); - gPad->SetUniqueID(py); - Float_t upy = gPad->AbsPixeltoY(py); - Float_t y = gPad->PadtoY(upy); - - //create or set the new canvas c2 - TVirtualPad *padsav = gPad; - TCanvas *c2 = (TCanvas*)gROOT->GetListOfCanvases()->FindObject("c2"); - if(c2) delete c2->GetPrimitive("Projection"); - else c2 = new TCanvas("c2"); - c2->cd(); - - //draw slice corresponding to mouse position - TH2 *h = (TH2*)select; - Int_t biny = h->GetYaxis()->FindBin(y); - TH1D *hp = h->ProjectionX("",biny,biny); - char title[80]; - sprintf(title,"Projection of biny=%d",biny); - hp->SetName("Projection"); - hp->SetTitle(title); - hp->Fit("gaus","ql"); - c2->Update(); - padsav->cd(); -} diff --git a/tutorials/exec3.C b/tutorials/exec3.C deleted file mode 100644 index 299aa74664f85e9cf9124237cfdaf8ca45589080..0000000000000000000000000000000000000000 --- a/tutorials/exec3.C +++ /dev/null @@ -1,21 +0,0 @@ -void exec3() -{ - // Example of using signal/slot in TCanvas/TPad to get feedback - // about processed events. Note that slots can be either functions - // or class methods. Compare this with tutorials exec1.C and exec2.C. - - TH1F *h = new TH1F("h","h",100,-3,3); - h->FillRandom("gaus",1000); - TCanvas *c1=new TCanvas("c1"); - h->Draw(); - c1->Update(); - c1->Connect("ProcessedEvent(Int_t,Int_t,Int_t,TObject*)", 0, "", - "exec3event(Int_t,Int_t,Int_t,TObject*)"); -} - -void exec3event(Int_t event, Int_t x, Int_t y, TObject *selected) -{ - TCanvas *c = (TCanvas *) gTQSender; - printf("Canvas %s: event=%d, x=%d, y=%d, selected=%s\n", c->GetName(), - event, x, y, selected->IsA()->GetName()); -} diff --git a/tutorials/feynman.C b/tutorials/feynman.C deleted file mode 100644 index 7d76d757f48ded4b36406ea1f366657457db8b1c..0000000000000000000000000000000000000000 --- a/tutorials/feynman.C +++ /dev/null @@ -1,52 +0,0 @@ -void feynman() -{ - // - // To see the output of this macro, click begin_html <a href="gif/feynman.gif">here</a>. end_html - // - TCanvas *c1 = new TCanvas("c1", "A canvas", 10,10, 600, 300); - c1->Range(0, 0, 140, 60); - Int_t linsav = gStyle->GetLineWidth(); - gStyle->SetLineWidth(3); - TLatex t; - t.SetTextAlign(22); - t.SetTextSize(0.1); - TLine * l; - l = new TLine(10, 10, 30, 30); l->Draw(); - l = new TLine(10, 50, 30, 30); l->Draw(); - TCurlyArc *ginit = new TCurlyArc(30, 30, 12.5*sqrt(2), 135, 225); - ginit->SetWavy(); - ginit->Draw(); - t.DrawLatex(7,6,"e^{-}"); - t.DrawLatex(7,55,"e^{+}"); - t.DrawLatex(7,30,"#gamma"); - - TCurlyLine *gamma = new TCurlyLine(30, 30, 55, 30); - gamma->SetWavy(); - gamma->Draw(); - t.DrawLatex(42.5,37.7,"#gamma"); - - TArc *a = new TArc(70, 30, 15); - a->Draw(); - t.DrawLatex(55, 45,"#bar{q}"); - t.DrawLatex(85, 15,"q"); - TCurlyLine *gluon = new TCurlyLine(70, 45, 70, 15); - gluon->Draw(); - t.DrawLatex(77.5,30,"g"); - - TCurlyLine *z0 = new TCurlyLine(85, 30, 110, 30); - z0->SetWavy(); - z0->Draw(); - t.DrawLatex(100, 37.5,"Z^{0}"); - - l = new TLine(110, 30, 130, 10); l->Draw(); - l = new TLine(110, 30, 130, 50); l->Draw(); - - TCurlyArc *gluon1 = new TCurlyArc(110, 30, 12.5*sqrt(2), 315, 45); - gluon1->Draw(); - - t.DrawLatex(135,6,"#bar{q}"); - t.DrawLatex(135,55,"q"); - t.DrawLatex(135,30,"g"); - c1->Update(); - gStyle->SetLineWidth(linsav); -} diff --git a/tutorials/fildir.C b/tutorials/fildir.C deleted file mode 100644 index 0c905cd629d035dc61a5d6272cd5147058233e4a..0000000000000000000000000000000000000000 --- a/tutorials/fildir.C +++ /dev/null @@ -1,119 +0,0 @@ -{ - // - // This macro displays the ROOT Directory data structure - // - gROOT->Reset(); - c1 = new TCanvas("c1","ROOT FilDir description",700,900); - c1->Range(1,1,19,24.5); - TPaveLabel title(4,23,16,24.2,"ROOT File/Directory/Key description"); - title.SetFillColor(16); - title.Draw(); - - Int_t keycolor = 42; - Int_t dircolor = 21; - Int_t objcolor = 46; - TPaveText file(2,19,6,22); - file.SetFillColor(39); - file.Draw(); - file.SetTextSize(0.04); - file.AddText("TFile"); - file.AddText("Header"); - TArrow arrow(6,20.5,17,20.5,0.02,"|>"); - arrow.SetFillStyle(1001); - arrow.SetLineWidth(2); - arrow.Draw(); - TPaveText free(8,20,11,21); - free.SetFillColor(18); - free.Draw(); - free.AddText("First:Last"); - TPaveText free2(12,20,15,21); - free2.SetFillColor(18); - free2.Draw(); - free2.AddText("First:Last"); - TText tfree(6.2,21.2,"fFree = TList of free blocks"); - tfree.SetTextSize(0.02); - tfree.Draw(); - TText tkeys(5.2,18.2,"fKeys = TList of Keys"); - tkeys.SetTextSize(0.02); - tkeys.Draw(); - TText tmemory(3.2,15.2,"fListHead = TList of Objects in memory"); - tmemory.SetTextSize(0.02); - tmemory.Draw(); - - arrow.DrawArrow(5,17,17,17,0.02,"|>"); - TLine line(5,19,5,17); - line.SetLineWidth(2); - line.Draw(); - TPaveText key0(7,16,10,18); - key0.SetTextSize(0.04); - key0.SetFillColor(keycolor); - key0.AddText("Key 0"); - key0.Draw(); - TPaveText key1(12,16,15,18); - key1.SetTextSize(0.04); - key1.SetFillColor(keycolor); - key1.AddText("Key 1"); - key1.Draw(); - line.DrawLine(3,19,3,14); - line.DrawLine(3,14,18,14); - TPaveText obj0(5,13,8,15); - obj0.SetFillColor(objcolor); - obj0.AddText("Object"); - obj0.Draw(); - TPaveText dir1(10,13,13,15); - dir1.SetFillColor(dircolor); - dir1.AddText("SubDir"); - dir1.Draw(); - TPaveText obj1(15,13,18,15); - obj1.SetFillColor(objcolor); - obj1.AddText("Object"); - obj1.Draw(); - arrow.DrawArrow(12,11,17,11,0.015,"|>"); - arrow.DrawArrow(11,9,17,9,0.015,"|>"); - line.DrawLine(12,13,12,11); - line.DrawLine(11,13,11,9); - TPaveText key2(14,10.5,16,11.5); - key2.SetFillColor(keycolor); - key2.AddText("Key 0"); - key2.Draw(); - TPaveText obj2(14,8.5,16,9.5); - obj2.SetFillColor(objcolor); - obj2.AddText("Object"); - obj2.Draw(); - TLine ldot(10,15,2,11); - ldot.SetLineStyle(2); - ldot.Draw(); - ldot.DrawLine(13,15,8,11); - ldot.DrawLine(13,13,8,5); - TPaveText dirdata(2,5,8,11); - dirdata.SetTextAlign(12); - dirdata.SetFillColor(dircolor); - dirdata.Draw(); - dirdata.SetTextSize(0.015); - dirdata.AddText("fModified: True if directory is modified"); - dirdata.AddText("fWritable: True if directory is writable"); - dirdata.AddText("fDatimeC: Creation Date/Time"); - dirdata.AddText("fDatimeM: Last mod Date/Time"); - dirdata.AddText("fNbytesKeys: Number of bytes of key"); - dirdata.AddText("fNbytesName : Header length up to title"); - dirdata.AddText("fSeekDir: Start of Directory on file"); - dirdata.AddText("fSeekParent: Start of Parent Directory"); - dirdata.AddText("fSeekKeys: Pointer to Keys record"); - TPaveText keydata(10,2,17,7); - keydata.SetTextAlign(12); - keydata.SetFillColor(keycolor); - keydata.Draw(); - ldot.DrawLine(14,11.5,10,7); - ldot.DrawLine(16,11.5,17,7); - keydata.SetTextSize(0.015); - keydata.AddText("fNbytes: Size of compressed Object"); - keydata.AddText("fObjLen: Size of uncompressed Object"); - keydata.AddText("fDatime: Date/Time when written to store"); - keydata.AddText("fKeylen: Number of bytes for the key"); - keydata.AddText("fCycle : Cycle number"); - keydata.AddText("fSeekKey: Pointer to Object on file"); - keydata.AddText("fSeekPdir: Pointer to directory on file"); - keydata.AddText("fClassName: 'TKey'"); - keydata.AddText("fName: Object name"); - keydata.AddText("fTitle: Object Title"); -} diff --git a/tutorials/fildir.py b/tutorials/fildir.py deleted file mode 100755 index c5315685107916f4d2f0800c7c12645dbdc9e4c0..0000000000000000000000000000000000000000 --- a/tutorials/fildir.py +++ /dev/null @@ -1,126 +0,0 @@ -# -# This macro displays the ROOT Directory data structure -# - -from ROOT import TCanvas, TPaveLabel, TPaveText, TText, TArrow, TLine -from ROOT import gROOT - - -gROOT.Reset() - -c1 = TCanvas( 'c1', 'ROOT FilDir description', 700, 900 ) -c1.Range( 1, 1, 19, 24.5 ) - -title = TPaveLabel( 4, 23, 16, 24.2, 'ROOT File/Directory/Key description' ) -title.SetFillColor( 16 ) -title.Draw() - -keycolor = 42 -dircolor = 21 -objcolor = 46 -file = TPaveText( 2, 19, 6, 22 ) -file.SetFillColor( 39 ) -file.Draw() -file.SetTextSize( 0.04 ) -file.AddText( 'TFile' ) -file.AddText( 'Header' ) -arrow = TArrow( 6, 20.5, 17, 20.5, 0.02, '|>' ) -arrow.SetFillStyle( 1001 ) -arrow.SetLineWidth( 2 ) -arrow.Draw() -free = TPaveText( 8, 20, 11, 21 ) -free.SetFillColor( 18 ) -free.Draw() -free.AddText( 'First:Last' ) -free2 = TPaveText( 12, 20, 15, 21 ) -free2.SetFillColor( 18 ) -free2.Draw() -free2.AddText( 'First:Last' ) -tfree = TText( 6.2, 21.2, 'fFree = TList of free blocks' ) -tfree.SetTextSize( 0.02 ) -tfree.Draw() -tkeys = TText( 5.2, 18.2, 'fKeys = TList of Keys' ) -tkeys.SetTextSize( 0.02 ) -tkeys.Draw() -tmemory = TText( 3.2, 15.2, 'fListHead = TList of Objects in memory' ) -tmemory.SetTextSize( 0.02 ) -tmemory.Draw() - -arrow.DrawArrow( 5, 17, 17, 17, 0.02, '|>' ) -line = TLine( 5, 19, 5, 17 ) -line.SetLineWidth( 2 ) -line.Draw() -key0 = TPaveText( 7, 16, 10, 18 ) -key0.SetTextSize( 0.04 ) -key0.SetFillColor( keycolor ) -key0.AddText( 'Key 0' ) -key0.Draw() -key1 = TPaveText( 12, 16, 15, 18 ) -key1.SetTextSize( 0.04 ) -key1.SetFillColor( keycolor ) -key1.AddText( 'Key 1' ) -key1.Draw() -line.DrawLine( 3, 19, 3, 14 ) -line.DrawLine( 3, 14, 18, 14 ) -obj0 = TPaveText( 5, 13, 8, 15 ) -obj0.SetFillColor( objcolor ) -obj0.AddText( 'Object' ) -obj0.Draw() -dir1 = TPaveText( 10, 13, 13, 15 ) -dir1.SetFillColor( dircolor ) -dir1.AddText( 'SubDir' ) -dir1.Draw() -obj1 = TPaveText( 15, 13, 18, 15 ) -obj1.SetFillColor( objcolor ) -obj1.AddText( 'Object' ) -obj1.Draw() -arrow.DrawArrow( 12, 11, 17, 11, 0.015, '|>' ) -arrow.DrawArrow( 11, 9, 17, 9, 0.015, '|>' ) -line.DrawLine( 12, 13, 12, 11 ) -line.DrawLine( 11, 13, 11, 9 ) -key2 = TPaveText( 14, 10.5, 16, 11.5 ) -key2.SetFillColor( keycolor ) -key2.AddText( 'Key 0' ) -key2.Draw() -obj2 = TPaveText( 14, 8.5, 16, 9.5 ) -obj2.SetFillColor( objcolor ) -obj2.AddText( 'Object' ) -obj2.Draw() -ldot = TLine( 10, 15, 2, 11 ) -ldot.SetLineStyle( 2 ) -ldot.Draw() -ldot.DrawLine( 13, 15, 8, 11 ) -ldot.DrawLine( 13, 13, 8, 5 ) -dirdata = TPaveText( 2, 5, 8, 11 ) -dirdata.SetTextAlign( 12 ) -dirdata.SetFillColor( dircolor ) -dirdata.Draw() -dirdata.SetTextSize( 0.015 ) -dirdata.AddText( 'fModified: True if directory is modified' ) -dirdata.AddText( 'fWritable: True if directory is writable' ) -dirdata.AddText( 'fDatimeC: Creation Date/Time' ) -dirdata.AddText( 'fDatimeM: Last mod Date/Time' ) -dirdata.AddText( 'fNbytesKeys: Number of bytes of key' ) -dirdata.AddText( 'fNbytesName : Header length up to title' ) -dirdata.AddText( 'fSeekDir: Start of Directory on file' ) -dirdata.AddText( 'fSeekParent: Start of Parent Directory' ) -dirdata.AddText( 'fSeekKeys: Pointer to Keys record' ) -keydata = TPaveText( 10, 2, 17, 7 ) -keydata.SetTextAlign( 12 ) -keydata.SetFillColor( keycolor ) -keydata.Draw() -ldot.DrawLine( 14, 11.5, 10, 7 ) -ldot.DrawLine( 16, 11.5, 17, 7 ) -keydata.SetTextSize( 0.015 ) -keydata.AddText( 'fNbytes: Size of compressed Object' ) -keydata.AddText( 'fObjLen: Size of uncompressed Object' ) -keydata.AddText( 'fDatime: Date/Time when written to store' ) -keydata.AddText( 'fKeylen: Number of bytes for the key' ) -keydata.AddText( 'fCycle : Cycle number' ) -keydata.AddText( 'fSeekKey: Pointer to Object on file' ) -keydata.AddText( 'fSeekPdir: Pointer to directory on file' ) -keydata.AddText( 'fClassName: "TKey"' ) -keydata.AddText( 'fName: Object name' ) -keydata.AddText( 'fTitle: Object Title' ) - -c1.Update() diff --git a/tutorials/file.C b/tutorials/file.C deleted file mode 100644 index bd64f4d790c65c4b60dda01a0825ce78a6f9aa82..0000000000000000000000000000000000000000 --- a/tutorials/file.C +++ /dev/null @@ -1,125 +0,0 @@ -{ - // - // This macro displays the physical ROOT file structure - // - gROOT->Reset(); - c1 = new TCanvas("c1","ROOT File description",200,10,700,550); - - c1->Range(0,-0.25,21,14); - TPaveLabel title(5,12,15,13.7,c1->GetTitle()); - title.SetFillColor(16); - title.Draw(); - - // horizonthal file layout - TPave file(1,8.5,20,11); - file.SetFillColor(11); - file.Draw(); - TPave fileh(1,8.5,2.5,11); - fileh.SetFillColor(44); - fileh.Draw(); - TPave lrh(2.5,8.5,3.3,11,1); - lrh.SetFillColor(33); - lrh.Draw(); - lrh.DrawPave(6.9,8.5,7.7,11,1); - lrh.DrawPave(10.5,8.5,11.3,11,1); - lrh.DrawPave(14.5,8.5,15.3,11,1); - TLine ldot(1,8.5,0.5,6.5); - ldot.SetLineStyle(2); - ldot.Draw(); - ldot.DrawLine(2.5, 8.5, 9.4, 6.5); - ldot.DrawLine(10.5, 8.5, 10, 6.5); - ldot.DrawLine(11.3, 8.5, 19.5, 6.5); - TLine line(2.6,11,2.6,11.5); - line.Draw(); - line.DrawLine(2.6,11.5,7,11.5); - TArrow arrow(7,11.5,7,11.1,0.01,"|>"); - arrow.SetFillStyle(1001); - arrow.Draw(); - line.DrawLine( 7, 8.5, 7, 8.0); - line.DrawLine( 7, 8.0, 10.6, 8); - arrow.DrawArrow( 10.6,8, 10.6, 8.4,0.01,"|>"); - line.DrawLine( 10.6, 11, 10.6, 11.5); - line.DrawLine( 10.6, 11.5, 14.6, 11.5); - arrow.DrawArrow( 14.6,11.5, 14.6,11.1,0.01,"|>"); - line.DrawLine( 14.6, 8.5, 14.6, 8.0); - line.DrawLine( 14.6, 8.0, 16, 8); - ldot.DrawLine(16, 8, 19, 8); - TText vert(1.5,9.75,"File"); - vert.SetTextAlign(21); - vert.SetTextAngle(90); - vert.SetTextSize(0.025); - vert.Draw(); - vert.DrawText(2.0, 9.75,"Header"); - vert.DrawText(2.9, 9.75,"Logical Record"); - vert.DrawText(3.2, 9.75,"Header"); - vert.DrawText(7.3, 9.75,"Logical Record"); - vert.DrawText(7.6, 9.75,"Header"); - vert.DrawText(10.9,9.75,"Logical Record"); - vert.DrawText(11.2,9.75,"Header"); - vert.DrawText(14.9,9.75,"Logical Record"); - vert.DrawText(15.2,9.75,"Header"); - TText hori(4.75,10,"Object"); - hori.SetTextAlign(22); - hori.SetTextSize(0.035); - hori.Draw(); - hori.DrawText(4.75, 9.5,"Data"); - hori.DrawText(9.2, 10,"Deleted"); - hori.DrawText(9.2, 9.5,"Object"); - line.DrawLine( 6.9, 8.5, 10.5, 11); - line.DrawLine( 6.9, 11, 10.5, 8.5); - TText tbig(17,9.75,"............"); - tbig.SetTextAlign(22); - tbig.SetTextSize(0.03); - tbig.Draw(); - tbig.DrawText(2.6, 7, "fBEGIN"); - tbig.DrawText(20., 7, "fEND"); - arrow.DrawArrow( 2.6,7, 2.6,8.4,0.01,"|>"); - arrow.DrawArrow( 20,7, 20,8.4,0.01,"|>"); - - //file header - TPaveText header(0.5,.2,9.4,6.5); - header.SetFillColor(44); - header.Draw(); - TText *fh=header.AddText("File Header"); - fh->SetTextAlign(22); - fh->SetTextSize(0.04); - header.SetTextSize(0.027); - header.SetTextAlign(12); - header.AddText(" "); - header.AddLine(0,0,0,0); - header.AddText("\"root\": Root File Identifier"); - header.AddText("fVersion: File version identifier"); - header.AddText("fBEGIN: Pointer to first data record"); - header.AddText("fEND: Pointer to first free word at EOF"); - header.AddText("fSeekFree: Pointer to FREE data record"); - header.AddText("fNbytesFree: Number of bytes in FREE"); - header.AddText("fNfree: Number of free data records"); - header.AddText("fNbytesName: Number of bytes in name/title"); - header.AddText("fUnits: Number of bytes for pointers"); - header.AddText("fCompress: Compression level"); - - //logical record header - TPaveText lrecord(10,0.2,19.5,6.5); - lrecord.SetFillColor(33); - lrecord.Draw(); - TText *tlrh=lrecord.AddText("Logical Record Header (TKEY)"); - tlrh->SetTextAlign(22); - tlrh->SetTextSize(0.04); - lrecord.SetTextSize(0.027); - lrecord.SetTextAlign(12); - lrecord.AddText(" "); - lrecord.AddLine(0,0,0,0); - lrecord.AddText("fNbytes: Length of compressed object"); - lrecord.AddText("fVersion: Key version identifier"); - lrecord.AddText("fObjLen: Length of uncompressed object"); - lrecord.AddText("fDatime: Date/Time when written to store"); - lrecord.AddText("fKeylen: Number of bytes for the key"); - lrecord.AddText("fCycle : Cycle number"); - lrecord.AddText("fSeekKey: Pointer to object on file"); - lrecord.AddText("fSeekPdir: Pointer to directory on file"); - lrecord.AddText("fClassName: class name of the object"); - lrecord.AddText("fName: name of the object"); - lrecord.AddText("fTitle: title of the object"); - - c1->Update(); -} diff --git a/tutorials/file.py b/tutorials/file.py deleted file mode 100755 index 6a402bbe6496e4a7987d4faf45013c58837effee..0000000000000000000000000000000000000000 --- a/tutorials/file.py +++ /dev/null @@ -1,129 +0,0 @@ -# -# This macro displays the physical ROOT file structure -# - -from ROOT import TCanvas, TPaveLabel, TPave, TLine, TArrow, TText, TPaveText -from ROOT import gROOT - - -gROOT.Reset() - -c1 = TCanvas( 'c1', 'ROOT File description', 200, 10, 700, 550 ) - -c1.Range( 0, -0.25, 21, 14 ) -title = TPaveLabel( 5, 12, 15, 13.7, c1.GetTitle() ) -title.SetFillColor( 16 ) -title.Draw() - -# horizonthal file layout -file = TPave( 1, 8.5, 20, 11 ) -file.SetFillColor( 11 ) -file.Draw() -fileh = TPave( 1, 8.5, 2.5, 11 ) -fileh.SetFillColor( 44 ) -fileh.Draw() -lrh = TPave( 2.5, 8.5, 3.3, 11, 1 ) -lrh.SetFillColor( 33 ) -lrh.Draw() -lrh.DrawPave( 6.9, 8.5, 7.7, 11, 1 ) -lrh.DrawPave( 10.5, 8.5, 11.3, 11, 1 ) -lrh.DrawPave( 14.5, 8.5, 15.3, 11, 1 ) -ldot = TLine( 1, 8.5, 0.5, 6.5 ) -ldot.SetLineStyle( 2 ) -ldot.Draw() -ldot.DrawLine( 2.5, 8.5, 9.4, 6.5 ) -ldot.DrawLine( 10.5, 8.5, 10, 6.5 ) -ldot.DrawLine( 11.3, 8.5, 19.5, 6.5 ) -line = TLine( 2.6, 11, 2.6, 11.5 ) -line.Draw() -line.DrawLine( 2.6, 11.5, 7, 11.5 ) -arrow = TArrow( 7, 11.5, 7, 11.1, 0.01, '|>' ) -arrow.SetFillStyle( 1001 ) -arrow.Draw() -line.DrawLine( 7, 8.5, 7, 8.0 ) -line.DrawLine( 7, 8.0, 10.6, 8 ) -arrow.DrawArrow( 10.6,8, 10.6, 8.4, 0.01, '|>' ) -line.DrawLine( 10.6, 11, 10.6, 11.5 ) -line.DrawLine( 10.6, 11.5, 14.6, 11.5 ) -arrow.DrawArrow( 14.6, 11.5, 14.6, 11.1, 0.01, '|>' ) -line.DrawLine( 14.6, 8.5, 14.6, 8.0 ) -line.DrawLine( 14.6, 8.0, 16, 8 ) -ldot.DrawLine( 16, 8, 19, 8 ) -vert = TText( 1.5, 9.75, 'File' ) -vert.SetTextAlign( 21 ) -vert.SetTextAngle( 90 ) -vert.SetTextSize( 0.025 ) -vert.Draw() -vert.DrawText( 2.0, 9.75, 'Header' ) -vert.DrawText( 2.9, 9.75, 'Logical Record' ) -vert.DrawText( 3.2, 9.75, 'Header' ) -vert.DrawText( 7.3, 9.75, 'Logical Record' ) -vert.DrawText( 7.6, 9.75, 'Header' ) -vert.DrawText( 10.9, 9.75, 'Logical Record' ) -vert.DrawText( 11.2, 9.75, 'Header' ) -vert.DrawText( 14.9, 9.75, 'Logical Record' ) -vert.DrawText( 15.2, 9.75, 'Header' ) -hori = TText( 4.75, 10, 'Object' ) -hori.SetTextAlign( 22 ) -hori.SetTextSize( 0.035 ) -hori.Draw() -hori.DrawText( 4.75, 9.5, 'Data' ) -hori.DrawText( 9.2, 10, 'Deleted' ) -hori.DrawText( 9.2, 9.5, 'Object' ) -line.DrawLine( 6.9, 8.5, 10.5, 11 ) -line.DrawLine( 6.9, 11, 10.5, 8.5 ) -tbig = TText( 17, 9.75, '............' ) -tbig.SetTextAlign( 22 ) -tbig.SetTextSize( 0.03 ) -tbig.Draw() -tbig.DrawText( 2.6, 7, 'fBEGIN' ) -tbig.DrawText( 20., 7, 'fEND' ) -arrow.DrawArrow( 2.6, 7, 2.6, 8.4, 0.01, '|>' ) -arrow.DrawArrow( 20, 7, 20, 8.4, 0.01, '|>' ) - -#file header -header = TPaveText( 0.5, .2, 9.4, 6.5 ) -header.SetFillColor( 44 ) -header.Draw() -fh = header.AddText( 'File Header' ) -fh.SetTextAlign( 22 ) -fh.SetTextSize( 0.04 ) -header.SetTextSize( 0.027 ) -header.SetTextAlign( 12 ) -header.AddText( ' ' ) -header.AddLine( 0, 0, 0, 0 ) -header.AddText( '"root": Root File Identifier' ) -header.AddText( 'fVersion: File version identifier' ) -header.AddText( 'fBEGIN: Pointer to first data record' ) -header.AddText( 'fEND: Pointer to first free word at EOF' ) -header.AddText( 'fSeekFree: Pointer to FREE data record' ) -header.AddText( 'fNbytesFree: Number of bytes in FREE' ) -header.AddText( 'fNfree: Number of free data records' ) -header.AddText( 'fNbytesName: Number of bytes in name/title' ) -header.AddText( 'fUnits: Number of bytes for pointers' ) -header.AddText( 'fCompress: Compression level' ) - -#logical record header -lrecord = TPaveText( 10, 0.2, 19.5, 6.5 ) -lrecord.SetFillColor( 33 ) -lrecord.Draw() -tlrh = lrecord.AddText( 'Logical Record Header (TKEY)' ) -tlrh.SetTextAlign( 22 ) -tlrh.SetTextSize( 0.04 ) -lrecord.SetTextSize( 0.027 ) -lrecord.SetTextAlign( 12 ) -lrecord.AddText( ' ' ) -lrecord.AddLine( 0, 0, 0, 0 ) -lrecord.AddText( 'fNbytes: Length of compressed object' ) -lrecord.AddText( 'fVersion: Key version identifier' ) -lrecord.AddText( 'fObjLen: Length of uncompressed object' ) -lrecord.AddText( 'fDatime: Date/Time when written to store' ) -lrecord.AddText( 'fKeylen: Number of bytes for the key' ) -lrecord.AddText( 'fCycle : Cycle number' ) -lrecord.AddText( 'fSeekKey: Pointer to object on file' ) -lrecord.AddText( 'fSeekPdir: Pointer to directory on file' ) -lrecord.AddText( 'fClassName: class name of the object' ) -lrecord.AddText( 'fName: name of the object' ) -lrecord.AddText( 'fTitle: title of the object' ) - -c1.Update() diff --git a/tutorials/fillrandom.C b/tutorials/fillrandom.C deleted file mode 100644 index bcfa4d45495eaec6613dd3f8d1637044ec26ec49..0000000000000000000000000000000000000000 --- a/tutorials/fillrandom.C +++ /dev/null @@ -1,58 +0,0 @@ -{ - // - // To see the output of this macro, click begin_html <a href="gif/fillrandom.gif">here</a>. end_html - // - gROOT->Reset(); - c1 = new TCanvas("c1","The FillRandom example",200,10,700,900); - c1->SetFillColor(18); - - pad1 = new TPad("pad1","The pad with the function",0.05,0.50,0.95,0.95,21); - pad2 = new TPad("pad2","The pad with the histogram",0.05,0.05,0.95,0.45,21); - pad1->Draw(); - pad2->Draw(); - pad1->cd(); - - gBenchmark->Start("fillrandom"); - // - // A function (any dimension) or a formula may reference - // an already defined formula - // - form1 = new TFormula("form1","abs(sin(x)/x)"); - sqroot = new TF1("sqroot","x*gaus(0) + [3]*form1",0,10); - sqroot->SetParameters(10,4,1,20); - pad1->SetGridx(); - pad1->SetGridy(); - pad1->GetFrame()->SetFillColor(42); - pad1->GetFrame()->SetBorderMode(-1); - pad1->GetFrame()->SetBorderSize(5); - sqroot->SetLineColor(4); - sqroot->SetLineWidth(6); - sqroot->Draw(); - lfunction = new TPaveLabel(5,39,9.8,46,"The sqroot function"); - lfunction->SetFillColor(41); - lfunction->Draw(); - c1->Update(); - - // - // Create a one dimensional histogram (one float per bin) - // and fill it following the distribution in function sqroot. - // - pad2->cd(); - pad2->GetFrame()->SetFillColor(42); - pad2->GetFrame()->SetBorderMode(-1); - pad2->GetFrame()->SetBorderSize(5); - h1f = new TH1F("h1f","Test random numbers",200,0,10); - h1f->SetFillColor(45); - h1f->FillRandom("sqroot",10000); - h1f->Draw(); - c1->Update(); - // - // Open a ROOT file and save the formula, function and histogram - // - TFile myfile("fillrandom.root","RECREATE"); - form1->Write(); - sqroot->Write(); - h1f->Write(); - myfile.Close(); - gBenchmark->Show("fillrandom"); -} diff --git a/tutorials/fillrandom.py b/tutorials/fillrandom.py deleted file mode 100755 index 3b936e5f9dc89e42be7144d66e60f8ca2f3dc6e6..0000000000000000000000000000000000000000 --- a/tutorials/fillrandom.py +++ /dev/null @@ -1,62 +0,0 @@ -# -# To see the output of this macro, click begin_html <a href="gif/fillrandom.gif">here</a>. end_html -# - -from ROOT import TCanvas, TPad, TFormula, TF1, TPaveLabel, TH1F, TFile -from ROOT import gROOT, gBenchmark - - -gROOT.Reset() - -c1 = TCanvas( 'c1', 'The FillRandom example', 200, 10, 700, 900 ) -c1.SetFillColor( 18 ) - -pad1 = TPad( 'pad1', 'The pad with the function', 0.05, 0.50, 0.95, 0.95, 21 ) -pad2 = TPad( 'pad2', 'The pad with the histogram', 0.05, 0.05, 0.95, 0.45, 21 ) -pad1.Draw() -pad2.Draw() -pad1.cd() - -gBenchmark.Start( 'fillrandom' ) -# -# A function (any dimension) or a formula may reference -# an already defined formula -# -form1 = TFormula( 'form1', 'abs(sin(x)/x)' ) -sqroot = TF1( 'sqroot', 'x*gaus(0) + [3]*form1', 0, 10 ) -sqroot.SetParameters( 10, 4, 1, 20 ) -pad1.SetGridx() -pad1.SetGridy() -pad1.GetFrame().SetFillColor( 42 ) -pad1.GetFrame().SetBorderMode( -1 ) -pad1.GetFrame().SetBorderSize( 5 ) -sqroot.SetLineColor( 4 ) -sqroot.SetLineWidth( 6 ) -sqroot.Draw() -lfunction = TPaveLabel( 5, 39, 9.8, 46, 'The sqroot function' ) -lfunction.SetFillColor( 41 ) -lfunction.Draw() -c1.Update() - -# -# Create a one dimensional histogram (one float per bin) -# and fill it following the distribution in function sqroot. -# -pad2.cd(); -pad2.GetFrame().SetFillColor( 42 ) -pad2.GetFrame().SetBorderMode( -1 ) -pad2.GetFrame().SetBorderSize( 5 ) -h1f = TH1F( 'h1f', 'Test random numbers', 200, 0, 10 ) -h1f.SetFillColor( 45 ) -h1f.FillRandom( 'sqroot', 10000 ) -h1f.Draw() -c1.Update() -# -# Open a ROOT file and save the formula, function and histogram -# -myfile = TFile( 'fillrandom.root', 'RECREATE' ) -form1.Write() -sqroot.Write() -h1f.Write() -myfile.Close() -gBenchmark.Show( 'fillrandom' ) diff --git a/tutorials/fillrandom.rb b/tutorials/fillrandom.rb deleted file mode 100644 index 6ce638929aff69a947b2a9975e8cb81ae4d90100..0000000000000000000000000000000000000000 --- a/tutorials/fillrandom.rb +++ /dev/null @@ -1,50 +0,0 @@ -# ruby-root testsuite -# -# Original $ROOT/tutorials/fillrandom.C using ruby-root. -# -# 15/12/2003 --elathan - - -c1 = TCanvas.new("c1","The FillRandom example",200,10,700,900) -c1.SetFillColor(18) - -pad1 = TPad.new("pad1","The pad with the function" ,0.05,0.50, 0.95,0.95,21) -pad2 = TPad.new("pad2","The pad with the histogram", 0.05,0.05,0.95,0.45,21) -pad1.Draw -pad2.Draw -pad1.cd 0 - -form1 = TFormula.new("form1","abs(sin(x)/x)") -sqroot = TF1.new("sqroot","x*gaus(0) + [3]*form1",0,10) -sqroot.SetParameters [10,4,1,20] -pad1.SetGridx -pad1.SetGridy - -pad1.GetFrame.SetFillColor(42) -pad1.GetFrame.SetBorderMode(-1) -pad1.GetFrame.SetBorderSize(5) - -sqroot.SetLineColor(4) -sqroot.SetLineWidth(6) -sqroot.Draw - -lfunction = TPaveLabel.new(5,39,9.8,46,"The sqroot function", "br") -lfunction.SetFillColor(41) -lfunction.Draw - -c1.Update - -# Create a one dimensional histogram (one float per bin) -# and fill it following the distribution in function sqroot. - -pad2.cd(0) -pad2.GetFrame.SetFillColor(42) -pad2.GetFrame.SetBorderMode(-1) -pad2.GetFrame.SetBorderSize(5) -h1f = TH1F.new("h1f","Test random numbers",200,0,10) -h1f.SetFillColor(45) -h1f.FillRandom("sqroot",10000) -h1f.Draw -c1.Update - -gApplication.Run diff --git a/tutorials/first.C b/tutorials/first.C deleted file mode 100644 index c7923238012860ab51947a5e7062f847d3d004fc..0000000000000000000000000000000000000000 --- a/tutorials/first.C +++ /dev/null @@ -1,46 +0,0 @@ -void first() { - - TCanvas *nut = new TCanvas("nut", "FirstSession",100,10,700,900); - nut->Range(0,0,20,24); - nut->SetFillColor(10); - nut->SetBorderSize(2); - - TPaveLabel *pl = new TPaveLabel(3,22,17,23.7,"My first ROOT interactive session","br"); - pl->SetFillColor(18); - pl->Draw(); - - TText t(0,0,"a"); - t.SetTextFont(62); - t.SetTextSize(0.025); - t.SetTextAlign(12); - t.DrawText(2,20.3,"ROOT is based on CINT, a powerful C/C++ interpreter."); - t.DrawText(2,19.3,"Blocks of lines can be entered within {...}."); - t.DrawText(2,18.3,"Previous typed lines can be recalled."); - - t.SetTextFont(72); - t.SetTextSize(0.026); - t.DrawText(3,17,"Root > float x=5; float y=7;"); - t.DrawText(3,16,"Root > x*sqrt(y)"); - t.DrawText(3,14,"Root > for (int i=2;i<7;i++) printf(\"sqrt(%d) = %f\",i,sqrt(i));"); - t.DrawText(3,10,"Root > TF1 f1(\"f1\",\"sin(x)/x\",0,10)"); - t.DrawText(3, 9,"Root > f1.Draw()"); - t.SetTextFont(81); - t.SetTextSize(0.018); - t.DrawText(4,15,"(double)1.322875655532e+01"); - t.DrawText(4,13.3,"sqrt(2) = 1.414214"); - t.DrawText(4,12.7,"sqrt(3) = 1.732051"); - t.DrawText(4,12.1,"sqrt(4) = 2.000000"); - t.DrawText(4,11.5,"sqrt(5) = 2.236068"); - t.DrawText(4,10.9,"sqrt(6) = 2.449490"); - - TPad *pad = new TPad("pad","pad",.2,.05,.8,.35); - pad->SetFillColor(42); - pad->SetFrameFillColor(33); - pad->SetBorderSize(10); - pad->Draw(); - pad->cd(); - pad->SetGrid(); - TF1 *f1 = new TF1("f1","sin(x)/x",0,10); - f1->Draw(); - nut->cd(); -} diff --git a/tutorials/first.py b/tutorials/first.py deleted file mode 100755 index 8ec9f2e8f02e175b82bc5c227ff4695d1accacba..0000000000000000000000000000000000000000 --- a/tutorials/first.py +++ /dev/null @@ -1,49 +0,0 @@ -from ROOT import TCanvas, TF1, TPaveLabel, TPad, TText -from ROOT import gROOT - - -nut = TCanvas( 'nut', 'FirstSession', 100, 10, 700, 900 ) -nut.Range( 0, 0, 20, 24 ) -nut.SetFillColor( 10 ) -nut.SetBorderSize( 2 ) - -pl = TPaveLabel( 3, 22, 17, 23.7, 'My first PyROOT interactive session', 'br' ) -pl.SetFillColor( 18 ) -pl.Draw() - -t = TText( 0, 0, 'a' ) -t.SetTextFont( 62 ) -t.SetTextSize( 0.025 ) -t.SetTextAlign( 12 ) -t.DrawText( 2, 20.3, 'PyROOT provides ROOT bindings for Python, a powerful interpreter.' ) -t.DrawText( 2, 19.3, 'Blocks of lines can be entered typographically.' ) -t.DrawText( 2, 18.3, 'Previous typed lines can be recalled.' ) - -t.SetTextFont( 72 ) -t.SetTextSize( 0.026 ) -t.DrawText( 3, 17, r'>>> x, y = 5, 7' ) -t.DrawText( 3, 16, r'>>> import math; x*math.sqrt(y)' ) -t.DrawText( 3, 14, r'>>> for i in range(2,7): print "sqrt(%d) = %f" % (i,math.sqrt(i))' ) -t.DrawText( 3, 10, r'>>> import ROOT; f1 = ROOT.TF1( "f1", "sin(x)/x", 0, 10 )' ) -t.DrawText( 3, 9, r'>>> f1.Draw()' ) -t.SetTextFont( 81 ) -t.SetTextSize( 0.018 ) -t.DrawText( 4, 15, '13.228756555322953' ) -t.DrawText( 4, 13.3, 'sqrt(2) = 1.414214' ) -t.DrawText( 4, 12.7, 'sqrt(3) = 1.732051' ) -t.DrawText( 4, 12.1, 'sqrt(4) = 2.000000' ) -t.DrawText( 4, 11.5, 'sqrt(5) = 2.236068' ) -t.DrawText( 4, 10.9, 'sqrt(6) = 2.449490' ) - -pad = TPad( 'pad', 'pad', .2, .05, .8, .35 ) -pad.SetFillColor( 42 ) -pad.SetFrameFillColor( 33 ) -pad.SetBorderSize( 10 ) -pad.Draw() -pad.cd() -pad.SetGrid() - -f1 = TF1( 'f1', 'sin(x)/x', 0, 10 ) -f1.Draw() -nut.cd() -nut.Update() diff --git a/tutorials/fit1.C b/tutorials/fit1.C deleted file mode 100644 index 66a5242cea6e71d55e0e221ac5f0e9149365f904..0000000000000000000000000000000000000000 --- a/tutorials/fit1.C +++ /dev/null @@ -1,48 +0,0 @@ -{ - // - // To see the output of this macro, click begin_html <a href="gif/fit1.gif">here</a>. end_html - // - gROOT->Reset(); - c1 = new TCanvas("c1","The Fit Canvas",200,10,700,500); - c1->SetGridx(); - c1->SetGridy(); - c1->GetFrame()->SetFillColor(21); - c1->GetFrame()->SetBorderMode(-1); - c1->GetFrame()->SetBorderSize(5); - - gBenchmark->Start("fit1"); - // - // We connect the ROOT file generated in a previous tutorial - // (see begin_html <a href="fillrandom.C.html">Filling histograms with random numbers from a function</a>) end_html - // - TFile fill("fillrandom.root"); - - // - // The function "ls()" lists the directory contents of this file - // - fill.ls(); - - // - // Get object "sqroot" from the file. Undefined objects are searched - // for using gROOT->FindObject("xxx"), e.g.: - // TF1 *sqroot = (TF1*) gROOT.FindObject("sqroot") - // - sqroot->Print(); - - // - // Now fit histogram h1f with the function sqroot - // - h1f->SetFillColor(45); - h1f->Fit("sqroot"); - - // We now annotate the picture by creating a PaveText object - // and displaying the list of commands in this macro - // - fitlabel = new TPaveText(0.6,0.3,0.9,0.80,"NDC"); - fitlabel->SetTextAlign(12); - fitlabel->SetFillColor(42); - fitlabel->ReadFile("fit1_C.C"); - fitlabel->Draw(); - c1->Update(); - gBenchmark->Show("fit1"); -} diff --git a/tutorials/fit1.py b/tutorials/fit1.py deleted file mode 100755 index eed8906dca750b0b60dad7f02b174cfb03a05ee0..0000000000000000000000000000000000000000 --- a/tutorials/fit1.py +++ /dev/null @@ -1,51 +0,0 @@ -# -# To see the output of this macro, click begin_html <a href="gif/fit1.gif">here</a>. end_html -# - -from ROOT import TCanvas, TFile, TPaveText -from ROOT import gROOT, gBenchmark - -gROOT.Reset() -c1 = TCanvas( 'c1', 'The Fit Canvas', 200, 10, 700, 500 ) -c1.SetGridx() -c1.SetGridy() -c1.GetFrame().SetFillColor( 21 ) -c1.GetFrame().SetBorderMode(-1 ) -c1.GetFrame().SetBorderSize( 5 ) - -gBenchmark.Start( 'fit1' ) -# -# We connect the ROOT file generated in a previous tutorial -# (see begin_html <a href="fillrandom.C.html">Filling histograms with random numbers from a function</a>) end_html -# -fill = TFile( 'fillrandom.root' ) - -# -# The function "ls()" lists the directory contents of this file -# -fill.ls() - -# -# Get object "sqroot" from the file. -# - -sqroot = gROOT.FindObject( 'sqroot' ) -sqroot.Print() - -# -# Now fit histogram h1f with the function sqroot -# -h1f = gROOT.FindObject( 'h1f' ) -h1f.SetFillColor( 45 ) -h1f.Fit( 'sqroot' ) - -# We now annotate the picture by creating a PaveText object -# and displaying the list of commands in this macro -# -fitlabel = TPaveText( 0.6, 0.3, 0.9, 0.80, 'NDC' ) -fitlabel.SetTextAlign( 12 ) -fitlabel.SetFillColor( 42 ) -fitlabel.ReadFile( 'fit1_C.C' ) -fitlabel.Draw() -c1.Update() -gBenchmark.Show( 'fit1' ) diff --git a/tutorials/fit1_C.C b/tutorials/fit1_C.C deleted file mode 100644 index 3c497b0f16efa2c86a4d0101b4a78f406c5ba51e..0000000000000000000000000000000000000000 --- a/tutorials/fit1_C.C +++ /dev/null @@ -1,17 +0,0 @@ - - gROOT->Reset(); - c1 = new TCanvas("c1","The Fit Canvas"); - c1->SetGridx(); - c1->SetGridy(); - TFile fill("fillrandom.root"); - fill.ls(); - sqroot->Print(); - - h1f->Fit("sqroot"); - - fitlabel = new TPaveText(0.6,0.3,0.9,0.80,"NDC"); - fitlabel->SetTextAlign(12); - fitlabel->SetFillColor(25); - fitlabel->ReadFile("fit1_C.C"); - fitlabel->Draw(); - diff --git a/tutorials/fit2.C b/tutorials/fit2.C deleted file mode 100644 index 0b892e6920ac70722e32809e94d55a5134163910..0000000000000000000000000000000000000000 --- a/tutorials/fit2.C +++ /dev/null @@ -1,44 +0,0 @@ -#include "TF2.h" -#include "TH2.h" -// This tutorial illustrates : -// - how to create a 2-d function -// - fill a 2-d histogram randomly from this function -// - fit the histogram -// - display the fitted function on top of the histogram (scatter-plot) -// -// This example can be executed via the interpreter or/and the compiler -// root > .x fit2.C -// root > .x fit2.C++ - -Double_t g2(Double_t *x, Double_t *par) { - Double_t r1 = Double_t((x[0]-par[1])/par[2]); - Double_t r2 = Double_t((x[1]-par[3])/par[4]); - return par[0]*TMath::Exp(-0.5*(r1*r1+r2*r2)); -} -Double_t fun2(Double_t *x, Double_t *par) { - Double_t *p1 = &par[0]; - Double_t *p2 = &par[5]; - Double_t *p3 = &par[10]; - Double_t result = g2(x,p1) + g2(x,p2) + g2(x,p3); - return result; -} - -void fit2() { - const Int_t npar = 15; - Double_t f2params[npar] = {100,-3,3,-3,3,160,0,0.8,0,0.9,40,4,0.7,4,0.7}; - TF2 *f2 = new TF2("f2",fun2,-10,10,-10,10, npar); - f2->SetParameters(f2params); - - //Create an histogram and fill it randomly with f2 - TH2F *h2 = new TH2F("h2","from f2",40,-10,10,40,-10,10); - Int_t nentries = 100000; - h2->FillRandom("f2",nentries); - //Fit h2 with original function f2 - Float_t ratio = 4*nentries/100000; - f2params[ 0] *= ratio; - f2params[ 5] *= ratio; - f2params[10] *= ratio; - f2->SetParameters(f2params); - h2->Fit("f2"); - f2->Draw("cont1 same"); -} diff --git a/tutorials/fit2a.C b/tutorials/fit2a.C deleted file mode 100644 index 705f23c04516d461c9feceaab21f5dadcc2c3019..0000000000000000000000000000000000000000 --- a/tutorials/fit2a.C +++ /dev/null @@ -1,57 +0,0 @@ -#include "TF2.h" -#include "TH2.h" -#include "TCutG.h" - -// This tutorial illustrates : -// - how to create a 2-d function -// - fill a 2-d histogram randomly from this function -// - fit the histogram -// - display the fitted function on top of the histogram (lego-plot) -// using a surface plot in a sub-range of the histogram. -// -// This example can be executed via the interpreter or/and the compiler -// root > .x fit2a.C -// root > .x fit2a.C++ - -Double_t g2(Double_t *x, Double_t *par) { - Double_t r1 = Double_t((x[0]-par[1])/par[2]); - Double_t r2 = Double_t((x[1]-par[3])/par[4]); - return par[0]*TMath::Exp(-0.5*(r1*r1+r2*r2)); -} -Double_t fun2(Double_t *x, Double_t *par) { - Double_t *p1 = &par[0]; - Double_t *p2 = &par[5]; - Double_t *p3 = &par[10]; - Double_t result = g2(x,p1) + g2(x,p2) + g2(x,p3); - return result; -} - -void fit2a() { - const Int_t npar = 15; - Double_t f2params[npar] = {100,-3,3,-3,3,160,0,0.8,0,0.9,40,4,0.7,4,0.7}; - TF2 *f2 = new TF2("f2",fun2,-10,10,-10,10, npar); - f2->SetParameters(f2params); - - //Create an histogram and fill it randomly with f2 - TH2F *h2 = new TH2F("h2","from f2",40,-10,10,40,-10,10); - Int_t nentries = 100000; - h2->FillRandom("f2",nentries); - //Fit h2 with original function f2 - Float_t ratio = 4*nentries/100000; - f2params[ 0] *= ratio; - f2params[ 5] *= ratio; - f2params[10] *= ratio; - f2->SetParameters(f2params); - h2->Fit("f2","N"); - TCutG *cutg = new TCutG("cutg",5); - cutg->SetPoint(0,-7,-7); - cutg->SetPoint(1, 2,-7); - cutg->SetPoint(2, 2, 2); - cutg->SetPoint(3,-7, 2); - cutg->SetPoint(4,-7,-7); - h2->Draw("lego2"); - h2->SetFillColor(38); - f2->SetNpx(80); - f2->SetNpy(80); - f2->Draw("surf1 same [cutg]"); -} diff --git a/tutorials/fit2d.C b/tutorials/fit2d.C deleted file mode 100644 index ede893fd419a2a328b84ca948d54820ed094ef24..0000000000000000000000000000000000000000 --- a/tutorials/fit2d.C +++ /dev/null @@ -1,27 +0,0 @@ -void fit2d() -{ - //example illustrating how to fit a 2-d histogram of type y=f(x) - - // generate a 2-d histogram using a TCutG - const Int_t n = 6; - Float_t x[n] = {0.092,0.83,0.94,0.81,0.12,0.1}; - Float_t y[n] = {0.71,9.4,9,8,0.3,0.71}; - TCutG *cut = new TCutG("cut",n,x,y); - TH2F *h2 = new TH2F("h2","h2",40,0,1,40,0,10); - Float_t u,v; - for (Int_t i=0;i<100000;i++) { - u = gRandom->Rndm(); - v = 10*gRandom->Rndm(); - if (cut->IsInside(u,v)) h2->Fill(u,v); - } - TCanvas *c1 = new TCanvas("c1","show profile",600,900); - c1->Divide(1,2); - c1->cd(1); - h2->Draw(); - c1->cd(2); - - //use a TProfile to convert the 2-d to 1-d problem - TProfile *prof = h2->ProfileX(); - prof->Fit("pol1"); -} - diff --git a/tutorials/fit2dHist.C b/tutorials/fit2dHist.C deleted file mode 100644 index 912ccb8c39e917726e643c17922558f22ca469dd..0000000000000000000000000000000000000000 --- a/tutorials/fit2dHist.C +++ /dev/null @@ -1,240 +0,0 @@ -// -// Example to fit two histograms at the same time via TVirtualFitter -// -// To execute this tutorial, you can do: -// -// root > .x fit2dHist.C (executing via CINT, slow) -// or -// root > .x fit2dHist.C+ (executing via ACLIC , fast, with Minuit) -// root > .x fit2dHist.C+(2) (executing via ACLIC , fast, with Minuit2) -// or using the option to fit independently the 2 histos -// root > .x fit2dHist.C+(10) (via ACLIC, fast, independent fits with Minuit) -// root > .x fit2dHist.C+(12) (via ACLIC, fast, independent fits with Minuit2) -// -// Note that you can also execute this script in batch with eg, -// root -b -q "fit2dHist.C+(12)" -// -// or execute interactively from the shell -// root fit2dHist.C+ -// root "fit2dHist.C+(12)" -// -// Authors: Lorenzo Moneta, Rene Brun 18/01/2006 - -#include "TH2D.h" -#include "TF2.h" -#include "TCanvas.h" -#include "TStyle.h" -#include "TRandom3.h" -#include "TVirtualFitter.h" - -#include <iostream> - -double gauss2D(double *x, double *par) { - double z1 = double((x[0]-par[1])/par[2]); - double z2 = double((x[1]-par[3])/par[4]); - return par[0]*exp(-0.5*(z1*z1+z2*z2)); -} -double my2Dfunc(double *x, double *par) { - return gauss2D(x,&par[0]) + gauss2D(x,&par[5]); -} - - -// data need to be globals to be visible by fcn -TRandom3 rndm; -TH2D *h1, *h2; -Int_t npfits; - -void myFcn(Int_t & /*nPar*/, Double_t * /*grad*/ , Double_t &fval, Double_t *p, Int_t /*iflag */ ) -{ - TAxis *xaxis1 = h1->GetXaxis(); - TAxis *yaxis1 = h1->GetYaxis(); - TAxis *xaxis2 = h2->GetXaxis(); - TAxis *yaxis2 = h2->GetYaxis(); - - int nbinX1 = h1->GetNbinsX(); - int nbinY1 = h1->GetNbinsY(); - int nbinX2 = h2->GetNbinsX(); - int nbinY2 = h2->GetNbinsY(); - - double chi2 = 0; - double x[2]; - double tmp; - npfits = 0; - for (int ix = 1; ix <= nbinX1; ++ix) { - x[0] = xaxis1->GetBinCenter(ix); - for (int iy = 1; iy <= nbinY1; ++iy) { - if ( h1->GetBinError(ix,iy) > 0 ) { - x[1] = yaxis1->GetBinCenter(iy); - tmp = (h1->GetBinContent(ix,iy) - my2Dfunc(x,p))/h1->GetBinError(ix,iy); - chi2 += tmp*tmp; - npfits++; - } - } - } - for (int ix = 1; ix <= nbinX2; ++ix) { - x[0] = xaxis2->GetBinCenter(ix); - for (int iy = 1; iy <= nbinY2; ++iy) { - if ( h2->GetBinError(ix,iy) > 0 ) { - x[1] = yaxis2->GetBinCenter(iy); - tmp = (h2->GetBinContent(ix,iy) - my2Dfunc(x,p))/h2->GetBinError(ix,iy); - chi2 += tmp*tmp; - npfits++; - } - } - } - fval = chi2; -} - -void FillHisto(TH2D * h, int n, double * p) { - - - const double mx1 = p[1]; - const double my1 = p[3]; - const double sx1 = p[2]; - const double sy1 = p[4]; - const double mx2 = p[6]; - const double my2 = p[8]; - const double sx2 = p[7]; - const double sy2 = p[9]; - //const double w1 = p[0]*sx1*sy1/(p[5]*sx2*sy2); - const double w1 = 0.5; - - double x, y; - for (int i = 0; i < n; ++i) { - // generate randoms with larger gaussians - rndm.Rannor(x,y); - - double r = rndm.Rndm(1); - if (r < w1) { - x = x*sx1 + mx1; - y = y*sy1 + my1; - } - else { - x = x*sx2 + mx2; - y = y*sy2 + my2; - } - h->Fill(x,y); - - } -} - - - - -int fit2dHist(int option=1) { - - // create two histograms - - int nbx1 = 50; - int nby1 = 50; - int nbx2 = 50; - int nby2 = 50; - double xlow1 = 0.; - double ylow1 = 0.; - double xup1 = 10.; - double yup1 = 10.; - double xlow2 = 5.; - double ylow2 = 5.; - double xup2 = 20.; - double yup2 = 20.; - - h1 = new TH2D("h1","core",nbx1,xlow1,xup1,nby1,ylow1,yup1); - h2 = new TH2D("h2","tails",nbx2,xlow2,xup2,nby2,ylow2,yup2); - - double iniParams[10] = { 100, 6., 2., 7., 3, 100, 12., 3., 11., 2. }; - // create fit function - TF2 * func = new TF2("func",my2Dfunc,xlow2,xup2,ylow2,yup2, 10); - func->SetParameters(iniParams); - - // fill Histos - int n1 = 1000000; - int n2 = 1000000; - FillHisto(h1,n1,iniParams); - FillHisto(h2,n2,iniParams); - - // scale histograms to same heights (for fitting) - double dx1 = (xup1-xlow1)/double(nbx1); - double dy1 = (yup1-ylow1)/double(nby1); - double dx2 = (xup2-xlow2)/double(nbx2); - double dy2 = (yup2-ylow2)/double(nby2); - // scale histo 2 to scale of 1 - h2->Sumw2(); - h2->Scale( ( double(n1) * dx1 * dy1 ) / ( double(n2) * dx2 * dy2 ) ); - - bool global = false; - if (option > 10) global = true; - if (global) { - // fill data structure for fit (coordinates + values + errors) - std::cout << "Do global fit" << std::endl; - // fit now all the function together - - //The default minimizer is Minuit, you can also try Minuit2 - if (option%10 == 2) TVirtualFitter::SetDefaultFitter("Minuit2"); - else TVirtualFitter::SetDefaultFitter("Minuit"); - TVirtualFitter * minuit = TVirtualFitter::Fitter(0,10); - for (int i = 0; i < 10; ++i) { - minuit->SetParameter(i, func->GetParName(i), func->GetParameter(i), 0.01, 0,0); - } - minuit->SetFCN(myFcn); - - double arglist[100]; - arglist[0] = 0; - // set print level - minuit->ExecuteCommand("SET PRINT",arglist,2); - - // minimize - arglist[0] = 5000; // number of function calls - arglist[1] = 0.01; // tolerance - minuit->ExecuteCommand("MIGRAD",arglist,2); - - //get result - double minParams[10]; - double parErrors[10]; - for (int i = 0; i < 10; ++i) { - minParams[i] = minuit->GetParameter(i); - parErrors[i] = minuit->GetParError(i); - } - double chi2, edm, errdef; - int nvpar, nparx; - minuit->GetStats(chi2,edm,errdef,nvpar,nparx); - - func->SetParameters(minParams); - func->SetParErrors(parErrors); - func->SetChisquare(chi2); - int ndf = npfits-nvpar; - func->SetNDF(ndf); - - // add to list of functions - h1->GetListOfFunctions()->Add(func); - h2->GetListOfFunctions()->Add(func); - } - else { - // fit independently - h1->Fit(func); - h2->Fit(func); - } - - // Create a new canvas. - TCanvas * c1 = new TCanvas("c1","Two HIstogram Fit example",100,10,900,800); - c1->Divide(2,2); - gStyle->SetOptFit(); - gStyle->SetStatY(0.6); - - c1->cd(1); - h1->Draw(); - func->SetRange(xlow1,ylow1,xup1,yup1); - func->DrawCopy("cont1 same"); - c1->cd(2); - h1->Draw("lego"); - func->DrawCopy("surf1 same"); - c1->cd(3); - func->SetRange(xlow2,ylow2,xup2,yup2); - h2->Draw(); - func->DrawCopy("cont1 same"); - c1->cd(4); - h2->Draw("lego"); - gPad->SetLogz(); - func->Draw("surf1 same"); - - return 0; -} diff --git a/tutorials/fitCircle.C b/tutorials/fitCircle.C deleted file mode 100644 index b942a1364a9ea0c5f76f63c9e8b139fe9e2d8f39..0000000000000000000000000000000000000000 --- a/tutorials/fitCircle.C +++ /dev/null @@ -1,68 +0,0 @@ -//Example of script top generate points distributed with some errors around a circle -//Fit a circle through the points and draw -//To run the script, do, eg -// root > .x fitCircle.C (10000 points by default) -// root > .x fitCircle.C(100); (with only 100 points -// root > .x fitCircle.C(100000); with ACLIC -// -//Author: Rene Brun - -#include "TCanvas.h" -#include "TRandom3.h" -#include "TGraph.h" -#include "TMath.h" -#include "TArc.h" -#include "TVirtualFitter.h" - -TGraph *gr; - -//______________________________________________________________________________ -void myfcn(Int_t &, Double_t *, Double_t &f, Double_t *par, Int_t) { - //minimisation function computing the sum of squares of residuals - Int_t np = gr->GetN(); - f = 0; - Double_t *x = gr->GetX(); - Double_t *y = gr->GetY(); - for (Int_t i=0;i<np;i++) { - Double_t u = x[i] - par[0]; - Double_t v = y[i] - par[1]; - Double_t dr = par[2] - TMath::Sqrt(u*u+v*v); - f += dr*dr; - } -} - -//______________________________________________________________________________ -void fitCircle(Int_t n=10000) { - //generates n points around a circle and fit them - TCanvas *c1 = new TCanvas("c1","c1",600,600); - c1->SetGrid(); - gr = new TGraph(n); - if (n> 999) gr->SetMarkerStyle(1); - else gr->SetMarkerStyle(3); - TRandom3 r; - Double_t x,y; - for (Int_t i=0;i<n;i++) { - r.Circle(x,y,r.Gaus(4,0.3)); - gr->SetPoint(i,x,y); - } - c1->DrawFrame(-5,-5,5,5); - gr->Draw("p"); - - //Fit a circle to the graph points - TVirtualFitter::SetDefaultFitter("Minuit2"); //default is Minuit - TVirtualFitter *fitter = TVirtualFitter::Fitter(0, 3); - fitter->SetFCN(myfcn); - - fitter->SetParameter(0, "x0", 0, 0.1, 0,0); - fitter->SetParameter(1, "y0", 0, 0.1, 0,0); - fitter->SetParameter(2, "R", 1, 0.1, 0,0); - - Double_t arglist[1] = {0}; - fitter->ExecuteCommand("MIGRAD", arglist, 0); - - //Draw the circle on top of the points - TArc *arc = new TArc(fitter->GetParameter(0),fitter->GetParameter(1),fitter->GetParameter(2)); - arc->SetLineColor(kRed); - arc->SetLineWidth(4); - arc->Draw(); -} diff --git a/tutorials/fitExclude.C b/tutorials/fitExclude.C deleted file mode 100644 index bf3cc41ebccee5ad98c8f2893cb05f93388e20a1..0000000000000000000000000000000000000000 --- a/tutorials/fitExclude.C +++ /dev/null @@ -1,37 +0,0 @@ -// example to illustrate how to fit excluding points in a given range -// Author: Rene Brun -#include "TH1.h" -#include "TF1.h" -Bool_t reject; -Double_t fline(Double_t *x, Double_t *par) -{ - if (reject && x[0] > 2.5 && x[0] < 3.5) { - TF1::RejectPoint(); - return 0; - } - return par[0] + par[1]*x[0]; -} - -void fitExclude() { - //Create a source function - TF1 *f1 = new TF1("f1","[0] +[1]*x +gaus(2)",0,5); - f1->SetParameters(6,-1,5,3,0.2); - // create an histogram and fill it according to the source function - TH1F *h = new TH1F("h","background + signal",100,0,5); - h->FillRandom("f1",2000); - TF1 *fl = new TF1("fl",fline,0,5,2); - fl->SetParameters(2,-1); - //we want to fit only the linear background excluding the signal area - reject = kTRUE; - h->Fit(fl,"0"); - reject = kFALSE; - //store 2 separate functions for visualization - TF1 *fleft = new TF1("fleft",fline,0,2.5,2); - fleft->SetParameters(fl->GetParameters()); - h->GetListOfFunctions()->Add(fleft); - TF1 *fright = new TF1("fright",fline,3.5,5,2); - fright->SetParameters(fl->GetParameters()); - h->GetListOfFunctions()->Add(fright); - h->Draw(); -} - diff --git a/tutorials/fitLinear.C b/tutorials/fitLinear.C deleted file mode 100644 index e5e45414673c67136f0ad497225b4ce6972dfc6a..0000000000000000000000000000000000000000 --- a/tutorials/fitLinear.C +++ /dev/null @@ -1,103 +0,0 @@ -#include "TGraphErrors.h" -#include "TF1.h" -#include "TRandom.h" -#include "TCanvas.h" -#include "TLegend.h" - -void makePoints(Int_t n, Double_t *x, Double_t *y, Double_t *e, Int_t p); - -void fitLinear() -{ - //Example of fitting with a linear function, using the TLinearFitter class - //This example is for a TGraphErrors, but it can also be used when fitting - //a histogram, a TGraph2D or a TMultiGraph - - Int_t n = 40; - Double_t *x = new Double_t[n]; - Double_t *y = new Double_t[n]; - Double_t *e = new Double_t[n]; - TCanvas *myc = new TCanvas("myc", "Fitting 3 TGraphErrors with linear functions"); - myc->SetFillColor(42); - myc->SetGrid(); - - //Generate points along a 3rd degree polynomial: - makePoints(n, x, y, e, 3); - TGraphErrors *gre3 = new TGraphErrors(n, x, y, 0, e); - gre3->Draw("a*"); - //Fit the graph with the predefined "pol3" function - gre3->Fit("pol3"); - //Access the fit resuts - TF1 *f3 = gre3->GetFunction("pol3"); - f3->SetLineWidth(1); - - //Generate points along a sin(x)+sin(2x) function - makePoints(n, x, y, e, 2); - TGraphErrors *gre2=new TGraphErrors(n, x, y, 0, e); - gre2->Draw("*same"); - gre2->SetMarkerColor(kBlue); - gre2->SetLineColor(kBlue); - //The fitting function can be predefined and passed to the Fit function - //The "++" mean that the linear fitter should be used, and the following - //formula is equivalent to "[0]*sin(x) + [1]*sin(2*x)" - //A function, defined this way, is in no way different from any other TF1, - //it can be evaluated, drawn, you can get its parameters, etc. - //The fit result (parameter values, parameter errors, chisquare, etc) are - //written into the fitting function. - TF1 *f2 = new TF1("f2", "sin(x) ++ sin(2*x)", -2, 2); - gre2->Fit(f2); - f2 = gre2->GetFunction("f2"); - f2->SetLineColor(kBlue); - f2->SetLineWidth(1); - - //Generate points along a -2+exp(-x) function - makePoints(n, x, y, e, 4); - TGraphErrors *gre4=new TGraphErrors(n, x, y, 0, e); - gre4->Draw("*same"); - gre4->SetMarkerColor(kRed); - gre4->SetLineColor(kRed); - //If you don't want to define the function, you can just pass the string with the - //the formula: - gre4->Fit("1 ++ exp(-x)"); - //Access the fit results: - TF1 *f4 = gre4->GetFunction("1 ++ exp(-x)"); - f4->SetName("f4"); - f4->SetLineColor(kRed); - f4->SetLineWidth(1); - - TLegend *leg = new TLegend(0.3, 0.7, 0.65, 0.9); - leg->AddEntry(gre3, " -7 + 2*x*x + x*x*x", "p"); - leg->AddEntry(gre2, "sin(x) + sin(2*x)", "p"); - leg->AddEntry(gre4, "-2 + exp(-x)", "p"); - leg->Draw(); - leg->SetFillColor(42); - - -} - -void makePoints(Int_t n, Double_t *x, Double_t *y, Double_t *e, Int_t p) -{ - Int_t i; - TRandom r; - - if (p==2) { - for (i=0; i<n; i++) { - x[i] = r.Uniform(-2, 2); - y[i]=TMath::Sin(x[i]) + TMath::Sin(2*x[i]) + r.Gaus()*0.1; - e[i] = 0.1; - } - } - if (p==3) { - for (i=0; i<n; i++) { - x[i] = r.Uniform(-2, 2); - y[i] = -7 + 2*x[i]*x[i] + x[i]*x[i]*x[i]+ r.Gaus()*0.1; - e[i] = 0.1; - } - } - if (p==4) { - for (i=0; i<n; i++) { - x[i] = r.Uniform(-2, 2); - y[i]=-2 + TMath::Exp(-x[i]) + r.Gaus()*0.1; - e[i] = 0.1; - } - } -} diff --git a/tutorials/fitLinear2.C b/tutorials/fitLinear2.C deleted file mode 100644 index e6a71ae9cad25d4732b54df83f038fa67e46786b..0000000000000000000000000000000000000000 --- a/tutorials/fitLinear2.C +++ /dev/null @@ -1,108 +0,0 @@ -#include "TLinearFitter.h" -#include "TF1.h" -#include "TRandom.h" - -void fitLinear2() -{ - //Fit a 5d hyperplane by n points, using the linear fitter directly - - //This macro shows some features of the TLinearFitter class - //A 5-d hyperplane is fit, a constant term is assumed in the hyperplane - //equation (y = a0 + a1*x0 + a2*x1 + a3*x2 + a4*x3 + a5*x4) - - Int_t n=100; - Int_t i; - TRandom rand; - TLinearFitter *lf=new TLinearFitter(5); - - //The predefined "hypN" functions are the fastest to fit - lf->SetFormula("hyp5"); - - Double_t *x=new Double_t[n*10*5]; - Double_t *y=new Double_t[n*10]; - Double_t *e=new Double_t[n*10]; - - //Create the points and put them into the fitter - for (i=0; i<n; i++){ - x[0 + i*5] = rand.Uniform(-10, 10); - x[1 + i*5] = rand.Uniform(-10, 10); - x[2 + i*5] = rand.Uniform(-10, 10); - x[3 + i*5] = rand.Uniform(-10, 10); - x[4 + i*5] = rand.Uniform(-10, 10); - e[i] = 0.01; - y[i] = 4*x[0+i*5] + x[1+i*5] + 2*x[2+i*5] + 3*x[3+i*5] + 0.2*x[4+i*5] + rand.Gaus()*e[i]; - } - - //To avoid copying the data into the fitter, the following function can be used: - lf->AssignData(n, 5, x, y, e); - //A different way to put the points into the fitter would be to use - //the AddPoint function for each point. This way the points are copied and stored - //inside the fitter - - //Perform the fitting and look at the results - lf->Eval(); - TVectorD params; - TVectorD errors; - lf->GetParameters(params); - lf->GetErrors(errors); - for (Int_t i=0; i<6; i++) - printf("par[%d]=%f+-%f\n", i, params(i), errors(i)); - Double_t chisquare=lf->GetChisquare(); - printf("chisquare=%f\n", chisquare); - - - //Now suppose you want to add some more points and see if the parameters will change - for (i=n; i<n*2; i++) { - x[0+i*5] = rand.Uniform(-10, 10); - x[1+i*5] = rand.Uniform(-10, 10); - x[2+i*5] = rand.Uniform(-10, 10); - x[3+i*5] = rand.Uniform(-10, 10); - x[4+i*5] = rand.Uniform(-10, 10); - e[i] = 0.01; - y[i] = 4*x[0+i*5] + x[1+i*5] + 2*x[2+i*5] + 3*x[3+i*5] + 0.2*x[4+i*5] + rand.Gaus()*e[i]; - } - - //Assign the data the same way as before - lf->AssignData(n*2, 5, x, y, e); - lf->Eval(); - lf->GetParameters(params); - lf->GetErrors(errors); - printf("\nMore Points:\n"); - for (Int_t i=0; i<6; i++) - printf("par[%d]=%f+-%f\n", i, params(i), errors(i)); - chisquare=lf->GetChisquare(); - printf("chisquare=%.15f\n", chisquare); - - - //Suppose, you are not satisfied with the result and want to try a different formula - //Without a constant: - //Since the AssignData() function was used, you don't have to add all points to the fitter again - lf->SetFormula("x0++x1++x2++x3++x4"); - - lf->Eval(); - lf->GetParameters(params); - lf->GetErrors(errors); - printf("\nWithout Constant\n"); - for (Int_t i=0; i<5; i++) - printf("par[%d]=%f+-%f\n", i, params(i), errors(i)); - chisquare=lf->GetChisquare(); - printf("chisquare=%f\n", chisquare); - - //Now suppose that you want to fix the value of one of the parameters - //Let's fix the first parameter at 4: - lf->SetFormula("hyp5"); - lf->FixParameter(1, 4); - lf->Eval(); - lf->GetParameters(params); - lf->GetErrors(errors); - printf("\nFixed Constant:\n"); - for (i=0; i<6; i++) - printf("par[%d]=%f+-%f\n", i, params(i), errors(i)); - chisquare=lf->GetChisquare(); - printf("chisquare=%.15f\n", chisquare); - - //The fixed parameters can then be released by the ReleaseParameter method - delete lf; - -} - diff --git a/tutorials/fitLinearRobust.C b/tutorials/fitLinearRobust.C deleted file mode 100644 index 9a7a1eacb69a5fdfe19603ec0cfee5fc3d36e0fe..0000000000000000000000000000000000000000 --- a/tutorials/fitLinearRobust.C +++ /dev/null @@ -1,75 +0,0 @@ -#include "TRandom.h" -#include "TGraphErrors.h" -#include "TF1.h" -#include "TCanvas.h" -#include "TLegend.h" - -void fitLinearRobust() -{ -//This tutorial shows how the least trimmed squares regression, -//included in the TLinearFitter class, can be used for fitting -//in cases when the data contains outliers. -//Here the fitting is done via the TGraph::Fit function with option "rob": -//If you want to use the linear fitter directly for computing -//the robust fitting coefficients, just use the TLinearFitter::EvalRobust -//function instead of TLinearFitter::Eval - - //First generate a dataset, where 20% of points are spoiled by large - //errors - Int_t npoints = 250; - Int_t fraction = Int_t(0.8*npoints); - Double_t *x = new Double_t[npoints]; - Double_t *y = new Double_t[npoints]; - Double_t *e = new Double_t[npoints]; - TRandom r; - Int_t i; - for (i=0; i<fraction; i++){ - //the good part of the sample - x[i]=r.Uniform(-2, 2); - e[i]=1; - y[i]=1 + 2*x[i] + 3*x[i]*x[i] + 4*x[i]*x[i]*x[i] + e[i]*r.Gaus(); - } - for (i=fraction; i<npoints; i++){ - //the bad part of the sample - x[i]=r.Uniform(-1, 1); - e[i]=1; - y[i] = 1 + 2*x[i] + 3*x[i]*x[i] + 4*x[i]*x[i]*x[i] + r.Landau(10, 5); - } - - TGraphErrors *grr = new TGraphErrors(npoints, x, y, 0, e); - grr->SetMinimum(-30); - grr->SetMaximum(80); - TF1 *ffit1 = new TF1("ffit1", "pol3", -5, 5); - TF1 *ffit2 = new TF1("ffit2", "pol3", -5, 5); - ffit1->SetLineColor(kBlue); - ffit2->SetLineColor(kRed); - TCanvas *myc = new TCanvas("myc", "Linear and robust linear fitting"); - myc->SetFillColor(42); - myc->SetGrid(); - grr->Draw("ap"); - //first, let's try to see the result sof ordinary least-squares fit: - printf("Ordinary least squares:\n"); - grr->Fit(ffit1); - //the fitted function doesn't really follow the pattern of the data - //and the coefficients are far from the real ones - - printf("Resistant Least trimmed squares fit:\n"); - //Now let's try the resistant regression - //The option "rob=0.75" means that we want to use robust fitting and - //we know that at least 75% of data is good points (at least 50% of points - //should be good to use this algorithm). If you don't specify any number - //and just use "rob" for the option, default value of (npoints+nparameters+1)/2 - //will be taken - grr->Fit(ffit2, "+rob=0.75"); - // - TLegend *leg = new TLegend(0.6, 0.8, 0.89, 0.89); - leg->AddEntry(ffit1, "Ordinary least squares", "l"); - leg->AddEntry(ffit2, "LTS regression", "l"); - leg->SetFillColor(42); - leg->Draw(); - - delete [] x; - delete [] y; - delete [] e; - -} diff --git a/tutorials/fitMultiGraph.C b/tutorials/fitMultiGraph.C deleted file mode 100644 index ad7943901d7cc0ebd48f56bc3a9d752f69bd097b..0000000000000000000000000000000000000000 --- a/tutorials/fitMultiGraph.C +++ /dev/null @@ -1,120 +0,0 @@ -#include "TMultiGraph.h" -#include "TRandom.h" -#include "TF1.h" -#include "TGraphErrors.h" -#include "TCanvas.h" - -void fitMultiGraph() -{ - //fitting a parabola to a multigraph of 3 partly overlapping graphs - //with different errors - - Int_t n = 30; - Double_t *x1 = new Double_t[n]; - Double_t *x2 = new Double_t[n]; - Double_t *x3 = new Double_t[n]; - Double_t *y1 = new Double_t[n]; - Double_t *y2 = new Double_t[n]; - Double_t *y3 = new Double_t[n]; - Double_t *e1 = new Double_t[n]; - Double_t *e2 = new Double_t[n]; - Double_t *e3 = new Double_t[n]; - - //generate the data for the graphs - TRandom r; - Int_t i; - for (i=0; i<n; i++) { - x1[i] = r.Uniform(0.1, 5); - x2[i] = r.Uniform(3, 8); - x3[i] = r.Uniform(9, 15); - y1[i] = 3 + 2*x1[i] + x1[i]*x1[i] + r.Gaus(); - y2[i] = 3 + 2*x2[i] + x2[i]*x2[i] + r.Gaus()*10; - e1[i] = 1; - e2[i] = 10; - e3[i] = 20; - y3[i] = 3 + 2*x3[i] + x3[i]*x3[i] + r.Gaus()*20; - } - - //create the graphs and set their drawing options - TGraphErrors *gr1 = new TGraphErrors(n, x1, y1, 0, e1); - TGraphErrors *gr2 = new TGraphErrors(n, x2, y2, 0, e2); - TGraphErrors *gr3 = new TGraphErrors(n, x3, y3, 0, e3); - gr1->SetLineColor(kRed); - gr2->SetLineColor(kBlue); - gr2->SetMarkerStyle(24); - gr2->SetMarkerSize(0.3); - gr3->SetLineColor(kGreen); - gr3->SetMarkerStyle(24); - gr3->SetMarkerSize(0.3); - - //add the graphs to the multigraph - TMultiGraph *mg=new TMultiGraph("mg", "TMultiGraph of 3 TGraphErrors"); - mg->Add(gr1); - mg->Add(gr2); - mg->Add(gr3); - - TCanvas *myc = new TCanvas("myc", "Fitting a MultiGraph of 3 TGraphErrors"); - myc->SetFillColor(42); - myc->SetGrid(); - - mg->Draw("ap"); - - //fit - mg->Fit("pol2", "F"); - - //access to the fit function - TF1 *fpol = mg->GetFunction("pol2"); - fpol->SetLineWidth(1); - -} - -void fitminuit() -{ - Int_t n = 30; - Double_t *x1 = new Double_t[n]; - Double_t *x2 = new Double_t[n]; - Double_t *x3 = new Double_t[n]; - Double_t *y1 = new Double_t[n]; - Double_t *y2 = new Double_t[n]; - Double_t *y3 = new Double_t[n]; - Double_t *e1 = new Double_t[n]; - Double_t *e2 = new Double_t[n]; - Double_t *e3 = new Double_t[n]; - Double_t *xtotal = new Double_t[n*3]; - Double_t *ytotal = new Double_t[n*3]; - Double_t *etotal = new Double_t[n*3]; - - TRandom r; - Int_t i; - for (i=0; i<n; i++) { - x1[i] = r.Uniform(-3, -1); - x2[i] = r.Uniform(-1, 1); - x3[i] = r.Uniform(1, 3); - y1[i] = TMath::Gaus(x1[i], 0, 1); - y2[i] = TMath::Gaus(x2[i], 0, 1); - e1[i] = 0.00001; - e2[i] = 0.00001; - e3[i] = 0.00001; - y3[i] = TMath::Gaus(x3[i], 0, 1); - } - for (i=0; i<n; i++) {xtotal[i]=x1[i]; ytotal[i]=y1[i]; etotal[i]=0.00001;} - for (i=n; i<2*n; i++) {xtotal[i] = x2[i-n]; ytotal[i]=y2[i-n]; etotal[i]=0.00001;} - for (i=2*n; i<3*n; i++) {xtotal[i] = x3[i-2*n]; ytotal[i]=y3[i-2*n]; etotal[i]=0.00001;} - - //create the graphs and set their drawing options - TGraphErrors *gr1 = new TGraphErrors(n, x1, y1, 0, e1); - TGraphErrors *gr2 = new TGraphErrors(n, x2, y2, 0, e2); - TGraphErrors *gr3 = new TGraphErrors(n, x3, y3, 0, e3); - TGraphErrors *grtotal = new TGraphErrors(n*3, xtotal, ytotal, 0, etotal); - TMultiGraph *mg=new TMultiGraph("mg", "TMultiGraph of 3 TGraphErrors"); - mg->Add(gr1); - mg->Add(gr2); - mg->Add(gr3); - //mg->Draw("ap"); - //TF1 *ffit = new TF1("ffit", "TMath::Gaus(x, [0], [1], [2])", -3, 3); - //ffit->SetParameters(0, 1, 0); - //mg->Fit(ffit); - - grtotal->Fit("gaus"); - mg->Fit("gaus"); -} diff --git a/tutorials/fitcont.C b/tutorials/fitcont.C deleted file mode 100644 index 53b17b7a7ceacf0bbb98b4f39ce9f87c29ee63e1..0000000000000000000000000000000000000000 --- a/tutorials/fitcont.C +++ /dev/null @@ -1,36 +0,0 @@ -void fitcont() -{ - // Example illustrating how to draw the n-sigma contour of a Minuit fit. - // To get the n-sigma contour the ERRDEF parameter in Minuit has to set - // to n^2. The fcn function has to be set before the routine is called. - // - // WARNING!!! This test works only with TMinuit - // - // The TGraph object is created via the interpreter. The user must cast it - // to a TGraph* - // Author; Rene Brun - - TCanvas *c1 = new TCanvas("c1"); - TH1F *h = new TH1F("h","My histogram",100,-3,3); - h->FillRandom("gaus",6000); - h->Fit("gaus"); - c1->Update(); - - TCanvas *c2 = new TCanvas("c2","contours",10,10,600,800); - c2->Divide(1,2); - c2->cd(1); - //get first contour for parameter 1 versus parameter 2 - TGraph *gr12 = (TGraph*)gMinuit->Contour(40,1,2); - gr12->Draw("alp"); - c2->cd(2); - //Get contour for parameter 0 versus parameter 2 for ERRDEF=2 - gMinuit->SetErrorDef(4); //note 4 and not 2! - TGraph *gr2 = (TGraph*)gMinuit->Contour(80,0,2); - gr2->SetFillColor(42); - gr2->Draw("alf"); - //Get contour for parameter 0 versus parameter 2 for ERRDEF=1 - gMinuit->SetErrorDef(1); - TGraph *gr1 = (TGraph*)gMinuit->Contour(80,0,2); - gr1->SetFillColor(38); - gr1->Draw("lf"); -} diff --git a/tutorials/fithist.C b/tutorials/fithist.C deleted file mode 100644 index c7c20899e7662bd1000881b7fa93c91e48cc0438..0000000000000000000000000000000000000000 --- a/tutorials/fithist.C +++ /dev/null @@ -1,45 +0,0 @@ -//example of fit where the model is histogram + function -TH1F *background; -void histgen() { - //generate the histogram background and save it to a file - //background taken as linearly decreasing - - TF1 f1("f1","pol1",0,10); - f1.SetParameters(5,-0.5); - TH1F h("background","linear background",100,0,10); - h.FillRandom("f1",10000); - TFile f("background.root","recreate"); - //save the background histogram - h.Write(); - //superimpose a gaussian signal to the background histogram - TF1 f2("f2","gaus",0,10); - f2.SetParameters(1,6,0.5); - h.FillRandom("f2",2000); - h.SetName("result"); - h.Write(); -} - -Double_t ftotal(Double_t *x, Double_t *par) { - Double_t xx = x[0]; - Int_t bin = background->GetXaxis()->FindBin(xx); - Double_t br = par[3]*background->GetBinContent(bin); - Double_t arg = (xx-par[1])/par[2]; - Double_t sr = par[0]*TMath::Exp(-0.5*arg*arg); - return sr + br; -} -void fithist() { - //fit function ftotal to signal + background - - histgen(); - - TFile *f = new TFile("background.root"); - background = (TH1F*)f->Get("background"); //global pointer used in ftotal - TH1F *result = (TH1F*)f->Get("result"); - - TF1 *ftot = new TF1("ftot",ftotal,0,10,4); - Double_t norm = result->GetMaximum(); - ftot->SetParameters(0.5*norm,5,.2,norm); - ftot->SetParLimits(0,.3*norm,norm); - - result->Fit("ftot","b"); -} diff --git a/tutorials/fitslicesy.C b/tutorials/fitslicesy.C deleted file mode 100644 index eb9e233411ccbd7a945f3a27a7210fcce5e1be8a..0000000000000000000000000000000000000000 --- a/tutorials/fitslicesy.C +++ /dev/null @@ -1,78 +0,0 @@ -{ -// -// To see the output of this macro, click begin_html <a href="gif/fitslicesy.gif" >here</a> end_html -// This macro illustrates how to use the TH1::FitSlicesY function -// It uses the TH2F histogram generated in macro hsimple.C -// It invokes FitSlicesY and draw the fitted "mean" and "sigma" -// in 2 sepate pads. -// This macro shows also how to annotate a picture, change -// some pad parameters. -// - gROOT->Reset(); - -// Change some default parameters in the current style - gStyle->SetLabelSize(0.06,"x"); - gStyle->SetLabelSize(0.06,"y"); - gStyle->SetFrameFillColor(38); - gStyle->SetTitleW(0.6); - gStyle->SetTitleH(0.1); - -// Connect the input file and get the 2-d histogram in memory - TFile *hsimple = new TFile("hsimple.root"); - TH2F *hpxpy = (TH2F*)hsimple->Get("hpxpy"); - -// Create a canvas and divide it - TCanvas *c1 = new TCanvas("c1","c1",700,500); - c1->SetFillColor(42); - c1->Divide(2,1); - c1->cd(1); - TPad *left = (TPad*)gPad; - left->Divide(1,2); - -// Draw 2-d original histogram - left->cd(1); - gPad->SetTopMargin(0.12); - gPad->SetFillColor(33); - hpxpy->Draw(); - hpxpy->GetXaxis()->SetLabelSize(0.06); - hpxpy->GetYaxis()->SetLabelSize(0.06); - hpxpy->SetMarkerColor(kYellow); - -// Fit slices projected along Y fron bins in X [7,32] - hpxpy->FitSlicesY(0,0,0,20); - -// Show fitted "mean" for each slice - left->cd(2); - gPad->SetFillColor(33); - hpxpy_0->Draw(); - c1->cd(2); - TPad *right = (TPad*)gPad; - right->Divide(1,2); - right->cd(1); - gPad->SetTopMargin(0.12); - gPad->SetLeftMargin(0.15); - gPad->SetFillColor(33); - hpxpy_1->Draw(); - -// Show fitted "sigma" for each slice - right->cd(2); - gPad->SetTopMargin(0.12); - gPad->SetLeftMargin(0.15); - gPad->SetFillColor(33); - hpxpy_2->SetMinimum(0.8); - hpxpy_2->Draw(); - -//attributes - hpxpy_0->SetLineColor(kYellow); - hpxpy_1->SetLineColor(kYellow); - hpxpy_2->SetLineColor(kYellow); - hpxpy_0->SetMarkerColor(kRed); - hpxpy_1->SetMarkerColor(kRed); - hpxpy_2->SetMarkerColor(kRed); - hpxpy_0->SetMarkerStyle(21); - hpxpy_1->SetMarkerStyle(21); - hpxpy_2->SetMarkerStyle(21); - hpxpy_0->SetMarkerSize(0.6); - hpxpy_1->SetMarkerSize(0.6); - hpxpy_2->SetMarkerSize(0.6); -} diff --git a/tutorials/foam_demo.C b/tutorials/foam_demo.C deleted file mode 100644 index 3f4fef38b4bec4e658d805e682276dbe086aca73..0000000000000000000000000000000000000000 --- a/tutorials/foam_demo.C +++ /dev/null @@ -1,138 +0,0 @@ -// -// To run this macro type from CINT command line -// -// root [0] gSystem->Load("libFoam.so") -// root [1] .x foam_demo.C+ -// -//____________________________________________________________________________ - -#include "Riostream.h" -#include "TFile.h" -#include "TFoam.h" -#include "TH1.h" -#include "TFoamIntegrand.h" -#include "TRandom3.h" - -class TFDISTR: public TFoamIntegrand { -public: - TFDISTR(){}; - Double_t Density(int nDim, Double_t *Xarg){ - // Integrand for mFOAM - Double_t Fun1,Fun2,R1,R2; - Double_t pos1=1e0/3e0; - Double_t pos2=2e0/3e0; - Double_t Gam1= 0.100e0; // as in JPC - Double_t Gam2= 0.100e0; // as in JPC - Double_t sPi = sqrt(TMath::Pi()); - Double_t xn1=1e0; - Double_t xn2=1e0; - int i; - R1=0; - R2=0; - for(i = 0 ; i<nDim ; i++){ - R1=R1+(Xarg[i] -pos1)*(Xarg[i] -pos1); - R2=R2+(Xarg[i] -pos2)*(Xarg[i] -pos2); - xn1=xn1*Gam1*sPi; - xn2=xn2*Gam2*sPi; - } - R1 = sqrt(R1); - R2 = sqrt(R2); - Fun1 = exp(-(R1*R1)/(Gam1*Gam1))/xn1; // Gaussian delta-like profile - Fun2 = exp(-(R2*R2)/(Gam2*Gam2))/xn2; // Gaussian delta-like profile - return 0.5e0*(Fun1+ Fun2); -} - ClassDef(TFDISTR,1) //Class of testing functions for FOAM -}; -ClassImp(TFDISTR) - -Int_t foam_demo() -{ - TFile RootFile("foam_demo.root","RECREATE","histograms"); - long loop; - Double_t MCresult,MCerror,MCwt; -//========================================================= - long NevTot = 50000; // Total MC statistics - Int_t kDim = 2; // total dimension - Int_t nCells = 500; // Number of Cells - Int_t nSampl = 200; // Number of MC events per cell in build-up - Int_t nBin = 8; // Number of bins in build-up - Int_t OptRej = 1; // Wted events for OptRej=0; wt=1 for OptRej=1 (default) - Int_t OptDrive = 2; // (D=2) Option, type of Drive =0,1,2 for TrueVol,Sigma,WtMax - Int_t EvPerBin = 25; // Maximum events (equiv.) per bin in buid-up - Int_t Chat = 1; // Chat level -//========================================================= - TRandom *PseRan = new TRandom3(); // Create random number generator - TFoam *FoamX = new TFoam("FoamX"); // Create Simulator - TFoamIntegrand *rho= new TFDISTR(); - PseRan->SetSeed(4357); -//========================================================= - cout<<"***** Demonstration Program for Foam version "<<FoamX->GetVersion()<<" *****"<<endl; - FoamX->SetkDim( kDim); // Mandatory!!! - FoamX->SetnCells( nCells); // optional - FoamX->SetnSampl( nSampl); // optional - FoamX->SetnBin( nBin); // optional - FoamX->SetOptRej( OptRej); // optional - FoamX->SetOptDrive( OptDrive); // optional - FoamX->SetEvPerBin( EvPerBin); // optional - FoamX->SetChat( Chat); // optional -//=============================== - FoamX->SetRho(rho); - FoamX->SetPseRan(PseRan); - FoamX->Initialize(); // Initialize simulator - FoamX->Write("FoamX"); // Writing Foam on the disk, TESTING PERSISTENCY!!! -//=============================== - long nCalls=FoamX->GetnCalls(); - cout << "====== Initialization done, entering MC loop" << endl; -//====================================================================== - //cout<<" About to start MC loop: "; cin.getline(question,20); - Double_t *MCvect =new Double_t[kDim]; // vector generated in the MC run -//====================================================================== - TH1D *hst_Wt = new TH1D("hst_Wt" , "Main weight of Foam",25,0,1.25); - hst_Wt->Sumw2(); -//====================================================================== - for(loop=0; loop<NevTot; loop++){ -//=============================== - FoamX->MakeEvent(); // generate MC event -//=============================== - FoamX->GetMCvect( MCvect); - MCwt=FoamX->GetMCwt(); - hst_Wt->Fill(MCwt,1.0); - if(loop<15){ - cout<<"MCwt= "<<MCwt<<", "; - cout<<"MCvect= "; - for ( Int_t k=0 ; k<kDim ; k++) cout<<MCvect[k]<<" "; cout<< endl; - } - if( ((loop)%100000)==0 ){ - cout<<" loop= "<<loop<<endl; - } - } -//====================================================================== -//====================================================================== - cout << "====== Events generated, entering Finalize" << endl; - - hst_Wt->Print("all"); - Double_t eps = 0.0005; - Double_t Effic, WtMax, AveWt, Sigma; - Double_t IntNorm, Errel; - FoamX->Finalize( IntNorm, Errel); // final printout - FoamX->GetIntegMC( MCresult, MCerror); // get MC intnegral - FoamX->GetWtParams(eps, AveWt, WtMax, Sigma); // get MC wt parameters - Effic=0; if(WtMax>0) Effic=AveWt/WtMax; - cout << "================================================================" << endl; - cout << " MCresult= " << MCresult << " +- " << MCerror << " RelErr= "<< MCerror/MCresult << endl; - cout << " Dispersion/<wt>= " << Sigma/AveWt << endl; - cout << " <wt>/WtMax= " << Effic <<", for epsilon = "<<eps << endl; - cout << " nCalls (initialization only) = " << nCalls << endl; - cout << "================================================================" << endl; - - delete [] MCvect; - // - RootFile.ls(); - RootFile.Write(); - RootFile.Close(); - cout << "***** End of Demonstration Program *****" << endl; - - return 0; -} // end of Demo - - diff --git a/tutorials/foam_demopers.C b/tutorials/foam_demopers.C deleted file mode 100644 index 90e01a6a252d96d04f14e580b4a6dc6f2c51166f..0000000000000000000000000000000000000000 --- a/tutorials/foam_demopers.C +++ /dev/null @@ -1,51 +0,0 @@ -// -// This simple macro demonstrates persistency of FOAM object. -// First run macro foam_demo.C to create file foam_demo.root with FOAM object. -// -// Next type root -l foam_demopers.C from shell command line -// - -Int_t foam_demopers() -{ - gSystem->Load("libFoam.so"); - gROOT->ProcessLine(".L foam_demo.C+"); - //****************************************** - cout<<"====================== TestVector ================================"<<endl; - TFile fileA("foam_demo.root"); - fileA.cd(); - cout<<"------------------------------------------------------------------"<<endl; - fileA.ls(); - cout<<"------------------------------------------------------------------"<<endl; - fileA.Map(); - cout<<"------------------------------------------------------------------"<<endl; - fileA.ShowStreamerInfo(); - cout<<"------------------------------------------------------------------"<<endl; - fileA.GetListOfKeys()->Print(); - cout<<"------------------------------------------------------------------"<<endl; - //******************************************* - TFoam *FoamX = (TFoam*)fileA.Get("FoamX"); - //******************************************* -// FoamX->PrintCells(); - FoamX->CheckAll(1); - - Double_t *MCvect =new Double_t[2]; // 2-dim vector generated in the MC run - - for(long loop=0; loop<50000; loop++){ - FoamX->MakeEvent(); // generate MC event - FoamX->GetMCvect( MCvect); // get generated vector (x,y) - Double_t x=MCvect[0]; - Double_t y=MCvect[1]; - if(loop<10) cout<<"(x,y) = ( "<< x <<", "<< y <<" )"<<endl; - }// loop - // - Double_t IntNorm, Errel; - FoamX->Finalize( IntNorm, Errel); // final printout - Double_t MCresult, MCerror; - FoamX->GetIntegMC( MCresult, MCerror); // get MC integral, should be one - cout << " MCresult= " << MCresult << " +- " << MCerror <<endl; - cout<<"===================== TestPers FINISHED ======================="<<endl; - return 0; -} -//_____________________________________________________________________________ -// - diff --git a/tutorials/foam_kanwa.C b/tutorials/foam_kanwa.C deleted file mode 100755 index b61d64bd6ed40cdf50a44648fa633599430b2d1a..0000000000000000000000000000000000000000 --- a/tutorials/foam_kanwa.C +++ /dev/null @@ -1,65 +0,0 @@ -// This program can be execute from the command line as folows: -// -// root -l foam_kanwa.C -//_____________________________________________________________________________ - -Int_t foam_kanwa(){ - cout<<"--- kanwa started ---"<<endl; - gSystem->Load("libFoam.so"); - TH2D *hst_xy = new TH2D("hst_xy" , "x-y plot", 50,0,1.0, 50,0,1.0); - Double_t *MCvect =new Double_t[2]; // 2-dim vector generated in the MC run - // - TRandom *PseRan = new TRandom3(); // Create random number generator - PseRan->SetSeed(4357); - TFoam *FoamX = new TFoam("FoamX"); // Create Simulator - FoamX->SetkDim(2); // No. of dimensions, obligatory! - FoamX->SetnCells(500); // Optionally No. of cells, default=2000 - FoamX->SetRhoInt(Camel2); // Set 2-dim distribution, included below - FoamX->SetPseRan(PseRan); // Set random number generator - FoamX->Initialize(); // Initialize simulator, may take time... - // - // visualising generated distribution - TCanvas *cKanwa = new TCanvas("cKanwa","Canvas for plotting",600,600); - cKanwa->cd(); - // From now on FoamX is ready to generate events - int nshow=5000; - for(long loop=0; loop<100000; loop++){ - FoamX->MakeEvent(); // generate MC event - FoamX->GetMCvect( MCvect); // get generated vector (x,y) - Double_t x=MCvect[0]; - Double_t y=MCvect[1]; - if(loop<10) cout<<"(x,y) = ( "<< x <<", "<< y <<" )"<<endl; - hst_xy->Fill(x,y); - // live plot - if(loop == nshow){ - nshow += 5000; - hst_xy->Draw("lego2"); - cKanwa->Update(); - } - }// loop - // - hst_xy->Draw("lego2"); // final plot - cKanwa->Update(); - // - Double_t MCresult, MCerror; - FoamX->GetIntegMC( MCresult, MCerror); // get MC integral, should be one - cout << " MCresult= " << MCresult << " +- " << MCerror <<endl; - cout<<"--- kanwa ended ---"<<endl; - - return 0; -}//kanwa - -//_____________________________________________________________________________ -Double_t sqr(Double_t x){return x*x;}; -//_____________________________________________________________________________ -Double_t Camel2(Int_t nDim, Double_t *Xarg){ -// 2-dimensional distribution for Foam, normalized to one (within 1e-5) - Double_t x=Xarg[0]; - Double_t y=Xarg[1]; - Double_t GamSq= sqr(0.100e0); - Double_t Dist= 0; - Dist +=exp(-(sqr(x-1./3) +sqr(y-1./3))/GamSq)/GamSq/TMath::Pi(); - Dist +=exp(-(sqr(x-2./3) +sqr(y-2./3))/GamSq)/GamSq/TMath::Pi(); - return 0.5*Dist; -}// Camel2 -//_____________________________________________________________________________ diff --git a/tutorials/fore.xpm b/tutorials/fore.xpm deleted file mode 100644 index 1ca16b92d89582f99b51cce3a663447257474881..0000000000000000000000000000000000000000 --- a/tutorials/fore.xpm +++ /dev/null @@ -1,348 +0,0 @@ -/* XPM */ -static char *17[] = { -/* width height num_colors chars_per_pixel */ -" 96 96 245 2", -/* colors */ -".. c #8c0e05", -".# c #ec8e0c", -".a c #cc5004", -".b c #dc7204", -".c c #d4ee52", -".d c #e4f619", -".e c #ac2e06", -".f c #f4aa05", -".g c #ec4e14", -".h c #ec800c", -".i c #f4e608", -".j c #cc360c", -".k c #dc5e0a", -".l c #f4d606", -".m c #f46e0c", -".n c #ec5e0c", -".o c #f4e62c", -".p c #e4ee3e", -".q c #dc4e0b", -".r c #ec660c", -".s c #f4f612", -".t c #bc3f04", -".u c #cc440a", -".v c #ac2505", -".w c #f4780c", -".x c #f4f00b", -".y c #d4f644", -".z c #fcdc1d", -".A c #f49409", -".B c #bc3107", -".C c #dc490b", -".D c #ece209", -".E c #dc570b", -".F c #f4cf05", -".G c #dcf12a", -".H c #f4b406", -".I c #fc800c", -".J c #ccef69", -".K c #fcbc0a", -".L c #fc6913", -".M c #dcf92a", -".N c #9c1f04", -".O c #f4711d", -".P c #bc3706", -".Q c #f4f026", -".R c #cc4a0a", -".S c #fc8c0b", -".T c #f4e918", -".U c #fc6214", -".V c #e4f63f", -".W c #ec681c", -".X c #f4781c", -".Y c #f4f018", -".Z c #fca40b", -".0 c #ecee27", -".1 c #d45709", -".2 c #ec7707", -".3 c #fc9c0b", -".4 c #e4670a", -".5 c #f4f61f", -".6 c #bc2704", -".7 c #ec6014", -".8 c #fce008", -".9 c #ecf629", -"#. c #9c1504", -"## c #fcc809", -"#a c #dcf240", -"#b c #f4ae14", -"#c c #f49214", -"#d c #dc5715", -"#e c #fc801c", -"#f c #ec5a11", -"#g c #fc710b", -"#h c #e4f14e", -"#i c #dc5014", -"#j c #ac2a05", -"#k c #fcc209", -"#l c #ec700a", -"#m c #f4860a", -"#n c #fcd808", -"#o c #f4680c", -"#p c #d4450b", -"#q c #fc780c", -"#r c #fcd015", -"#s c #fcb40a", -"#t c #c43909", -"#u c #cc4e14", -"#v c #dc3e10", -"#w c #ecc204", -"#x c #bc460c", -"#y c #dcf15c", -"#z c #fcf026", -"#A c #fc5a24", -"#B c #e45f15", -"#C c #dc4915", -"#D c #e4f12a", -"#E c #fc860b", -"#F c #fc8c1c", -"#G c #fca51d", -"#H c #f45a11", -"#I c #8c1604", -"#J c #eced19", -"#K c #fcac0b", -"#L c #f4800b", -"#M c #fce809", -"#N c #cc3e09", -"#O c #fcf70b", -"#P c #c43e18", -"#Q c #fcef0b", -"#R c #d4f65c", -"#S c #fc950b", -"#T c #c43206", -"#U c #f4e008", -"#V c #e4580c", -"#W c #fcd008", -"#X c #d4f05f", -"#Y c #fcbc14", -"#Z c #e4f728", -"#0 c #fce816", -"#1 c #fcf017", -"#2 c #fc9c14", -"#3 c #f46216", -"#4 c #fcc714", -"#5 c #ec6f15", -"#6 c #fcfe1c", -"#7 c #ac360c", -"#8 c #a42604", -"#9 c #9c1a05", -"a. c #fce21c", -"a# c #ecf227", -"aa c #d4f24f", -"ab c #ecf213", -"ac c #fc681d", -"ad c #941204", -"ae c #f48c0a", -"af c #dced47", -"ag c #ecf712", -"ah c #f49c08", -"ai c #fce926", -"aj c #f4bc06", -"ak c #b42608", -"al c #dcf641", -"am c #f4a408", -"an c #fcf81c", -"ao c #fc861c", -"ap c #fcc214", -"aq c #d44a0b", -"ar c #b42a06", -"as c #f4c205", -"at c #d43e14", -"au c #f4c805", -"av c #d44f0b", -"aw c #e46f09", -"ax c #b42f08", -"ay c #f4521c", -"az c #e4600b", -"aA c #f4600c", -"aB c #ecf13d", -"aC c #e4510b", -"aD c #c43f09", -"aE c #e44a0c", -"aF c #a42005", -"aG c #fc701d", -"aH c #f4681d", -"aI c #fc781c", -"aJ c #fcac14", -"aK c #fc9415", -"aL c #e45814", -"aM c #ecf254", -"aN c #e45116", -"aO c #d44f14", -"aP c #e44618", -"aQ c #8c1214", -"aR c #cc3a14", -"aS c #f4d614", -"aT c #f46f14", -"aU c #f4ea34", -"aV c #ec6714", -"aW c #cc4614", -"aX c #ac2214", -"aY c #f47814", -"aZ c #dcf234", -"a0 c #f4b214", -"a1 c #fc8014", -"a2 c #dcf634", -"a3 c #bc3614", -"a4 c #f4f034", -"a5 c #fc8c14", -"a6 c #fca414", -"a7 c #ecee34", -"a8 c #d45814", -"a9 c #ec7a14", -"b. c #e46814", -"b# c #f4f62c", -"ba c #bc2614", -"bb c #fcdf14", -"bc c #ecf734", -"bd c #ec591c", -"be c #fc7014", -"bf c #fcd914", -"bg c #f46814", -"bh c #d44414", -"bi c #fc7814", -"bj c #fcb414", -"bk c #c43714", -"bl c #c44a0c", -"bm c #e4f234", -"bn c #f4561c", -"bo c #941704", -"bp c #f48014", -"bq c #fcf614", -"br c #c43014", -"bs c #f4e014", -"bt c #d4ee6c", -"bu c #e4f634", -"bv c #f48c14", -"bw c #dcec54", -"bx c #ecf61c", -"by c #f49c14", -"bz c #f4ba14", -"bA c #dcf64c", -"bB c #f4a414", -"bC c #dcf655", -"bD c #a41a04", -"bE c #dcf250", -"bF c #e4f21c", -"bG c #cc4a14", -"bH c #f48614", -"bI c #fc8614", -"bJ c #cc3e14", -"bK c #ecf234", -"bL c #ecf21c", -"bM c #d44a14", -"bN c #8c1204", -"bO c #f4ae07", -"bP c #f4ea07", -"bQ c #cc3a09", -"bR c #f4da07", -"bS c #f4720c", -"bT c #ec620c", -"bU c #f4ea28", -"bV c #e4f240", -"bW c #dc520b", -"bX c #ec6a0b", -"bY c #f4fa10", -/* pixels */ -"#W.K.Za5a1.Ia1.S.S#Sa6ahama6a6a6#KbO#s.Z.S.m#oaI.f#K#2a5#lazaz.7bSbSaT.7#VbWbWbWavaq.RaOaL#l#E#SamaK.I#g#qa1a1.waz.R#tbk.PaD.uaq.1bW.E.7.ObI#S.A.f#K.HbO#K#Ka6aKae#caK#K.K#####k.F#####W#W#n#W#4", -".K#K#S.Sa1a1bIa5.S#Sa6.Z#K.Z.Z.3#K#K#K#KaK#q.w.Iam.Z#2bIbS#VaLaLaz.r#B.7.Eavavav.R.u#N#pavaz#L.SaJ#2.S.Ia1#Fa1#qazaq#t#t#t.u.uaO.EbWaL.7bea1aK.3#K#K#s#s#saJ.Z#Sa5.SaK.Z.K#W#n#W#n#n#r#W#n.l#W##", -"#K#S.Sa1aIa1bIa5.S.3#K#s#s#K.Z#S.3.Z#K#KaK.Sae.3.Z.3aKa1bg#f.qaqav#i#d.E#iavaO#iaq.u#t.jbQavbXa1a6a6.3#SaKaKao#g#d.u.BbkaD.uaqav#V#B#f#3bga1.SaK.ZaJ#s.K.Kbj.Zah#E.Ia1#S#K#k.l#UbR#W#W#W#W.Fauaj", -"#2a5.Ia1#ea1bI.S.3#Kap####.K#K#S.3.3.3.3#2aKam#s#K.Za5a1aH#f.qaq#C.q#ibW#ibWaNaLbW#p#N#t#T#NaLaG#S.3a6.Z#G#2ao#g.E#N.Bbk.uaqavbW.nbTbgbg.m#q#E#S.3#Kbj.K.K.K#sam.S.Ibea1#S.Kau#nau###Y.K#k.Kaj#K", -"#2a5#EbIbIa5a5#S#K#kbf.8bf###K#S#S.S#SaK#2.Z#s###k#saKa1.L#3aLaNaNaCaL#Vaz.n#3#3#BaL#CbQ#T.jaq#B#LaKa6#KbO#Ga5#g#B#p#T#tbhbW.E#Vazbgbebia1.Ia5#2.Z#K#s.K#k#k.K#KahbIaI#ea5#K#s.K#s#Ka6a6aJ#s#s#K", -"a6.3#2aKaKaK.3#2as#n#0#1#M##.Z.SbIa5a5a5a5a6##.8bf##.Z#EbiaHbgaVaA.r#l.w.w.wbibeaYaV#B.C#N#t#NbMaT#e#2aJ#sbOaK.IbTav#t#Naq.qbW#VbT#obi#Fa5#2a6aJ#s.K.Kasau###kaj#b#Ga5a5.3#K#K#K.3#SbIa5#2.Za6a6", -"bj#KaJ.Z.Z.3a6aJ#rbb#Q#Q.8ap#2a1.Ia1bIbIa5#2##.8#M#W#s#Sa1bibibi#LbI#S.3.Z#2#S.Sa5.wbS#B#i.uaDaDaLaT#F.Z#s#sa6#SbS#V#p#paq.q.E.7#obSa1a5.3a6#sbj#k###W#W#W#W###k.K#s#K#K.K#k#k.K.3.Sa1.I.S.Z#K#K", -".K.K#s#s#K#Kbj#Y#W.8#O#Q#n.KaKbe.m#qa1bia1.3#k.8#O.8.K.Za5.Ia1a1#2a6bjap#Y#Ya6.3#Sa5#eaT#Bav#NaDbJ#f.I.3#s#sbj#G#ebgaL#i#V#V.7aTacbSa1.A.3.f#s.K###W#n#n.8#n#n###W#####W.8#Q.8.za6aKa1.I#S#K#s.K", -"auas#saJa6.3.Zbj#k#W.8#U#W#KbIaV.rbebibibiaKaJ#k#W###sa6#SbI.Sa5.S#S#s###n#W##.H.Zah#S#Ebi.7bW.uaDaq.7.S#s##.K#saK#mbS.n#V#V.4#5bibibI.S.3.Z.Z#Kaj.K#k#W#n#n#n#n#W###W#n#1.5.Q#J#nasbO#sas.F.F.l", -"#W.K#s#2aK#S.3.Z.K###n.8##aJbpbT#BbSbi.I.IaK#K#saj#sa6#Sa5.IbIa5#FaK#K.H#k##.K.H.3.3.3aKa5bi.4.Eav.q#V.I.Z#k#k#Y.Z#2#LbSbT.n.7bga1a1a5#S.3am#s#s#s.Kas#####W#W#W#W#W#W.8bP.Y.5.Q#M#W###r.z#M#M.8", -"#YaJ#2aKbI.Ia5aK.Z.K#W#W.K.3aT.q#V#5bI#S#S.3.Z.Z#K.Z#S#E.I#qa1a5aK#2#K#s.K.K#s.Z#2.3.3.Z#2aKbIa9.r#VaAbi.3.K###W#k#s.3.Sbi#obgaca1bIa5#2.Z#K#s#k###########k#####n#W#n.8#M.Y.x#1.8#n#Wbf#0#0.8#r", -"a6aKbIa1aIbibi.I#S#K#####K.S#B#p.CaV.S.ZaJama6.Z#2#2a5bI#q.Ia1a5.Z#K#k#W#n#r.K#K#2.3.Z#K#KaJ#2aKa5.w.Lbia5#K#r.8#n##.K.ZaKbibeac#ga1#Fa5.3.Z#sap#Wbf#n#n#W#######n#n#n.8#Q.x#Q#1.Fauas#W#W##.K#K", -"bI#LbibiaGbebgaV.I.3bj#Ya6a1#VbQ#pazbvaJ#YbjaJ#Ka6a6#2#S.S.S#SaK#s##.8#0#1a.#n#k.Z.Z.Z.Z#s#s#sbja6#2a5bIa5#K###M#M.8#W#kaJa5#qbibebe#ea1a5aKaJbj###n#M#1#M#U#n#W.l#n.8#M#Q.x#1#Q#W#k#s#K.Ham.A.S", -"#L.Ia1#ebe.7#V.EbSa5aJaJ.3.w#Vatbhaz#ma6#Y#Y.K#k#s.K.K#s#K#Kbj#s.F.8#M.Y.s#1#0.8.K#s.Z.Z#K.K#k###k.K#s.Z.3.Z###M#1#1.8bf#4.Z#S.Ibibibi#ea1.S#S.Z#w.F.8#O#O#Q.i#U#W#n#n#M#1.Y.Y.T.8#k.Z#S#Sae.I#e", -"#EbIbIa1biaz.qaqbTbp#2a6#S#qaz.q#C#V#l.3aJ#Y###W#W#n#n#n#n#W#W#r.8#M.xabbxbx.Y.T#n###K.Za6bj###n.8#n#n###s#K###n.5.Y.Y#0bb###K.3aKa5#Ea1a5aK.3.Z.H#k#n#M#O.x#Q.T#n#W#nbb.Y.Q.9.Q#M###2a5a1#qa1#e", -"a5#SaKa5.w.kav.a#faY#2#2#S.IaVaLaNaC.r.Sa6.K#W#nbP#Q#O#1#M.8#n#n.8#M#1bx.9.9.Q.T#M#W#K#2#2#K#W.8#M#QbP.8#4#Y###na#bLbx.s#1bfap#Y#K.3#SaKaKa6.Z#Kbj.K#Wa..Y#1#1#0#n#n#WbR#Ja#bc.0#Q##.Za1a1bia1bI", -"amah#SaKa1bTaq#P.a.4#E#S#Ebi#lbTa8av.q#f#e#2#s###n#M#M#Q#0#n#W#W#n#M#za##DbLa#.Y.x.8#Wbj.3am#s###M#1.x#JbP#M.8bRag#DbmbVaB.0#1#Q#Waj.f#KaJ#K.Hajasau#W.8#0#1.Qa##Q#n####bbbUbL#Z#M#k.3a5a1.S.3.Z", -".K#Ka6aKa1.4.ubkaDaza1bI.IbiaTbg.1.u#N.C.7#L.3#K###W#n.8#n#W###k.8#0.Ya##Dbma#a#.s#0#r.Kam.Z#K#k.8#M.YbL.T#0#0#M.Y.YbmbV#abVa#.Y#nau#s#s#Y.K#k##auau#n.8#0#1.QbL#1.8#####W.T.Q.Y#M.Ka6aK.S.Z#K#s", -"#W.K#K#2#FbX.u.6.P.EbS.I#qaV.7aV#i#p.P#t.u.4#LaKaJ#s###W.F.F####bRbP.QbVbV.V.VaBa#.Ya.###sam.Z#s#W.i.Q.9a#a4.QbK.Ya#bVbEbEbA#aal.8#W#k###4###W#n#n#n.8.8#Q#1.9a#.Y#0#nauaubs#1.Q.8#k.Za6.Z#s###W", -"#n###s#2a5#5bM.6.Baqbgbe#o#VbW.q#C#N.Bax.Pav#3aIaK.Z###n#nbRbfbf.i.TbKbVbEbEbCbEbK.Q#Q#n.K#K#K#K#Wbb.Qa#bK.pbVbVa#aB#a#y#RaaalbV#M.8#W#W#W#W#n.8.8.8.8#M#M.Y.Ya#.9#zbbau.F.8#1#1.8as#KaJ#s##.8#M", -".8#W#s.Za5bS#pakar.u.7be#f#p#t.PbQ#Taxax#t.u#f.U#c#K#W.8.Y.Qa4ai.T.QaBbEbE#X#y.c.pa##1#M#W.K#K#s###n#zbcbm.p#hafalbE#R#R#XbEbV.0#0#U.8.8.8.8#M.8#Q#M#M#Q#Q.Y.0.0bF#1#1#n#U#Man#1#nas#Kbj.K#W#Q#Q", -".8#W#s.3a5bS#p.6akaD#V#3aL#tar.vararaxbkaDaq#faGamapa..Q#Zbubca7a#aB.Vaf#ybE#X.c.pbm.Y#Q.8##.K#s###n.Ya#a#.p.p#abEbA#R#X#R#ha7.Q.Y#1.T#M#M#M#Q#Q#Q#Q#Q#Q#1.Ya#.0.G.5#1#0.D.Q.Qa##M###sbj.K#W#M#Q", -"#n#W#s.3a5aY#i.6axaD#VbTaNbkaF#9.N#8ax#t.u.E.wbI#s#rai.9#a.V.V#Dbmbc#hbEbE#ybEaa#h.p.9.Y#0#n######.8.T.Ya#.QbK.paBbVbEbEbE#abVbK.Q.Q.Y#1#Q#Qbq.x#1.Y#Q.x.Y.Y.Q.0#Da#.Q#za#bV#a#h#M.F#sbj#s#W#n.8", -"#W#k#K.3a5aI#d#t.PaD.E.n#i.B.Nbo#Ibo.v.P#p.k#q#2#k#n#z#DaZalbVbmbmbVbVbEbwbCbC#a#hbV#DbY#1a.#W###W.8#Qab.s.Q.Q.0aUa7bVbEbEbEbVbV.0.0.Y.Y.x.s.Y.Y.Y#1.Y#1#1.Q#J#Dbua7a7a4aBaf.c#y#1#W.K#K#s#k#nbf", -".KaJ.3#S.SbpbT.C#N.q#V#Vav#taF....ad.N#jaD.E.wao#s#kbf#M.sbYbY.5bLa##D#aaa.c.p.Q#D#D.Q.Q#1#Q.8#n#Q.x.Ybx.s.s#M#M#M#0.Qa#bV#abEbEa7#Dabab.s.Y#1.x.x.Y.x#1.Y.Q.0.0.d.0aibLal.J.Jal#Q.F.H#K#K.H.K#k", -"#s#K#S.SaKbI#laCav#Vaz#V.E.u#j#.....#..v.PaqbTbi.A#K##bR.ibP.Y.xbL.Ya#bV#aalbm.0bLa#.Q.Q#Q#Q#M#M#M.Y.Q.Qab#Q.8.8.8.8.Ya#bmbmbVbV.pbmbL.x.Y#1.Y#Q.x.x#1.Y.T.YbL#J.9.0aibL#abt#Xbu#Mau#K#KbO.K###k", -"#s.3aKa5a5a5a1bX.7bT#V#V#dbhaxaFadadboaFaxaD.E#o#L.3bj#r.8#0#1#0#1.Y.Ya#alal#Da#.s.Y.Y.T#Q#Q#Q#0.Y.Qa7a#.Q.i.8#n.8.8.T.YbcbVbVbV.pbVbL.Y.x#Q#Q#Q#Q#Q#Q.Y#Q.Y#Jaba#.Qai.Qal#ybEa7#W.K#Kbj.K#k##as", -"#K.Za5a1a5aK#Fbp.OaTaz#V.q.u.B#8#9#.bD.v.BaDbW.7.I#2bj#r.8#M#0#M.8.8#0.Q.9bu#Z#J#Q#1.T#1.s.s.5.Y.p.paBaBbK.Q#0#0#M#0.QaBbV#abV#a.p.pbL.Y#1#M#Q#Q.x#Q#Q#Q#1#Q.Y.s.Q#z#1#J#ZbVa7.o#Y#K.Zbj#k#n#W##", -".Ka6a5a1a1a5aK.S#eaI.mazav#N.Bax.vaF.var.B.u#iaHbpaKbj###W.8.8.8#W#W#n#0.Qa#.Y.Y#M.8#M#Q#Q.s.Y.0#a#a#Ral.V.9.Q#za7aB#h#y#y#XbEbC#hbm.Y#0.8.8#M#M#M#M#M#M#M#Q#Q.x#1#Q#M#J#Z.9.T#raJ.3#K#Y#W.8bf##", -"#ka6#Fbi#qbI#S#2#ebiaTaz.qaD.Bax#jarax.B#P.u#BaH#EaK#K.K#####W########bf#0.Q.Y#Q#n#nbb#M#Q#1ab.0.yaaaabE#a#Z#D.0bV#h#X#X.J#XbEbEbV.0.Y.8.8#W#n.8#n.8#n.8.8#M#M#Q#M#Q#Q.Ybxab.8.K.3.3aJ###n#M#M#W", -"###Ka5bebSa1#S#Sao#qbXbTbW.u.B.Baxax.Bbk.uavaz#la1a5a6#K.K.K#s#sbj#s#k##bb#0#M.8###W#n.8#Q#Q.Y.0#abEbEbEbVbm#D#D#a.caa#X#XafbV.V#Da##0.8#W###W#W#W#W#W#W#n#n.8.8#U#M#M.Y.9.x#WaJ.3a6.K#W.8#M#M#r", -"###s#FaT#o.Ia5.3#Fbi#l#o#B.q#t.B.B.BbkaD#pavaz.m#ga1#S.3.Z.ZaJ#GaJ#K#s.K#W#n#n#n#k#####n#M#Q#1.Q.p#haM#hbVbca#a#alalbCbC#ybV.9.Q#Z.Q#M#n#W#k#k#######W###W#W#n.l#n#M#MaUa4#1###2.3a6#Y#n#U#M#M#W", -"#k#K#SbS.7aHa1.S#eaG.7.7bT.naq#tax.P#t.u#pav#VbTbXbea1.S#S.3#2.Za6.Z#K#K#sap#k.K#K#saj#n.8.ibP#1.MaZ.p.p.0.sbLbL.M#D#D.Q.Y.Y.xab.s#Q.8#n#W#k.K.K#kaj.K.K#k.Kau###n#0.pa2.9#0.K.Z.f#s###W#n.8#n#W", -"#k#s.3aYbgbgbi#E.I#l.7#B.r.razavaD.uaD#N#pbW#V.nbgbSbibIa5aK#S.3aK#2.Z.Z#K#s.K#s#K.f#s#W.8#M.Y#1#D#Da7bU.T.x#Q#0.Y.Y.TbsbsbbbR#U.i.8.8.8#n#W#W#4###k#s.K#s.K.K##.8.Tbma2.9#M.K#K#K.K###W#n#n#W#W", -"###s.3bIaTaTbi.S.I#laz#V.7aVbg#5.nbW.C#p.qaNaL.n.7bgbSbi.I.IbIbI#E.SaK.3.Z#K#sbO.3.3.Z.K.8#Q.xaga#.YbU#M#M.8.8#n.8#W#W#4#k#Yas.K.F.F.8.8#QbPbf#r.K#s#K.Z#K#K#s#k#M.Y.G.G.Ybb.K#b#s#k###W#W#n#W##", -"##.KaJ#F#eaI.S#S.S.wazaCaN#3bebiaIbebTaz#VaL#f.7.7bgbgaTbebe#gbi#qa1a5a5aKa6.Z.Za5a5#S#s#r#1.sbF.0.Q#Q#M.8#n####.K#s#s#K.Z#Ka6#K#s#k#W#Qan.5#0#n#k#K.Z.3#S.Z#s#Y.i.5.9.9#0#W#s#K.K#k#W#W#W#W#W##", -"#k.K#KaK#F#F.3#K.Z.SbSaL.g#f.L#qa1bIa1aYaVaV.7bd.7.7aV#3aA#3.L.U.L#qbibIa5aK#S#Sa1a1#E#2###0an.d.0.Q#1#M#n###sbO#2#2.3.Z.3.Z#2.Za6#K#4a.anbY#1.8.K#s#Sa5a5aKa6#Ya.#1#1a.#n.K#s#s.K#####W#n#W#W##", -"#k.K#K.Z#2a6bj#kapbj.A.w.7bgbe.I.S#SaKaK#L#lbT#fbTaz.7#VaL#V#f.naAacbebia1a5a5a5a1a1a1#Sbjbf#1bx#D#J#1.8##bjambyaK#2#2#2#2.3#2#Sa5aKaJ###0.Y.x.8#Y#K.Sa1#q.Iah.Zau#r#4bj#K.3.3#K#s.K#W#W#n#n#W#W", -"#kap#s#K.Z#s###n#0.z.K.Za5#e#E.S.3.ZaJ.Z#2.IaT.nazaz.EbWav.CbW.EaL.7bgaT#gbia1a1a1#ea1aK#K###0.0.Q.Y#M#W.Ka6#2.3amamaJ#KaJ.3#S.SaI.I.S#s#W#0#M#M.K#K.Sbibe#L.A#K#K.Z.A#Lbi#qae.Z#s#k###W#n#n#n##", -"#4#k#s#K.fbz#W#Mag#Q#M##aJ#2#S.3#KaJ#sbja6aKbi#o.k.EbWavaq.RavavbW#fbT.7bX#gbi#qa1aoao.S.3#kbb.T.Y.Y.8###K#2#S#S#s.K.K.Kbja6aKbHbg#g.w.3#k.8#M#M###KaK#e#e#Fa6#Y.3.S.2.7acaGa1#G#s#Y###W#n.8#W#W", -"###k.K#sajasbR#Mag#J#0a.#n#W#kaj###Wauas.K.ZaoaHbW.Eaq.u#N#t#t.ubWavbWaLazbT.mbibv#S.3#Kaj#W#UbP#Q.8##.HbObOa0#k.D.l##.K#K.ZaKaIaVaz.4#L.3#Y#n.i###s.Z.f.Hau#Y#s.3.I#oaH#3aT#E.3#s#k#W#n#n#n#n.F", -"#W#k.K.K.KaubR#Mag.Y.Q#1#0#M.8bf.8a..z#n#W#saKaY#V#Vaq#N#t.P.P.u.u.u.R.qbW#V#obia5.3#s###Wa.#0.YbPbRau#sbj#s#k#W#Q#n###s#K#2#FaIbT.E.E.rbI.Z##bR#n##.K.K#4#4ap#s#S#LbSaTaG.w.S.Z.K#k#W#n#n#n#W#W", -"####.K#kap###n#Q#J.Y.Y.Yan#1#1#1#1an#z#0#n#k.3.I.rbTav#t.Baxax.PaD#taD.uaq.EaVbeaKa6#4bfbU.0a#.0.x#Uasbj#K#s###n#M#n#Y#K.3#SbIbi#3.E.R.qaVa5#K##bR#W####ap#YaJ.3bI#qbiaIa1.S.3#K.K###n#n#n#n#n##", -"######ap###W#n#M#Q.Y.Q.Yab.x.x.Ya#a#bK#J.8#W.Z.SaYbSbW.Barararax.B.B.Bbk.u.qbgbi#S#Kbf.Ybxbca#.0.Ybs#4#K#K#s#k#W#n##aJ#S#S#Sa5bibg.E#Nat#iaT#S#sau#k.K#s.Z#S#L.2.O#5#qa1.S#S.Z#K.K###n.8.8.8#W#W", -"#W##########.F.8#Q#1#zbU.Y.Y.s#1#DbmbV.9#0#W#KaKa1#e#B.P.v.v.v#jaxarar.Bbk.qaVbi.Z#k.8.Ybx.9b#bU#Q#W.K#K.Z.Z#sas.K#KaKa5bI#Ea1a1bg.E.uaR#C.n#E.Z#s#sbj#2#E.m.n#V.k.7aT#q.S.3.Z#K#Y#4bf.8.8#n#n#W", -"##########au#n#n#1#zbUa4.Q.Y.Y#1.0bKbK.Qbs#k#2ao#E#F#5.P.vaFaF#8akakaX.BaDavbX.I#K#k#nbP.x.Y.T#n#W.K#K.Z.Z#Ka0bz#K.3a1bia1a1.I.IbSbT.E.q.gbT.I#SaJaJa6aKbe#HaEbhaO#ibT#g.I#S.3.Zbj#4#n.8#M.8#n#W", -"#############n.8.YbUa7a7bmbL.Y#1.Y.Y.0.Qbs#s.Sbi.SaK.O.t#8.NaFaF.v.v.v.Bbk.EbS.S#K.K###n#nbf#W##.Z.3.3.3aJ#s.K.K#K.SbiaGaI#q#La1.I.w#laVaT#q#E.3.Za6.Za5#q#f#paD.u.RaL.7bi#E#2.ZaJ#k#n.8#M#M#n#W", -"###########W#n.8bx#ZbVbV.V.9.Y.Y#Q#0.Y#1#n#s#Ebe.SaKbpaDaF#9aF.N.v.vaka3.u.k#q#Fbj#s#k###W##.K#saKa5#Sa6aJ.K.K##aJa5biacbea1a1a5a5a5bIbIa1.IaK#2.3a6amaK.IaAaO#xaD.u#i#fbga1aK.3#K#Y#n.8bP#M.8#W", -"#W###k#k#####U#1#D.pafaf#abK.Q.xbP.i#n##bj.3.I.m.wbIa1.aaFad#9aF.N.e.P.uavbX.IaK.3#K.Kas#W#n#r.H.3#S#S.Z#Y###W.F#K#SbS#3.7#5a1#S.S#S#S#S.3#2#2#S.3#SaK#Ebi.7av#taD.P#N.qbgbi#S.3a6#Kau#U#Q#Q#UbR", -"#W###k.K#k.F.8#Q#D#Dbubmbmb#.YbP#M#n.F#k#K#S#q#gbS#Fa5.1.vbo#..NaF.e.P.Raz.m.I#Ea5.3.K##.8#0#n##.Z.3.Z#K#Y#W#n#n#K#SbS#3.7aV.IaK#S.3.3.3aK.3aK#SaK.S#EbiaTazaqaD.P.P#N.CazbS#EaK.ZbOaj.l#M#Q.8#n", -"#W#k.K.K.K#W.8#Qa#.Q.9a#.Y.Q#1.8#n#WajbO.3a5bibeaza1#Faz.e#.ad#9aF.v.B#p.E.r.w#q.Sa6ap#n#Q#O#M#n#s#K#K.K#4#r#n#n#s#S.w.7aL.r.wa5.3#2#2#2#S#2#S#SbIa1#q.m.7#V#p#N.P.P#t#pbW.rbpaK#K#K.K###n#n.8.8", -"#4.K#s.K.K##.8#M.Y.Y.Y.x#Q#Ma.#nap.K#K.ZaKbIbe.L.ka1#F#5.t#9#.aFaXaXba#Tat#VaV.X.3bjbf.YbY#O#M#n.K.K.K.K##bf#n#nbj.3bS.naLaz.w.S#2a6a6.3aK#SaKa5a1bibg.n#VbMaW#P.P.PbQ.uaq.EbS#F#K#K#s.K###W#n#n", -"#k#s#s#s.K###W#n#M#M#M#U.8#n#W##bj#K.Z#2a5#ebebg#Bbi#Fbi.R.vaFaFakakbr.j#p.k.X#F.K#n#MbY.s.i#W###s.K.K#k###Wbf#W#s.3aY.7aC#B#la1.3a6#2#2#SaKa5.S#ebi#oaL.C#p.uaD#t#t#t#N#pbWbX#e.Z#sbj#s#Y####au", -"bj#s#KaJ#s.K###W.8.8.8#W####.K#sa6a6aKaK#Fa1aGbT#BaYa5.I.EaxbDbD.e#taq#V#o.I.3#K#W#n#M#M#n#4bjaJ#K.K.Kau###W#W##.K.3#q.7aL.Ebga1.3#2#2#2.SaKa5a5#ebibg#V.C.u#N#NaDaD#N#N.uav.7be.3aJbj#s.K.K##.K", -"#K#Ka6a6#K#K#s###n#n#W.K.K#s#K.Z#2#SaKa5a1bibgbT#d#l.I.S#laDaFbD.e.P.CbT#q.S.Z#s.K#k#k#Y#s#2aK#F.Z#K#Y.K###W#Wau#s.Za1.7aN#V#5bi.3.3a6#S.S.SbI.Sa1bibg#V.q#p.uaD.u#N.uaW#p.q#Vbg.Sa6bj.K.K#k.K#s", -"#Ka6.Za6.3.Zbjap#n#W#4.KaJaJa6.ZaKaK.S#Ea1biaV.4#VbX.SaK#ea8.P.vaF.vbk#C#BaY.#.A.Z#2.3#S.S.S.Ia1#SaJ.K#k#k#W###k.K.3a1#3aL.Ebgbi.3.3#2aK.S#EbI.IbI.w#5azbWaq#p.R.u.u.ubMbM.q#V.7#L#2.Kasau#k#saJ", -"#s.Z#SaK.I.A.K#n#nauaj#Kah.3a6a6ahaKa1aIaIbg.4bT.EbX#E#S#S.w.1#tarax#T#pbWbg#ga1.S#E.IbibeaTbSaY#S.3#s#k###k#k#k#s.3#mbg#f#faVbi.A.3.ZaKa1bia1.I.Ia1.w.r#V.Eaq.ubl.Rav#i.E.E.E.4bS.Sbj###W##.K#s", -"a0.3#SbI#mah#W.8#n#k#K.3#S.3a6amam.S.IbebeaVbTaz.EbX.I#SaK.Sa9.4#Bb.b.#5#Lbv#S.3.Z#S.Sa1#q.Lbebi.A.Z#s#k#k#k.Kap#s.ZbIaTaA.nbg.X.S.3.3aKa1bibia1.Ia1bi.mbT#d.q#p.R.uav#i.E.Eaz.r.m.SaJ#k#W#W###s", -".H.Z.Sbi#E#K.8#M###K#S.S.I#S.ZbO.Z.A#q#gbgaV#V#V#V.rbia5#2#2#2#2aK#S.3.Z.Z#sbj.KbjaJ#2#Fbi#g#gbi#S.Z#s###kas.K.K#Ya6a5be#3.7bgaYa5.3#2aKa1bebebia1a1a1bi#o.7#V.qaqav.q.E.n#fbT.L.L.I.3.K#W#W#W#k", -".Ka6#F#qaeap#M.ibj#S.Ibebia5#K.HaJae.w#o.7#B#VaC#f.7bS#ea5#2a6#K#K#K#s.H#s#s#saJ#sa6#2aKa1.I.Ia5.3a6.K#k###k.K#s.K.ZaKa1bgbT#obea5aK#2aKbi.LbeaG.IbIa1a1bibS.7#VaC#VazbXaTbg.L#3.L#qaK#s##bf#n.F", -"#ka6#F#Eam.z#0bRaK.w.L.U.LbIa6.Ka6.SbSbT.7#daNaNaC#f.WbS#e#S.3.ZaJ#Y.K.K#s#K.Z#S#S#Sa5#F#Fa5a5#2#2aJ.K####.K.K#s#s#KaKa1#gbg#obSbI#S#2.S#q.rbgbg#qa1bI#Ea1a1be#3#3bgaYa1a5a1bi#gbebi.S.Zapbf#n.l", -"#k#KaK#2bz#0#0#ka1.raA.U.LbiaK#GaK.I#o#f#daOav.C.qbW.7aHbSaY.I#S#2aJbj.K#saJ#2.S.I#g#qa1bIa5bybBa6bj.K####.K#s#s#s.Z.3bIaY#obgbe.I.S.3#S.wbTbTbg#qa1a5.S.SbIaIbS.Lbia5#Sa6a6aK#LbibIa5.Z#s#W#n.l", -"###K.3#s.l#z#r#2aV#VbT.LbgaTbiaoa1bS.7#Vav.u.ubh#uavaLaL.n.7bg.O#m#2#s.K.K#YaJaKbe#o#o#oa1a5aK.3.Z#K.K#k#k#k#s#s#s.Z#2a5bibe#obe.I#Sa6#2#L#oaVbga1bIaK#S#Sa5bIbiaGa1#S#K#s#YaJ.3a5a5aK.3#K#k#W#n", -"#W#s.Zap#U#1#Y.h#faC.raG.m.raVaH#l#o#faN.u#xaD.u.RaObWaCaCaCbdbd.I#2#s#k###4bjamaI#o#VaAbea1aK#Sah.Z#s#k#k.K.K#K#s#K#2aKa1be.Lbe.S#2aJa6a5aYaHaT#e#FaK.3.3aK#Ea1bi.IahbO#k#r#4#s#Fa5aK#S#K.K#W#n", -"###k.Haj.8bfahazaq#V.mbibgbWaqaOavbW#iavaD#t.P.PaDaD.R#uaO.u.qaA.A#K#k##au#k.KbO.I.4.EaL.7#qa1a5.S#S.Z.H.K.K#s#s#K#K.Z#2#S.S#ma1am.K###k.Z#E#qbiaK.3#K.Z.3aKa1#q#gbi#e#2.K#W.8bfajam#S#2aJbz####", -"#W#k.Haj#n#WaeaC#d.7bebi.n.u#taD.u.R.R.u#t.P.B.PaD.u.R#daOavaz#q#K#s#4#####k.K#Ka1#lbWbW.7bSa1#E.S.Saha6#s#s#s#K#K#K#K.Z.3#SaK#2.K#W.8#n.K.ZaKaK.Z#K#s#s#2a5.IbS.mbeaI#S#K#W.8#0###s.3#2aJ#Y####", -"#W###s.K##.K#L.qaLaVbibe.E#tarar.PaDaDaD#t.B.P.P.u.u.qaN#VbT.w#S.K###W#####Y#s.ZbIaTbW#i#VbX#qa1.I#E.S#S#2#K#s#s#K#KbjaJ#K#KaJbjaS#0#1#M#W#s#KaJ.K#####s.Z#Fbi.mbX#obea1.3#k.8#1#0#r#K.3.Z#Y#k##", -"#Wap#s#s#k#K#laP.EbTbe#o.q.B.v.vax.B#taD#t.P#taDbhaq#VaAbg.w#S#K#Wbf#W#W#k#Ya6#2bIaV.qaqbWbTaYa1#ebibia1.SaKa6aJ#Kbjbjbj#s.K#Yap#n.x#O#1#n#k.K.K#W#n#W.K#2#e#g#oaTaV.L#q.S#K#n#1.5a.###K.Z.K#k##", -"###kaJ#s.K.Z#laPbWbT.m.7.uaraFaF.vax.P#t#t#t#N.uaO.E#obe#E#2#s##.8.8#n#W.K#sa6aK#qaVav.u.qaz.mbiaIbibibebi.IaKahaJaJbj#s#s.K#k##bb#M#Q#Q#n#####4.8#n#W#sa5bibg.rbgaVbg.L#q#S##bPab.Ybf#k#K#s#k##", -"au.K#K#s.Kamaw#C.E.raT#BaD.v#.#9aFarax#taD.uaqbW#BbX.I.Sa6#s###n#M.8#n###kbj#2a5#qbTaqaW.R#VbgaIbiaIbebebebibpa5#2#2a6#K#s.K.K###W.8#M#n##.K.K#k.8#n##.Za1bgaA.n#3bTaz#obe#E#sa.bF.Y#z#n.K.K.K##", -"##.KaJ#K#k#K.b#CaCaVbgaL.BbD#.bo.N.vax.PaD#p#V.7bg.IaK#K.K#4.8#M#Q#UbR#W#k#K.3.S#g.naq.u#p.EbTbe#q#gbeacbgbSbibi#E.S#2a6#K#s.K#k#W#n#n#Waj#s#s#s#W#4#sa5bS#3.7.4.Uaz.4aVacbi.Z#W.Q.0a#.T#W.K.Kap", -"##.KaJbj#k.f.baqbWaVbg.q.B#9adbobDaFax#t.uav.7aHbia5.Z#s###n#M#O#Q#M#n#W#k#K#S#mbe.nbh.u.ubW.7.L#g#g.ObS.Wbgbe#g.w#EaK.3aJ#s.K#k#W#n#n#Waj#Ka0#Y.K#s.Z#m#3aAbgaTacbXawb.#3.L#S#k#za##Za#bb#k.Kap", -"#w#s#sau#n#K.m#C#V.n.7avax#...bNboaF#j.P.u.EbT#gae.3.HaubR.i#M#M#M.8.l##.K#K#Sa1#o#V.RaDbJavbTaT#g#gbebeaT#gbgbe.w.w#E#S.3#s##.F.x#M.8#W.K#s.Z.Z#K.3bIaT.n.7bXbS#lbXbgacbgbX#m#G.8#z.p#D.YaS.K.K", -"au#s#s.F.8#s#l#C.E.7bg.E.P#9bN#Ibo#9#8ax#t.uaCbg#q.S.Z.K##.8#M#M#n#n.F##.K#KaKaY.r#Vaq#NaDav.7#obebSbeaT#gaT#oaT#5aY#q.I.S.3.K###M#M.8#W.K#K.3#S#S#m.w#oaVbgaYa1.IaYbeaG#obXbpaK.F#z.p.Ga#.8##.K", -"#w#s.KbR#0.KbS.CaL.7aV#i.PbD....adbo#9aF#j.B.uaL.UaG#F#2#s###n#U#W#W###k#s#K.SaY#o#V.RaDbJaq#VbgbSbebibebebgbg#o.r.rbg#obSae.Z#Y.8#M#M#n.Kam.Sa1a1.w#o.7bgbia1bIa5bIa1aIbi#o.wa1aubsbc.G.0#0#W#k", -"aj#Y#kbs#1#k.hbWaL.7aV#V#taFadbN....adaFaraDaO.kbSbia5#2.Z.K#k###k#k#k.K#s.ZbIaT.n.EbhaDaDbG#VaVaGbeaGaGbgbg.rbgaz.7#3.7bT.w#S#K#W#W#n#W#s.3a1aIaGacbgaTbia1a5a5.S.Sa5bIa1#qbea1.H.zb##abm#z#naj", -"bz#sap#0an#4#L#V#BaVbg.n.uak#9adaQadadarblaz.2#Eama6aJ#Kbj#s#s#K#sbj.K#s#s.3.Ibg#VbW.uaD#t.uaL.7aTbeaTaHbg.7bT.7#f.7#3aHaT#L#S.Z.K#####k#K.SbiaGacacbg.w#Ea5#S#S.S#Sa5aKbIa1bibiah#r.Qal.p#z#Maj", -"#saJ#Y.D#6#W.S.7aL.r.mbTav.BaF#.adadaF#taz#q.S.3#Y###W#W#k#sa6#2#2aJaJ#s#K.3a1bg#VbW.u#t#t.ubW#fbgbgbgbg.7.n.7.n.naHaT#ea5#S.Z#s.K#s#s#K#S.Ibe.L#3bg.w#E#S.3.3aK#SaK.3#2#SbIbibeaK.K.Y.Vaf.Q#Mau", -"#K#K#s.TbY#r#S#o.7bX#g.m.E#taraFboaF.P.CaVbi.S#S#Kap#n#n.F.K.Za5.SaKa6.Z#K.3bi#3bW.q.u#t.P#taq.E.7.7.7#VazaL.7.7.7aTa1aK.Z.K#k##.KaJ.Za5a5a1#gbXbgbS.S.3#K.Za6.3#2#2.Za6#2aKa1bi#e#s.iaMaf.5#M#4", -".Za6#s.DbY#W#Sbe.Wbea1#q#3aO.Pax.e.PaqbdaHaTa1a5aK#s#W#M#M##a6a5.I.S#2.Z.ZaKa1#3aN#i.u#t.B.P#p.q.n.n.n#V#V#VaL.7aHbe.S.Z.K#W#nbR.K#KaKa1#ebi.wbSbSa1#2aJ#s#K#K#2aK#2.Z.Za6#2a5#eaI.Z#UaMbw.Y#Q#r", -"aJ.3am##bf#kah#qbibi#qbibSazaq.u#N.uav.E.7#o#qa1.3.Z#s###n#W.Z.IbS.w.I#S.Z#2a1#3bWav.uaD#t.P#taW.1av.E.Eaz.EaL.7.4.w.I.Z##.8.8#r#s.Z#Sa1aIbebi#q.I.3#s###k.K.Z.3#S#S.3#K#s#K#S.IaG#S#WbUal.M.T##", -"a6ah.Z.K###s#maGaIbibi#qbSaV#Vaq.CbW.1#BbTbe.Ia5.3.3#s###W###KaebS#qa1.S.3#Sa1aA.EbW#p.u#t.P#t.u.Ravav.E.EbW.EaL.4aT#e.3.K#W#W#k#Kah#Ebibibi#qbI.S.Z#k#####s.Z.3#S#2.3.f#s#s#2a1aG#S#kaUala2#0#r", -"#K.Z.Z#s#s.AbS#AbibibIbI.IbSaV.7.naz.Eazbg#ga5#S#2#2#K.K#####K.SbSbia1#S.3aK.Ibg#Vav.uaD#t.B#t#P.u.u.Ravavavav.q#VaVaI.S.Z#s#K#G#S#E#qbibebia1a5.Zbj#r#W#k#s.Z#SaKaK.Z#K.K#s#2a5aG#E.Ka..V#Z.Y#W", -"#k.K.K###saeaAay.m.Ia5a5.Sa1biaTbgaVazbT.La1aKa6.3a6.Z#K.K.K#K.3a1a1#Fa5#2#2bIbS#Vaq#paD#t.B.P.PaD.u.uaqav#p#p.q.q.7aGa1.Sa5a5bpbibSbe.Lbe#qa5aK#s#Y#W#W#k#K.3a5#S.3a6#K.K.Ka6a5#g.I#K.z.9#Z.Qbb", -"#n.8.8bf#k.3.2#3.2#E#2.Z#2aKa5a1.L.r.raVbi.I.3.ZaJa6a6.Z#K#s#K.3a5#Fa5aK.3#2bIaIaL.q.u#NaDbk.P.PaDaD.u.u.u.u.uavaCaVbebibebgbT.k.7.7aA#3bgbS#EaK#s#k#W##.K#K.3a5#SaK.3#K.K.Ka6aKbebS#S#r.Q.9.Qa.", -"#M.x.Y#1#W#K.Sbp#L.3a6aJaJaJaKbI#g#obgbebea5.3#K#KaJ.Z.3.Z#K#Ka6.3aKaK#S.3#SbIaY#Vav.u#NaD#t.P.B.P#t#taDbQaD#pbW.rbibI#qaAaE#paD.C#iaN.7.r.m.IaK#K.K###k#s.Z#2a5#S#2.3#s.K.Ka6#Sbe#oa5#4.Ya#a#.Y", -".Y.Ybx#1#W#s.3aK.3.ZaJ#s#KaJ#2a5#gbeaTbeaGbI.3#s#s#K#2#S.3.3.Z#2#K.Za6.3.3.3a5biaz.q.u.u.uaD.P.P.P.Pbk#t#t#NavaLa1a5#S.I.n#v#T.eaD.u#iaLbTbX#qa5#K#s.K.K#K.Z#SaKaKaK.Z#K.K#k#K#SbibgaY.K#0a#a#.Y", -"#z.0a#.i###s.3#S.Z#K#sbO#KaJaK.IbibiaGaGbe.I.3#s.K#sa6#S#S.3.Z#2#s#sa6.Z.3.3#FaIbg#VbWavaOaq.uaD.P.P.P.P#t.uaLaH.I.3.3#E.7atbk#7.PaDbMaLaz.r#qbI.Z#s#Y#s#K.ZaKa5aKaK.Z#s#k.K#KaKbi.7bi.K#M#Jbc.5", -".d.xa.#4.Zae#Eao#S.3#sajaj#Ka6#2#S#m.wbeacbi.3#s.K.K.ZaKa1#E.3#s.H#s#s.Z.3.S.Ibi#laz#V#f#3aAbW.u.P.Bax.taD.u#Vbe.SbIa1aH#d#p#tax.PaD#u#i#V.rbSa1.3.Z#K#s#K.Z#S#S#S#S.Z#K.K.K#KaKbi.m.2.Z#r.Tagbx", -".s#M#W.K.3.S.Ibi.I.S#S.Z#s#s#s#s.3#S#EbeaGbi#S#s#k.K#K#Sa1bI.3#K#s.K#s#K.3.SbI#q#o.rbTaTbibi.rbW.u.P.B.P#t#NbW.L.wbSaV.Eaq.uaD#tbl.uaqaL#VbT#qa1#S.Z.Z#K.Z.Z.3#S#S.3.Z#s.K.K#K.3bibS.wa6#rbP.Y.5", -"#Q.8###K#S#E#q#gaGbea1#Sa6.K#k###s#K#S.Ibebi.S#K.K.K#KaKa1a1#S#K.K.K.K#K.3a5a1bebebg#5#La5a5#qbXavaD.Bax.B#t.u#Vaz.1.u.P.P.P.u.R.uav.qaL#VbT.ma1#S#S.Z#K.Z.Z#2#S.3#2a6#K.K.K#K#S#e#g.I.3##a..xan", -"#M#n#k#K.3aKa1biaIaGaI#eaK.Zajau.K#s.Z.Sbibe.S.Z##.K#K#Sa1bi.S.Z.K#kbj.ZaKa1bi.L#3bgaY.S.3.3.SbiaLaqbkar.v.BaDavaO#Nar.v.var#PbM.qavaC#f.nbT#gaIbIaK#2a6.Z.3.3aK.3a6.Z#s.K.K#K.3aobia1.3.K.8#Q#1", -".i#n##bja6#Fa5#e.I.I#e#ea5aK.Z#s#k.K#K#Sbi#qbI#2.K.KaJaKaIbi#F#2#s#sbj#2.Sa1aG.7#H.n#5#m#S.3#Sa5aTaz#p.Bak.B.u.EbM#t.vbDaF.v#t#pav.qaL#3bg#obebia5a5.3.3.Z.3.3#S.3a6a6#s#s#k#s.ZaKa5.S.3#k#n.8#0", -".i#n#rbj#2a5bp.Iae.Sa5#Fa5.S#2aJ.K.K#s#2.Ibea1aK.K.KaJ#2biaGa1a5aJaJ#GaKbIbeaV.7#faL.7.w.S#S#2aK#qaVaq#t.B#tavb.aN#N#jaFaF.v.B#paqbW#Vbgbe#qbia1a5#S#2a6.Z.3#2aKah.Za6#K.K.K.K#K.Z.3#2#K#k#W.8.8", -".8#n###KaK#Ea1bIae#SaK.3#S#2#2a6#s#sbja6a1bSbi#F.K#YbjaKbi.Lbea1#2aKaKbIbibg#BbW.EaCbd#3bia5aKa6.S.waz#p#p.q.rbS.7#p.P.e.eax#tataq#i#Vbgbi.wa1#F#S#2.Z.Z.Z.3aKaK.3.3a6#K.K###k.K#s#saJ#s###n#n#n", -".8#W.K.Z.SbIa1aoa5a5#2a6.Z.Z.Z.Z#Kbjbj#GbI.m#qbI.K.KaJaKaYaA#o.w#Ea5a5bi.m.n#Vaq.EaNaNbnac.IaKa6#2bIaT#Bbdacbia1#oav.taxaxax#t#pbMaO#VaV#ga1a5aK#2a6#KaJ#K.3#2aK#S.3a6#K.K#####Yas.K#Yap#W#n#n#n" -}; diff --git a/tutorials/formula1.C b/tutorials/formula1.C deleted file mode 100644 index 9f7b336b55ae4b594642c67032221ba6960916f0..0000000000000000000000000000000000000000 --- a/tutorials/formula1.C +++ /dev/null @@ -1,26 +0,0 @@ -{ - // - // To see the graphics output of this macro, click begin_html <a href="gif/formula1.gif">here</a>. end_html - // - gROOT->Reset(); - c1 = new TCanvas("c1","Example with Formula",200,10,700,500); - // - // We create a formula object and compute the value of this formula - // for two different values of the x variable. - // - form1 = new TFormula("form1","sqrt(abs(x))"); - form1->Eval(2); - form1->Eval(-45); - // - // Create a one dimensional function and draw it - // - fun1 = new TF1("fun1","abs(sin(x)/x)",0,10); - c1->SetGridx(); - c1->SetGridy(); - fun1->Draw(); - c1->Update(); - // - // Before leaving this demo, we print the list of objects known to ROOT - // - if (gObjectTable) gObjectTable->Print(); -} diff --git a/tutorials/formula1.py b/tutorials/formula1.py deleted file mode 100755 index bb862b4b0f8186d2fec4b3d7a80efcb5f1947dbe..0000000000000000000000000000000000000000 --- a/tutorials/formula1.py +++ /dev/null @@ -1,28 +0,0 @@ -# -# To see the graphics output of this macro, click begin_html <a href="gif/formula1.gif">here</a>. end_html -# - -from ROOT import TCanvas, TFormula, TF1 -from ROOT import gROOT, gObjectTable - -gROOT.Reset() - -c1 = TCanvas( 'c1', 'Example with Formula', 200, 10, 700, 500 ) - -# We create a formula object and compute the value of this formula -# for two different values of the x variable. -form1 = TFormula( 'form1', 'sqrt(abs(x))' ) -form1.Eval( 2 ) -form1.Eval( -45 ) - -# Create a one dimensional function and draw it -fun1 = TF1( 'fun1', 'abs(sin(x)/x)', 0, 10 ) -c1.SetGridx() -c1.SetGridy() -fun1.Draw() -c1.Update() - -# Before leaving this demo, we print the list of objects known to ROOT -# -if ( gObjectTable ): - gObjectTable.Print() diff --git a/tutorials/framework.C b/tutorials/framework.C deleted file mode 100644 index cee87dd31814a2abb12af5423f44a48b96f51d2d..0000000000000000000000000000000000000000 --- a/tutorials/framework.C +++ /dev/null @@ -1,44 +0,0 @@ -{ - // An example with basic graphics illustrating the Object Oriented - // User Interface of ROOT. The begin_html <a href="gif/framework.gif">picture</a> end_html - // produced is the one shown in begin_html<a href="../../Mission.html">Mission Statement.</a> end_html - // - gROOT->Reset(); - c1 = new TCanvas("c1","The ROOT Framework",200,10,700,500); - c1->Range(0,0,19,12); - // - TPavesText rootf(0.4,0.6,18,2.3,20,"tr"); - rootf.AddText("ROOT Framework"); - rootf.SetFillColor(42); - rootf.Draw(); - // - TPavesText eventg(0.99,2.66,3.29,5.67,4,"tr"); - eventg.SetFillColor(38); - eventg.AddText("Event"); - eventg.AddText("Generators"); - eventg.Draw(); - // - TPavesText simul(3.62,2.71,6.15,7.96,7,"tr"); - simul.SetFillColor(41); - simul.AddText("Detector"); - simul.AddText("Simulation"); - simul.Draw(); - // - TPavesText recon(6.56,2.69,10.07,10.15,11,"tr"); - recon.SetFillColor(48); - recon.AddText("Event"); - recon.AddText("Reconstruction"); - recon.Draw(); - // - TPavesText daq(10.43,2.74,14.0,10.81,11,"tr"); - daq.AddText("Data"); - daq.AddText("Acquisition"); - daq.Draw(); - // - TPavesText anal(14.55,2.72,17.9,10.31,11,"tr"); - anal.SetFillColor(42); - anal.AddText("Data"); - anal.AddText("Analysis"); - anal.Draw(); - c1->Update(); -} diff --git a/tutorials/framework.py b/tutorials/framework.py deleted file mode 100755 index 44b3d2ce588374c044cd94d08edc2142c98aba71..0000000000000000000000000000000000000000 --- a/tutorials/framework.py +++ /dev/null @@ -1,44 +0,0 @@ -from ROOT import TCanvas, TPavesText -from ROOT import gROOT - - -gROOT.Reset(); - -c1 = TCanvas("c1","The ROOT Framework",200,10,700,500) -c1.Range(0,0,19,12) - -rootf = TPavesText(0.4,0.6,18,2.3,20,"tr") -rootf.AddText("ROOT Framework") -rootf.SetFillColor(42) -rootf.Draw() - -eventg = TPavesText(0.99,2.66,3.29,5.67,4,"tr") -eventg.SetFillColor(38) -eventg.AddText("Event") -eventg.AddText("Generators") -eventg.Draw() - -simul = TPavesText(3.62,2.71,6.15,7.96,7,"tr") -simul.SetFillColor(41) -simul.AddText("Detector") -simul.AddText("Simulation") -simul.Draw() - -recon = TPavesText(6.56,2.69,10.07,10.15,11,"tr") -recon.SetFillColor(48) -recon.AddText("Event") -recon.AddText("Reconstruction") -recon.Draw() - -daq = TPavesText(10.43,2.74,14.0,10.81,11,"tr") -daq.AddText("Data") -daq.AddText("Acquisition") -daq.Draw() - -anal = TPavesText(14.55,2.72,17.9,10.31,11,"tr") -anal.SetFillColor(42) -anal.AddText("Data") -anal.AddText("Analysis") -anal.Draw() - -c1.Update() diff --git a/tutorials/framework.rb b/tutorials/framework.rb deleted file mode 100644 index d66c52b20efe9840f8ed1829d440a21bcf46d25f..0000000000000000000000000000000000000000 --- a/tutorials/framework.rb +++ /dev/null @@ -1,40 +0,0 @@ -gROOT.Reset(); -c1 = TCanvas.new("c1","The ROOT Framework",200,10,700,500) -c1.Range(0,0,19,12) - -rootf = TPavesText.new(0.4,0.6,18,2.3,20,"tr") -rootf.AddText("ROOT Framework") -rootf.SetFillColor(42) -rootf.Draw() - -eventg = TPavesText.new(0.99,2.66,3.29,5.67,4,"tr") -eventg.SetFillColor(38) -eventg.AddText("Event") -eventg.AddText("Generators") -eventg.Draw() - -simul = TPavesText.new(3.62,2.71,6.15,7.96,7,"tr") -simul.SetFillColor(41) -simul.AddText("Detector") -simul.AddText("Simulation") -simul.Draw() - -recon = TPavesText.new(6.56,2.69,10.07,10.15,11,"tr") -recon.SetFillColor(48) -recon.AddText("Event") -recon.AddText("Reconstruction") -recon.Draw() - -daq = TPavesText.new(10.43,2.74,14.0,10.81,11,"tr") -daq.AddText("Data") -daq.AddText("Acquisition") -daq.Draw() - -anal = TPavesText.new(14.55,2.72,17.9,10.31,11,"tr") -anal.SetFillColor(42) -anal.AddText("Data") -anal.AddText("Analysis") -anal.Draw() - -c1.Update() -gApplication.Run \ No newline at end of file diff --git a/tutorials/galaxy.root b/tutorials/galaxy.root deleted file mode 100644 index 47dd3495f77680b6715e278875948988d8839677..0000000000000000000000000000000000000000 Binary files a/tutorials/galaxy.root and /dev/null differ diff --git a/tutorials/galaxy_image.C b/tutorials/galaxy_image.C deleted file mode 100644 index 179a0ecbe54045b83adc669bffc2d6ce9b231647..0000000000000000000000000000000000000000 --- a/tutorials/galaxy_image.C +++ /dev/null @@ -1,29 +0,0 @@ -void galaxy_image() -{ - TCanvas *canv = new TCanvas("image", "n4254", 40, 40, 812, 700); - canv->ToggleEventStatus(); - canv->SetRightMargin(0.2); - canv->SetLeftMargin(0.01); - canv->SetTopMargin(0.01); - canv->SetBottomMargin(0.01); - - // read the pixel data from file "galaxy.root" - // the size of the image is 401 X 401 pixels - const char *fname = "galaxy.root"; - TFile *gal = 0; - if (!gSystem->AccessPathName(fname)) { - gal = TFile::Open(fname); - } else { - printf("accessing %s file from http://root.cern.ch/files\n",fname); - gal = TFile::Open(Form("http://root.cern.ch/files/%s",fname)); - } - if (!gal) return; - TImage *img = (TImage*)gal->Get("n4254"); - img->Draw(); - - // open the color editor - img->StartPaletteEditor(); - - // zoom the image - img->Zoom(80, 80, 250, 250); -} diff --git a/tutorials/games.C b/tutorials/games.C deleted file mode 100644 index 17a1458995d287e0594d4c91b63ba0f96cc43766..0000000000000000000000000000000000000000 --- a/tutorials/games.C +++ /dev/null @@ -1,55 +0,0 @@ -void games() -{ - // This macro runs three "games" that each nicely illustrate - // some of the graphics capabilities of ROOT. Thanks to the - // clever usage of TTimer objects it looks like they are all - // executing in parallel (emulation of multi-threading). - // It uses the small classes generated in $ROOTSYS/test/Hello, - // Aclock, Tetris - - Bool_t UNIX = strcmp(gSystem->GetName(), "Unix") == 0; - Int_t st1 = gSystem->Load("$(ROOTSYS)/test/Aclock"); - if (st1 == -1) { - printf("===>The macro games will try to build the Aclock library\n"); - if (UNIX) - gSystem->Exec("(cd $ROOTSYS/test; make Aclock.so)"); - else - gSystem->Exec("(cd %ROOTSYS%\\test && nmake Aclock.dll)"); - - st1 = gSystem->Load("$(ROOTSYS)/test/Aclock"); - } - Int_t st2 = gSystem->Load("$(ROOTSYS)/test/Hello"); - if (st2 == -1) { - printf("===>The macro games will try to build the Hello library\n"); - if (UNIX) - gSystem->Exec("(cd $ROOTSYS/test; make Hello.so)"); - else - gSystem->Exec("(cd %ROOTSYS%\\test && nmake Hello.dll)"); - - st2 = gSystem->Load("$(ROOTSYS)/test/Hello"); - } - Int_t st3 = gSystem->Load("$(ROOTSYS)/test/Tetris"); - if (st3 == -1) { - if (UNIX) { - printf("===>The macro games will try to build the Tetris library\n"); - gSystem->Exec("(cd $ROOTSYS/test; make Tetris.so)"); - } else { - gSystem->Exec("(cd $ROOTSYS/test; nmake Tetris.dll)"); - } - st3 = gSystem->Load("$(ROOTSYS)/test/Tetris"); - } - - if (st1 || st2 || st3) { - printf("ERROR: one of the shared libs in $ROOTSYS/test didn't load properly\n"); - return; - } - - // run the dancing Hello World - Hello *hello = new Hello(); - - // run the analog clock - Aclock *clock = new Aclock(); - - // run the Tetris game - if (UNIX) Tetris *tetris = new Tetris(); -} diff --git a/tutorials/gaxis.C b/tutorials/gaxis.C deleted file mode 100644 index 3cb43aec97b5438e7235864b39bb3d8f4c8e1b3f..0000000000000000000000000000000000000000 --- a/tutorials/gaxis.C +++ /dev/null @@ -1,55 +0,0 @@ -{ -// -// To see the output of this macro, click begin_html <a href="gif/gaxis.gif" >here</a> end_html -// Simple example illustrating how to draw TGaxis objects in various formats. -// - - gROOT.Reset(); - - c1 = new TCanvas("c1","Examples of Gaxis",10,10,700,500); - - c1->Range(-10,-1,10,1); - - TGaxis *axis1 = new TGaxis(-4.5,-0.2,5.5,-0.2,-6,8,510,""); - axis1->SetName("axis1"); - axis1->Draw(); - - TGaxis *axis2 = new TGaxis(-4.5,0.2,5.5,0.2,0.001,10000,510,"G"); - axis2->SetName("axis2"); - axis2->Draw(); - - TGaxis *axis3 = new TGaxis(-9,-0.8,-9,0.8,-8,8,50510,""); - axis3->SetName("axis3"); - axis3->SetTitle("axis3"); - axis3->SetTitleOffset(0.5); - axis3->Draw(); - - TGaxis *axis4 = new TGaxis(-7,-0.8,-7,0.8,1,10000,50510,"G"); - axis4->SetName("axis4"); - axis4->SetTitle("axis4"); - axis4->Draw(); - - TGaxis *axis5 = new TGaxis(-4.5,-0.6,5.5,-0.6,1.2,1.32,80506,"-+"); - axis5->SetName("axis5"); - axis5->SetLabelSize(0.03); - axis5->SetTextFont(72); - - axis5->Draw(); - - TGaxis *axis6 = new TGaxis(-4.5,0.5,5.5,0.5,100,900,50510,"-"); - axis6->SetName("axis6"); - axis6->Draw(); - TGaxis *axis6a = new TGaxis(-5.5,0.85,5.5,0.85,0,4.3e-6,510,""); - axis6a->SetName("axis6a"); - axis6a->Draw(); - - TGaxis *axis7 = new TGaxis(8,-0.8,8,0.8,0,9000,50510,"+L"); - axis7->SetName("axis7"); - axis7->Draw(); - - //one can make axis going top->bottom. However because of a long standing - //problem, the two x values should not be equal - TGaxis *axis8 = new TGaxis(6.5,0.8,6.499,-0.8,0,90,50510,"-"); - axis8->SetName("axis8"); - axis8->Draw(); -} diff --git a/tutorials/geant3tasks.C b/tutorials/geant3tasks.C deleted file mode 100644 index 2063d7407876a9974119924c77d3d4a2b70365e1..0000000000000000000000000000000000000000 --- a/tutorials/geant3tasks.C +++ /dev/null @@ -1,145 +0,0 @@ -// @(#)root/tutorials:$Name: $:$Id: geant3tasks.C,v 1.0 2000/09/05 09:21:22 brun Exp $ -// Author: Rene Brun 02/09/2000 -void geant3tasks() -{ -// this script is a representation using TTasks of the Geant3 simulation program -// This example uses directly TTask objects. -// A real implementation would require one class per task derived from TTask. - - TTask *geant3 = new TTask("geant3","Geant3 simulation main program"); - gROOT->GetListOfTasks()->Add(geant3); - TTask *uginit = new TTask("uginit","Initialisation manager"); - TTask *grun = new TTask("grun","Run manager"); - TTask *uglast = new TTask("uglast","Termination manager"); - geant3->Add(uginit); - geant3->Add(grun); - geant3->Add(uglast); - TTask *ginit = new TTask("ginit","Geant3 initialisation"); - TTask *ugeom = new TTask("ugeom","Geometry initialisation manager"); - TTask *gphysi = new TTask("gphysi","Initialise cross-sections and energy loss tables"); - TTask *ggclos = new TTask("ggclos","Geometry analyzer and optimizer"); - uginit->Add(ginit); - uginit->Add(ugeom); - uginit->Add(gphysi); - uginit->Add(ggclos); - TTask *gtrigi = new TTask("gtrigi","Event initialisation"); - TTask *gtrig = new TTask("gtrig","Event manager"); - TTask *gtrigc = new TTask("gtrigc","Event cleaner"); - grun->Add(gtrigi); - grun->Add(gtrig); - grun->Add(gtrigc); - TTask *glast = new TTask("glast","Geant3 termination"); - TTask *igend = new TTask("igend","Graphics package termination"); - uglast->Add(glast); - uglast->Add(igend); - TTask *gukine = new TTask("gukine","Event generator manager"); - TTask *gutrev = new TTask("gutrev","Event application manager"); - TTask *gudigi = new TTask("gudigi","Event digitisation manager"); - TTask *guout = new TTask("guout","Event termination manager"); - gtrig->Add(gukine); - gtrig->Add(gutrev); - gtrig->Add(gudigi); - gtrig->Add(guout); - TTask *gtreve = new TTask("gtreve","Geant3 event manager"); - gutrev->Add(gtreve); - TTask *gltrac = new TTask("gltrac","Initialize tracking parameters"); - TTask *gftrac = new TTask("gftrac","select next track segment from stack JTRACK"); - TTask *gutrak = new TTask("gutrak","Application track manager"); - gtreve->Add(gltrac); - gtreve->Add(gftrac); - gtreve->Add(gutrak); - TTask *gtrack = new TTask("gtrack","Geant3 track manager"); - gutrak->Add(gtrack); - TTask *gtgama = new TTask("gtgama","photon propagator"); - TTask *gtelec = new TTask("gtelec","electron propagator"); - TTask *gtneut = new TTask("gtneut","neutron propagator"); - TTask *gthadr = new TTask("gthadr","hadron propagator"); - TTask *gtmuon = new TTask("gtmuon","muon propagator"); - TTask *gtnino = new TTask("gtnino","geantino propagator"); - TTask *gtckov = new TTask("gtckov","Cherenkov light propagator"); - TTask *gthion = new TTask("gthion","heavy ion propagator"); - TTask *gustep = new TTask("gustep","Application step manager"); - TTask *gtmedi = new TTask("gtmedi","Geometry volume finder"); - gtrack->Add(gtgama); - gtrack->Add(gtelec); - gtrack->Add(gtneut); - gtrack->Add(gthadr); - gtrack->Add(gtmuon); - gtrack->Add(gtnino); - gtrack->Add(gtckov); - gtrack->Add(gthion); - gtrack->Add(gustep); - gtrack->Add(gtmedi); - TTask *gtnext = new TTask("gtnext","Geometry bounary manager"); - TTask *gpairg = new TTask("gpairg","Generate pair production"); - TTask *gcomp = new TTask("gcomp","Generate Compton scattering"); - TTask *gphot = new TTask("gphot","Generate photo effect"); - TTask *grayl = new TTask("grayl","Generate Rayleigh effect"); - TTask *gpfis = new TTask("gpfis","Generate photo fission"); - gtgama->Add(gtnext); - gtgama->Add(gpairg); - gtgama->Add(gcomp); - gtgama->Add(gphot); - gtgama->Add(grayl); - gtgama->Add(gpfis); - TTask *guswim = new TTask("guswim","magnetic field propagator"); - TTask *ggckov = new TTask("ggckov","Generate Cherenkov photons"); - TTask *gsync = new TTask("gsync","Generate synchrotron radiation"); - TTask *gmults = new TTask("gmults","Apply multiple scattering"); - TTask *gbreme = new TTask("gbreme","Generate Bremsstrahlung"); - TTask *gdray = new TTask("gdray","Generate delta ray"); - TTask *ganni = new TTask("ganni","Generate Positron annihilation"); - TTask *gannir = new TTask("gannir","Stopped tracks and annihilation at rest"); - gtelec->Add(gtnext); - gtelec->Add(guswim); - gtelec->Add(ggckov); - gtelec->Add(gsync); - gtelec->Add(gmults); - gtelec->Add(gbreme); - gtelec->Add(gdray); - gtelec->Add(ganni); - gtelec->Add(gannir); - TTask *guphad = new TTask("guphad","Hadronic cross-section manager"); - TTask *guhadr = new TTask("guhadr","Hadronic cascade manager"); - TTask *gdecay = new TTask("gdecay","Particle decay"); - gtneut->Add(gtnext); - gtneut->Add(guphad); - gtneut->Add(guhadr); - gtneut->Add(gdecay); - - gthadr->Add(gtnext); - gthadr->Add(guphad); - gthadr->Add(guswim); - gthadr->Add(ggckov); - gthadr->Add(gmults); - gthadr->Add(guhadr); - gthadr->Add(gdecay); - gthadr->Add(gdray); - TTask *gbremm = new TTask("gbremm","Generate Bremsstrahlung"); - TTask *gpairm = new TTask("gpairm","Generate Pair production"); - TTask *gmunu = new TTask("gmunu","Generate Nuclear interaction"); - gtmuon->Add(gtnext); - gtmuon->Add(guswim); - gtmuon->Add(ggckov); - gtmuon->Add(gmults); - gtmuon->Add(gbremm); - gtmuon->Add(gpairm); - gtmuon->Add(gdecay); - gtmuon->Add(gdray); - gtmuon->Add(gmunu); - gtmuon->Add(gdecay); - - gtnino->Add(gtnext); - TTask *glisur = new TTask("glisur","Photon is reflected"); - gtckov->Add(gtnext); - gtckov->Add(glisur); - - gthion->Add(gtnext); - gthion->Add(guswim); - gthion->Add(gmults); - gthion->Add(guhadr); - gthion->Add(gdray); - - new TBrowser; - gDebug = 2; -} diff --git a/tutorials/geodemo.C b/tutorials/geodemo.C deleted file mode 100644 index 81d3a65b3ab182fdd2a8c70df993bf1e3da0d01a..0000000000000000000000000000000000000000 --- a/tutorials/geodemo.C +++ /dev/null @@ -1,1793 +0,0 @@ -// Author: M.Gheata 06/16/03 -Bool_t comments = kTRUE; -Bool_t raytracing = kFALSE; -Bool_t rotate = kFALSE; -Bool_t axis = kTRUE; - -//______________________________________________________________________________ -void geodemo () -{ -// root[0] .x geodemo.C -// root[1] box(); //draw a TGeoBBox with description -// -// The box can be divided on one axis. -// -// root[2] box(iaxis, ndiv, start, step); -// -// where: iaxis = 1,2 or 3, meaning (X,Y,Z) or (Rxy, phi, Z) depending on shape type -// ndiv = number of slices -// start = starting position (must be in shape range) -// step = division step -// If step=0, all range of a given axis will be divided -// -// The same can procedure can be performed for visualizing other shapes. -// When drawing one shape after another, the old geometry/canvas will be deleted. - gSystem->Load("libGeom"); - gROOT->LoadMacro("$ROOTSYS/tutorials/rootgeom.C"); - bar = new TControlBar("vertical", "TGeo shapes",10,10); - bar->AddButton("How to run ","help()","Instructions for running this macro"); - bar->AddButton("ROOTgeom ","rgeom()","A simple geometry example."); - bar->AddButton("Arb8 ","arb8()","An arbitrary polyedron defined by vertices (max 8) sitting on 2 parallel planes"); - bar->AddButton("Box ","box()","A box shape."); - bar->AddButton("Composite ","composite()","A composite shape"); - bar->AddButton("Cone ","cone()","A conical tube"); - bar->AddButton("Cone segment","coneseg()","A conical segment"); - bar->AddButton("Cut tube ","ctub()","A cut tube segment"); - bar->AddButton("Eliptical tube","eltu()","An eliptical tube"); - bar->AddButton("Extruded poly","xtru()","A general polygone extrusion"); - bar->AddButton("Hyperboloid ","hype()","A hyperboloid"); - bar->AddButton("Paraboloid ","parab()","A paraboloid"); - bar->AddButton("Polycone ","pcon()","A polycone shape"); - bar->AddButton("Polygone ","pgon()","A polygone"); - bar->AddButton("Parallelipiped","para()","A parallelipiped shape"); - bar->AddButton("Sphere ","sphere()","A spherical sector"); - bar->AddButton("Trd1 ","trd1()","A trapezoid with dX varying with Z"); - bar->AddButton("Trd2 ","trd2()","A trapezoid with both dX and dY varying with Z"); - bar->AddButton("Trapezoid ","trap()","A general trapezoid"); - bar->AddButton("Torus ","torus()","A toroidal segment"); - bar->AddButton("Tube ","tube()","A tube with inner and outer radius"); - bar->AddButton("Tube segment","tubeseg()","A tube segment"); - bar->AddButton("Twisted trap","gtra()","A twisted trapezoid"); - bar->AddButton("Aligned (ideal)","ideal()","An ideal (un-aligned) geometry"); - bar->AddButton("Un-aligned","align()","Some alignment operation"); - bar->AddButton("RAY-TRACE ON/OFF","raytrace()","Toggle ray-tracing mode"); - bar->AddButton("COMMENTS ON/OFF","comments = !comments;","Toggle explanations pad ON/OFF"); - bar->AddButton("AXES ON/OFF","axes()","Toggle axes ON/OFF"); - bar->AddButton("AUTOROTATE ON/OFF","autorotate()","Toggle autorotation ON/OFF"); - bar->Show(); - gROOT->SaveContext(); - gRandom = new TRandom3(); -} - -//______________________________________________________________________________ -autorotate() -{ - rotate = !rotate; - if (!rotate) { - gROOT->SetInterrupt(kTRUE); - return; - } - if (!gPad) return; - TView *view = gPad->GetView(); - if (!view) return; - if (!gGeoManager) return; - TVirtualGeoPainter *painter = gGeoManager->GetGeomPainter(); - if (!painter) return; - Double_t longit = view->GetLongitude(); - Double_t lat = view->GetLatitude(); - Double_t psi = view->GetPsi(); - Double_t dphi = 1.; - Int_t i,irep; - TProcessEventTimer *timer = new TProcessEventTimer(5); - gROOT->SetInterrupt(kFALSE); - while (rotate) { - if (timer->ProcessEvents()) break; - if (gROOT->IsInterrupted()) break; - longit += dphi; - if (longit>360) longit -= 360.; - if (!gPad) { - rotate = kFALSE; - return; - } - view = gPad->GetView(); - if (!view) { - rotate = kFALSE; - return; - } - view->SetView(longit,view->GetLatitude(),view->GetPsi(),irep); - gPad->Modified(); - gPad->Update(); - } - delete timer; -} - -//______________________________________________________________________________ -void axes() -{ - axis = !axis; - if (!gPad) return; - TView *view = gPad->GetView(); - view->ShowAxis(); -} - -//______________________________________________________________________________ -void rgeom() -{ - gROOT->GetListOfCanvases()->Delete(); - rootgeom(); - Bool_t is_raytracing = gGeoManager->GetGeomPainter()->IsRaytracing(); - if (is_raytracing != raytracing) { - gGeoManager->GetTopVolume()->Draw(); - gGeoManager->GetGeomPainter()->SetRaytracing(raytracing); - gPad->Modified(); - gPad->Update(); - } -} - -//______________________________________________________________________________ -void box(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis<0 || iaxis>3) { - printf("Wrong division axis. Range is 1-3.\n"); - return; - } - TCanvas *c = new TCanvas("box shape", "A simple box", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("box", "poza1"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeBox("BOX",med, 20,30,40); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoBBox *box = (TGeoBBox*)(vol->GetShape()); - TText *text = pt->AddText("TGeoBBox - box class"); - text->SetTextColor(2); - AddText(pt,"fDX",box->GetDX(),"half length in X"); - AddText(pt,"fDY",box->GetDY(),"half length in Y"); - AddText(pt,"fDZ",box->GetDZ(),"half length in Z"); - AddText(pt,"fOrigin[0]",(box->GetOrigin())[0],"box origin on X"); - AddText(pt,"fOrigin[1]",(box->GetOrigin())[1],"box origin on Y"); - AddText(pt,"fOrigin[2]",(box->GetOrigin())[2],"box origin on Z"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: box(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be 1, 2 or 3 (X, Y, Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetTextSize(0.044); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->Draw(); -// SavePicture("box",c,vol,iaxis,step); - c->cd(1); - gROOT->SetInterrupt(kTRUE); -} - -//______________________________________________________________________________ -void para(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("para shape", "A parallelipiped", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("para", "poza1"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakePara("PARA",med, 20,30,40,30,15,30); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoPara *para = (TGeoPara*)(vol->GetShape()); - TText *text = pt->AddText("TGeoPara - parallelipiped class"); - text->SetTextColor(2); - AddText(pt,"fX",para->GetX(),"half length in X"); - AddText(pt,"fY",para->GetY(),"half length in Y"); - AddText(pt,"fZ",para->GetZ(),"half length in Z"); - AddText(pt,"fAlpha",para->GetAlpha(),"angle about Y of the Z bases"); - AddText(pt,"fTheta",para->GetTheta(),"inclination of para axis about Z"); - AddText(pt,"fPhi",para->GetPhi(),"phi angle of para axis"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: para(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be 1, 2 or 3 (X, Y, Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetTextSize(0.044); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->Draw(); - c->cd(1); -// SavePicture("para",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void tube(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis<0 || iaxis>3) { - printf("Wrong division axis. Range is 1-3.\n"); - return; - } - TCanvas *c = new TCanvas("tube shape", "A tube", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("tube", "poza2"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeTube("TUBE",med, 20,30,40); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); -// gGeoManager->SetNsegments(40); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoTube *tube = (TGeoTube*)(vol->GetShape()); - TText *text = pt->AddText("TGeoTube - tube class"); - text->SetTextColor(2); - AddText(pt,"fRmin",tube->GetRmin(),"minimum radius"); - AddText(pt,"fRmax",tube->GetRmax(),"maximum radius"); - AddText(pt,"fDZ", tube->GetDZ(), "half length in Z"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: tube(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be 1, 2 or 3 (Rxy, Phi, Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("tube",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void tubeseg(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis<0 || iaxis>3) { - printf("Wrong division axis. Range is 1-3.\n"); - return; - } - TCanvas *c = new TCanvas("tubeseg shape", "A tube segment ", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("tubeseg", "poza3"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeTubs("TUBESEG",med, 20,30,40,-30,270); - vol->SetLineColor(randomColor()); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - vol->SetLineWidth(2); - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); -// gGeoManager->SetNsegments(40); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoTubeSeg *tubeseg = (TGeoTubeSeg*)(vol->GetShape()); - TText *text = pt->AddText("TGeoTubeSeg - tube segment class"); - text->SetTextColor(2); - AddText(pt,"fRmin",tubeseg->GetRmin(),"minimum radius"); - AddText(pt,"fRmax",tubeseg->GetRmax(),"maximum radius"); - AddText(pt,"fDZ", tubeseg->GetDZ(), "half length in Z"); - AddText(pt,"fPhi1",tubeseg->GetPhi1(),"first phi limit"); - AddText(pt,"fPhi2",tubeseg->GetPhi2(),"second phi limit"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: tubeseg(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be 1, 2 or 3 (Rxy, Phi, Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("tubeseg",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void ctub(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis<0 || iaxis>2) { - printf("Wrong division axis. Range is 1-2.\n"); - return; - } - TCanvas *c = new TCanvas("ctub shape", "A cut tube segment ", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("ctub", "poza3"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - Double_t theta = 160.*TMath::Pi()/180.; - Double_t phi = 30.*TMath::Pi()/180.; - Double_t nlow[3]; - nlow[0] = TMath::Sin(theta)*TMath::Cos(phi); - nlow[1] = TMath::Sin(theta)*TMath::Sin(phi); - nlow[2] = TMath::Cos(theta); - theta = 20.*TMath::Pi()/180.; - phi = 60.*TMath::Pi()/180.; - Double_t nhi[3]; - nhi[0] = TMath::Sin(theta)*TMath::Cos(phi); - nhi[1] = TMath::Sin(theta)*TMath::Sin(phi); - nhi[2] = TMath::Cos(theta); - TGeoVolume *vol = gGeoManager->MakeCtub("CTUB",med, 20,30,40,-30,250, nlow[0], nlow[1], nlow[2], nhi[0],nhi[1],nhi[2]); - vol->SetLineColor(randomColor()); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - vol->SetLineWidth(2); - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); -// gGeoManager->SetNsegments(40); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoTubeSeg *tubeseg = (TGeoTubeSeg*)(vol->GetShape()); - TText *text = pt->AddText("TGeoTubeSeg - tube segment class"); - text->SetTextColor(2); - AddText(pt,"fRmin",tubeseg->GetRmin(),"minimum radius"); - AddText(pt,"fRmax",tubeseg->GetRmax(),"maximum radius"); - AddText(pt,"fDZ", tubeseg->GetDZ(), "half length in Z"); - AddText(pt,"fPhi1",tubeseg->GetPhi1(),"first phi limit"); - AddText(pt,"fPhi2",tubeseg->GetPhi2(),"second phi limit"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText(" "); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("tubeseg",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void cone(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis<0 || iaxis>3) { - printf("Wrong division axis. Range is 1-3.\n"); - return; - } - if (iaxis==1) { - printf("cannot divide cone on Rxy\n"); - return; - } - TCanvas *c = new TCanvas("cone shape", "A cone", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("cone", "poza4"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeCone("CONE",med, 40,10,20,35,45); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoCone *cone = (TGeoCone*)(vol->GetShape()); - TText *text = pt->AddText("TGeoCone - cone class"); - text->SetTextColor(2); - AddText(pt,"fDZ", cone->GetDZ(), "half length in Z"); - AddText(pt,"fRmin1",cone->GetRmin1(),"inner radius at -dz"); - AddText(pt,"fRmax1",cone->GetRmax1(),"outer radius at -dz"); - AddText(pt,"fRmin2",cone->GetRmin2(),"inner radius at +dz"); - AddText(pt,"fRmax2",cone->GetRmax2(),"outer radius at +dz"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: cone(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be 2 or 3 (Phi, Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("cone",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void coneseg(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis<0 || iaxis>3) { - printf("Wrong division axis. Range is 1-3.\n"); - return; - } - TCanvas *c = new TCanvas("coneseg shape", "A cone segment", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("coneseg", "poza5"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeCons("CONESEG",med, 40,30,40,10,20,-30,250); - vol->SetLineColor(randomColor()); -// vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoConeSeg *coneseg = (TGeoConeSeg*)(vol->GetShape()); - TText *text = pt->AddText("TGeoConeSeg - coneseg class"); - text->SetTextColor(2); - AddText(pt,"fDZ", coneseg->GetDZ(), "half length in Z"); - AddText(pt,"fRmin1",coneseg->GetRmin1(),"inner radius at -dz"); - AddText(pt,"fRmax1",coneseg->GetRmax1(),"outer radius at -dz"); - AddText(pt,"fRmin2",coneseg->GetRmin1(),"inner radius at +dz"); - AddText(pt,"fRmax2",coneseg->GetRmax1(),"outer radius at +dz"); - AddText(pt,"fPhi1",coneseg->GetPhi1(),"first phi limit"); - AddText(pt,"fPhi2",coneseg->GetPhi2(),"second phi limit"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: coneseg(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be 2 or 3 (Phi, Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("coneseg",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void eltu(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("eltu shape", "An Elliptical tube", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("eltu", "poza6"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeEltu("ELTU",med, 30,10,40); - vol->SetLineColor(randomColor()); -// vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoEltu *eltu = (TGeoEltu*)(vol->GetShape()); - TText *text = pt->AddText("TGeoEltu - eltu class"); - text->SetTextColor(2); - AddText(pt,"fA",eltu->GetA(), "semi-axis along x"); - AddText(pt,"fB",eltu->GetB(), "semi-axis along y"); - AddText(pt,"fDZ", eltu->GetDZ(), "half length in Z"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: eltu(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be 2 or 3 (Phi, Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("eltu",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void sphere(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis!=0) { - printf("Cannot divide spheres\n"); - return; - } - TCanvas *c = new TCanvas("Sphere shap", "A spherical sector", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("sphere", "poza7"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeSphere("SPHERE",med, 30,40,60,120,30,240); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoSphere *sphere = (TGeoSphere*)(vol->GetShape()); - TText *text = pt->AddText("TGeoSphere- sphere class"); - text->SetTextColor(2); - AddText(pt,"fRmin",sphere->GetRmin(),"inner radius"); - AddText(pt,"fRmax",sphere->GetRmax(),"outer radius"); - AddText(pt,"fTheta1",sphere->GetTheta1(),"lower theta limit"); - AddText(pt,"fTheta2",sphere->GetTheta2(),"higher theta limit"); - AddText(pt,"fPhi1",sphere->GetPhi1(),"lower phi limit"); - AddText(pt,"fPhi2",sphere->GetPhi2(),"higher phi limit"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText(" "); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("sphere",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void torus(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis!=0) { - printf("Cannot divide a torus\n"); - return; - } - TCanvas *c = new TCanvas("torus shape", "A toroidal segment", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("torus", "poza2"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeTorus("TORUS",med, 40,20,25,0,270); - vol->SetLineColor(randomColor()); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(2); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoTorus *tor = (TGeoTorus*)(vol->GetShape()); - TText *text = pt->AddText("TGeoTorus - torus class"); - text->SetTextColor(2); - AddText(pt,"fR",tor->GetR(),"radius of the ring"); - AddText(pt,"fRmin",tor->GetRmin(),"minimum radius"); - AddText(pt,"fRmax",tor->GetRmax(),"maximum radius"); - AddText(pt,"fPhi1", tor->GetPhi1(), "starting phi angle"); - AddText(pt,"fDphi", tor->GetDphi(), "phi range"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText(" "); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -} - -//______________________________________________________________________________ -void trd1(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis<0 || iaxis>3) { - printf("Wrong division axis. Range is 1-3.\n"); - return; - } - if (iaxis==1) { - printf("Cannot divide trd1 on X axis\n"); - return; - } - - TCanvas *c = new TCanvas("trd1 shape", "A trapezoid with dX varying", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("trd1", "poza8"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeTrd1("Trd1",med, 10,20,30,40); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoTrd1 *trd1 = (TGeoTrd1*)(vol->GetShape()); - TText *text = pt->AddText("TGeoTrd1 - Trd1 class"); - text->SetTextColor(2); - AddText(pt,"fDx1",trd1->GetDx1(),"half length in X at lower Z surface(-dz)"); - AddText(pt,"fDx2",trd1->GetDx2(),"half length in X at higher Z surface(+dz)"); - AddText(pt,"fDy",trd1->GetDy(),"half length in Y"); - AddText(pt,"fDz",trd1->GetDz(),"half length in Z"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: trd1(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be 2 or 3 (Y, Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("trd1",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void parab() -{ - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("parab shape", "A paraboloid segment", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("parab", "paraboloid"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeParaboloid("PARAB",med,0, 40, 50); - TGeoParaboloid *par = (TGeoParaboloid*)vol->GetShape(); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TText *text = pt->AddText("TGeoParaboloid - Paraboloid class"); - text->SetTextColor(2); - AddText(pt,"fRlo",par->GetRlo(),"radius at Z=-dz"); - AddText(pt,"fRhi",par->GetRhi(),"radius at Z=+dz"); - AddText(pt,"fDz",par->GetDz(),"half-length on Z axis"); - pt->AddText("----- A paraboloid is described by the equation:"); - pt->AddText("----- z = a*r*r + b; where: r = x*x + y*y"); - pt->AddText("----- Create with: TGeoParaboloid *parab = new TGeoParaboloid(rlo, rhi, dz);"); - pt->AddText("----- dz: half-length in Z (range from -dz to +dz"); - pt->AddText("----- rlo: radius at z=-dz given by: -dz = a*rlo*rlo + b"); - pt->AddText("----- rhi: radius at z=+dz given by: dz = a*rhi*rhi + b"); - pt->AddText("----- rlo != rhi; both >= 0"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -} - -//______________________________________________________________________________ -void hype() -{ - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("hype shape", "A hyperboloid", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("hype", "hyperboloid"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeHype("HYPE",med,10, 45 ,20,45,40); - TGeoHype *hype = (TGeoHype*)vol->GetShape(); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TText *text = pt->AddText("TGeoHype - Hyperboloid class"); - text->SetTextColor(2); - AddText(pt,"fRmin",hype->GetRmin(),"minimum inner radius"); - AddText(pt,"fStIn",hype->GetStIn(),"inner surface stereo angle [deg]"); - AddText(pt,"fRmax",hype->GetRmax(),"minimum outer radius"); - AddText(pt,"fStOut",hype->GetStOut(),"outer surface stereo angle [deg]"); - AddText(pt,"fDz",hype->GetDz(),"half-length on Z axis"); - pt->AddText("----- A hyperboloid is described by the equation:"); - pt->AddText("----- r^2 - (tan(stereo)*z)^2 = rmin^2; where: r = x*x + y*y"); - pt->AddText("----- Create with: TGeoHype *hype = new TGeoHype(rin, stin, rout, stout, dz);"); - pt->AddText("----- rin < rout; rout > 0"); - pt->AddText("----- rin = 0; stin > 0 => inner surface conical"); - pt->AddText("----- stin/stout = 0 => corresponding surface cyllindrical"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -} -//______________________________________________________________________________ -void pcon(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis<0 || iaxis>3) { - printf("Wrong division axis. Range is 1-3.\n"); - return; - } - if (iaxis==1) { - printf("Cannot divide pcon on Rxy\n"); - return; - } - TCanvas *c = new TCanvas("pcon shape", "A polycone", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("pcon", "poza10"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakePcon("PCON",med, -30.0,300,4); - TGeoPcon *pcon = (TGeoPcon*)(vol->GetShape()); - pcon->DefineSection(0,0,15,20); - pcon->DefineSection(1,20,15,20); - pcon->DefineSection(2,20,15,25); - pcon->DefineSection(3,50,15,20); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TText *text = pt->AddText("TGeoPcon - pcon class"); - text->SetTextColor(2); - AddText(pt,"fPhi1",pcon->GetPhi1(),"lower phi limit"); - AddText(pt,"fDphi",pcon->GetDphi(),"phi range"); - AddText(pt,"fNz",pcon->GetNz(),"number of z planes"); - for (Int_t j=0; j<pcon->GetNz(); j++) { - char line[128]; - sprintf(line, "fZ[%i]=%5.2f fRmin[%i]=%5.2f fRmax[%i]=%5.2f", - j,pcon->GetZ()[j],j,pcon->GetRmin()[j],j,pcon->GetRmax()[j]); - text = pt->AddText(line); - text->SetTextColor(4); - text->SetTextAlign(12); - } - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: pcon(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be 2 or 3 (Phi, Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("pcon",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void pgon(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis<0 || iaxis>3) { - printf("Wrong division axis. Range is 1-3.\n"); - return; - } - if (iaxis==1) { - printf("Cannot divide pgon on Rxy\n"); - return; - } - TCanvas *c = new TCanvas("pgon shape", "A polygone", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("pgon", "poza11"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,150,150,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakePgon("PGON",med, -45.0,270.0,4,4); - TGeoPgon *pgon = (TGeoPgon*)(vol->GetShape()); - pgon->DefineSection(0,-70,45,50); - pgon->DefineSection(1,0,35,40); - pgon->DefineSection(2,0,30,35); - pgon->DefineSection(3,70,90,100); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TText *text = pt->AddText("TGeoPgon - pgon class"); - text->SetTextColor(2); - AddText(pt,"fPhi1",pgon->GetPhi1(),"lower phi limit"); - AddText(pt,"fDphi",pgon->GetDphi(),"phi range"); - AddText(pt,"fNedges",pgon->GetNedges(),"number of edges"); - AddText(pt,"fNz",pgon->GetNz(),"number of z planes"); - for (Int_t j=0; j<pgon->GetNz(); j++) { - char line[128]; - sprintf(line, "fZ[%i]=%5.2f fRmin[%i]=%5.2f fRmax[%i]=%5.2f", - j,pgon->GetZ()[j],j,pgon->GetRmin()[j],j,pgon->GetRmax()[j]); - text = pt->AddText(line); - text->SetTextColor(4); - text->SetTextAlign(12); - } - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: pgon(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be 2 or 3 (Phi, Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("pgon",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void arb8(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis!=0) { - printf("Cannot divide arb8\n"); - return; - } - TCanvas *c = new TCanvas("arb8 shape", "An arbitrary polyedron", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("arb8", "poza12"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoArb8 *arb = new TGeoArb8(20); - arb->SetVertex(0,-30,-25); - arb->SetVertex(1,-25,25); - arb->SetVertex(2,5,25); - arb->SetVertex(3,25,-25); - arb->SetVertex(4,-28,-23); - arb->SetVertex(5,-23,27); - arb->SetVertex(6,-23,27); - arb->SetVertex(7,13,-27); - TGeoVolume *vol = new TGeoVolume("ARB8",arb,med); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TText *text = pt->AddText("TGeoArb8 - arb8 class"); - text->SetTextColor(2); - AddText(pt,"fDz",arb->GetDz(),"Z half length"); - char line[128]; - Double_t *vert = arb->GetVertices(); - text = pt->AddText("Vertices on lower Z plane:"); - text->SetTextColor(3); - Int_t i; - for (i=0; i<4; i++) { - sprintf(line," fXY[%d] = (%5.2f, %5.2f)", i, vert[2*i], vert[2*i+1]); - text = pt->AddText(line); - text->SetTextSize(0.043); - text->SetTextColor(4); - } - text = pt->AddText("Vertices on higher Z plane:"); - text->SetTextColor(3); - for (i=4; i<8; i++) { - sprintf(line," fXY[%d] = (%5.2f, %5.2f)", i, vert[2*i], vert[2*i+1]); - text = pt->AddText(line); - text->SetTextSize(0.043); - text->SetTextColor(4); - } - - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText(" "); - pt->SetTextSize(0.043); - pt->Draw(); - c->cd(1); -// SavePicture("arb8",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void trd2(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis && iaxis!=3) { - printf("Wrong division axis. Can divide only in Z (3)\n"); - return; - } - TCanvas *c = new TCanvas("trd2 shape", "A trapezoid with dX and dY varying with Z", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("trd2", "poza9"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeTrd2("Trd2",med, 10,20,30,10,40); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoTrd2 *trd2 = (TGeoTrd2*)(vol->GetShape()); - TText *text = pt->AddText("TGeoTrd2 - Trd2 class"); - text->SetTextColor(2); - AddText(pt,"fDx1",trd2->GetDx1(),"half length in X at lower Z surface(-dz)"); - AddText(pt,"fDx2",trd2->GetDx2(),"half length in X at higher Z surface(+dz)"); - AddText(pt,"fDy1",trd2->GetDy1(),"half length in Y at lower Z surface(-dz)"); - AddText(pt,"fDy2",trd2->GetDy2(),"half length in Y at higher Z surface(-dz)"); - AddText(pt,"fDz",trd2->GetDz(),"half length in Z"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: trd2(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be only 3 (Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("trd2",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void trap(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis && iaxis!=3) { - printf("Wrong division axis. Can divide only in Z (3)\n"); - return; - } - TCanvas *c = new TCanvas("trap shape", "A more general trapezoid", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("trap", "poza10"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeTrap("Trap",med, 30,15,30,20,10,15,0,20,10,15,0); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoTrap *trap = (TGeoTrap*)(vol->GetShape()); - TText *text = pt->AddText("TGeoTrap - Trapezoid class"); - text->SetTextColor(2); - AddText(pt,"fDz",trap->GetDz(),"half length in Z"); - AddText(pt,"fTheta",trap->GetTheta(),"theta angle of trapezoid axis"); - AddText(pt,"fPhi",trap->GetPhi(),"phi angle of trapezoid axis"); - AddText(pt,"fH1",trap->GetH1(),"half length in y at -fDz"); - AddText(pt,"fAlpha1",trap->GetAlpha1(),"angle between centers of x edges and y axis at -fDz"); - AddText(pt,"fBl1",trap->GetBl1(),"half length in x at -dZ and y=-fH1"); - AddText(pt,"fTl1",trap->GetTl1(),"half length in x at -dZ and y=+fH1"); - AddText(pt,"fH2",trap->GetH2(),"half length in y at +fDz"); - AddText(pt,"fBl2",trap->GetBl2(),"half length in x at +dZ and y=-fH1"); - AddText(pt,"fTl2",trap->GetTl2(),"half length in x at +dZ and y=+fH1"); - AddText(pt,"fAlpha2",trap->GetAlpha2(),"angle between centers of x edges and y axis at +fDz"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: trap(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be only 3 (Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("trap",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void gtra(Int_t iaxis=0, Int_t ndiv=8, Double_t start=0, Double_t step=0) -{ - gROOT->GetListOfCanvases()->Delete(); - if (iaxis && iaxis!=3) { - printf("Wrong division axis. Can divide only in Z (3)\n"); - return; - } - TCanvas *c = new TCanvas("gtra shape", "A twisted trapezoid", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("gtra", "poza11"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeGtra("Gtra",med, 30,15,30,30,20,10,15,0,20,10,15,0); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - if (iaxis) { - TGeoVolume *slice = vol->Divide("SLICE",iaxis,ndiv,start,step); - if (!slice) return; - slice->SetLineColor(randomColor()); - } - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TGeoGtra *trap = (TGeoGtra*)(vol->GetShape()); - TText *text = pt->AddText("TGeoGtra - Twisted trapezoid class"); - text->SetTextColor(2); - AddText(pt,"fDz",trap->GetDz(),"half length in Z"); - AddText(pt,"fTheta",trap->GetTheta(),"theta angle of trapezoid axis"); - AddText(pt,"fPhi",trap->GetPhi(),"phi angle of trapezoid axis"); - AddText(pt,"fTwist",trap->GetTwistAngle(), "twist angle"); - AddText(pt,"fH1",trap->GetH1(),"half length in y at -fDz"); - AddText(pt,"fAlpha1",trap->GetAlpha1(),"angle between centers of x edges and y axis at -fDz"); - AddText(pt,"fBl1",trap->GetBl1(),"half length in x at -dZ and y=-fH1"); - AddText(pt,"fTl1",trap->GetTl1(),"half length in x at -dZ and y=+fH1"); - AddText(pt,"fH2",trap->GetH2(),"half length in y at +fDz"); - AddText(pt,"fBl2",trap->GetBl2(),"half length in x at +dZ and y=-fH1"); - AddText(pt,"fTl2",trap->GetTl2(),"half length in x at +dZ and y=+fH1"); - AddText(pt,"fAlpha2",trap->GetAlpha2(),"angle between centers of x edges and y axis at +fDz"); - if (iaxis) AddText(pt, vol->GetFinder(), iaxis); - pt->AddText("Execute: gtra(iaxis, ndiv, start, step) to divide this."); - pt->AddText("----- IAXIS can be only 3 (Z)"); - pt->AddText("----- NDIV must be a positive integer"); - pt->AddText("----- START must be a valid axis offset within shape range on divided axis"); - pt->AddText("----- STEP is the division step. START+NDIV*STEP must be in range also"); - pt->AddText("----- If START and STEP are omitted, all range of the axis will be divided"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetAllWith("Execute","color",4); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -// SavePicture("gtra",c,vol,iaxis,step); -} - -//______________________________________________________________________________ -void xtru() -{ - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("gtra shape", "A twisted trapezoid", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("xtru", "poza12"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - TGeoVolume *vol = gGeoManager->MakeXtru("XTRU",med,4); - TGeoXtru *xtru = (TGeoXtru*)vol->GetShape(); - Double_t x[8] = {-30,-30,30,30,15,15,-15,-15}; - Double_t y[8] = {-30,30,30,-30,-30,15,15,-30}; - xtru->DefinePolygon(8,x,y); - xtru->DefineSection(0,-40, -20., 10., 1.5); - xtru->DefineSection(1, 10, 0., 0., 0.5); - xtru->DefineSection(2, 10, 0., 0., 0.7); - xtru->DefineSection(3, 40, 10., 20., 0.9); - vol->SetLineColor(randomColor()); - vol->SetLineWidth(2); - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TText *text = pt->AddText("TGeoXtru - Polygonal extrusion class"); - text->SetTextColor(2); - AddText(pt,"fNvert",xtru->GetNvert(),"number of polygone vertices"); - AddText(pt,"fNz",xtru->GetNz(),"number of Z sections"); - pt->AddText("----- Any Z section is an arbitrary polygone"); - pt->AddText("----- The shape can have an arbitrary number of Z sections, as for pcon/pgon"); - pt->AddText("----- Create with: TGeoXtru *xtru = new TGeoXtru(nz);"); - pt->AddText("----- Define the blueprint polygon :"); - pt->AddText("----- Double_t x[8] = {-30,-30,30,30,15,15,-15,-15};"); - pt->AddText("----- Double_t y[8] = {-30,30,30,-30,-30,15,15,-30};"); - pt->AddText("----- xtru->DefinePolygon(8,x,y);"); - pt->AddText("----- Define translations/scales of the blueprint for Z sections :"); - pt->AddText("----- xtru->DefineSection(i, Zsection, x0, y0, scale);"); - pt->AddText("----- Sections have to be defined in increasing Z order"); - pt->AddText("----- 2 sections can be defined at same Z (not for first/last sections)"); - pt->AddText(" "); - pt->SetAllWith("-----","color",2); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -} - -//______________________________________________________________________________ -void composite() -{ - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("composite shape", "A Boolean shape composition", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - if (gGeoManager) delete gGeoManager; - new TGeoManager("xtru", "poza12"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,100); - gGeoManager->SetTopVolume(top); - - // define shape components with names - TGeoPgon *pgon = new TGeoPgon("pg",0.,360.,6,2); - pgon->DefineSection(0,0,0,20); - pgon->DefineSection(1, 30,0,20); - - TGeoSphere *sph = new TGeoSphere("sph", 40., 45.); - // define named geometrical transformations with names - TGeoTranslation *tr = new TGeoTranslation(0., 0., 45.); - tr->SetName("tr"); - // register all used transformations - tr->RegisterYourself(); - // create the composite shape based on a Boolean expression - TGeoCompositeShape *cs = new TGeoCompositeShape("mir", "sph:tr*pg"); - - TGeoVolume *vol = new TGeoVolume("COMP",cs); - vol->SetLineColor(randomColor()); - top->AddNode(vol,1); - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(100); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TText *text = pt->AddText("TGeoCompositeShape - composite shape class"); - text->SetTextColor(2); - pt->AddText("----- Define the shape components and don't forget to name them"); - pt->AddText("----- Define geometrical transformations that apply to shape components"); - pt->AddText("----- Name all transformations and register them"); - pt->AddText("----- Define the composite shape based on a Boolean expression"); - pt->AddText(" TGeoCompositeShape(\"someName\", \"expression\")"); - pt->AddText("----- Expression is made of <shapeName:transfName> components related by Boolean operators"); - pt->AddText("----- Boolean operators can be: (+) union, (-) subtraction and (*) intersection"); - pt->AddText("----- Use paranthesys in the expression to force precedence"); - pt->AddText(" "); - pt->SetAllWith("-----","color",4); - pt->SetAllWith("-----","font",72); - pt->SetAllWith("-----","size",0.04); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -} - -//______________________________________________________________________________ -void ideal() -{ -// This is an ideal geometry. In real life, some geometry pieces are moved/rotated -// with respect to their ideal positions. This is called alignment. Alignment -// operations can be handled by TGeo starting from a CLOSED geometry (applied a posteriori) -// Alignment is handled by PHYSICAL NODES, representing an unique object in geometry. -// -// Creating physical nodes: -// 1. TGeoPhysicalNode *node = gGeoManager->MakePhysicalNode(const char *path) -// - creates a physical node represented by path -// - path can be : TOP_1/A_2/B_3 -// - B_3 is the 'final node' e.g. the logical node represented by this physical node -// 2. TGeoPhysicalNode *node = gGeoManager->MakePhysicalNode() -// - creates a physical node representing the current modeller state - -// Setting visualisation options for TGeoPhysicalNode *node: -// 1. node->SetVisibility(Bool_t flag); // set node visible(*) or invisible -// 2. node->SetIsVolAtt(Bool_t flag); // set line attributes to match the ones of the volumes in the branch -// - default - TRUE -// - when called with FALSE - the attributes defined for the physical node will be taken -// node->SetLineColor(color); -// node->SetLineWidth(width); -// node->SetLineStyle(style); -// 3. node->SetVisibleFull(Bool_t flag); // not only last node in the branch is visible (default) -// -// Activating/desactivating physical nodes drawing - not needed in case of alignment - -// Aligning physical nodes -//========================== -// node->Align(TGeoMatrix *newmat, TGeoShape *newshape, Bool_t check=kFALSE); -// newmat = new matrix to replace final node LOCAL matrix -// newshape = new shape to replace final node shape -// check = optional check if the new aligned node is overlapping -// gGeoManager->SetDrawExtraPaths(Bool_t flag) - gROOT->GetListOfCanvases()->Delete(); - TCanvas *c = new TCanvas("composite shape", "A Boolean shape composition", 700,1000); - if (comments) { - c->Divide(1,2,0,0); - c->cd(2); - gPad->SetPad(0,0,1,0.4); - c->cd(1); - gPad->SetPad(0,0.4,1,1); - } - gSystem->Load("libGeom"); - if (gGeoManager) delete gGeoManager; - new TGeoManager("alignment", "Ideal geometry"); - TGeoMaterial *mat = new TGeoMaterial("Al", 26.98,13,2.7); - TGeoMedium *med = new TGeoMedium("MED",1,mat); - TGeoVolume *top = gGeoManager->MakeBox("TOP",med,100,100,10); - gGeoManager->SetTopVolume(top); - TGeoVolume *slicex = top->Divide("SX",1,10,-100,10); - TGeoVolume *slicey = slicex->Divide("SY",2,10,-100,10); - TGeoVolume *vol = gGeoManager->MakePgon("CELL",med,0.,360.,6,2); - TGeoPgon *pgon = (TGeoPgon*)(vol->GetShape()); - pgon->DefineSection(0,-5,0.,2.); - pgon->DefineSection(1,5,0.,2.); - vol->SetLineColor(randomColor()); - slicey->AddNode(vol,1); - gGeoManager->CloseGeometry(); - gGeoManager->SetNsegments(80); - top->Draw(); - MakePicture(); - if (!comments) return; - c->cd(2); - TPaveText *pt = new TPaveText(0.01,0.01,0.99,0.99); - pt->SetLineColor(1); - TText *text = pt->AddText("Ideal / Aligned geometry"); - text->SetTextColor(2); - pt->AddText("-- Create physical nodes for the objects you want to align"); - pt->AddText("-- You must start from a valid CLOSED geometry"); - pt->AddText(" TGeoPhysicalNode *node = gGeoManager->MakePhysicalNode(const char *path)"); - pt->AddText(" + creates a physical node represented by path, e.g. TOP_1/A_2/B_3"); - pt->AddText(" node->Align(TGeoMatrix *newmat, TGeoShape *newshape, Bool_t check=kFALSE)"); - pt->AddText(" + newmat = new matrix to replace final node LOCAL matrix"); - pt->AddText(" + newshape = new shape to replace final node shape"); - pt->AddText(" + check = optional check if the new aligned node is overlapping"); - pt->AddText(" "); - pt->SetAllWith("--","color",4); - pt->SetAllWith("--","font",72); - pt->SetAllWith("--","size",0.04); - pt->SetAllWith("+","color",2); - pt->SetAllWith("+","font",72); - pt->SetAllWith("+","size",0.04); - pt->SetTextAlign(12); - pt->SetTextSize(0.044); - pt->Draw(); - c->cd(1); -} - -//______________________________________________________________________________ -void align() -{ - if (!gGeoManager) return; - if (strcmp(gGeoManager->GetName(),"alignment")) { - printf("Click: <Ideal geometry> first\n"); - return; - } - char name[30]; - TObjArray *list = gGeoManager->GetListOfPhysicalNodes(); - TGeoPhysicalNode *node; - TGeoTranslation *tr; - for (Int_t i=1; i<=10; i++) { - for (Int_t j=1; j<=10; j++) { - node = 0; - sprintf(name, "TOP_1/SX_%d/SY_%d/CELL_1",i,j); - if (list) node = (TGeoPhysicalNode*)list->At(10*(i-1)+j-1); - if (!node) node = gGeoManager->MakePhysicalNode(name); - if (node->IsAligned()) { - tr = (TGeoTranslation*)node->GetNode()->GetMatrix(); - tr->SetTranslation(2.*gRandom->Rndm(), 2.*gRandom->Rndm(),0.); - } else { - tr = new TGeoTranslation(2.*gRandom->Rndm(), 2.*gRandom->Rndm(),0.); - } - node->Align(tr); - } - } - if (gPad) { - gPad->Modified(); - gPad->Update(); - } -} - -//______________________________________________________________________________ -void MakePicture() -{ - TView *view = gPad->GetView(); - if (view) { -// view->RotateView(248,66); - if (axis) view->ShowAxis(); - } - Bool_t is_raytracing = gGeoManager->GetGeomPainter()->IsRaytracing(); - if (is_raytracing != raytracing) { - gGeoManager->GetGeomPainter()->SetRaytracing(raytracing); - gPad->Modified(); - gPad->Update(); - } -} - -//______________________________________________________________________________ -void AddText(TPaveText *pave, const char *datamember, Double_t value, const char *comment) -{ - char line[128]; - for (Int_t i=0; i<128; i++) line[i] = ' '; - memcpy(&line[0], datamember, strlen(datamember)); - line[10] = '='; - char number[20]; - sprintf(number, "%5.2f", value); - memcpy(&line[12], number, strlen(number)); - line[26] = '='; - line[27] = '>'; - sprintf(&line[30], "%s",comment); - TText *text = pave->AddText(line); -// text->SetTextColor(4); - text->SetTextAlign(12);//12 -} - -//______________________________________________________________________________ -void AddText(TPaveText *pave, const char *datamember, Int_t value, const char *comment) -{ - char line[128]; - for (Int_t i=0; i<128; i++) line[i] = ' '; - memcpy(&line[0], datamember, strlen(datamember)); - line[10] = '='; - char number[20]; - sprintf(number, "%5i", value); - memcpy(&line[12], number, strlen(number)); - line[26] = '='; - line[27] = '>'; - sprintf(&line[30], "%s",comment); - TText *text = pave->AddText(line); -// text->SetTextColor(4); - text->SetTextAlign(12); -} - -//______________________________________________________________________________ -void AddText(TPaveText *pave, TObject *pf, Int_t iaxis) -{ - char line[128]; - TGeoPatternFinder *finder = (TGeoPatternFinder*)pf; - if (!pave || !pf) return; - for (Int_t i=0; i<128; i++) line[i] = ' '; - TGeoVolume *volume = finder->GetVolume(); - TGeoShape *sh = volume->GetShape(); - sprintf(line, "Division of %s on axis %d (%s)", volume->GetName(), iaxis,sh->GetAxisName(iaxis)); - TText *text = pave->AddText(line); - text->SetTextColor(3); - text->SetTextAlign(12); - AddText(pave, "fNdiv",finder->GetNdiv(),"number of divisions"); - AddText(pave, "fStart",finder->GetStart(),"start divisioning position"); - AddText(pave, "fStep",finder->GetStep(),"division step"); -} - -//______________________________________________________________________________ -void SavePicture(const char *name, TObject *objcanvas, TObject *objvol, Double_t iaxis, Double_t step) -{ - TCanvas *c = (TCanvas*)objcanvas; - TGeoVolume *vol = (TGeoVolume*)objvol; - if (!c || !vol) return; - c->cd(); - char fname[32]; - switch (iaxis) { - case 0: - sprintf(fname,"t_%s.gif",name); - break; - default: - if (step==0) sprintf(fname,"t_%sdiv%s.gif", name,vol->GetShape()->GetAxisName(iaxis)); - else sprintf(fname,"t_%sdivstep%s.gif", name,vol->GetShape()->GetAxisName(iaxis)); - } - c->Print(fname); -} - -//______________________________________________________________________________ -Int_t randomColor() -{ - Double_t color = 7.*gRandom->Rndm(); - return (1+Int_t(color)); -} - -//______________________________________________________________________________ -void raytrace() { - raytracing = !raytracing; - if (!gGeoManager) return; - TVirtualGeoPainter *painter = gGeoManager->GetGeomPainter(); - if (!painter) return; - painter->SetRaytracing(raytracing); - if (!gPad) return; - gPad->Modified(); - gPad->Update(); -} - -//______________________________________________________________________________ -void help() { - // - - new TCanvas("chelp","Help to run demos",200,10,700,600); - - welcome = new TPaveText(.1,.8,.9,.97); - welcome->AddText("Welcome to the new geometry package"); - welcome->SetTextFont(32); - welcome->SetTextColor(4); - welcome->SetFillColor(24); - welcome->Draw(); - - hdemo = new TPaveText(.05,.05,.95,.7); - hdemo->SetTextAlign(12); - hdemo->SetTextFont(52); - hdemo->AddText("- Demo for building TGeo basic shapes and simple geometry. Shape parameters are"); - hdemo->AddText(" displayed in the right pad"); - hdemo->AddText("- Click left mouse button to execute one demo"); - hdemo->AddText("- While pointing the mouse to the pad containing the geometry, do:"); - hdemo->AddText("- .... click-and-move to rotate"); - hdemo->AddText("- .... press j/k to zoom/unzoom"); - hdemo->AddText("- .... press l/h/u/i to move the view center arround"); - hdemo->AddText("- Click Ray-trace ON/OFF to toggle ray-tracing"); - hdemo->AddText("- Use <View with x3d> from the <View> menu to get an x3d view"); - hdemo->AddText("- .... same methods to rotate/zoom/move the view"); - hdemo->AddText("- Execute box(1,8) to divide a box in 8 equal slices along X"); - hdemo->AddText("- Most shapes can be divided on X,Y,Z,Rxy or Phi :"); - hdemo->AddText("- .... root[0] <shape>(IAXIS, NDIV, START, STEP);"); - hdemo->AddText(" .... IAXIS = 1,2,3 meaning (X,Y,Z) or (Rxy, Phi, Z)"); - hdemo->AddText(" .... NDIV = number of slices"); - hdemo->AddText(" .... START = start slicing position"); - hdemo->AddText(" .... STEP = division step"); - hdemo->AddText("- Click Comments ON/OFF to toggle comments"); - hdemo->AddText("- Click Ideal/Align geometry to see how alignment works"); - hdemo->AddText(" "); - hdemo->SetAllWith("....","color",2); - hdemo->SetAllWith("....","font",72); - hdemo->SetAllWith("....","size",0.03); - - hdemo->Draw(); -} diff --git a/tutorials/geomAlice.C b/tutorials/geomAlice.C deleted file mode 100644 index 0280aada633e01e5543f32f36f7962284049ccce..0000000000000000000000000000000000000000 --- a/tutorials/geomAlice.C +++ /dev/null @@ -1,40 +0,0 @@ -//script drawing a detector geometry (here ALICE) -//by default the geometry is drawn using the GL viewer -//Using the TBrowser, you can select other components -//if the file containing the geometry is not found in the local -//directory, it is automatically read from the ROOT web site. -// Author: Rene Brun - -void geomAlice() -{ - const char *fname = "alice.root"; - if (!gSystem->AccessPathName(fname)) { - TGeoManager::Import(fname); - } else { - printf("accessing %s file from http://root.cern.ch/files\n",fname); - TGeoManager::Import(Form("http://root.cern.ch/files/%s",fname)); - } - //gGeoManager->DefaultColors(); - gGeoManager->GetVolume("HUFL")->InvisibleAll(); - gGeoManager->GetVolume("HUWA")->InvisibleAll(); - gGeoManager->GetVolume("ITSV")->InvisibleAll(); - gGeoManager->GetVolume("ZDC")->InvisibleAll(); - gGeoManager->GetVolume("ZEM")->InvisibleAll(); - gGeoManager->GetVolume("XEN1")->InvisibleAll(); - gGeoManager->GetVolume("HBW1")->InvisibleAll(); - gGeoManager->GetVolume("HHW1")->InvisibleAll(); - gGeoManager->GetVolume("HHW3")->InvisibleAll(); - gGeoManager->GetVolume("HHW2")->InvisibleAll(); - gGeoManager->GetVolume("HHF1")->InvisibleAll(); - gGeoManager->GetVolume("HHF2")->InvisibleAll(); - gGeoManager->GetVolume("HPIL")->InvisibleAll(); - gGeoManager->GetVolume("HMBS")->InvisibleAll(); - gGeoManager->GetVolume("HHC1")->InvisibleAll(); - gGeoManager->GetVolume("L3MO")->InvisibleAll(); - gGeoManager->GetVolume("DY1")->SetTransparency(90); - gGeoManager->GetVolume("DY2")->SetTransparency(90); - gGeoManager->GetVolume("DY11")->SetTransparency(70); - gGeoManager->GetVolume("DY22")->SetTransparency(70); - gGeoManager->GetVolume("ALIC")->Draw("ogl"); - new TBrowser; -} diff --git a/tutorials/geomAlice_itsv.C b/tutorials/geomAlice_itsv.C deleted file mode 100644 index 41f7a07d801a9d48d48432944e67db3d85660c31..0000000000000000000000000000000000000000 --- a/tutorials/geomAlice_itsv.C +++ /dev/null @@ -1,32 +0,0 @@ -//script drawing a detector geometry (here ITSV from Alice) -//by default the geometry is drawn using the GL viewer -//Using the TBrowser, you can select other components -//if the file containing the geometry is not found in the local -//directory, it is automatically read from the ROOT web site. -// Author: Rene Brun - -void geomAlice_itsv() { - const char *fname = "alice.root"; - if (!gSystem->AccessPathName(fname)) { - TGeoManager::Import(fname); - } else { - printf("accessing %s file from http://root.cern.ch/files\n",fname); - TGeoManager::Import(Form("http://root.cern.ch/files/%s",fname)); - } - //gGeoManager->DefaultColors(); - gGeoManager->GetVolume("IT56")->InvisibleAll(); - gGeoManager->GetVolume("I018")->InvisibleAll(); - gGeoManager->GetVolume("I090")->InvisibleAll(); - gGeoManager->GetVolume("I093")->InvisibleAll(); - gGeoManager->GetVolume("I099")->InvisibleAll(); - gGeoManager->GetVolume("I200")->InvisibleAll(); - gGeoManager->GetVolume("IC01")->InvisibleAll(); - gGeoManager->GetVolume("IC02")->InvisibleAll(); - gGeoManager->GetVolume("I651")->InvisibleAll(); - gGeoManager->GetVolume("ICY1")->SetTransparency(90); - gGeoManager->GetVolume("ICY2")->SetTransparency(90); - gGeoManager->GetVolume("I215")->SetTransparency(50); - gGeoManager->GetVolume("I212")->SetTransparency(50); - gGeoManager->GetVolume("ITSV")->Draw("ogl"); - new TBrowser; -} diff --git a/tutorials/geomAtlas.C b/tutorials/geomAtlas.C deleted file mode 100644 index 0944a4cdafabaf4cb09c7695c210ed8d258b8e68..0000000000000000000000000000000000000000 --- a/tutorials/geomAtlas.C +++ /dev/null @@ -1,21 +0,0 @@ -//script drawing a detector geometry (here ATLAS) -//by default the geometry is drawn using the GL viewer -//Using the TBrowser, you can select other components -//if the file containing the geometry is not found in the local -//directory, it is automatically read from the ROOT web site. -// Author: Rene Brun - -void geomAtlas() { - const char *fname = "atlas.root"; - if (!gSystem->AccessPathName(fname)) { - TGeoManager::Import(fname); - } else { - printf("accessing %s file from http://root.cern.ch/files\n",fname); - TGeoManager::Import(Form("http://root.cern.ch/files/%s",fname)); - } - gGeoManager->DefaultColors(); - gGeoManager->SetMaxVisNodes(5000); - //gGeoManager->SetVisLevel(4); - gGeoManager->GetVolume("ATLS")->Draw("ogl"); - new TBrowser; -} diff --git a/tutorials/geomBrahms.C b/tutorials/geomBrahms.C deleted file mode 100644 index 1a56e56f75be3e69ca8b72f7f91f59538f3550b2..0000000000000000000000000000000000000000 --- a/tutorials/geomBrahms.C +++ /dev/null @@ -1,18 +0,0 @@ -//script drawing a detector geometry (here BRAHMS) -//by default the geometry is drawn using the GL viewer -//Using the TBrowser, you can select other components -//if the file containing the geometry is not found in the local -//directory, it is automatically read from the ROOT web site. -// Author: Rene Brun - -void geomBrahms() { - const char *fname = "brahms.root"; - if (!gSystem->AccessPathName(fname)) { - TGeoManager::Import(fname); - } else { - printf("accessing %s file from http://root.cern.ch/files\n",fname); - TGeoManager::Import(Form("http://root.cern.ch/files/%s",fname)); - } - gGeoManager->GetVolume("CAVE")->Draw("ogl"); - new TBrowser; -} diff --git a/tutorials/geometry.C b/tutorials/geometry.C deleted file mode 100644 index 7f524680973fa757eedb691d32de039a26a13915..0000000000000000000000000000000000000000 --- a/tutorials/geometry.C +++ /dev/null @@ -1,5 +0,0 @@ -{ - gROOT->Macro("na49.C"); - gROOT->Macro("na49visible.C"); - gROOT->Macro("na49geomfile.C"); -} diff --git a/tutorials/geometry.py b/tutorials/geometry.py deleted file mode 100644 index 8b0143a97a4aaa45ce49323d4bb8ed541d1e7ef7..0000000000000000000000000000000000000000 --- a/tutorials/geometry.py +++ /dev/null @@ -1,9 +0,0 @@ -import ROOT - - -ROOT.gROOT.Reset() - -# the na49.C file was generated, so no python conversion is provided -ROOT.gROOT.Macro( 'na49.C' ) -execfile( 'na49visible.py' ) -execfile( 'na49geomfile.py' ) diff --git a/tutorials/gerrors.C b/tutorials/gerrors.C deleted file mode 100644 index 76b85d4094304bcadddd6bb2fbccc1aa02f60443..0000000000000000000000000000000000000000 --- a/tutorials/gerrors.C +++ /dev/null @@ -1,25 +0,0 @@ -{ - // - // To see the output of this macro, click begin_html <a href="gif/gerrors.gif">here</a>. end_html - // - gROOT->Reset(); - c1 = new TCanvas("c1","A Simple Graph with error bars",200,10,700,500); - - c1->SetFillColor(42); - c1->SetGrid(); - c1->GetFrame()->SetFillColor(21); - c1->GetFrame()->SetBorderSize(12); - - Int_t n = 10; - Float_t x[n] = {-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95}; - Float_t y[n] = {1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1}; - Float_t ex[n] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05}; - Float_t ey[n] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8}; - gr = new TGraphErrors(n,x,y,ex,ey); - gr->SetTitle("TGraphErrors Example"); - gr->SetMarkerColor(4); - gr->SetMarkerStyle(21); - gr->Draw("ALP"); - - c1->Update(); -} diff --git a/tutorials/gerrors.py b/tutorials/gerrors.py deleted file mode 100755 index a465d5f26dc4ca3f9002e4ddbc7a775eaf044d1f..0000000000000000000000000000000000000000 --- a/tutorials/gerrors.py +++ /dev/null @@ -1,31 +0,0 @@ -# -# To see the output of this macro, click begin_html <a href="gif/gerrors.gif">here</a>. end_html -# - -from ROOT import TCanvas, TGraphErrors -from ROOT import gROOT -from array import array - - -gROOT.Reset() - -c1 = TCanvas( 'c1', 'A Simple Graph with error bars', 200, 10, 700, 500 ) - -c1.SetFillColor( 42 ) -c1.SetGrid() -c1.GetFrame().SetFillColor( 21 ) -c1.GetFrame().SetBorderSize( 12 ) - -n = 10; -x = array( 'f', [ -0.22, 0.05, 0.25, 0.35, 0.5, 0.61, 0.7, 0.85, 0.89, 0.95 ] ) -ex = array( 'f', [ 0.05, 0.1, 0.07, 0.07, 0.04, 0.05, 0.06, 0.07, 0.08, 0.05 ] ) -y = array( 'f', [ 1, 2.9, 5.6, 7.4, 9.0, 9.6, 8.7, 6.3, 4.5, 1 ] ) -ey = array( 'f', [ 0.8, 0.7, 0.6, 0.5, 0.4, 0.4, 0.5, 0.6, 0.7, 0.8 ] ) - -gr = TGraphErrors( n, x, y, ex, ey ) -gr.SetTitle( 'TGraphErrors Example' ) -gr.SetMarkerColor( 4 ) -gr.SetMarkerStyle( 21 ) -gr.Draw( 'ALP' ) - -c1.Update() diff --git a/tutorials/gerrors2.C b/tutorials/gerrors2.C deleted file mode 100644 index 5ee7b44d92953cf758d90a58d284e1d332891e4f..0000000000000000000000000000000000000000 --- a/tutorials/gerrors2.C +++ /dev/null @@ -1,38 +0,0 @@ -{ - // - // To see the output of this macro, click begin_html <a href="gif/gerrors2.gif">here</a>. end_html - // - gROOT->Reset(); - c1 = new TCanvas("c1","gerrors2",200,10,700,500); - c1->SetFillColor(42); - c1->SetGrid(); - - // draw a frame to define the range - TH1F *hr = c1->DrawFrame(-0.4,0,1.2,12); - hr->SetXTitle("X title"); - hr->SetYTitle("Y title"); - c1->GetFrame()->SetFillColor(21); - c1->GetFrame()->SetBorderSize(12); - - // create first graph - Int_t n1 = 10; - Double_t x1[] = {-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95}; - Double_t y1[] = {1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1}; - Double_t ex1[] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05}; - Double_t ey1[] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8}; - gr1 = new TGraphErrors(n1,x1,y1,ex1,ey1); - gr1->SetMarkerColor(kBlue); - gr1->SetMarkerStyle(21); - gr1->Draw("LP"); - - // create second graph - Int_t n2 = 10; - Float_t x2[] = {-0.28, 0.005, 0.19, 0.29, 0.45, 0.56,0.65,0.80,0.90,1.01}; - Float_t y2[] = {0.82,3.86,7,9,10,10.55,9.64,7.26,5.42,2}; - Float_t ex2[] = {.04,.12,.08,.06,.05,.04,.07,.06,.08,.04}; - Float_t ey2[] = {.6,.8,.7,.4,.3,.3,.4,.5,.6,.7}; - gr2 = new TGraphErrors(n2,x2,y2,ex2,ey2); - gr2->SetMarkerColor(kRed); - gr2->SetMarkerStyle(20); - gr2->Draw("LP"); -} diff --git a/tutorials/glViewerExercise.C b/tutorials/glViewerExercise.C deleted file mode 100644 index 5eec6f37d64da9355d8dcca6f9f5332fe9fdeea3..0000000000000000000000000000000000000000 --- a/tutorials/glViewerExercise.C +++ /dev/null @@ -1,149 +0,0 @@ -//script showing how to use the GL viewer API to animate a picture -//Author: Richard maunder - -#include "TGLViewer.h" -#include "TTimer.h" -#include "TRandom.h" -#include "TVirtualPad.h" - -TGLViewer::ECameraType camera; -TTimer timer(50); -TRandom randGen(0); - -void AnimatePerspectiveCamera() -{ - static Double_t fov = 50.0; - static Double_t dolly = 1500.0; - static Double_t center[3] = {-164.0, -164.0, -180.0}; - static Double_t hRotate = 0.0; - static Double_t vRotate = 0.0; - - static Double_t fovStep = randGen.Rndm()*5.0 - 2.5; - static Double_t dollyStep = randGen.Rndm()*10.0 - 5.0; - static Double_t centerStep[3] = {randGen.Rndm()*20.0 - 10.0, - randGen.Rndm()*20.0 - 10.0, - randGen.Rndm()*20.0 - 10.0}; - static Double_t hRotateStep = randGen.Rndm()*10.0 - 5.0; - static Double_t vRotateStep = randGen.Rndm()*10.0 - 5.0; - - fov += fovStep; - dolly += dollyStep; - center[0] += centerStep[0]; - center[1] += centerStep[1]; - center[2] += centerStep[2]; - hRotate += hRotateStep; - vRotate += vRotateStep; - - if (vRotate >= 90.0 || vRotate <= -90.0) - { - vRotateStep = -vRotateStep; - } - if (dolly >= 2000.0 || dolly <= 1000.0) { - dollyStep = -dollyStep; - } - if (fov > 170.0 || fov < 1.0) { - fovStep = - fovStep; - } - TGLViewer * v = (TGLViewer *)gPad->GetViewer3D(); - - /* - void SetPerspectiveCamera(ECameraType camera, Double_t fov, Double_t dolly, - Double_t center[3], Double_t hRotate, Double_t vRotate);*/ - v->SetPerspectiveCamera(camera, fov, dolly, center, hRotate, vRotate); -} - -void AnimateOrthographicCamera() -{ - static Double_t left = -100.0; - static Double_t right = 100.0; - static Double_t top = 100.0; - static Double_t bottom = -100.0; - - static Double_t leftStep = randGen.Rndm()*40.0 - 10.0; - static Double_t rightStep = randGen.Rndm()*20.0 - 10.0; - static Double_t topStep = randGen.Rndm()*40.0 - 10.0; - static Double_t bottomStep = randGen.Rndm()*20.0 -10.0; - - left += leftStep; - right += rightStep; - top += topStep; - bottom += bottomStep; - - if (left >= 0.0 || left <= -500.0) { - leftStep = -leftStep; - } - if (right >= 500.0 || right <= 0.0) { - rightStep = -rightStep; - } - if (top >= 500.0 || top <= 0.0) { - topStep = -topStep; - } - if (bottom >= 0.0 || bottom <= -500.0) { - bottomStep = -bottomStep; - } - - TGLViewer * v = (TGLViewer *)gPad->GetViewer3D(); - - /* - void SetOrthoCamera(ECameraType camera, Double_t left, Double_t right, Double_t top, Double_t bottom); */ - v->SetOrthoCamera(camera, left, right, top, bottom); -} - -void glViewerExercise() -{ - gROOT->ProcessLine(".x nucleus.C"); - TGLViewer * v = (TGLViewer *)gPad->GetViewer3D(); - - // Random draw style - Int_t style = randGen.Integer(3); - switch (style) { - case 0: v->SetDrawStyle(TGLDrawFlags::kFill); break; - case 1: v->SetDrawStyle(TGLDrawFlags::kOutline); break; - case 2: v->SetDrawStyle(TGLDrawFlags::kWireFrame); break; - } - - // Clipping setup - something like this: - /* - Double_t planeEq[4] = { 0.5, 1.0, -1.0, 2.0 }; - v->SetClipState(TGLViewer::kClipPlane, planeEq); - v->SetCurrentClip(TGLViewer::kClipPlane, kTRUE); - */ - - // Guides - something like this: - /* - Double_t refPos[3] = { 50.0, 60.0, 100.0 }; - v->SetGuideState(TGLViewer::kAxesEdge, kTRUE, refPos); - */ - - // Lights - turn some off randomly - if (randGen.Integer(2) == 0) { - v->SetLight(TGLViewer::kLightLeft, kFALSE); - } - if (randGen.Integer(2) == 0) { - v->SetLight(TGLViewer::kLightRight, kFALSE); - } - if (randGen.Integer(2) == 0) { - v->SetLight(TGLViewer::kLightTop, kFALSE); - } - if (randGen.Integer(2) == 0) { - v->SetLight(TGLViewer::kLightBottom, kFALSE); - } - - // Random camera type - /* - enum ECameraType { kCameraPerspXOZ, kCameraPerspYOZ, kCameraPerspXOY, - kCameraOrthoXOY, kCameraOrthoXOZ, kCameraOrthoZOY };*/ - Int_t cam = randGen.Integer(6); - camera = (TGLViewer::ECameraType)cam; - v->SetCurrentCamera(camera); - - // Now animate the camera - if (camera <3) { - timer.SetCommand("AnimatePerspectiveCamera()"); - } else { - timer.SetCommand("AnimateOrthographicCamera()"); - } - timer.TurnOn(); -} - - diff --git a/tutorials/glViewerLOD.C b/tutorials/glViewerLOD.C deleted file mode 100644 index 29f4deb9499378dd71083baa0960ea0afc219719..0000000000000000000000000000000000000000 --- a/tutorials/glViewerLOD.C +++ /dev/null @@ -1,123 +0,0 @@ -void glViewerLOD(Int_t reqNodes = 1000, Bool_t randomDist = kTRUE, Bool_t reqSpheres = kTRUE, Bool_t reqTubes = kTRUE) -{ - TGeoManager * geom = new TGeoManager("LODTest", "GL viewer LOD test"); - geom->SetNsegments(4); // Doesn't matter keep low - TGeoMaterial *matEmptySpace = new TGeoMaterial("EmptySpace", 0, 0, 0); - TGeoMaterial *matSolid = new TGeoMaterial("Solid" , .938, 1., 10000.); - - TGeoMedium *medEmptySpace = new TGeoMedium("Empty", 1, matEmptySpace); - TGeoMedium *medSolid = new TGeoMedium("Solid", 1, matSolid); - - Double_t sizeBase = 20.0; - Double_t worldRadius; - if (randomDist) { - worldRadius = pow(reqNodes,.5)*sizeBase; - } else { - worldRadius = pow(reqNodes,.3)*sizeBase; - } - - TGeoVolume *top = geom->MakeBox("WORLD", medEmptySpace, worldRadius, worldRadius, worldRadius); - geom->SetTopVolume(top); - - gRandom->SetSeed(); - - // Create random number of unique sphere shapes - up to 25% of total placed sphere requested - UInt_t volumeCount = gRandom->Integer(reqNodes/4)+1; - TGeoVolume ** volumes = new TGeoVolume[volumeCount]; - TGeoVolume * volume; - - Double_t dummy; - - for (UInt_t i = 0; i < volumeCount; i++) { - char name[128]; - sprintf(name, "Volume_%d", i); - - // Random volume shape - UInt_t type = gRandom->Integer((reqSpheres+reqTubes)*3); - if (!reqSpheres) type += 3; - - // Random dimensions - Double_t rMin = gRandom->Rndm() * sizeBase; - Double_t rMax = rMin + gRandom->Rndm() * sizeBase * 2.0; - Double_t dz = pow(gRandom->Rndm(),2.0) * sizeBase * 15.0; - Double_t phi1 = gRandom->Rndm() * 90.0; - Double_t phi2 = phi1 + gRandom->Rndm() * 270.0; - - // Pick random color (not black) - Int_t color = gRandom->Integer(kCyan-1); - if (color == kBlack) color += 1; - - switch (type) { - case 0: - case 1: - case 2: { - // GL viewer only supports solid spheres (0. inner radius) - volumes[i] = geom->MakeSphere(name, medSolid, 0., rMax); - printf("Volume %d : Color %d, Sphere, Radius %f\n", i, color, rMax); - break; - } - case 3: { - volumes[i] = geom->MakeTube(name, medSolid, rMin, rMax, dz); - printf("Volume %d : Color %d, Tube, Inner Radius %f, Outer Radius %f, Length %f\n", i, color, rMin, rMax, dz); - break; - } - case 4: { - volumes[i] = geom->MakeTubs(name, medSolid, rMin, rMax, dz, phi1, phi2); - printf("Volume %d : Color %d, Tube Seg, Inner Radius %f, Outer Radius %f, Length %f, Phi1 %f, Phi2 %f\n", - i, color, rMin, rMax, dz, phi1, phi2); - break; - } - case 5: { - Double_t n1[3], n2[3]; - n1[0] = gRandom->Rndm()*.5; n1[1] = gRandom->Rndm()*.5; n1[2] = -1.0 + gRandom->Rndm()*.5; - n2[0] = gRandom->Rndm()*.5; n2[1] = gRandom->Rndm()*.5; n2[2] = 1.0 - gRandom->Rndm()*.5; - - volumes[i] = geom->MakeCtub(name, medSolid, rMin, rMax, dz, phi1, phi2, n1[0], n1[1], n1[2], n2[0], n2[1], n2[2]); - printf("Volume %d : Color %d, Cut Tube, Inner Radius %f, Outer Radius %f, Length %f, Phi1 %f, Phi2 %f, n1 (%f,%f,%f), n2 (%f,%f,%f)\n", - i, color, rMin, rMax, dz, phi1, phi2, n1[0], n1[1], n1[2], n2[0], n2[1], n2[2]); - break; - } - default: { - assert(kFALSE); - } - } - - volumes[i]->SetLineColor(color); - } - - printf("\nCreated %d volumes\n\n", volumeCount); - - // Scatter reqSpheres placed sphere randomly in space - Double_t x, y, z; - for (i = 0; i < reqNodes; i++) { - // Pick random volume - UInt_t useVolume = gRandom->Integer(volumeCount); - - TGeoTranslation * trans; - TGeoRotation * rot; - if (randomDist) { - // Random translation - gRandom->Rannor(x, y); - gRandom->Rannor(z,dummy); - trans = new TGeoTranslation(x*worldRadius, y*worldRadius, z*worldRadius); - - // Random rotation - gRandom->Rannor(x, y); - gRandom->Rannor(z,dummy); - rot = new TGeoRotation("rot", x*360.0, y*360.0, z*360.0); - } else { - UInt_t perSide = pow(reqNodes,1.0/3.0)+0.5; - Double_t distance = sizeBase*5.0; - UInt_t xi, yi, zi; - zi = i / (perSide*perSide); - yi = (i / perSide) % perSide; - xi = i % perSide; - trans = new TGeoTranslation(xi*distance,yi*distance,zi*distance); - rot = new TGeoRotation("rot",0.0, 0.0, 0.0); - } - top->AddNode(volumes[useVolume], i, new TGeoCombiTrans(*trans, *rot)); - //printf("Added node %d (Volume %d)\n", i, useVolume); - } - geom->CloseGeometry(); - top->Draw("ogl"); -} diff --git a/tutorials/glbox.C b/tutorials/glbox.C deleted file mode 100644 index fe0efb54f549623d14ee0edab96cba66348203f1..0000000000000000000000000000000000000000 --- a/tutorials/glbox.C +++ /dev/null @@ -1,26 +0,0 @@ -void glbox() -{ - // Display a 3D histogram using GL (box option). - - TCanvas *c = new TCanvas("glc","TH3 Drawing", 100, 10, 850, 400); - TPaveLabel *title = new TPaveLabel(0.04, 0.86, 0.96, 0.98, "\"glbox\" and \"glbox1\" options for TH3."); - title->SetFillColor(32); - title->Draw(); - - TPad *boxPad = new TPad("box", "box", 0.02, 0.02, 0.48, 0.82); - TPad *box1Pad = new TPad("box1", "box1", 0.52, 0.02, 0.98, 0.82); - boxPad->Draw(); - box1Pad->Draw(); - - TH3F *h31 = new TH3F("h31", "h31", 10, -1, 1, 10, -1, 1, 10, -1, 1); - h31->FillRandom("gaus"); - h31->SetFillColor(2); - boxPad->cd(); - h31->Draw("glbox"); - - TH3F *h32 = new TH3F("h32", "h32", 10, -2, 2, 10, -1, 1, 10, -3, 3); - h32->FillRandom("gaus"); - h32->SetFillColor(4); - box1Pad->cd(); - h32->Draw("glbox1"); -} diff --git a/tutorials/gldemos.C b/tutorials/gldemos.C deleted file mode 100644 index 5049623cec51277ab0e6c5178b6e22de4a665208..0000000000000000000000000000000000000000 --- a/tutorials/gldemos.C +++ /dev/null @@ -1,44 +0,0 @@ -void gldemos() -{ - TControlBar *bar = new TControlBar("vertical", "GL painter demo",20,20); - bar->AddButton("Help on demos", "help()", "Description"); - bar->AddButton("glsurfaces", ".x glsurfaces.C", "Surface painter example"); - bar->AddButton("glrose", ".x glrose.C", "Surface in polar system"); - bar->AddButton("gltf3", ".x gltf3.C", "TF3 painter"); - bar->AddButton("glbox", ".x glbox.C", "BOX painter"); - bar->Show(); -} - -void help() -{ - new TCanvas("chelp","Help on gldemos",200,10,700,600); - - TPaveLabel *title = new TPaveLabel(0.04, 0.86, 0.96, 0.98, "These demos show different gl painters."); - title->SetFillColor(32); - title->Draw(); - - TPaveText *hdemo = new TPaveText(0.04, 0.04, 0.96, 0.8); - hdemo->SetTextAlign(12); - hdemo->SetTextFont(52); - hdemo->SetTextColor(kBlue); - hdemo->AddText("1. Glsurfaces demo shows glsurf4, glsurf1, glsurf3, glsurf1cyl, glsurfpol, gltf3 options."); - hdemo->AddText("2. Glrose demontrates \"glsurf2pol\" drawing option and user-defined palette."); - hdemo->AddText("3. Gltf3 demo shows \"gltf3\" option."); - hdemo->AddText("4. Glbox demo shows \"glbox\" and \"glbox1\" options for TH3."); - hdemo->AddText("You can zoom any plot: press 'J', 'K', 'j', 'k' keys, or use mouse wheel."); - hdemo->AddText("Rotate any plot:"); - hdemo->AddText(" ---select plot with mouse cursor,"); - hdemo->AddText(" ---move mouse cursor, pressing and holding left mouse button "); - hdemo->AddText("Pan plot:"); - hdemo->AddText(" ---select with mouse cursor a part of a plot, other than back box planes ,"); - hdemo->AddText(" ---move mouse cursor, pressing and holding middle mouse button "); - hdemo->AddText("Selected part of a plot is higlighted (TF3 higlighting is not implemented yet.)"); - hdemo->AddText("You can select one of back box planes, press middle mouse button and move cursor-"); - hdemo->AddText("this will create \"slice\" (TF does not support yet)."); - hdemo->AddText("After the slice was created, you can project it on a back box"); - hdemo->AddText(" ---press key 'p' (now implemented only for surf options )."); - hdemo->AddText("Left double click removes all slices/projections."); - - hdemo->Draw(); - -} diff --git a/tutorials/glrose.C b/tutorials/glrose.C deleted file mode 100644 index f6f2517b6758e9680c2ab54077243116a1ffdb64..0000000000000000000000000000000000000000 --- a/tutorials/glrose.C +++ /dev/null @@ -1,41 +0,0 @@ -void glrose() -{ - //Define and set user's palette, - //use polar system. - const Int_t paletteSize = 10; - Float_t rgb[paletteSize * 3] = - {0.80f, 0.55f, 0.40f, - 0.85f, 0.60f, 0.45f, - 0.90f, 0.65f, 0.50f, - 0.95f, 0.70f, 0.55f, - 1.f, 0.75f, 0.60f, - 1.f, 0.80f, 0.65f, - 1.f, 0.85f, 0.70f, - 1.f, 0.90f, 0.75f, - 1.f, 0.95f, 0.80f, - 1.f, 1.f, 0.85f}; - - Int_t palette[paletteSize] = {0}; - - for (Int_t i = 0; i < paletteSize; ++i) - palette[i] = TColor::GetColor(rgb[i * 3], rgb[i * 3 + 1], rgb[i * 3 + 2]); - - gStyle->SetPalette(paletteSize, palette); - - TCanvas *cnv = new TCanvas("glc", "Surface sample", 200, 10, 600, 550); - - TPaveLabel *title = new TPaveLabel(0.04, 0.86, 0.96, 0.98, "\"glsurf2pol\" option + user defined palette."); - title->SetFillColor(32); - title->Draw(); - - TPad *rosePad = new TPad("box", "box", 0.04, 0.04, 0.96, 0.8); - rosePad->Draw(); - - - TF2 *fun = new TF2("a", "cos(y)*sin(x)+cos(x)*sin(y)", -6, 6, -6, 6); - fun->SetContour(paletteSize); - fun->SetNpx(30); - fun->SetNpy(30); - rosePad->cd(); - fun->Draw("glsurf2pol"); -} diff --git a/tutorials/glsurfaces.C b/tutorials/glsurfaces.C deleted file mode 100644 index 60eee3c6d18f278194d88b60e5efbe059a955eda..0000000000000000000000000000000000000000 --- a/tutorials/glsurfaces.C +++ /dev/null @@ -1,78 +0,0 @@ -{ - // This example draws 6 surfaces using OpenGL in pad (one is remake of a classic surfaces.C, another contains 4 surfaces). - // The commands used are exactly the same as with a normal pad. - // The only command to add is: gStyle->SetCanvasPreferGL(true); - - gStyle->SetPalette(0); - - // after this command all legos surfaces (surf/srf1/surf2/surf4/tf3 options) - // are automatically rendered with OpenGL. - - TCanvas *c1 = new TCanvas("glc1","Surfaces Drawing Options",200,10,700,900); - c1->SetFillColor(42); - gStyle->SetFrameFillColor(42); - title = new TPaveText(0.2, 0.96, 0.8, 0.995); - title->SetFillColor(33); - title->AddText("Examples of Surface options"); - title->Draw(); - - TPad *pad1 = new TPad("pad1","Gouraud shading", 0.03, 0.50, 0.98, 0.95, 21); - TPad *pad2 = new TPad("pad2","Color mesh", 0.03, 0.02, 0.98, 0.48, 21); - pad1->Draw(); - pad2->Draw(); - // We generate a 2-D function - TF2 *f2 = new TF2("f2","x**2 + y**2 - x**3 -8*x*y**4", -1., 1.2, -1.5, 1.5); - // Draw this function in pad1 with Gouraud shading option - pad1->cd(); - pad1->SetLogz(); - f2->SetFillColor(45); - f2->Draw("glsurf4"); - - TF2 *f2clone = new TF2("f2","x**2 + y**2 - x**3 -8*x*y**4", -1., 1.2, -1.5, 1.5); - // Draw this function in pad2 with color mesh option - pad2->cd(); - pad2->SetLogz(); - f2clone->Draw("glsurf1"); - - //add axis titles. The titles are set on the intermediate - //histogram used for visualisation. We must force this histogram - //to be created, then force the redrawing of the two pads - pad2->Update(); - f2->GetHistogram()->GetXaxis()->SetTitle("x title"); - f2->GetHistogram()->GetYaxis()->SetTitle("y title"); - f2->GetHistogram()->GetXaxis()->SetTitleOffset(1.4); - f2->GetHistogram()->GetYaxis()->SetTitleOffset(1.4); - f2clone->GetHistogram()->GetXaxis()->SetTitle("x title"); - f2clone->GetHistogram()->GetYaxis()->SetTitle("y title"); - f2clone->GetHistogram()->GetXaxis()->SetTitleOffset(1.4); - f2clone->GetHistogram()->GetYaxis()->SetTitleOffset(1.4); - pad1->Modified(); - pad2->Modified(); - - TCanvas *c2 = new TCanvas("glc2","Surfaces Drawing Options with gl",700,10,700,700); - c2->SetFillColor(42); - gStyle->SetFrameFillColor(42); - - c2->Divide(2, 2); - - c2->cd(1); - TF2 *fun1 = new TF2("fun1","1000*((sin(x)/x)*(sin(y)/y))+200", -6., 6., -6., 6.); - fun1->SetNpx(30); - fun1->SetNpy(30); - fun1->SetFillColor(kGreen); - fun1->Draw("glsurf3"); - - c2->cd(2); - TF2 *fun2 = new TF2("fun2","cos(y)*sin(x)+cos(x)*sin(y)", -6., 6., -6., 6.); - fun2->Draw("glsurf1cyl"); - - c2->cd(3); - TF2 *fun3 = new TF2("fun3","sin(x) / x * cos(y) * y", -6., 6., -6., 6.); - fun3->Draw("glsurfpol"); - - c2->cd(4); - TF3 *fun4 = new TF3("TF3 sample","sin(x * x + y * y + z * z - 4)", -2.5, 2.5, -2.5, 2.5, -2.5, 2.5); - Int_t colInd = TColor::GetColor(1.f, 0.5f, 0.f); - fun4->SetFillColor(colInd); - fun4->Draw("gl");//tf3 option -} diff --git a/tutorials/gltf3.C b/tutorials/gltf3.C deleted file mode 100644 index 6ece6476e578b811ed571ef80153c2c20b28163d..0000000000000000000000000000000000000000 --- a/tutorials/gltf3.C +++ /dev/null @@ -1,28 +0,0 @@ -void gltf3(){ - // TF3 can be drawn in several styles, - // default // (like surface4) - // kMaple0 (very nice colours) - // kMaple1 (nice colours and outlines) - // kMaple2 (nice colour outlines). - // To switch between them, you can press 's' key. - - TCanvas *cnv = new TCanvas("glc", "TF3: Klein bottle", 200, 10, 600, 600); - - TPaveLabel *title = new TPaveLabel(0.04, 0.86, 0.96, 0.98, "\"gl\" option for TF3. Select plot and press 's' to change the color."); - title->SetFillColor(32); - title->Draw(); - - TPad *tf3Pad = new TPad("box", "box", 0.04, 0.04, 0.96, 0.8); - tf3Pad->Draw(); - - TFormula f1 = TFormula("f1", "x*x + y*y + z*z + 2*y - 1"); - TFormula f2 = TFormula("f2", "x*x + y*y + z*z - 2*y - 1"); - - // Klein bottle with cutted top&bottom parts - // The Klein bottle is a closed nonorientable surface that has no inside or outside. - TF3 *tf3 = new TF3("Klein Bottle","f1*(f2*f2-8*z*z) + 16*x*z*f2", -3.5, 3.5, -3.5, 3.5, -2.5, 2.5); - - tf3->SetFillColor(kRed); - tf3Pad->cd(); - tf3->Draw("gl"); -} diff --git a/tutorials/graph.C b/tutorials/graph.C deleted file mode 100644 index cd41a72ef9e9023d89cc16b419bca1edc71c5338..0000000000000000000000000000000000000000 --- a/tutorials/graph.C +++ /dev/null @@ -1,33 +0,0 @@ -{ - // - // To see the output of this macro, click begin_html <a href="gif/graph.gif">here</a>. end_html - // - gROOT->Reset(); - c1 = new TCanvas("c1","A Simple Graph Example",200,10,700,500); - - c1->SetFillColor(42); - c1->SetGrid(); - - const Int_t n = 20; - Double_t x[n], y[n]; - for (Int_t i=0;i<n;i++) { - x[i] = i*0.1; - y[i] = 10*sin(x[i]+0.2); - printf(" i %i %f %f \n",i,x[i],y[i]); - } - gr = new TGraph(n,x,y); - gr->SetLineColor(2); - gr->SetLineWidth(4); - gr->SetMarkerColor(4); - gr->SetMarkerStyle(21); - gr->SetTitle("a simple graph"); - gr->GetXaxis()->SetTitle("X title"); - gr->GetYaxis()->SetTitle("Y title"); - gr->Draw("ACP"); - - // TCanvas::Update() draws the frame, after which one can change it - c1->Update(); - c1->GetFrame()->SetFillColor(21); - c1->GetFrame()->SetBorderSize(12); - c1->Modified(); -} diff --git a/tutorials/graph.py b/tutorials/graph.py deleted file mode 100755 index c77db085b87661004e494776d34180c34f9822e2..0000000000000000000000000000000000000000 --- a/tutorials/graph.py +++ /dev/null @@ -1,41 +0,0 @@ -# -# To see the output of this macro, click begin_html <a href="gif/graph.gif">here</a>. end_html -# - -from ROOT import TCanvas, TGraph -from ROOT import gROOT -from math import sin -from array import array - - -gROOT.Reset() - -c1 = TCanvas( 'c1', 'A Simple Graph Example', 200, 10, 700, 500 ) - -c1.SetFillColor( 42 ) -c1.SetGrid() - -n = 20 -x, y = array( 'd' ), array( 'd' ) - -for i in range( n ): - x.append( 0.1*i ) - y.append( 10*sin( x[i]+0.2 ) ) - print ' i %i %f %f ' % (i,x[i],y[i]) - -gr = TGraph( n, x, y ) -gr.SetLineColor( 2 ) -gr.SetLineWidth( 4 ) -gr.SetMarkerColor( 4 ) -gr.SetMarkerStyle( 21 ) -gr.SetTitle( 'a simple graph' ) -gr.GetXaxis().SetTitle( 'X title' ) -gr.GetYaxis().SetTitle( 'Y title' ) -gr.Draw( 'ACP' ) - -# TCanvas.Update() draws the frame, after which one can change it -c1.Update() -c1.GetFrame().SetFillColor( 21 ) -c1.GetFrame().SetBorderSize( 12 ) -c1.Modified() -c1.Update() diff --git a/tutorials/graph2derrorsfit.C b/tutorials/graph2derrorsfit.C deleted file mode 100644 index 6a77ff478db3510103483f1d912678c95a3e2809..0000000000000000000000000000000000000000 --- a/tutorials/graph2derrorsfit.C +++ /dev/null @@ -1,39 +0,0 @@ -#include <TMath.h> -#include <TGraph2DErrors.h> -#include <TRandom.h> -#include <TStyle.h> -#include <TCanvas.h> -#include <TF2.h> - -void graph2derrorsfit() -{ - TCanvas *c1 = new TCanvas("c1"); - - Double_t rnd, x, y, z, ex, ey, ez; - Double_t e = 0.3; - Int_t nd = 500; - - TRandom r; - TF2 *f2 = new TF2("f2","1000*(([0]*sin(x)/x)*([1]*sin(y)/y))+200",-6,6,-6,6); - f2->SetParameters(1,1); - TGraph2DErrors *dte = new TGraph2DErrors(nd); - - // Fill the 2D graph - for (Int_t i=0; i<nd; i++) { - f2->GetRandom2(x,y); - rnd = r.Uniform(-e,e); // Generate a random number in [-e,e] - z = f2->Eval(x,y)*(1+rnd); - dte->SetPoint(i,x,y,z); - ex = 0.05*r.Rndm(); - ey = 0.05*r.Rndm(); - ez = TMath::Abs(z*rnd); - dte->SetPointError(i,ex,ey,ez); - } - - f2->SetParameters(0.5,1.5); - dte->Fit(f2); - TF2 *fit2 = (TF2*)dte->FindObject("f2"); - fit2->SetTitle("Minuit fit result on the Graph2DErrors points"); - fit2->Draw("surf1"); - dte->Draw("same p0"); -} diff --git a/tutorials/graph2dfit.C b/tutorials/graph2dfit.C deleted file mode 100644 index 175ac65d2e1e35f2aea3154facc45059e83318cb..0000000000000000000000000000000000000000 --- a/tutorials/graph2dfit.C +++ /dev/null @@ -1,83 +0,0 @@ -#include <TMath.h> -#include <TGraph2D.h> -#include <TRandom.h> -#include <TStyle.h> -#include <TCanvas.h> -#include <TF2.h> - -void graph2dfit() -{ - gStyle->SetOptStat(0); - gStyle->SetOptFit(); - - TCanvas *c = new TCanvas("c","Graph2D example",0,0,800,800); - c->Divide(2,3); - - Double_t rnd, x, y, z; - Double_t e = 0.3; - Int_t nd = 400; - Int_t np = 10000; - - TRandom r; - Double_t fl = 6; - TF2 *f2 = new TF2("f2","1000*(([0]*sin(x)/x)*([1]*sin(y)/y))+200",-fl,fl,-fl,fl); - f2->SetParameters(1,1); - TGraph2D *dt = new TGraph2D(); - - // Fill the 2D graph - for (Int_t N=0; N<nd; N++) { - f2->GetRandom2(x,y); - // Generate a random number in [-e,e] - rnd = 2*r.Rndm()*e-e; - z = f2->Eval(x,y)*(1+rnd); - dt->SetPoint(N,x,y,z); - } - - Double_t hr = 350; - TH1D *h1 = new TH1D("h1", "#splitline{Difference between Original function}{and Function with noise}", 100, -hr, hr); - TH1D *h2 = new TH1D("h2", "#splitline{Difference between Original function}{and Interpolation with Delaunay triangles}", 100, -hr, hr); - TH1D *h3 = new TH1D("h3", "#splitline{Difference between Original function}{and Minuit fit}", 500, -hr, hr); - - f2->SetParameters(0.5,1.5); - dt->Fit(f2); - TF2 *fit2 = (TF2*)dt->FindObject("f2"); - - f2->SetParameters(1,1); - - for (Int_t N=0; N<np; N++) { - f2->GetRandom2(x,y); - // Generate a random number in [-e,e] - rnd = 2*r.Rndm()*e-e; - z = f2->Eval(x,y)*(1+rnd); - h1->Fill(f2->Eval(x,y)-z); - z = dt->Interpolate(x,y); - h2->Fill(f2->Eval(x,y)-z); - z = fit2->Eval(x,y); - h3->Fill(f2->Eval(x,y)-z); - } - - gStyle->SetPalette(1); - c->cd(1); - f2->SetTitle("Original function with Graph2D points on top"); - f2->Draw("surf1"); - dt->Draw("same p0"); - - c->cd(3); - dt->SetMargin(0.1); - dt->SetFillColor(36); - dt->SetTitle("Histogram produced with Delaunay interpolation"); - dt->Draw("surf4"); - - c->cd(5); - fit2->SetTitle("Minuit fit result on the Graph2D points"); - fit2->Draw("surf1"); - - h1->SetFillColor(47); - h2->SetFillColor(38); - h3->SetFillColor(29); - - c->cd(2); h1->Fit("gaus","Q") ; h1->Draw(); - c->cd(4); h2->Fit("gaus","Q") ; h2->Draw(); - c->cd(6); h3->Fit("gaus","Q") ; h3->Draw(); - c->cd(); -} diff --git a/tutorials/graphApply.C b/tutorials/graphApply.C deleted file mode 100644 index 496d28896ab9988162f0ae73abff1e09a6a8cd31..0000000000000000000000000000000000000000 --- a/tutorials/graphApply.C +++ /dev/null @@ -1,45 +0,0 @@ -{ -// A macro to demonstrate the functionality of TGraphX::Apply() method -// author: Miro Helbich oct.2001 - - -Int_t npoints=3; -Double_t xaxis[npoints] = {1.,2.,3.}; -Double_t yaxis[npoints] = {10.,20.,30.}; -Double_t errorx[npoints] = {0.5,0.5,0.5}; -Double_t errory[npoints] = {5.,5.,5.}; - -Double_t exl[npoints] = {0.5,0.5,0.5}; -Double_t exh[npoints] = {0.5,0.5,0.5}; -Double_t eyl[npoints] = {5.,5.,5.}; -Double_t eyh[npoints] = {5.,5.,5.}; - -TGraph *gr1 = new TGraph(npoints,xaxis,yaxis); -TGraphErrors *gr2 = new TGraphErrors(npoints,xaxis,yaxis,errorx,errory); -TGraphAsymmErrors *gr3 = new TGraphAsymmErrors(npoints,xaxis,yaxis,exl,exh,eyl,eyh); -TF2 *ff = new TF2("ff","-1./y"); - -TCanvas *c1 = new TCanvas("c1","c1"); -c1->Divide(2,3); -// TGraph -c1->cd(1); -gr1->DrawClone("A*"); -c1->cd(2); -gr1->Apply(ff); -gr1->Draw("A*"); - -// TGraphErrors -c1->cd(3); -gr2->DrawClone("A*"); -c1->cd(4); -gr2->Apply(ff); -gr2->Draw("A*"); - -// TGraphAsymmErrors -c1->cd(5); -gr3->DrawClone("A*"); -c1->cd(6); -gr3->Apply(ff); -gr3->Draw("A*"); - -} diff --git a/tutorials/graphpolar.C b/tutorials/graphpolar.C deleted file mode 100755 index 0b0ffa0ae9213a632542937ba9fd804629085948..0000000000000000000000000000000000000000 --- a/tutorials/graphpolar.C +++ /dev/null @@ -1,71 +0,0 @@ -void graphpolar() -{ - // Illustrates how to use TGraphPolar - - TCanvas * CPol = new TCanvas("CPol","TGraphPolar Examples",1200,600); - CPol->Divide(2,1); - CPol->cd(1); - - Double_t xmin=0; - Double_t xmax=TMath::Pi()*2; - - Double_t x[1000]; - Double_t y[1000]; - Double_t x1[20]; - Double_t y1[20]; - - TF1 * fplot = new TF1("fplot","cos(2*x)*cos(20*x)",xmin,xmax); - - for (Int_t ipt = 0; ipt < 1000; ipt++){ - x[ipt] = ipt*(xmax-xmin)/1000+xmin; - y[ipt] = fplot->Eval(x[ipt]); - } - - TGraphPolar * grP = new TGraphPolar(1000,x,y); - grP->SetLineColor(2); - grP->SetLineWidth(0.2); - grP->SetFillStyle(3012); - grP->SetFillColor(2); - grP->Draw("AFL"); - - for (Int_t ipt = 0; ipt < 20; ipt++){ - x1[ipt] = x[1000/20*ipt]; - y1[ipt] = y[1000/20*ipt]; - } - - TGraphPolar * grP1 = new TGraphPolar(20,x1,y1); - grP1->SetMarkerStyle(29); - grP1->SetMarkerSize(2); - grP1->SetMarkerColor(4); - grP1->SetLineColor(4); - grP1->Draw("CP"); - - // Update, otherwise GetPolargram returns 0 - CPol->Update(); - grP1->GetPolargram()->SetTextColor(8); - grP1->GetPolargram()->SetRangePolar(-TMath::Pi(),TMath::Pi()); - grP1->GetPolargram()->SetNdivPolar(703); - - CPol->cd(2); - Double_t x2[30]; - Double_t y2[30]; - Double_t ex[30]; - Double_t ey[30]; - for (Int_t ipt = 0; ipt < 30; ipt++){ - x2[ipt] = x[1000/30*ipt]; - y2[ipt] = 1.2 + 0.4*sin(TMath::Pi()*2*ipt/30); - ex[ipt] = 0.2+0.1*cos(2*TMath::Pi()/30*ipt); - ey[ipt] = 0.2; - } - - TGraphPolar * grPE = new TGraphPolar(30,x2,y2,ex,ey); - grPE->SetMarkerStyle(22); - grPE->SetMarkerSize(1.5); - grPE->SetMarkerColor(5); - grPE->SetLineColor(6); - grPE->SetLineWidth(2); - grPE->Draw("EP"); - CPol->Update(); - grPE->GetPolargram()->SetTextSize(0.03); - grPE->GetPolargram()->SetTwoPi(); -} diff --git a/tutorials/greyscale.C b/tutorials/greyscale.C deleted file mode 100644 index 104402eaa753f51b71f3598bc974d5fe7f4bd4d8..0000000000000000000000000000000000000000 --- a/tutorials/greyscale.C +++ /dev/null @@ -1,37 +0,0 @@ -{ - // Create grey scale of nxn boxes. - - if (gVirtualX) { - Int_t n; - gVirtualX->GetPlanes(n); - if (n < 15) { - printf("Not enough color planes to run this script\n"); - return; - } - } - - TCanvas *c = new TCanvas("grey", "Grey Scale", 500, 500); - c->SetBorderMode(0); - - Int_t n = 200; // tunable parameter - Float_t n1 = 1./n; - for (int i = 0; i < n; i++) { - for (int j = 0; j < n; j++) { - TBox *b = new TBox(n1*j, n1*(n-1-i), n1*(j+1), n1*(n-i)); - Float_t grey = Float_t(i*n+j)/(n*n); - b->SetFillColor(TColor::GetColor(grey, grey, grey)); - b->Draw(); - } - } - TPad *p = new TPad("p","p",0.3, 0.3, 0.7,0.7); - const char *guibackground = gEnv->GetValue("Gui.BackgroundColor", ""); - p->SetFillColor(TColor::GetColor(guibackground)); - p->Draw(); - p->cd(); - TText *t = new TText(0.5, 0.5, "GUI Background Color"); - t->SetTextAlign(22); - t->SetTextSize(.09); - t->Draw(); - - c->SetEditable(kFALSE); -} diff --git a/tutorials/gtime.C b/tutorials/gtime.C deleted file mode 100644 index 4b7f1b5caf2081038468d26659019728dc5a8b77..0000000000000000000000000000000000000000 --- a/tutorials/gtime.C +++ /dev/null @@ -1,37 +0,0 @@ -// Example of a graph of data moving in time -// Use the canvas "File/Quit" to exit from this example -void gtime() { - TCanvas *c1 = new TCanvas("c1"); - const Int_t ng = 100; - const Int_t kNMAX = 10000; - Double_t *X = new Double_t[kNMAX]; - Double_t *Y = new Double_t[kNMAX]; - Int_t cursor = kNMAX; - TGraph *g = new TGraph(ng); - g->SetMarkerStyle(21); - g->SetMarkerColor(kBlue); - Double_t x = 0; - - while (1) { - c1->Clear(); - if (cursor > kNMAX-ng) { - for (Int_t i=0;i<ng;i++) { - X[i] = x; - Y[i] = sin(x); - x += 0.1; - } - g->Draw("alp"); - cursor = 0; - } else { - x + = 0.1; - X[cursor+ng] = x; - Y[cursor+ng] = sin(x); - cursor++; - g->DrawGraph(ng,&X[cursor],&Y[cursor],"alp"); - } - c1->Update(); - gSystem->ProcessEvents(); - gSystem->Sleep(10); - } -} - diff --git a/tutorials/guitest.C b/tutorials/guitest.C deleted file mode 100644 index 1604465cf9bde57cb35ee4d48497141bc77aca93..0000000000000000000000000000000000000000 --- a/tutorials/guitest.C +++ /dev/null @@ -1,2552 +0,0 @@ -// @(#)root/tutorials:$Name: $:$Id: guitest.C,v 1.61 2005/10/27 13:28:20 rdm Exp $ -// Author: Fons Rademakers 22/10/2000 - -// guitest.C: test program for ROOT native GUI classes exactly like -// $ROOTSYS/test/guitest.cxx but using the new signal and slots -// communication mechanism. It is now possible to run this entire -// test program in the interpreter. Do either: -// .x guitest.C -// .x guitest.C++ - -#include <stdlib.h> - -#include <TROOT.h> -#include <TApplication.h> -#include <TVirtualX.h> -#include <TVirtualPadEditor.h> -#include <TGResourcePool.h> -#include <TGListBox.h> -#include <TGListTree.h> -#include <TGFSContainer.h> -#include <TGClient.h> -#include <TGFrame.h> -#include <TGIcon.h> -#include <TGLabel.h> -#include <TGButton.h> -#include <TGTextEntry.h> -#include <TGNumberEntry.h> -#include <TGMsgBox.h> -#include <TGMenu.h> -#include <TGCanvas.h> -#include <TGComboBox.h> -#include <TGTab.h> -#include <TGSlider.h> -#include <TGDoubleSlider.h> -#include <TGFileDialog.h> -#include <TGTextEdit.h> -#include <TGShutter.h> -#include <TGProgressBar.h> -#include <TGColorSelect.h> -#include <RQ_OBJECT.h> -#include <TRootEmbeddedCanvas.h> -#include <TCanvas.h> -#include <TColor.h> -#include <TH1.h> -#include <TH2.h> -#include <TRandom.h> -#include <TSystem.h> -#include <TSystemDirectory.h> -#include <TEnv.h> -#include <TFile.h> -#include <TKey.h> -#include <TGDockableFrame.h> -#include <TGFontDialog.h> - - -enum ETestCommandIdentifiers { - M_FILE_OPEN, - M_FILE_SAVE, - M_FILE_SAVEAS, - M_FILE_PRINT, - M_FILE_PRINTSETUP, - M_FILE_EXIT, - - M_TEST_DLG, - M_TEST_MSGBOX, - M_TEST_SLIDER, - M_TEST_SHUTTER, - M_TEST_DIRLIST, - M_TEST_FILELIST, - M_TEST_PROGRESS, - M_TEST_NUMBERENTRY, - M_TEST_FONTDIALOG, - M_TEST_NEWMENU, - - M_VIEW_ENBL_DOCK, - M_VIEW_ENBL_HIDE, - M_VIEW_DOCK, - M_VIEW_UNDOCK, - - M_HELP_CONTENTS, - M_HELP_SEARCH, - M_HELP_ABOUT, - - M_CASCADE_1, - M_CASCADE_2, - M_CASCADE_3, - - M_NEW_REMOVEMENU, - - VId1, - HId1, - VId2, - HId2, - - VSId1, - HSId1, - VSId2, - HSId2 -}; - - -Int_t mb_button_id[13] = { kMBYes, kMBNo, kMBOk, kMBApply, - kMBRetry, kMBIgnore, kMBCancel, - kMBClose, kMBDismiss, kMBYesAll, - kMBNoAll, kMBAppend, kMBNewer }; - -EMsgBoxIcon mb_icon[4] = { kMBIconStop, kMBIconQuestion, - kMBIconExclamation, kMBIconAsterisk }; - -const char *filetypes[] = { "All files", "*", - "ROOT files", "*.root", - "ROOT macros", "*.C", - "Text files", "*.[tT][xX][tT]", - 0, 0 }; - -struct shutterData_t { - const char *pixmap_name; - const char *tip_text; - Int_t id; - TGButton *button; -}; - -shutterData_t histo_data[] = { - { "h1_s.xpm", "TH1", 1001, 0 }, - { "h2_s.xpm", "TH2", 1002, 0 }, - { "h3_s.xpm", "TH3", 1003, 0 }, - { "profile_s.xpm", "TProfile", 1004, 0 }, - { 0, 0, 0, 0 } -}; - -shutterData_t function_data[] = { - { "f1_s.xpm", "TF1", 2001, 0 }, - { "f2_s.xpm", "TF2", 2002, 0 }, - { 0, 0, 0, 0 } -}; - -shutterData_t tree_data[] = { - { "ntuple_s.xpm", "TNtuple", 3001, 0 }, - { "tree_s.xpm", "TTree", 3002, 0 }, - { "chain_s.xpm", "TChain", 3003, 0 }, - { 0, 0, 0, 0 } -}; - - -const char *editortxt1 = -"This is the ROOT text edit widget TGTextEdit. It is not intended as\n" -"a full developers editor, but it is relatively complete and can ideally\n" -"be used to edit scripts or to present users editable config files, etc.\n\n" -"The text edit widget supports standard emacs style ctrl-key navigation\n" -"in addition to the arrow keys. By default the widget has under the right\n" -"mouse button a popup menu giving access to several built-in functions.\n\n" -"Cut, copy and paste between different editor windows and any other\n" -"standard X11 text handling application is supported.\n\n" -"Text can be selected with the mouse while holding the left button\n" -"or with the arrow keys while holding the shift key pressed. Use the\n" -"middle mouse button to paste text at the current mouse location." -; -const char *editortxt2 = -"Mice with scroll-ball are properly supported.\n\n" -"This are the currently defined key bindings:\n" -"Left Arrow\n" -" Move the cursor one character leftwards.\n" -" Scroll when cursor is out of frame.\n" -"Right Arrow\n" -" Move the cursor one character rightwards.\n" -" Scroll when cursor is out of frame.\n" -"Backspace\n" -" Deletes the character on the left side of the text cursor and moves the\n" -" cursor one position to the left. If a text has been marked by the user" -; -const char *editortxt3 = -" (e.g. by clicking and dragging) the cursor will be put at the beginning\n" -" of the marked text and the marked text will be removed.\n" -"Home\n" -" Moves the text cursor to the left end of the line. If mark is TRUE text\n" -" will be marked towards the first position, if not any marked text will\n" -" be unmarked if the cursor is moved.\n" -"End\n" -" Moves the text cursor to the right end of the line. If mark is TRUE text\n" -" will be marked towards the last position, if not any marked text will\n" -" be unmarked if the cursor is moved.\n" -"Delete" -; -const char *editortxt4 = -" Deletes the character on the right side of the text cursor. If a text\n" -" has been marked by the user (e.g. by clicking and dragging) the cursor\n" -" will be put at the beginning of the marked text and the marked text will\n" -" be removed.\n" -"Shift - Left Arrow\n" -" Mark text one character leftwards.\n" -"Shift - Right Arrow\n" -" Mark text one character rightwards.\n" -"Control-A\n" -" Select the whole text.\n" -"Control-B\n" -" Move the cursor one character leftwards." -; -const char *editortxt5 = -"Control-C\n" -" Copy the marked text to the clipboard.\n" -"Control-D\n" -" Delete the character to the right of the cursor.\n" -"Control-E\n" -" Move the cursor to the end of the line.\n" -"Control-F\n" -" Start Search Dialog.\n" -"Control-H\n" -" Delete the character to the left of the cursor.\n" -"Control-K\n" -" Delete marked text if any or delete all\n" -" characters to the right of the cursor.\n" -"Control-L\n" -" Start GoTo Line Dialog" -; -const char *editortxt6 = -"Control-U\n" -" Delete all characters on the line.\n" -"Control-V\n" -" Paste the clipboard text into line edit.\n" -"Control-X\n" -" Cut the marked text, copy to clipboard.\n" -"Control-Y\n" -" Paste the clipboard text into line edit.\n\n" -"All other keys with valid ASCII codes insert themselves into the line."; - - -class TileFrame; - - -class TestMainFrame { - -RQ_OBJECT("TestMainFrame") - -private: - TGMainFrame *fMain; - TGDockableFrame *fMenuDock; - TGCompositeFrame *fStatusFrame; - TGCanvas *fCanvasWindow; - TileFrame *fContainer; - TGTextEntry *fTestText; - TGButton *fTestButton; - TGColorSelect *fColorSel; - - TGMenuBar *fMenuBar; - TGPopupMenu *fMenuFile, *fMenuTest, *fMenuView, *fMenuHelp; - TGPopupMenu *fCascadeMenu, *fCascade1Menu, *fCascade2Menu; - TGPopupMenu *fMenuNew1, *fMenuNew2; - TGLayoutHints *fMenuBarLayout, *fMenuBarItemLayout, *fMenuBarHelpLayout; - -public: - TestMainFrame(const TGWindow *p, UInt_t w, UInt_t h); - virtual ~TestMainFrame(); - - // slots - void CloseWindow(); - void DoButton(); - void HandleMenu(Int_t id); - void HandlePopup() { printf("menu popped up\n"); } - void HandlePopdown() { printf("menu popped down\n"); } - - void Created() { Emit("Created()"); } //*SIGNAL* - void Welcome() { printf("TestMainFrame has been created. Welcome!\n"); } -}; - -class TestDialog { - -RQ_OBJECT("TestDialog") - -private: - TGTransientFrame *fMain; - TGCompositeFrame *fFrame1, *fF1, *fF2, *fF3, *fF4, *fF5; - TGGroupFrame *fF6, *fF7; - TGButton *fOkButton, *fCancelButton, *fStartB, *fStopB; - TGButton *fBtn1, *fBtn2, *fChk1, *fChk2, *fRad1, *fRad2; - TGPictureButton *fPicBut1; - TGCheckButton *fCheck1; - TGCheckButton *fCheckMulti; - TGListBox *fListBox; - TGComboBox *fCombo; - TGTab *fTab; - TGTextEntry *fTxt1, *fTxt2; - TGLayoutHints *fL1, *fL2, *fL3, *fL4; - TRootEmbeddedCanvas *fEc1, *fEc2; - Int_t fFirstEntry; - Int_t fLastEntry; - Bool_t fFillHistos; - TH1F *fHpx; - TH2F *fHpxpy; - - void FillHistos(); - -public: - TestDialog(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h, - UInt_t options = kVerticalFrame); - virtual ~TestDialog(); - - // slots - void DoClose(); - void CloseWindow(); - void DoOK(); - void DoCancel(); - void DoTab(Int_t id); - void HandleButtons(Int_t id = -1); - void HandleEmbeddedCanvas(Int_t event, Int_t x, Int_t y, TObject *sel); -}; - -class TestMsgBox { - -RQ_OBJECT("TestMsgBox") - -private: - TGTransientFrame *fMain; - TGCompositeFrame *f1, *f2, *f3, *f4, *f5; - TGButton *fTestButton, *fCloseButton; - TGPictureButton *fPictButton; - TGRadioButton *fR[4]; - TGCheckButton *fC[13]; - TGGroupFrame *fG1, *fG2; - TGLayoutHints *fL1, *fL2, *fL3, *fL4, *fL5, *fL6, *fL21; - TGTextEntry *fTitle, *fMsg; - TGTextBuffer *fTbtitle, *fTbmsg; - TGLabel *fLtitle, *fLmsg; - TGGC fRedTextGC; - -public: - TestMsgBox(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h, - UInt_t options = kVerticalFrame); - virtual ~TestMsgBox(); - - // slots - void TryToClose(); - void CloseWindow(); - void DoClose(); - void DoRadio(); - void DoTest(); -}; - - -class TestSliders { - -RQ_OBJECT("TestSliders") - -private: - TGTransientFrame *fMain; - TGVerticalFrame *fVframe1, *fVframe2; - TGLayoutHints *fBly, *fBfly1; - TGHSlider *fHslider1, *fHslider2; - TGVSlider *fVslider1; - TGDoubleVSlider *fVslider2; - TGTextEntry *fTeh1, *fTev1, *fTeh2, *fTev2; - TGTextBuffer *fTbh1, *fTbv1, *fTbh2, *fTbv2; - -public: - TestSliders(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h); - virtual ~TestSliders(); - - // slots - void CloseWindow(); - void DoText(const char *text); - void DoSlider(Int_t pos = 0); -}; - - -class TestShutter { - -RQ_OBJECT("TestShutter") - -private: - TGTransientFrame *fMain; - TGShutter *fShutter; - TGLayoutHints *fLayout; - const TGPicture *fDefaultPic; - -public: - TestShutter(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h); - ~TestShutter(); - - void AddShutterItem(const char *name, shutterData_t data[]); - - // slots - void CloseWindow(); - void HandleButtons(); -}; - - -class TestDirList { - -RQ_OBJECT("TestDirList") - -protected: - TGTransientFrame *fMain; - TGListTree *fContents; - const TGPicture *fIcon; - TString DirName(TGListTreeItem* item); - -public: - TestDirList(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h); - virtual ~TestDirList(); - - // slots - void OnDoubleClick(TGListTreeItem* item, Int_t btn); - void CloseWindow(); -}; - - -class TestFileList { - -RQ_OBJECT("TestFileList") - -protected: - TGTransientFrame *fMain; - TGFileContainer *fContents; - TGPopupMenu *fMenu; - - void DisplayFile(const TString &fname); - void DisplayDirectory(const TString &fname); - void DisplayObject(const TString& fname,const TString& name); - -public: - TestFileList(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h); - virtual ~TestFileList(); - - // slots - void OnDoubleClick(TGLVEntry*,Int_t); - void DoMenu(Int_t); - void CloseWindow(); -}; - -class TestProgress { - -private: - TGTransientFrame *fMain; - TGHorizontalFrame *fHframe1; - TGVerticalFrame *fVframe1; - TGLayoutHints *fHint1, *fHint2, *fHint3, *fHint4, *fHint5; - TGHProgressBar *fHProg1, *fHProg2, *fHProg3; - TGVProgressBar *fVProg1, *fVProg2; - TGTextButton *fGO; - Bool_t fClose; - -public: - TestProgress(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h); - virtual ~TestProgress(); - - // slots - void CloseWindow(); - void DoClose(); - void DoGo(); -}; - - -class EntryTestDlg { - -private: - TGTransientFrame *fMain; - TGVerticalFrame *fF1; - TGVerticalFrame *fF2; - TGHorizontalFrame *fF[13]; - TGLayoutHints *fL1; - TGLayoutHints *fL2; - TGLayoutHints *fL3; - TGLabel *fLabel[13]; - TGNumberEntry *fNumericEntries[13]; - TGCheckButton *fLowerLimit; - TGCheckButton *fUpperLimit; - TGNumberEntry *fLimits[2]; - TGCheckButton *fPositive; - TGCheckButton *fNonNegative; - TGButton *fSetButton; - TGButton *fExitButton; - -// static const char *const numlabel[13]; -// static const Double_t numinit[13]; - -public: - EntryTestDlg(const TGWindow *p, const TGWindow *main); - virtual ~EntryTestDlg(); - - // slots - void CloseWindow(); - void SetLimits(); - void DoOK(); -}; - - -class Editor { - -private: - TGTransientFrame *fMain; // main frame of this widget - TGTextEdit *fEdit; // text edit widget - TGTextButton *fOK; // OK button - TGLayoutHints *fL1; // layout of TGTextEdit - TGLayoutHints *fL2; // layout of OK button - -public: - Editor(const TGWindow *main, UInt_t w, UInt_t h); - virtual ~Editor(); - - void LoadFile(const char *file); - void LoadBuffer(const char *buffer); - void AddBuffer(const char *buffer); - - TGTextEdit *GetEditor() const { return fEdit; } - - void SetTitle(); - void Popup(); - - // slots - void CloseWindow(); - void DoOK(); - void DoOpen(); - void DoSave(); - void DoClose(); -}; - - -class TileFrame { - -RQ_OBJECT("TileFrame") - -private: - TGCompositeFrame *fFrame; - TGCanvas *fCanvas; - -public: - TileFrame(const TGWindow *p); - virtual ~TileFrame() { delete fFrame; } - - TGFrame *GetFrame() const { return fFrame; } - - void SetCanvas(TGCanvas *canvas) { fCanvas = canvas; } - void HandleMouseWheel(Event_t *event); -}; - -TileFrame::TileFrame(const TGWindow *p) -{ - // Create tile view container. Used to show colormap. - - fFrame = new TGCompositeFrame(p, 10, 10, kHorizontalFrame, - TGFrame::GetWhitePixel()); - fFrame->Connect("ProcessedEvent(Event_t*)", "TileFrame", this, - "HandleMouseWheel(Event_t*)"); - fCanvas = 0; - fFrame->SetLayoutManager(new TGTileLayout(fFrame, 8)); - - gVirtualX->GrabButton(fFrame->GetId(), kAnyButton, kAnyModifier, - kButtonPressMask | kButtonReleaseMask | - kPointerMotionMask, kNone, kNone); -} - -void TileFrame::HandleMouseWheel(Event_t *event) -{ - // Handle mouse wheel to scroll. - - if (event->fType != kButtonPress && event->fType != kButtonRelease) - return; - - Int_t page = 0; - if (event->fCode == kButton4 || event->fCode == kButton5) { - if (!fCanvas) return; - if (fCanvas->GetContainer()->GetHeight()) - page = Int_t(Float_t(fCanvas->GetViewPort()->GetHeight() * - fCanvas->GetViewPort()->GetHeight()) / - fCanvas->GetContainer()->GetHeight()); - } - - if (event->fCode == kButton4) { - //scroll up - Int_t newpos = fCanvas->GetVsbPosition() - page; - if (newpos < 0) newpos = 0; - fCanvas->SetVsbPosition(newpos); - } - if (event->fCode == kButton5) { - // scroll down - Int_t newpos = fCanvas->GetVsbPosition() + page; - fCanvas->SetVsbPosition(newpos); - } -} - - -TestMainFrame::TestMainFrame(const TGWindow *p, UInt_t w, UInt_t h) -{ - // Create test main frame. A TGMainFrame is a top level window. - - fMain = new TGMainFrame(p, w, h); - - // use hierarchical cleaning - fMain->SetCleanup(kDeepCleanup); - - fMain->Connect("CloseWindow()", "TestMainFrame", this, "CloseWindow()"); - - // Create menubar and popup menus. The hint objects are used to place - // and group the different menu widgets with respect to eachother. - fMenuDock = new TGDockableFrame(fMain); - fMain->AddFrame(fMenuDock, new TGLayoutHints(kLHintsExpandX, 0, 0, 1, 0)); - fMenuDock->SetWindowName("GuiTest Menu"); - - fMenuBarLayout = new TGLayoutHints(kLHintsTop | kLHintsExpandX); - fMenuBarItemLayout = new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0); - fMenuBarHelpLayout = new TGLayoutHints(kLHintsTop | kLHintsRight); - - fMenuFile = new TGPopupMenu(gClient->GetRoot()); - fMenuFile->AddEntry("&Open...", M_FILE_OPEN); - fMenuFile->AddEntry("&Save", M_FILE_SAVE); - fMenuFile->AddEntry("S&ave as...", M_FILE_SAVEAS); - fMenuFile->AddEntry("&Close", -1); - fMenuFile->AddSeparator(); - fMenuFile->AddEntry("&Print", M_FILE_PRINT); - fMenuFile->AddEntry("P&rint setup...", M_FILE_PRINTSETUP); - fMenuFile->AddSeparator(); - fMenuFile->AddEntry("E&xit", M_FILE_EXIT); - - fMenuFile->DisableEntry(M_FILE_SAVEAS); - fMenuFile->HideEntry(M_FILE_PRINT); - - fCascade2Menu = new TGPopupMenu(gClient->GetRoot()); - fCascade2Menu->AddEntry("ID = 2&3", M_CASCADE_1); - fCascade2Menu->AddEntry("ID = 2&4", M_CASCADE_2); - fCascade2Menu->AddEntry("ID = 2&5", M_CASCADE_3); - - fCascade1Menu = new TGPopupMenu(gClient->GetRoot()); - fCascade1Menu->AddEntry("ID = 4&1", 41); - fCascade1Menu->AddEntry("ID = 4&2", 42); - fCascade1Menu->AddEntry("ID = 4&3", 43); - fCascade1Menu->AddSeparator(); - fCascade1Menu->AddPopup("Cascade&d 2", fCascade2Menu); - - fCascadeMenu = new TGPopupMenu(gClient->GetRoot()); - fCascadeMenu->AddEntry("ID = 5&1", 51); - fCascadeMenu->AddEntry("ID = 5&2", 52); - fCascadeMenu->AddEntry("ID = 5&3", 53); - fCascadeMenu->AddSeparator(); - fCascadeMenu->AddPopup("&Cascaded 1", fCascade1Menu); - fCascadeMenu->AddPopup("C&ascaded 2", fCascade2Menu); - - fMenuTest = new TGPopupMenu(gClient->GetRoot()); - fMenuTest->AddLabel("Test different features..."); - fMenuTest->AddSeparator(); - fMenuTest->AddEntry("&Dialog...", M_TEST_DLG); - fMenuTest->AddEntry("&Message Box...", M_TEST_MSGBOX); - fMenuTest->AddEntry("&Sliders...", M_TEST_SLIDER); - fMenuTest->AddEntry("Sh&utter...", M_TEST_SHUTTER); - fMenuTest->AddEntry("&List Directory...", M_TEST_DIRLIST); - fMenuTest->AddEntry("&File List...", M_TEST_FILELIST); - fMenuTest->AddEntry("&Progress...", M_TEST_PROGRESS); - fMenuTest->AddEntry("&Number Entry...", M_TEST_NUMBERENTRY); - fMenuTest->AddEntry("F&ont Dialog...", M_TEST_FONTDIALOG); - fMenuTest->AddSeparator(); - fMenuTest->AddEntry("Add New Menus", M_TEST_NEWMENU); - fMenuTest->AddSeparator(); - fMenuTest->AddPopup("&Cascaded menus", fCascadeMenu); - - fMenuView = new TGPopupMenu(gClient->GetRoot()); - fMenuView->AddEntry("&Dock", M_VIEW_DOCK); - fMenuView->AddEntry("&Undock", M_VIEW_UNDOCK); - fMenuView->AddSeparator(); - fMenuView->AddEntry("Enable U&ndock", M_VIEW_ENBL_DOCK); - fMenuView->AddEntry("Enable &Hide", M_VIEW_ENBL_HIDE); - fMenuView->DisableEntry(M_VIEW_DOCK); - - fMenuDock->EnableUndock(kTRUE); - fMenuDock->EnableHide(kTRUE); - fMenuView->CheckEntry(M_VIEW_ENBL_DOCK); - fMenuView->CheckEntry(M_VIEW_ENBL_HIDE); - - // When using the DockButton of the MenuDock, - // the states 'enable' and 'disable' of menus have to be updated. - fMenuDock->Connect("Undocked()", "TestMainFrame", this, "HandleMenu(=M_VIEW_UNDOCK)"); - - fMenuHelp = new TGPopupMenu(gClient->GetRoot()); - fMenuHelp->AddEntry("&Contents", M_HELP_CONTENTS); - fMenuHelp->AddEntry("&Search...", M_HELP_SEARCH); - fMenuHelp->AddSeparator(); - fMenuHelp->AddEntry("&About", M_HELP_ABOUT); - - fMenuNew1 = new TGPopupMenu(); - fMenuNew1->AddEntry("Remove New Menus", M_NEW_REMOVEMENU); - - fMenuNew2 = new TGPopupMenu(); - fMenuNew2->AddEntry("Remove New Menus", M_NEW_REMOVEMENU); - - // Menu button messages are handled by the main frame (i.e. "this") - // HandleMenu() method. - fMenuFile->Connect("Activated(Int_t)", "TestMainFrame", this, - "HandleMenu(Int_t)"); - fMenuFile->Connect("PoppedUp()", "TestMainFrame", this, "HandlePopup()"); - fMenuFile->Connect("PoppedDown()", "TestMainFrame", this, "HandlePopdown()"); - fMenuTest->Connect("Activated(Int_t)", "TestMainFrame", this, - "HandleMenu(Int_t)"); - fMenuView->Connect("Activated(Int_t)", "TestMainFrame", this, - "HandleMenu(Int_t)"); - fMenuHelp->Connect("Activated(Int_t)", "TestMainFrame", this, - "HandleMenu(Int_t)"); - fCascadeMenu->Connect("Activated(Int_t)", "TestMainFrame", this, - "HandleMenu(Int_t)"); - fCascade1Menu->Connect("Activated(Int_t)", "TestMainFrame", this, - "HandleMenu(Int_t)"); - fCascade2Menu->Connect("Activated(Int_t)", "TestMainFrame", this, - "HandleMenu(Int_t)"); - fMenuNew1->Connect("Activated(Int_t)", "TestMainFrame", this, - "HandleMenu(Int_t)"); - fMenuNew2->Connect("Activated(Int_t)", "TestMainFrame", this, - "HandleMenu(Int_t)"); - - fMenuBar = new TGMenuBar(fMenuDock, 1, 1, kHorizontalFrame); - fMenuBar->AddPopup("&File", fMenuFile, fMenuBarItemLayout); - fMenuBar->AddPopup("&Test", fMenuTest, fMenuBarItemLayout); - fMenuBar->AddPopup("&View", fMenuView, fMenuBarItemLayout); - fMenuBar->AddPopup("&Help", fMenuHelp, fMenuBarHelpLayout); - - fMenuDock->AddFrame(fMenuBar, fMenuBarLayout); - - // Create TGCanvas and a canvas container which uses a tile layout manager - fCanvasWindow = new TGCanvas(fMain, 400, 240); - fContainer = new TileFrame(fCanvasWindow->GetViewPort()); - fContainer->SetCanvas(fCanvasWindow); - fCanvasWindow->SetContainer(fContainer->GetFrame()); - - // use hierarchical cleaning for container - fContainer->GetFrame()->SetCleanup(kDeepCleanup); - - // Fill canvas with 256 colored frames - for (int i=0; i < 256; ++i) - fCanvasWindow->AddFrame(new TGFrame(fCanvasWindow->GetContainer(), - 32, 32, 0, TColor::RGB2Pixel(0,0,(i+1)&255)), - new TGLayoutHints(kLHintsExpandY | kLHintsRight)); - - fMain->AddFrame(fCanvasWindow, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, - 0, 0, 2, 2)); - - // Create status frame containing a button and a text entry widget - fStatusFrame = new TGCompositeFrame(fMain, 60, 20, kHorizontalFrame | - kSunkenFrame); - - fTestButton = new TGTextButton(fStatusFrame, "&Open editor...", 150); - fTestButton->Connect("Clicked()", "TestMainFrame", this, "DoButton()"); - fTestButton->SetToolTipText("Pops up editor"); - fStatusFrame->AddFrame(fTestButton, new TGLayoutHints(kLHintsTop | - kLHintsLeft, 2, 0, 2, 2)); - fTestText = new TGTextEntry(fStatusFrame, new TGTextBuffer(100)); - fTestText->SetToolTipText("This is a text entry widget"); - fTestText->Resize(300, fTestText->GetDefaultHeight()); - fStatusFrame->AddFrame(fTestText, new TGLayoutHints(kLHintsTop | kLHintsLeft, - 10, 2, 2, 2)); - Pixel_t yellow; - gClient->GetColorByName("yellow", yellow); - fColorSel = new TGColorSelect(fStatusFrame, yellow, 0); - fStatusFrame->AddFrame(fColorSel, new TGLayoutHints(kLHintsTop | - kLHintsLeft, 2, 0, 2, 2)); - - fMain->AddFrame(fStatusFrame, new TGLayoutHints(kLHintsBottom | kLHintsExpandX, - 0, 0, 1, 0)); - - fMain->SetWindowName("GuiTest Signal/Slots"); - - fMain->MapSubwindows(); - - // we need to use GetDefault...() to initialize the layout algorithm... - fMain->Resize(); - fMain->MapWindow(); - fMain->Print(); - Connect("Created()", "TestMainFrame", this, "Welcome()"); - Created(); -} - -TestMainFrame::~TestMainFrame() -{ - // Delete all created widgets. - - delete fMenuFile; - delete fMenuTest; - delete fMenuView; - delete fMenuHelp; - delete fCascadeMenu; - delete fCascade1Menu; - delete fCascade2Menu; - delete fMenuNew1; - delete fMenuNew2; - - delete fContainer; - delete fMain; -} - -void TestMainFrame::CloseWindow() -{ - // Got close message for this MainFrame. Terminates the application. - - gApplication->Terminate(); -} - -void TestMainFrame::DoButton() -{ - // Handle button click. - - Editor *ed = new Editor(fMain, 600, 400); - ed->LoadBuffer(editortxt1); - ed->AddBuffer(editortxt2); - ed->AddBuffer(editortxt3); - ed->AddBuffer(editortxt4); - ed->AddBuffer(editortxt5); - ed->AddBuffer(editortxt6); - ed->Popup(); -} - -void TestMainFrame::HandleMenu(Int_t id) -{ - // Handle menu items. - - switch (id) { - - case M_FILE_OPEN: - { - static TString dir("."); - TGFileInfo fi; - fi.fFileTypes = filetypes; - fi.fIniDir = StrDup(dir); - printf("fIniDir = %s\n", fi.fIniDir); - new TGFileDialog(gClient->GetRoot(), fMain, kFDOpen, &fi); - printf("Open file: %s (dir: %s)\n", fi.fFilename, fi.fIniDir); - dir = fi.fIniDir; - } - break; - - case M_FILE_SAVE: - printf("M_FILE_SAVE\n"); - break; - - case M_FILE_PRINT: - printf("M_FILE_PRINT\n"); - printf("Hiding itself, select \"Print Setup...\" to enable again\n"); - fMenuFile->HideEntry(M_FILE_PRINT); - break; - - case M_FILE_PRINTSETUP: - printf("M_FILE_PRINTSETUP\n"); - printf("Enabling \"Print\"\n"); - fMenuFile->EnableEntry(M_FILE_PRINT); - break; - - case M_FILE_EXIT: - CloseWindow(); // terminate theApp no need to use SendCloseMessage() - break; - - case M_TEST_DLG: - new TestDialog(gClient->GetRoot(), fMain, 400, 200); - break; - - case M_TEST_MSGBOX: - new TestMsgBox(gClient->GetRoot(), fMain, 400, 200); - break; - - case M_TEST_SLIDER: - new TestSliders(gClient->GetRoot(), fMain, 400, 200); - break; - - case M_TEST_SHUTTER: - new TestShutter(gClient->GetRoot(), fMain, 400, 200); - break; - - case M_TEST_DIRLIST: - new TestDirList(gClient->GetRoot(), fMain, 400, 200); - break; - - case M_TEST_FILELIST: - new TestFileList(gClient->GetRoot(), fMain, 400, 200); - break; - - case M_TEST_PROGRESS: - new TestProgress(gClient->GetRoot(), fMain, 600, 300); - break; - - case M_TEST_NUMBERENTRY: - new EntryTestDlg(gClient->GetRoot(), fMain); - break; - - case M_TEST_FONTDIALOG: - { - TGFontDialog::FontProp_t prop; - new TGFontDialog(gClient->GetRoot(), fMain, &prop); - if (prop.fName != "") - printf("Selected font: %s, size %d, italic %s, bold %s, color 0x%lx, align %u\n", - prop.fName.Data(), prop.fSize, prop.fItalic ? "yes" : "no", - prop.fBold ? "yes" : "no", prop.fColor, prop.fAlign); - } - break; - - case M_TEST_NEWMENU: - { - if (fMenuTest->IsEntryChecked(M_TEST_NEWMENU)) { - HandleMenu(M_NEW_REMOVEMENU); - return; - } - fMenuTest->CheckEntry(M_TEST_NEWMENU); - TGPopupMenu *p = fMenuBar->GetPopup("Test"); - fMenuBar->AddPopup("New 1", fMenuNew1, fMenuBarItemLayout, p); - p = fMenuBar->GetPopup("Help"); - fMenuBar->AddPopup("New 2", fMenuNew2, fMenuBarItemLayout, p); - fMenuBar->MapSubwindows(); - fMenuBar->Layout(); - - TGMenuEntry *e = fMenuTest->GetEntry("Add New Menus"); - fMenuTest->AddEntry("Remove New Menus", M_NEW_REMOVEMENU, 0, 0, e); - } - break; - - case M_NEW_REMOVEMENU: - { - fMenuBar->RemovePopup("New 1"); - fMenuBar->RemovePopup("New 2"); - fMenuBar->Layout(); - fMenuTest->DeleteEntry(M_NEW_REMOVEMENU); - fMenuTest->UnCheckEntry(M_TEST_NEWMENU); - } - break; - - case M_VIEW_ENBL_DOCK: - fMenuDock->EnableUndock(!fMenuDock->EnableUndock()); - if (fMenuDock->EnableUndock()) { - fMenuView->CheckEntry(M_VIEW_ENBL_DOCK); - fMenuView->EnableEntry(M_VIEW_UNDOCK); - } else { - fMenuView->UnCheckEntry(M_VIEW_ENBL_DOCK); - fMenuView->DisableEntry(M_VIEW_UNDOCK); - } - break; - - case M_VIEW_ENBL_HIDE: - fMenuDock->EnableHide(!fMenuDock->EnableHide()); - if (fMenuDock->EnableHide()) { - fMenuView->CheckEntry(M_VIEW_ENBL_HIDE); - } else { - fMenuView->UnCheckEntry(M_VIEW_ENBL_HIDE); - } - break; - - case M_VIEW_DOCK: - fMenuDock->DockContainer(); - fMenuView->EnableEntry(M_VIEW_UNDOCK); - fMenuView->DisableEntry(M_VIEW_DOCK); - break; - - case M_VIEW_UNDOCK: - fMenuDock->UndockContainer(); - fMenuView->EnableEntry(M_VIEW_DOCK); - fMenuView->DisableEntry(M_VIEW_UNDOCK); - break; - - default: - printf("Menu item %d selected\n", id); - break; - } -} - - -TestDialog::TestDialog(const TGWindow *p, const TGWindow *main, UInt_t w, - UInt_t h, UInt_t options) -{ - // Create a dialog window. A dialog window pops up with respect to its - // "main" window. - - fMain = new TGTransientFrame(p, main, w, h, options); - fMain->Connect("CloseWindow()", "TestDialog", this, "DoClose()"); - fMain->DontCallClose(); // to avoid double deletions. - - // use hierarchical cleaning - fMain->SetCleanup(kDeepCleanup); - - fFrame1 = new TGHorizontalFrame(fMain, 60, 20, kFixedWidth); - - fOkButton = new TGTextButton(fFrame1, "&Ok", 1); - fOkButton->Connect("Clicked()", "TestDialog", this, "DoOK()"); - fCancelButton = new TGTextButton(fFrame1, "&Cancel", 2); - fCancelButton->Connect("Clicked()", "TestDialog", this, "DoCancel()"); - - fL1 = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, - 2, 2, 2, 2); - fL2 = new TGLayoutHints(kLHintsBottom | kLHintsRight, 2, 2, 5, 1); - - fFrame1->AddFrame(fOkButton, fL1); - fFrame1->AddFrame(fCancelButton, fL1); - - fFrame1->Resize(150, fOkButton->GetDefaultHeight()); - fMain->AddFrame(fFrame1, fL2); - - //--------- create Tab widget and some composite frames for Tab testing - - fTab = new TGTab(fMain, 300, 300); - fTab->Connect("Selected(Int_t)", "TestDialog", this, "DoTab(Int_t)"); - - fL3 = new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 5); - - TGCompositeFrame *tf = fTab->AddTab("Tab 1"); - fF1 = new TGCompositeFrame(tf, 60, 20, kVerticalFrame); - fF1->AddFrame(new TGTextButton(fF1, "&Test button", 0), fL3); - fF1->AddFrame(fTxt1 = new TGTextEntry(fF1, new TGTextBuffer(100)), fL3); - fF1->AddFrame(fTxt2 = new TGTextEntry(fF1, new TGTextBuffer(100)), fL3); - tf->AddFrame(fF1, fL3); - fTxt1->Resize(150, fTxt1->GetDefaultHeight()); - fTxt2->Resize(150, fTxt2->GetDefaultHeight()); - - tf = fTab->AddTab("Tab 2"); - fL1 = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, - 200, 2, 2, 2); - fF2 = new TGCompositeFrame(tf, 60, 20, kVerticalFrame); - fF2->AddFrame(fBtn1 = new TGTextButton(fF2, "&Button 1", 61), fL1); - fF2->AddFrame(fBtn2 = new TGTextButton(fF2, "B&utton 2", 62), fL1); - fF2->AddFrame(fChk1 = new TGCheckButton(fF2, "C&heck 1", 71), fL1); - fF2->AddFrame(fChk2 = new TGCheckButton(fF2, "Chec&k 2", 72), fL1); - fF2->AddFrame(fRad1 = new TGRadioButton(fF2, "&Radio 1", 81), fL1); - fF2->AddFrame(fRad2 = new TGRadioButton(fF2, "R&adio 2", 82), fL1); - fCombo = new TGComboBox(fF2, 88); - fF2->AddFrame(fCombo, fL3); - - tf->AddFrame(fF2, fL3); - - int i; - char tmp[20]; - for (i = 0; i < 20; i++) { - - sprintf(tmp, "Entry %i", i+1); - fCombo->AddEntry(tmp, i+1); - } - - fCombo->Resize(150, 20); - - fBtn1->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - fBtn2->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - fChk1->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - fChk2->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - fRad1->Connect("Pressed()", "TestDialog", this, "HandleButtons()"); - fRad2->Connect("Pressed()", "TestDialog", this, "HandleButtons()"); - - //-------------- embedded canvas demo - fFillHistos = kFALSE; - fHpx = 0; - fHpxpy = 0; - - tf = fTab->AddTab("Tab 3"); - fF3 = new TGCompositeFrame(tf, 60, 20, kHorizontalFrame); - fStartB = new TGTextButton(fF3, "Start &Filling Hists", 40); - fStopB = new TGTextButton(fF3, "&Stop Filling Hists", 41); - fStartB->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - fStopB->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - fF3->AddFrame(fStartB, fL3); - fF3->AddFrame(fStopB, fL3); - - fF5 = new TGCompositeFrame(tf, 60, 60, kHorizontalFrame); - - fL4 = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX | - kLHintsExpandY, 5, 5, 5, 5); - fEc1 = new TRootEmbeddedCanvas("ec1", fF5, 100, 100); - fF5->AddFrame(fEc1, fL4); - fEc2 = new TRootEmbeddedCanvas("ec2", fF5, 100, 100); - fF5->AddFrame(fEc2, fL4); - - tf->AddFrame(fF3, fL3); - tf->AddFrame(fF5, fL4); - - fEc1->GetCanvas()->SetBorderMode(0); - fEc2->GetCanvas()->SetBorderMode(0); - fEc1->GetCanvas()->SetBit(kNoContextMenu); - fEc1->GetCanvas()->Connect("ProcessedEvent(Int_t,Int_t,Int_t,TObject*)", - "TestDialog", this, - "HandleEmbeddedCanvas(Int_t,Int_t,Int_t,TObject*)"); - - // make tab yellow - Pixel_t yellow; - gClient->GetColorByName("yellow", yellow); - TGTabElement *tabel = fTab->GetTabTab("Tab 3"); - tabel->ChangeBackground(yellow); - - //-------------- end embedded canvas demo - - TGTextButton *bt; - tf = fTab->AddTab("Tab 4"); - fF4 = new TGCompositeFrame(tf, 60, 20, kVerticalFrame); - fF4->AddFrame(bt = new TGTextButton(fF4, "A&dd Entry", 90), fL3); - bt->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - - fF4->AddFrame(bt = new TGTextButton(fF4, "Remove &Entry", 91), fL3); - bt->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - - fF4->AddFrame(fListBox = new TGListBox(fF4, 89), fL3); - fF4->AddFrame(fCheckMulti = new TGCheckButton(fF4, "&Mutli Selectable", 92), fL3); - fCheckMulti->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - tf->AddFrame(fF4, fL3); - - for (i = 0; i < 20; ++i) { - sprintf(tmp, "Entry %i", i+1); - fListBox->AddEntry(tmp, i+1); - } - fFirstEntry = 1; - fLastEntry = 20; - - fListBox->Resize(150, 80); - - //--- tab 5 - tf = fTab->AddTab("Tab 5"); - tf->SetLayoutManager(new TGHorizontalLayout(tf)); - - fF6 = new TGGroupFrame(tf, "Options", kVerticalFrame); - fF6->SetTitlePos(TGGroupFrame::kRight); // right aligned - tf->AddFrame(fF6, fL3); - - // 2 column, n rows - fF6->SetLayoutManager(new TGMatrixLayout(fF6, 0, 2, 10)); - char buff[100]; - int j; - for (j = 0; j < 4; j++) { - sprintf(buff, "Module %i", j+1); - fF6->AddFrame(new TGLabel(fF6, new TGHotString(buff))); - - TGTextBuffer *tbuf = new TGTextBuffer(10); - tbuf->AddText(0, "0.0"); - - TGTextEntry *tent = new TGTextEntry(fF6, tbuf); - tent->Resize(50, tent->GetDefaultHeight()); - tent->SetFont("-adobe-courier-bold-r-*-*-14-*-*-*-*-*-iso8859-1"); - fF6->AddFrame(tent); - } - fF6->Resize(); - - // another matrix with text and buttons - fF7 = new TGGroupFrame(tf, "Tab Handling", kVerticalFrame); - tf->AddFrame(fF7, fL3); - - fF7->SetLayoutManager(new TGMatrixLayout(fF7, 0, 1, 10)); - - fF7->AddFrame(bt = new TGTextButton(fF7, "Remove Tab", 101)); - bt->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - bt->Resize(90, bt->GetDefaultHeight()); - - fF7->AddFrame(bt = new TGTextButton(fF7, "Add Tab", 103)); - bt->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - bt->Resize(90, bt->GetDefaultHeight()); - - fF7->AddFrame(bt = new TGTextButton(fF7, "Remove Tab 5", 102)); - bt->Connect("Clicked()", "TestDialog", this, "HandleButtons()"); - bt->Resize(90, bt->GetDefaultHeight()); - - fF7->Resize(fF6->GetDefaultSize()); - - //--- end of last tab - - TGLayoutHints *fL5 = new TGLayoutHints(kLHintsBottom | kLHintsExpandX | - kLHintsExpandY, 2, 2, 5, 1); - fMain->AddFrame(fTab, fL5); - - fMain->MapSubwindows(); - fMain->Resize(); - - // position relative to the parent's window - fMain->CenterOnParent(); - - fMain->SetWindowName("Dialog"); - - fMain->MapWindow(); - //gClient->WaitFor(fMain); // otherwise canvas contextmenu does not work -} - -TestDialog::~TestDialog() -{ - // Delete test dialog widgets. - - fMain->DeleteWindow(); // deletes fMain -} - -void TestDialog::FillHistos() -{ - // Fill histograms till user clicks "Stop Filling" button. - - static int cnt; - - if (!fHpx) { - fHpx = new TH1F("hpx","This is the px distribution",100,-4,4); - fHpxpy = new TH2F("hpxpy","py vs px",40,-4,4,40,-4,4); - fHpx->SetFillColor(kRed); - cnt = 0; - } - - const int kUPDATE = 1000; - float px, py; - TCanvas *c1 = fEc1->GetCanvas(); - TCanvas *c2 = fEc2->GetCanvas(); - - while (fFillHistos) { - gRandom->Rannor(px,py); //px and py will be two gaussian random numbers - fHpx->Fill(px); - fHpxpy->Fill(px,py); - cnt++; - if (!(cnt % kUPDATE)) { - if (cnt == kUPDATE) { - c1->cd(); - fHpx->Draw(); - c2->cd(); - fHpxpy->Draw("cont"); - } - c1->Modified(); - c1->Update(); - c2->Modified(); - c2->Update(); - gSystem->ProcessEvents(); // handle GUI events - } - } -} - -void TestDialog::DoClose() -{ - printf("\nTerminating dialog: via window manager\n"); - if (fFillHistos) { - fFillHistos = kFALSE; - TTimer::SingleShot(150, "TestDialog", this, "CloseWindow()"); - } else - CloseWindow(); - - // Close the Ged editor if it was activated. - if (TVirtualPadEditor::GetPadEditor(kFALSE) != 0) - TVirtualPadEditor::Terminate(); -} - -void TestDialog::CloseWindow() -{ - // Called when window is closed via the window manager. - - delete this; -} - -void TestDialog::DoOK() -{ - fFillHistos = kFALSE; - printf("\nTerminating dialog: OK pressed\n"); - - // Send a close message to the main frame. This will trigger the - // emission of a CloseWindow() signal, which will then call - // TestDialog::CloseWindow(). Calling directly CloseWindow() will cause - // a segv since the OK button is still accessed after the DoOK() method. - // This works since the close message is handled synchronous (via - // message going to/from X server). - //fMain->SendCloseMessage(); - - // The same effect can be obtained by using a singleshot timer: - TTimer::SingleShot(150, "TestDialog", this, "CloseWindow()"); - - // Close the Ged editor if it was activated. - if (TVirtualPadEditor::GetPadEditor(kFALSE) != 0) - TVirtualPadEditor::Terminate(); -} - - -void TestDialog::DoCancel() -{ - fFillHistos = kFALSE; - printf("\nTerminating dialog: Cancel pressed\n"); - TTimer::SingleShot(150, "TestDialog", this, "CloseWindow()"); - // Close the Ged editor if it was activated. - if (TVirtualPadEditor::GetPadEditor(kFALSE) != 0) - TVirtualPadEditor::Terminate(); -} - -void TestDialog::HandleButtons(Int_t id) -{ - // Handle different buttons. - - if (id == -1) { - TGButton *btn = (TGButton *) gTQSender; - id = btn->WidgetId(); - } - - printf("DoButton: id = %d\n", id); - - char tmp[20]; - static int newtab = 0; - - switch (id) { - case 40: // start histogram filling - fFillHistos = kTRUE; - FillHistos(); - break; - case 41: // stop histogram filling - fFillHistos = kFALSE; - break; - case 61: // show item 1 in the combo box - fCombo->Select(1); - break; - case 62: // show item 2 in the combo box - fCombo->Select(2); - break; - case 90: // add one entry in list box - fLastEntry++; - sprintf(tmp, "Entry %i", fLastEntry); - fListBox->AddEntry(tmp, fLastEntry); - fListBox->MapSubwindows(); - fListBox->Layout(); - break; - case 91: // remove one entry in list box - if (fFirstEntry < fLastEntry) { - fListBox->RemoveEntry(fFirstEntry); - fListBox->Layout(); - fFirstEntry++; - } - break; - case 101: // remove tabs - { - TString s = fTab->GetTabTab(0)->GetString(); - if ((s == "Tab 3") && (fMain->MustCleanup() != kDeepCleanup)) { - // Need to delete the embedded canvases - // since RemoveTab() will Destroy the container - // window, which in turn will destroy the embedded - // canvas windows. - delete fEc1; fEc1 = 0; - delete fEc2; fEc2 = 0; - } - fTab->RemoveTab(0); - fTab->Layout(); - } - break; - case 102: // remove tab 5 - { - int nt = fTab->GetNumberOfTabs(); - for (int i = 0 ; i < nt; i++) { - TString s = fTab->GetTabTab(i)->GetString(); - if (s == "Tab 5") { - fTab->RemoveTab(i); - fTab->Layout(); - break; - } - } - } - break; - case 103: // add tabs - sprintf(tmp, "New Tab %d", ++newtab); - fTab->AddTab(tmp); - fTab->MapSubwindows(); - fTab->Layout(); - break; - case 81: - fRad2->SetState(kButtonUp); - break; - case 82: - fRad1->SetState(kButtonUp); - break; - case 92: - fListBox->SetMultipleSelections(fCheckMulti->GetState()); - break; - default: - break; - } -} - -void TestDialog::DoTab(Int_t id) -{ - printf("Tab item %d activated\n", id); -} - -void TestDialog::HandleEmbeddedCanvas(Int_t event, Int_t x, Int_t y, - TObject *sel) -{ - // Handle events in the left embedded canvas. - - if (event == kButton3Down) - printf("event = %d, x = %d, y = %d, obj = %s::%s\n", event, x, y, - sel->IsA()->GetName(), sel->GetName()); -} - -TestMsgBox::TestMsgBox(const TGWindow *p, const TGWindow *main, - UInt_t w, UInt_t h, UInt_t options) : - fRedTextGC(TGButton::GetDefaultGC()) -{ - // Create message box test dialog. Use this dialog to select the different - // message dialog box styles and show the message dialog by clicking the - // "Test" button. - - fMain = new TGTransientFrame(p, main, w, h, options); - fMain->Connect("CloseWindow()", "TestMsgBox", this, "CloseWindow()"); - fMain->DontCallClose(); // to avoid double deletions. - - // use hierarchical cleaning - fMain->SetCleanup(kDeepCleanup); - - //------------------------------ - // Set foreground color in graphics context for drawing of - // TGlabel and TGButtons with text in red. - - Pixel_t red; - gClient->GetColorByName("red", red); - fRedTextGC.SetForeground(red); - //--------------------------------- - - int i; - - fMain->ChangeOptions((fMain->GetOptions() & ~kVerticalFrame) | kHorizontalFrame); - - f1 = new TGCompositeFrame(fMain, 60, 20, kVerticalFrame | kFixedWidth); - f2 = new TGCompositeFrame(fMain, 60, 20, kVerticalFrame); - f3 = new TGCompositeFrame(f2, 60, 20, kHorizontalFrame); - f4 = new TGCompositeFrame(f2, 60, 20, kHorizontalFrame); - f5 = new TGCompositeFrame(f2, 60, 20, kHorizontalFrame); - - fTestButton = new TGTextButton(f1, "&Test", 1, fRedTextGC()); - fTestButton->Connect("Clicked()", "TestMsgBox", this, "DoTest()"); - - // Change background of fTestButton to green - Pixel_t green; - gClient->GetColorByName("green", green); - fTestButton->ChangeBackground(green); - - fCloseButton = new TGTextButton(f1, "&Close", 2); - fCloseButton->Connect("Clicked()", "TestMsgBox", this, "DoClose()"); - - fPictButton = new TGPictureButton(f1, gClient->GetPicture("mb_stop_s.xpm")); - - f1->Resize(fTestButton->GetDefaultWidth()+40, fMain->GetDefaultHeight()); - - fL1 = new TGLayoutHints(kLHintsTop | kLHintsExpandX, - 2, 2, 3, 0); - fL2 = new TGLayoutHints(kLHintsTop | kLHintsRight | kLHintsExpandX, - 2, 5, 0, 2); - fL21 = new TGLayoutHints(kLHintsTop | kLHintsRight, - 2, 5, 10, 0); - - f1->AddFrame(fTestButton, fL1); - f1->AddFrame(fCloseButton, fL1); - f1->AddFrame(fPictButton, fL1); - fMain->AddFrame(f1, fL21); - - //--------- create check and radio buttons groups - - fG1 = new TGGroupFrame(f3, new TGString("Buttons"),kVerticalFrame|kRaisedFrame); - fG2 = new TGGroupFrame(f3, new TGString("Icons"),kVerticalFrame|kRaisedFrame); - - fL3 = new TGLayoutHints(kLHintsTop | kLHintsLeft | - kLHintsExpandX | kLHintsExpandY, - 2, 2, 2, 2); - fL4 = new TGLayoutHints(kLHintsTop | kLHintsLeft, - 0, 0, 5, 0); - - fC[0] = new TGCheckButton(fG1, new TGHotString("Yes"), -1); - fC[1] = new TGCheckButton(fG1, new TGHotString("No"), -1); - fC[2] = new TGCheckButton(fG1, new TGHotString("OK"), -1); - fC[3] = new TGCheckButton(fG1, new TGHotString("Apply"), -1); - fC[4] = new TGCheckButton(fG1, new TGHotString("Retry"), -1); - fC[5] = new TGCheckButton(fG1, new TGHotString("Ignore"), -1); - fC[6] = new TGCheckButton(fG1, new TGHotString("Cancel"), -1); - fC[7] = new TGCheckButton(fG1, new TGHotString("Close"), -1); - fC[8] = new TGCheckButton(fG1, new TGHotString("Dismiss"), -1); - fC[8] = new TGCheckButton(fG1, new TGHotString("Yes to All"), -1); - fC[9] = new TGCheckButton(fG1, new TGHotString("No to All"), -1); - fC[10] = new TGCheckButton(fG1, new TGHotString("Newer Only"), -1); - fC[11] = new TGCheckButton(fG1, new TGHotString("Append"), -1); - fC[12] = new TGCheckButton(fG1, new TGHotString("Dismiss"), -1); - - for (i=0; i<13; ++i) fG1->AddFrame(fC[i], fL4); - - fR[0] = new TGRadioButton(fG2, new TGHotString("Stop"), 21); - fR[1] = new TGRadioButton(fG2, new TGHotString("Question"), 22); - fR[2] = new TGRadioButton(fG2, new TGHotString("Exclamation"), 23); - fR[3] = new TGRadioButton(fG2, new TGHotString("Asterisk"), 24); - - for (i = 0; i < 4; ++i) { - fG2->AddFrame(fR[i], fL4); - fR[i]->Connect("Pressed()", "TestMsgBox", this, "DoRadio()"); - } - - fC[2]->SetState(kButtonDown); - fR[0]->SetState(kButtonDown); - - f3->AddFrame(fG1, fL3); - f3->AddFrame(fG2, fL3); - - fLtitle = new TGLabel(f4, new TGString("Title:"), fRedTextGC()); - fLmsg = new TGLabel(f5, new TGString("Message:")); - - fTitle = new TGTextEntry(f4, fTbtitle = new TGTextBuffer(100)); - fMsg = new TGTextEntry(f5, fTbmsg = new TGTextBuffer(100)); - - fTbtitle->AddText(0, "MsgBox"); - fTbmsg->AddText(0, "This is a test message box."); - - fTitle->Resize(300, fTitle->GetDefaultHeight()); - fMsg->Resize(300, fMsg->GetDefaultHeight()); - - fL5 = new TGLayoutHints(kLHintsLeft | kLHintsCenterY, - 3, 5, 0, 0); - fL6 = new TGLayoutHints(kLHintsRight | kLHintsCenterY, - 0, 2, 0, 0); - - f4->AddFrame(fLtitle, fL5); - f4->AddFrame(fTitle, fL6); - f5->AddFrame(fLmsg, fL5); - f5->AddFrame(fMsg, fL6); - - f2->AddFrame(f3, fL1); - f2->AddFrame(f4, fL1); - f2->AddFrame(f5, fL1); - - fMain->AddFrame(f2, fL2); - - fMain->MapSubwindows(); - fMain->Resize(); - - // position relative to the parent's window - fMain->CenterOnParent(); - - fMain->SetWindowName("Message Box Test"); - - fMain->MapWindow(); - gClient->WaitFor(fMain); -} - -// Order is important when deleting frames. Delete children first, -// parents last. - -TestMsgBox::~TestMsgBox() -{ - // Delete widgets created by dialog. - - fMain->DeleteWindow(); // deletes fMain -} - -void TestMsgBox::CloseWindow() -{ - // Close dialog in response to window manager close. - - delete this; -} - -void TestMsgBox::DoClose() -{ - // Handle Close button. - - CloseWindow(); -} - -void TestMsgBox::DoTest() -{ - // Handle test button. - - int i, buttons, retval; - EMsgBoxIcon icontype = kMBIconStop; - - buttons = 0; - for (i = 0; i < 13; i++) - if (fC[i]->GetState() == kButtonDown) - buttons |= mb_button_id[i]; - - for (i = 0; i < 4; i++) - if (fR[i]->GetState() == kButtonDown) { - icontype = mb_icon[i]; - break; - } - - // Since the message dialog box is created, we disable the - // signal/slot communication mechanism, in order to ensure we - // can't close the fMain window while the message box is open. - fMain->Disconnect("CloseWindow()"); - fMain->Connect("CloseWindow()", "TestMsgBox", this, "TryToClose()"); - new TGMsgBox(gClient->GetRoot(), fMain, - fTbtitle->GetString(), fTbmsg->GetString(), - icontype, buttons, &retval); - fMain->Disconnect("CloseWindow()"); - fMain->Connect("CloseWindow()", "TestMsgBox", this, "CloseWindow()"); - -} - -void TestMsgBox::TryToClose() -{ - // The user try to close the main window, - // while a message dialog box is still open. - printf("Can't close the window '%s' : a message box is still open\n", fMain->GetWindowName()); -} - -void TestMsgBox::DoRadio() -{ - // Handle radio buttons. - - TGButton *btn = (TGButton *) gTQSender; - Int_t id = btn->WidgetId(); - - if (id >= 21 && id <= 24) { - for (int i = 0; i < 4; i++) - if (fR[i]->WidgetId() != id) - fR[i]->SetState(kButtonUp); - } -} - - -TestSliders::TestSliders(const TGWindow *p, const TGWindow *main, - UInt_t w, UInt_t h) -{ - // Dialog used to test the different supported sliders. - - fMain = new TGTransientFrame(p, main, w, h); - fMain->Connect("CloseWindow()", "TestSliders", this, "CloseWindow()"); - fMain->DontCallClose(); // to avoid double deletions. - - // use hierarchical cleaning - fMain->SetCleanup(kDeepCleanup); - - fMain->ChangeOptions((fMain->GetOptions() & ~kVerticalFrame) | kHorizontalFrame); - - fVframe1 = new TGVerticalFrame(fMain, 0, 0, 0); - - fTeh1 = new TGTextEntry(fVframe1, fTbh1 = new TGTextBuffer(10), HId1); - fTev1 = new TGTextEntry(fVframe1, fTbv1 = new TGTextBuffer(10), VId1); - fTbh1->AddText(0, "0"); - fTbv1->AddText(0, "0"); - - fTeh1->Connect("TextChanged(char*)", "TestSliders", this, "DoText(char*)"); - fTev1->Connect("TextChanged(char*)", "TestSliders", this, "DoText(char*)"); - - fHslider1 = new TGHSlider(fVframe1, 100, kSlider1 | kScaleBoth, HSId1); - fHslider1->Connect("PositionChanged(Int_t)", "TestSliders", this, "DoSlider(Int_t)"); - fHslider1->SetRange(0,50); - - fVslider1 = new TGVSlider(fVframe1, 100, kSlider2 | kScaleBoth, VSId1); - fVslider1->Connect("PositionChanged(Int_t)", "TestSliders", this, "DoSlider(Int_t)"); - fVslider1->SetRange(0,8); - - fVframe1->Resize(100, 100); - - fVframe2 = new TGVerticalFrame(fMain, 0, 0, 0); - fTeh2 = new TGTextEntry(fVframe2, fTbh2 = new TGTextBuffer(10), HId2); - fTev2 = new TGTextEntry(fVframe2, fTbv2 = new TGTextBuffer(10), VId2); - fTbh2->AddText(0, "0"); - fTbv2->AddText(0, "0"); - - fTeh2->Connect("TextChanged(char*)", "TestSliders", this, "DoText(char*)"); - fTev2->Connect("TextChanged(char*)", "TestSliders", this, "DoText(char*)"); - - fHslider2 = new TGHSlider(fVframe2, 150, kSlider2 | kScaleBoth, HSId2); - fHslider2->Connect("PositionChanged(Int_t)", "TestSliders", this, "DoSlider(Int_t)"); - fHslider2->SetRange(0,3); - - fVslider2 = new TGDoubleVSlider(fVframe2, 100, kDoubleScaleBoth, VSId2); - - fVslider2->SetRange(-10,10); - fVslider2->Connect("PositionChanged()", "TestSliders", this, "DoSlider()"); - fVframe2->Resize(100, 100); - - //--- layout for buttons: top align, equally expand horizontally - fBly = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 0, 0, 3, 0); - - //--- layout for the frame: place at bottom, right aligned - fBfly1 = new TGLayoutHints(kLHintsTop | kLHintsRight, 20, 10, 15, 0); - - fVframe1->AddFrame(fHslider1, fBly); - fVframe1->AddFrame(fVslider1, fBly); - fVframe1->AddFrame(fTeh1, fBly); - fVframe1->AddFrame(fTev1, fBly); - - fVframe2->AddFrame(fHslider2, fBly); - fVframe2->AddFrame(fVslider2, fBly); - fVframe2->AddFrame(fTeh2, fBly); - fVframe2->AddFrame(fTev2, fBly); - - fMain->AddFrame(fVframe2, fBfly1); - fMain->AddFrame(fVframe1, fBfly1); - - fMain->SetWindowName("Slider Test"); - TGDimension size = fMain->GetDefaultSize(); - fMain->Resize(size); - - fMain->SetWMSize(size.fWidth, size.fHeight); - fMain->SetWMSizeHints(size.fWidth, size.fHeight, size.fWidth, size.fHeight, 0, 0); - fMain->SetMWMHints(kMWMDecorAll | kMWMDecorResizeH | kMWMDecorMaximize | - kMWMDecorMinimize | kMWMDecorMenu, - kMWMFuncAll | kMWMFuncResize | kMWMFuncMaximize | - kMWMFuncMinimize, - kMWMInputModeless); - - // position relative to the parent's window - fMain->CenterOnParent(); - - fMain->MapSubwindows(); - fMain->MapWindow(); - - gClient->WaitFor(fMain); -} - -TestSliders::~TestSliders() -{ - // Delete dialog. - - fMain->DeleteWindow(); // deletes fMain -} - -void TestSliders::CloseWindow() -{ - // Called when window is closed via the window manager. - - delete this; -} - -void TestSliders::DoText(const char * /*text*/) -{ - // Handle text entry widgets. - - TGTextEntry *te = (TGTextEntry *) gTQSender; - Int_t id = te->WidgetId(); - - switch (id) { - case HId1: - fHslider1->SetPosition(atoi(fTbh1->GetString())); - break; - case VId1: - fVslider1->SetPosition(atoi(fTbv1->GetString())); - break; - case HId2: - fHslider2->SetPosition(atoi(fTbh2->GetString())); - break; - case VId2: - fVslider2->SetPosition(atoi(fTbv2->GetString()), - atoi(fTbv2->GetString())+2); - break; - default: - break; - } -} - -void TestSliders::DoSlider(Int_t pos) -{ - // Handle slider widgets. - - Int_t id; - TGFrame *frm = (TGFrame *) gTQSender; - if (frm->IsA()->InheritsFrom(TGSlider::Class())) { - TGSlider *sl = (TGSlider*) frm; - id = sl->WidgetId(); - } else { - TGDoubleSlider *sd = (TGDoubleSlider *) frm; - id = sd->WidgetId(); - } - - char buf[32]; - sprintf(buf, "%d", pos); - - switch (id) { - case HSId1: - fTbh1->Clear(); - fTbh1->AddText(0, buf); - // Re-align the cursor with the characters. - fTeh1->SetCursorPosition(fTeh1->GetCursorPosition()); - fTeh1->Deselect(); - gClient->NeedRedraw(fTeh1); - break; - case VSId1: - fTbv1->Clear(); - fTbv1->AddText(0, buf); - fTev1->SetCursorPosition(fTev1->GetCursorPosition()); - fTev1->Deselect(); - gClient->NeedRedraw(fTev1); - break; - case HSId2: - fTbh2->Clear(); - fTbh2->AddText(0, buf); - fTeh2->SetCursorPosition(fTeh2->GetCursorPosition()); - fTeh2->Deselect(); - gClient->NeedRedraw(fTeh2); - break; - case VSId2: - sprintf(buf, "%f", fVslider2->GetMinPosition()); - fTbv2->Clear(); - fTbv2->AddText(0, buf); - fTev2->SetCursorPosition(fTev2->GetCursorPosition()); - fTev2->Deselect(); - gClient->NeedRedraw(fTev2); - break; - default: - break; - } -} - - -TestShutter::TestShutter(const TGWindow *p, const TGWindow *main, - UInt_t w, UInt_t h) -{ - // Create transient frame containing a shutter widget. - - fMain = new TGTransientFrame(p, main, w, h); - fMain->Connect("CloseWindow()", "TestShutter", this, "CloseWindow()"); - fMain->DontCallClose(); // to avoid double deletions. - - // use hierarchical cleaning - fMain->SetCleanup(kDeepCleanup); - - fDefaultPic = gClient->GetPicture("folder_s.xpm"); - fShutter = new TGShutter(fMain, kSunkenFrame); - - AddShutterItem("Histograms", histo_data); - AddShutterItem("Functions", function_data); - AddShutterItem("Trees", tree_data); - - fLayout = new TGLayoutHints(kLHintsExpandX | kLHintsExpandY); - fMain->AddFrame(fShutter, fLayout); - - fMain->MapSubwindows(); - fMain->Resize(80, 300); - - // position relative to the parent's window - fMain->CenterOnParent(); - - fMain->SetWindowName("Shutter Test"); - - fMain->MapWindow(); - //gClient->WaitFor(fMain); -} - -void TestShutter::AddShutterItem(const char *name, shutterData_t data[]) -{ - TGShutterItem *item; - TGCompositeFrame *container; - TGButton *button; - const TGPicture *buttonpic; - static int id = 5001; - - TGLayoutHints *l = new TGLayoutHints(kLHintsTop | kLHintsCenterX, - 5, 5, 5, 0); - - item = new TGShutterItem(fShutter, new TGHotString(name), id++); - container = (TGCompositeFrame *) item->GetContainer(); - - for (int i=0; data[i].pixmap_name != 0; i++) { - buttonpic = gClient->GetPicture(data[i].pixmap_name); - if (!buttonpic) { - printf("<TestShutter::AddShutterItem>: missing pixmap \"%s\", using default", - data[i].pixmap_name); - buttonpic = fDefaultPic; - } - - button = new TGPictureButton(container, buttonpic, data[i].id); - - container->AddFrame(button, l); - button->Connect("Clicked()", "TestShutter", this, "HandleButtons()"); - button->SetToolTipText(data[i].tip_text); - data[i].button = button; - } - - fShutter->AddItem(item); -} - -TestShutter::~TestShutter() -{ - // dtor - - gClient->FreePicture(fDefaultPic); - fMain->DeleteWindow(); // deletes fMain -} - -void TestShutter::CloseWindow() -{ - delete this; -} - -void TestShutter::HandleButtons() -{ - TGButton *btn = (TGButton *) gTQSender; - printf("Shutter button %d\n", btn->WidgetId()); -} - - -TestDirList::TestDirList(const TGWindow *p, const TGWindow *main, - UInt_t w, UInt_t h) -{ - // Create transient frame containing a dirlist widget. - - fMain = new TGTransientFrame(p, main, w, h); - fMain->Connect("CloseWindow()", "TestDirList", this, "CloseWindow()"); - fMain->DontCallClose(); // to avoid double deletions. - - fIcon = gClient->GetPicture("rootdb_t.xpm"); - TGLayoutHints *lo; - - // use hierarchical cleaning - fMain->SetCleanup(kDeepCleanup); - - TGCanvas* canvas = new TGCanvas(fMain, 500, 300); - fContents = new TGListTree(canvas, kHorizontalFrame); - lo = new TGLayoutHints(kLHintsExpandX | kLHintsExpandY | kLHintsBottom); - fMain->AddFrame(canvas,lo); - fContents->Connect("DoubleClicked(TGListTreeItem*,Int_t)","TestDirList",this, - "OnDoubleClick(TGListTreeItem*,Int_t)"); - -#ifdef G__WIN32 - fContents->AddItem(0,"c:\\"); // browse the upper directory -#else - fContents->AddItem(0,"/"); // browse the upper directory -#endif - - // position relative to the parent's window - fMain->CenterOnParent(); - - fMain->SetWindowName("List Dir Test"); - - fMain->MapSubwindows(); - fMain->Resize(); - fMain->MapWindow(); -} - -TestDirList::~TestDirList() -{ - // Cleanup. - - gClient->FreePicture(fIcon); - delete fContents; - fMain->DeleteWindow(); // delete fMain -} - -void TestDirList::CloseWindow() -{ - delete this; -} - -TString TestDirList::DirName(TGListTreeItem* item) -{ - // Returns an absolute path. - - TGListTreeItem* parent; - TString dirname = item->GetText(); - - while ((parent=item->GetParent())) { - dirname = gSystem->ConcatFileName(parent->GetText(),dirname); - item = parent; - } - - return dirname; -} - -void TestDirList::OnDoubleClick(TGListTreeItem* item, Int_t btn) -{ - // Show contents of directory. - - if ((btn!=kButton1) || !item || (Bool_t)item->GetUserData()) return; - - // use UserData to indicate that item was already browsed - item->SetUserData((void*)1); - - TSystemDirectory dir(item->GetText(),DirName(item)); - - TList *files = dir.GetListOfFiles(); - - if (files) { - TIter next(files); - TSystemFile *file; - TString fname; - - while ((file=(TSystemFile*)next())) { - fname = file->GetName(); - if (file->IsDirectory()) { - if ((fname!="..") && (fname!=".")) { // skip it - fContents->AddItem(item,fname); - } - } else if (fname.EndsWith(".root")) { // add root files - fContents->AddItem(item,fname,fIcon,fIcon); - } - } - delete files; - } -} - - -TestFileList::TestFileList(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h) -{ - // Create transient frame containing a filelist widget. - - TGLayoutHints *lo; - - fMain = new TGTransientFrame(p, main, w, h); - fMain->Connect("CloseWindow()", "TestDirList", this, "CloseWindow()"); - fMain->DontCallClose(); // to avoid double deletions. - - // use hierarchical cleaning - fMain->SetCleanup(kDeepCleanup); - - TGMenuBar* mb = new TGMenuBar(fMain); - lo = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 0, 0, 1, 1); - fMain->AddFrame(mb, lo); - - fMenu = mb->AddPopup("&View"); - fMenu->AddEntry("Lar&ge Icons",kLVLargeIcons); - fMenu->AddEntry("S&mall Icons",kLVSmallIcons); - fMenu->AddEntry("&List", kLVList); - fMenu->AddEntry("&Details", kLVDetails); - fMenu->AddSeparator(); - fMenu->AddEntry("&Close", 10); - fMenu->Connect("Activated(Int_t)","TestFileList",this,"DoMenu(Int_t)"); - - TGListView* lv = new TGListView(fMain, w, h); - lo = new TGLayoutHints(kLHintsExpandX | kLHintsExpandY); - fMain->AddFrame(lv,lo); - - Pixel_t white; - gClient->GetColorByName("white", white); - fContents = new TGFileContainer(lv, kSunkenFrame,white); - fContents->Connect("DoubleClicked(TGFrame*,Int_t)", "TestFileList", this, - "OnDoubleClick(TGLVEntry*,Int_t)"); - - // position relative to the parent's window - fMain->CenterOnParent(); - - fMain->SetWindowName("File List Test"); - fMain->MapSubwindows(); - fMain->MapWindow(); - fContents->SetDefaultHeaders(); - fContents->DisplayDirectory(); - fContents->AddFile(".."); // up level directory - fContents->Resize(); - fContents->StopRefreshTimer(); // stop refreshing - fMain->Resize(); -} - -TestFileList::~TestFileList() -{ - // Cleanup. - - delete fContents; - delete fMenu; - fMain->DeleteWindow(); // deletes fMain -} - -void TestFileList::DoMenu(Int_t mode) -{ - // Switch view mode. - - if (mode<10) { - fContents->SetViewMode((EListViewMode)mode); - } else { - delete this; - } -} - -void TestFileList::DisplayFile(const TString &fname) -{ - // Display content of ROOT file. - - TFile file(fname); - fContents->RemoveAll(); - fContents->AddFile(gSystem->WorkingDirectory()); - fContents->SetPagePosition(0,0); - fContents->SetColHeaders("Name","Title"); - - TIter next(file.GetListOfKeys()); - TKey *key; - - while ((key=(TKey*)next())) { - TString cname = key->GetClassName(); - TString name = key->GetName(); - TGLVEntry *entry = new TGLVEntry(fContents,name,cname); - entry->SetSubnames(key->GetTitle()); - fContents->AddItem(entry); - - // user data is a filename - entry->SetUserData((void*)StrDup(fname)); - } - fMain->Resize(); -} - -void TestFileList::DisplayDirectory(const TString &fname) -{ - // Display content of directory. - - fContents->SetDefaultHeaders(); - gSystem->ChangeDirectory(fname); - fContents->ChangeDirectory(fname); - fContents->DisplayDirectory(); - fContents->AddFile(".."); // up level directory - fMain->Resize(); -} - -void TestFileList::DisplayObject(const TString& fname,const TString& name) -{ - // Browse object located in file. - - TDirectory *sav = gDirectory; - - static TFile *file = 0; - if (file) delete file; // close - file = new TFile(fname); // reopen - - TObject* obj = file->Get(name); - if (obj) { - if (!obj->IsFolder()) { - obj->Browse(0); - } else obj->Print(); - } - gDirectory = sav; -} - -void TestFileList::OnDoubleClick(TGLVEntry *f, Int_t btn) -{ - // Handle double click. - - if (btn != kButton1) return; - - // set kWatch cursor - ULong_t cur = gVirtualX->CreateCursor(kWatch); - gVirtualX->SetCursor(fContents->GetId(), cur); - - TString name(f->GetTitle()); - const char* fname = (const char*)f->GetUserData(); - - if (fname) { - DisplayObject(fname, name); - } else if (name.EndsWith(".root")) { - DisplayFile(name); - } else { - DisplayDirectory(name); - } - // set kPointer cursor - cur = gVirtualX->CreateCursor(kPointer); - gVirtualX->SetCursor(fContents->GetId(), cur); -} - -void TestFileList::CloseWindow() -{ - delete this; -} - -TestProgress::TestProgress(const TGWindow *p, const TGWindow *main, - UInt_t w, UInt_t h) -{ - // Dialog used to test the different supported progress bars. - - fClose = kTRUE; - - fMain = new TGTransientFrame(p, main, w, h); - fMain->Connect("CloseWindow()", "TestProgress", this, "DoClose()"); - fMain->DontCallClose(); - - // use hierarchical cleaning - fMain->SetCleanup(kDeepCleanup); - - fMain->ChangeOptions((fMain->GetOptions() & ~kVerticalFrame) | kHorizontalFrame); - - fHframe1 = new TGHorizontalFrame(fMain, 0, 0, 0); - - fVProg1 = new TGVProgressBar(fHframe1, TGProgressBar::kFancy, 300); - fVProg1->SetBarColor("purple"); - fVProg2 = new TGVProgressBar(fHframe1, TGProgressBar::kFancy, 300); - fVProg2->SetFillType(TGProgressBar::kBlockFill); - fVProg2->SetBarColor("green"); - - fHframe1->Resize(300, 300); - - fVframe1 = new TGVerticalFrame(fMain, 0, 0, 0); - - fHProg1 = new TGHProgressBar(fVframe1, 300); - fHProg1->ShowPosition(); - fHProg2 = new TGHProgressBar(fVframe1, TGProgressBar::kFancy, 300); - fHProg2->SetBarColor("lightblue"); - fHProg2->ShowPosition(kTRUE, kFALSE, "%.0f events"); - fHProg3 = new TGHProgressBar(fVframe1, TGProgressBar::kStandard, 300); - fHProg3->SetFillType(TGProgressBar::kBlockFill); - - fGO = new TGTextButton(fVframe1, "Go", 10); - fGO->Connect("Clicked()", "TestProgress", this, "DoGo()"); - - fVframe1->Resize(300, 300); - - fHint1 = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandY, 5, 10, 5, 5); - fHint2 = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 5, 5, 5, 10); - fHint3 = new TGLayoutHints(kLHintsTop | kLHintsRight, 0, 50, 50, 0); - fHint4 = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandY, 0, 0, 0, 0); - fHint5 = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 0, 0, 0, 0); - - fHframe1->AddFrame(fVProg1, fHint1); - fHframe1->AddFrame(fVProg2, fHint1); - - fVframe1->AddFrame(fHProg1, fHint2); - fVframe1->AddFrame(fHProg2, fHint2); - fVframe1->AddFrame(fHProg3, fHint2); - fVframe1->AddFrame(fGO, fHint3); - - fMain->AddFrame(fHframe1, fHint4); - fMain->AddFrame(fVframe1, fHint5); - - fMain->SetWindowName("Progress Test"); - TGDimension size = fMain->GetDefaultSize(); - fMain->Resize(size); - - // position relative to the parent's window - fMain->CenterOnParent(); - - fMain->MapSubwindows(); - fMain->MapWindow(); - - gClient->WaitFor(fMain); -} - -TestProgress::~TestProgress() -{ - // Delete dialog. - - fMain->DeleteWindow(); // deletes fMain -} - -void TestProgress::CloseWindow() -{ - // Called when window is closed via the window manager. - - delete this; -} - -void TestProgress::DoClose() -{ - // If fClose is false we are still in event processing loop in DoGo(). - // In that case, set the close flag true and use a timer to call - // CloseWindow(). This gives us change to get out of the DoGo() loop. - // Note: calling SendCloseMessage() will not work since that will - // bring us back here (CloseWindow() signal is connected to this method) - // with the fClose flag true, which will cause window deletion while - // still being in the event processing loop (since SendCloseMessage() - // is directly processed in ProcessEvents() without exiting DoGo()). - - if (fClose) - CloseWindow(); - else { - fClose = kTRUE; - TTimer::SingleShot(150, "TestProgress", this, "CloseWindow()"); - } -} - -void TestProgress::DoGo() -{ - // Handle Go button. - - fClose = kFALSE; - fVProg1->Reset(); fVProg2->Reset(); - fHProg1->Reset(); fHProg2->Reset(); fHProg3->Reset(); - fVProg2->SetBarColor("green"); - int cnt1 = 0, cnt2 = 0, cnt3 = 0, cnt4 = 0; - int inc1 = 4, inc2 = 3, inc3 = 2, inc4 = 1; - while (cnt1 < 100 || cnt2 < 100 || cnt3 < 100 || cnt4 <100) { - if (cnt1 < 100) { - cnt1 += inc1; - fVProg1->Increment(inc1); - } - if (cnt2 < 100) { - cnt2 += inc2; - fVProg2->Increment(inc2); - if (cnt2 > 75) - fVProg2->SetBarColor("red"); - } - if (cnt3 < 100) { - cnt3 += inc3; - fHProg1->Increment(inc3); - } - if (cnt4 < 100) { - cnt4 += inc4; - fHProg2->Increment(inc4); - fHProg3->Increment(inc4); - } - gSystem->Sleep(100); - gSystem->ProcessEvents(); - // if user closed window return - if (fClose) return; - } - fClose = kTRUE; -} - - -// TGNumberEntry widget test dialog -//const char *const EntryTestDlg::numlabel[] = { -const char *numlabel[] = { - "Integer", - "One digit real", - "Two digit real", - "Three digit real", - "Four digit real", - "Real", - "Degree.min.sec", - "Min:sec", - "Hour:min", - "Hour:min:sec", - "Day/month/year", - "Month/day/year", - "Hex" -}; - -//const Double_t EntryTestDlg::numinit[] = { -const Double_t numinit[] = { - 12345, 1.0, 1.00, 1.000, 1.0000, 1.2E-12, - 90 * 3600, 120 * 60, 12 * 60, 12 * 3600 + 15 * 60, - 19991121, 19991121, (Double_t) 0xDEADFACEU -}; - -EntryTestDlg::EntryTestDlg(const TGWindow *p, const TGWindow *main) -{ - // build widgets - fMain = new TGTransientFrame(p, main, 10, 10, kHorizontalFrame); - fMain->Connect("CloseWindow()", "EntryTestDlg", this, "CloseWindow()"); - fMain->DontCallClose(); // to avoid double deletions. - - // use hierarchical cleaning - fMain->SetCleanup(kDeepCleanup); - - TGGC myGC = *gClient->GetResourcePool()->GetFrameGC(); - TGFont *myfont = gClient->GetFont("-adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-iso8859-1"); - if (myfont) myGC.SetFont(myfont->GetFontHandle()); - - fF1 = new TGVerticalFrame(fMain, 200, 300); - fL1 = new TGLayoutHints(kLHintsTop | kLHintsLeft, 2, 2, 2, 2); - fMain->AddFrame(fF1, fL1); - fL2 = new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2); - for (int i = 0; i < 13; i++) { - fF[i] = new TGHorizontalFrame(fF1, 200, 30); - fF1->AddFrame(fF[i], fL2); - fNumericEntries[i] = new TGNumberEntry(fF[i], numinit[i], 12, i + 20, - (TGNumberFormat::EStyle) i); - fF[i]->AddFrame(fNumericEntries[i], fL2); - fLabel[i] = new TGLabel(fF[i], numlabel[i], myGC(), myfont->GetFontStruct()); - fF[i]->AddFrame(fLabel[i], fL2); - } - fF2 = new TGVerticalFrame(fMain, 200, 500); - fL3 = new TGLayoutHints(kLHintsTop | kLHintsLeft, 2, 2, 2, 2); - fMain->AddFrame(fF2, fL3); - fLowerLimit = new TGCheckButton(fF2, "lower limit:", 4); - fF2->AddFrame(fLowerLimit, fL3); - fLimits[0] = new TGNumberEntry(fF2, 0, 12, 10); - fLimits[0]->SetLogStep(kFALSE); - fF2->AddFrame(fLimits[0], fL3); - fUpperLimit = new TGCheckButton(fF2, "upper limit:", 5); - fF2->AddFrame(fUpperLimit, fL3); - fLimits[1] = new TGNumberEntry(fF2, 0, 12, 11); - fLimits[1]->SetLogStep(kFALSE); - fF2->AddFrame(fLimits[1], fL3); - fPositive = new TGCheckButton(fF2, "Positive", 6); - fF2->AddFrame(fPositive, fL3); - fNonNegative = new TGCheckButton(fF2, "Non negative", 7); - fF2->AddFrame(fNonNegative, fL3); - fSetButton = new TGTextButton(fF2, " Set ", 2); - fSetButton->Connect("Clicked()", "EntryTestDlg", this, "SetLimits()"); - fF2->AddFrame(fSetButton, fL3); - fExitButton = new TGTextButton(fF2, " Close ", 1); - fExitButton->Connect("Clicked()", "EntryTestDlg", this, "DoOK()"); - fF2->AddFrame(fExitButton, fL3); - - // set dialog box title - fMain->SetWindowName("Number Entry Test"); - fMain->SetIconName("Number Entry Test"); - fMain->SetClassHints("NumberEntryDlg", "NumberEntryDlg"); - // resize & move to center - fMain->MapSubwindows(); - UInt_t width = fMain->GetDefaultWidth(); - UInt_t height = fMain->GetDefaultHeight(); - fMain->Resize(width, height); - fMain->CenterOnParent(); - // make the message box non-resizable - fMain->SetWMSize(width, height); - fMain->SetWMSizeHints(width, height, width, height, 0, 0); - fMain->SetMWMHints(kMWMDecorAll | kMWMDecorResizeH | kMWMDecorMaximize | - kMWMDecorMinimize | kMWMDecorMenu, - kMWMFuncAll | kMWMFuncResize | kMWMFuncMaximize | - kMWMFuncMinimize, kMWMInputModeless); - - fMain->MapWindow(); - gClient->WaitFor(fMain); -} - -EntryTestDlg::~EntryTestDlg() -{ - // dtor - - fMain->DeleteWindow(); -} - -void EntryTestDlg::CloseWindow() -{ - delete this; -} - -void EntryTestDlg::DoOK() -{ - // Handle ok button. - - fMain->SendCloseMessage(); -} - -void EntryTestDlg::SetLimits() -{ - Double_t min = fLimits[0]->GetNumber(); - Bool_t low = (fLowerLimit->GetState() == kButtonDown); - Double_t max = fLimits[1]->GetNumber(); - Bool_t high = (fUpperLimit->GetState() == kButtonDown); - TGNumberFormat::ELimit lim; - if (low && high) { - lim = TGNumberFormat::kNELLimitMinMax; - } else if (low) { - lim = TGNumberFormat::kNELLimitMin; - } else if (high) { - lim = TGNumberFormat::kNELLimitMax; - } else { - lim = TGNumberFormat::kNELNoLimits; - } - Bool_t pos = (fPositive->GetState() == kButtonDown); - Bool_t nneg = (fNonNegative->GetState() == kButtonDown); - TGNumberFormat::EAttribute attr; - if (pos) { - attr = TGNumberFormat::kNEAPositive; - } else if (nneg) { - attr = TGNumberFormat::kNEANonNegative; - } else { - attr = TGNumberFormat::kNEAAnyNumber; - } - for (int i = 0; i < 13; i++) { - fNumericEntries[i]->SetFormat(fNumericEntries[i]->GetNumStyle(), attr); - fNumericEntries[i]->SetLimits(lim, min, max); - } -} - - -Editor::Editor(const TGWindow *main, UInt_t w, UInt_t h) -{ - // Create an editor in a dialog. - - fMain = new TGTransientFrame(gClient->GetRoot(), main, w, h); - fMain->Connect("CloseWindow()", "Editor", this, "CloseWindow()"); - fMain->DontCallClose(); // to avoid double deletions. - - // use hierarchical cleaning - fMain->SetCleanup(kDeepCleanup); - - fEdit = new TGTextEdit(fMain, w, h, kSunkenFrame | kDoubleBorder); - fL1 = new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 3, 3, 3, 3); - fMain->AddFrame(fEdit, fL1); - fEdit->Connect("Opened()", "Editor", this, "DoOpen()"); - fEdit->Connect("Saved()", "Editor", this, "DoSave()"); - fEdit->Connect("Closed()", "Editor", this, "DoClose()"); - - fOK = new TGTextButton(fMain, " &OK "); - fOK->Connect("Clicked()", "Editor", this, "DoOK()"); - fL2 = new TGLayoutHints(kLHintsBottom | kLHintsCenterX, 0, 0, 5, 5); - fMain->AddFrame(fOK, fL2); - - SetTitle(); - - fMain->MapSubwindows(); - - fMain->Resize(); - - // editor covers right half of parent window - fMain->CenterOnParent(kTRUE, TGTransientFrame::kRight); -} - -Editor::~Editor() -{ - // Delete editor dialog. - - fMain->DeleteWindow(); // deletes fMain -} - -void Editor::SetTitle() -{ - // Set title in editor window. - - TGText *txt = GetEditor()->GetText(); - Bool_t untitled = !strlen(txt->GetFileName()) ? kTRUE : kFALSE; - - char title[256]; - if (untitled) - sprintf(title, "ROOT Editor - Untitled"); - else - sprintf(title, "ROOT Editor - %s", txt->GetFileName()); - - fMain->SetWindowName(title); - fMain->SetIconName(title); -} - -void Editor::Popup() -{ - // Show editor. - - fMain->MapWindow(); -} - -void Editor::LoadBuffer(const char *buffer) -{ - // Load a text buffer in the editor. - - fEdit->LoadBuffer(buffer); -} - -void Editor::LoadFile(const char *file) -{ - // Load a file in the editor. - - fEdit->LoadFile(file); -} - -void Editor::AddBuffer(const char *buffer) -{ - // Add text to the editor. - - TGText txt; - txt.LoadBuffer(buffer); - fEdit->AddText(&txt); -} - -void Editor::CloseWindow() -{ - // Called when closed via window manager action. - - delete this; -} - -void Editor::DoOK() -{ - // Handle ok button. - - CloseWindow(); -} - -void Editor::DoOpen() -{ - SetTitle(); -} - -void Editor::DoSave() -{ - SetTitle(); -} - -void Editor::DoClose() -{ - // Handle close button. - - CloseWindow(); -} - - -void guitest() -{ - new TestMainFrame(0, 400, 220); -} - -//---- Main program ------------------------------------------------------------ -#ifdef STANDALONE -int main(int argc, char **argv) -{ - TApplication theApp("App", &argc, argv); - - if (gROOT->IsBatch()) { - fprintf(stderr, "%s: cannot run in batch mode\n", argv[0]); - return 1; - } - - guitest(); - - theApp.Run(); - - return 0; -} -#endif diff --git a/tutorials/h1analysis.C b/tutorials/h1analysis.C deleted file mode 100644 index c07429783ce30fd5fe571baf72fb1f5244c882b7..0000000000000000000000000000000000000000 --- a/tutorials/h1analysis.C +++ /dev/null @@ -1,289 +0,0 @@ -// Example of analysis class for the H1 data. -// ========================================= -// -// This file uses 4 large data sets from the H1 collaboration at DESY Hamburg. -// One can access these data sets (277 MBytes) from the standard Root web site -// at: ftp://root.cern.ch/root/h1analysis/ -// The Physics plots below generated by this example cannot be produced when -// using smaller data sets. -// -// There are several ways to analyze data stored in a Root Tree -// -Using TTree::Draw: This is very convenient and efficient for small tasks. -// A TTree::Draw call produces one histogram at the time. The histogram -// is automatically generated. The selection expression may be specified -// in the command line. -// -// -Using the TTreeViewer: This is a graphical interface to TTree::Draw -// with the same functionality. -// -// -Using the code generated by TTree::MakeClass: In this case, the user -// creates an instance of the analysis class. He has the control over -// the event loop and he can generate an unlimited number of histograms. -// -// -Using the code generated by TTree::MakeSelector. Like for the code -// generated by TTree::MakeClass, the user can do complex analysis. -// However, he cannot control the event loop. The event loop is controlled -// by TTree::Process called by the user. This solution is illustrated -// by the current code. The advantage of this method is that it can be run -// in a parallel environment using PROOF (the Parallel Root Facility). -// -// A chain of 4 files (originally converted from PAW ntuples) is used -// to illustrate the various ways to loop on Root data sets. -// Each data set contains a Root Tree named "h42" -// The class definition in h1analysis.h has been generated automatically -// by the Root utility TTree::MakeSelector using one of the files with the -// following statement: -// h42->MakeSelector("h1analysis"); -// This produces two files: h1analysis.h and h1analysis.C (skeleton of this file) -// The h1analysis class is derived from the Root class TSelector. -// -// The following members functions are called by the TTree::Process functions. -// Begin(): called everytime a loop on the tree starts. -// a convenient place to create your histograms. -// SlaveBegin(): -// -// Notify(): This function is called at the first entry of a new Tree -// in a chain. -// Process(): called to analyze each entry. -// -// SlaveTerminate(): -// -// Terminate(): called at the end of a loop on a TTree. -// a convenient place to draw/fit your histograms. -// -// To use this file, try the following session -// -// Root > gROOT->Time(); //will show RT & CPU time per command -// -//==> A- create a TChain with the 4 H1 data files -// The chain can be created by executed the short macro h1chain.C below: -// { -// TChain chain("h42"); -// chain.Add("$H1/dstarmb.root"); // 21330730 bytes 21920 events -// chain.Add("$H1/dstarp1a.root"); // 71464503 bytes 73243 events -// chain.Add("$H1/dstarp1b.root"); // 83827959 bytes 85597 events -// chain.Add("$H1/dstarp2.root"); // 100675234 bytes 103053 events -// //where $H1 is a system symbol pointing to the H1 data directory. -// } -// -// Root > .x h1chain.C -// -//==> B- loop on all events -// Root > chain.Process("h1analysis.C") -// -//==> C- same as B, but in addition fill the event list with selected entries. -// The event list is saved to a file "elist.root" by the Terminate function. -// To see the list of selected events, you can do elist->Print("all"). -// The selection function has selected 7525 events out of the 283813 events -// in the chain of files. (2.65 per cent) -// Root > chain.Process("h1analysis.C","fillList") -// -//==> D- Process only entries in the event list -// The event list is read from the file in elist.root generated by step C -// Root > chain.Process("h1analysis.C","useList") -// -//==> E- the above steps have been executed via the interpreter. -// You can repeat the steps B, C and D using the script compiler -// by replacing "h1analysis.C" by "h1analysis.C+" or "h1analysis.C++" -// -// in a new session with ,eg: -// -//==> F- Create the chain as in A, then execute -// Root > chain.Process("h1analysis.C+","useList") -// -// The commands executed with the 4 different methods B,C,D and E -// produce two canvases shown below: -// begin_html <a href="gif/h1analysis_dstar.gif" >the Dstar plot</a> end_html -// begin_html <a href="gif/h1analysis_tau.gif" >the Tau D0 plot</a> end_html - -#include "h1analysis.h" -#include "TH2.h" -#include "TF1.h" -#include "TStyle.h" -#include "TCanvas.h" -#include "TLine.h" -#include "TEventList.h" - -const Double_t dxbin = (0.17-0.13)/40; // Bin-width -const Double_t sigma = 0.0012; -TEventList *elist = 0; -Bool_t useList, fillList; -TH1F *hdmd; -TH2F *h2; - -//_____________________________________________________________________ -Double_t fdm5(Double_t *xx, Double_t *par) -{ - Double_t x = xx[0]; - if (x <= 0.13957) return 0; - Double_t xp3 = (x-par[3])*(x-par[3]); - Double_t res = dxbin*(par[0]*TMath::Power(x-0.13957, par[1]) - + par[2] / 2.5066/par[4]*TMath::Exp(-xp3/2/par[4]/par[4])); - return res; -} - -//_____________________________________________________________________ -Double_t fdm2(Double_t *xx, Double_t *par) -{ - Double_t x = xx[0]; - if (x <= 0.13957) return 0; - Double_t xp3 = (x-0.1454)*(x-0.1454); - Double_t res = dxbin*(par[0]*TMath::Power(x-0.13957, 0.25) - + par[1] / 2.5066/sigma*TMath::Exp(-xp3/2/sigma/sigma)); - return res; -} - -//_____________________________________________________________________ -void h1analysis::Begin(TTree * /*tree*/) -{ -// function called before starting the event loop -// -it performs some cleanup -// -it creates histograms -// -it sets some initialisation for the event list - - //print the option specified in the Process function. - TString option = GetOption(); - printf("Starting h1analysis with process option: %s\n",option.Data()); - - //some cleanup in case this function had already been executed - //delete any previously generated histograms or functions - gDirectory->Delete("hdmd"); - gDirectory->Delete("h2*"); - delete gROOT->GetFunction("f5"); - delete gROOT->GetFunction("f2"); -} - -//_____________________________________________________________________ -void h1analysis::SlaveBegin(TTree *tree) -{ -// function called before starting the event loop -// -it performs some cleanup -// -it creates histograms -// -it sets some initialisation for the event list - - //initialize the Tree branch addresses - Init(tree); - - //print the option specified in the Process function. - TString option = GetOption(); - printf("Starting h1analysis with process option: %s\n",option.Data()); - - //some cleanup in case this function had already been executed - //delete any previously generated histograms or functions - gDirectory->Delete("hdmd"); - gDirectory->Delete("h2*"); - delete gROOT->GetFunction("f5"); - delete gROOT->GetFunction("f2"); - - //create histograms - hdmd = new TH1F("hdmd","dm_d",40,0.13,0.17); - h2 = new TH2F("h2","ptD0 vs dm_d",30,0.135,0.165,30,-3,6); - - fOutput->Add(hdmd); - fOutput->Add(h2); -} - -//_____________________________________________________________________ -Bool_t h1analysis::Process(Long64_t entry) -{ -// entry is the entry number in the current Tree -// Selection function to select D* and D0. - - //in case one event list is given in input, the selection has already been done. - if (!useList) { - // Read only the necessary branches to select entries. - // return as soon as a bad entry is detected - // to read complete event, call fChain->GetTree()->GetEntry(entry) - b_md0_d->GetEntry(entry); if (TMath::Abs(md0_d-1.8646) >= 0.04) return kFALSE; - b_ptds_d->GetEntry(entry); if (ptds_d <= 2.5) return kFALSE; - b_etads_d->GetEntry(entry); if (TMath::Abs(etads_d) >= 1.5) return kFALSE; - b_ik->GetEntry(entry); ik--; //original ik used f77 convention starting at 1 - b_ipi->GetEntry(entry); ipi--; - b_ntracks->GetEntry(entry); - b_nhitrp->GetEntry(entry); - if (nhitrp[ik]*nhitrp[ipi] <= 1) return kFALSE; - b_rend->GetEntry(entry); - b_rstart->GetEntry(entry); - if (rend[ik] -rstart[ik] <= 22) return kFALSE; - if (rend[ipi]-rstart[ipi] <= 22) return kFALSE; - b_nlhk->GetEntry(entry); if (nlhk[ik] <= 0.1) return kFALSE; - b_nlhpi->GetEntry(entry); if (nlhpi[ipi] <= 0.1) return kFALSE; - b_ipis->GetEntry(entry); ipis--; if (nlhpi[ipis] <= 0.1) return kFALSE; - b_njets->GetEntry(entry); if (njets < 1) return kFALSE; - } - // if option fillList, fill the event list - if (fillList) elist->Enter(fChain->GetChainEntryNumber(entry)); - - // to read complete event, call fChain->GetTree()->GetEntry(entry) - // read branches not processed in ProcessCut - b_dm_d->GetEntry(entry); //read branch holding dm_d - b_rpd0_t->GetEntry(entry); //read branch holding rpd0_t - b_ptd0_d->GetEntry(entry); //read branch holding ptd0_d - - //fill some histograms - hdmd->Fill(dm_d); - h2->Fill(dm_d,rpd0_t/0.029979*1.8646/ptd0_d); - - return kTRUE; -} - - -//_____________________________________________________________________ -void h1analysis::SlaveTerminate() -{ - // nothing to be done -} - -//_____________________________________________________________________ -void h1analysis::Terminate() -{ -// function called at the end of the event loop - - hdmd = dynamic_cast<TH1F*>(fOutput->FindObject("hdmd")); - h2 = dynamic_cast<TH2F*>(fOutput->FindObject("h2")); - - if (hdmd == 0 || h2 == 0) { - Error("Terminate", "hdmd = %p , h2 = %p", hdmd, h2); - return; - } - - //create the canvas for the h1analysis fit - gStyle->SetOptFit(); - TCanvas *c1 = new TCanvas("c1","h1analysis analysis",10,10,800,600); - c1->SetBottomMargin(0.15); - hdmd->GetXaxis()->SetTitle("m_{K#pi#pi} - m_{K#pi}[GeV/c^{2}]"); - hdmd->GetXaxis()->SetTitleOffset(1.4); - - //fit histogram hdmd with function f5 using the loglikelihood option - TF1 *f5 = new TF1("f5",fdm5,0.139,0.17,5); - f5->SetParameters(1000000, .25, 2000, .1454, .001); - hdmd->Fit("f5","lr"); - - //create the canvas for tau d0 - gStyle->SetOptFit(0); - gStyle->SetOptStat(1100); - TCanvas *c2 = new TCanvas("c2","tauD0",100,100,800,600); - c2->SetGrid(); - c2->SetBottomMargin(0.15); - - // Project slices of 2-d histogram h2 along X , then fit each slice - // with function f2 and make a histogram for each fit parameter - // Note that the generated histograms are added to the list of objects - // in the current directory. - TF1 *f2 = new TF1("f2",fdm2,0.139,0.17,2); - f2->SetParameters(10000, 10); - h2->FitSlicesX(f2,0,0,1,"qln"); - TH1D *h2_1 = (TH1D*)gDirectory->Get("h2_1"); - h2_1->GetXaxis()->SetTitle("#tau[ps]"); - h2_1->SetMarkerStyle(21); - h2_1->Draw(); - c2->Update(); - TLine *line = new TLine(0,0,0,c2->GetUymax()); - line->Draw(); - - //save the event list to a Root file if one was produced - if (fillList) { - TFile efile("elist.root","recreate"); - elist->Write(); - } -} diff --git a/tutorials/h1analysis.h b/tutorials/h1analysis.h deleted file mode 100644 index cc276476adfaf8d4099ffcc41814c61e4b1a72be..0000000000000000000000000000000000000000 --- a/tutorials/h1analysis.h +++ /dev/null @@ -1,534 +0,0 @@ -////////////////////////////////////////////////////////// -// This class has been automatically generated -// (Wed Apr 19 21:47:55 2000 by ROOT version 2.24/02) -// from TTree h42/ -// found on file: Memory Directory -// -// The example was modfied for the new TSelector version -// (Thu Sep 25 06:44:10 EDT 2003) -////////////////////////////////////////////////////////// - - -#ifndef h1analysis_h -#define h1analysis_h - -#include <TROOT.h> -#include <TChain.h> -#include <TFile.h> -#include <TSelector.h> - -class h1analysis : public TSelector { - public : - TTree *fChain; //pointer to the analyzed TTree or TChain - //Declaration of leaves types - Int_t nrun; - Int_t nevent; - Int_t nentry; - UChar_t trelem[192]; - UChar_t subtr[128]; - UChar_t rawtr[128]; - UChar_t L4subtr[128]; - UChar_t L5class[32]; - Float_t E33; - Float_t de33; - Float_t x33; - Float_t dx33; - Float_t y33; - Float_t dy33; - Float_t E44; - Float_t de44; - Float_t x44; - Float_t dx44; - Float_t y44; - Float_t dy44; - Float_t Ept; - Float_t dept; - Float_t xpt; - Float_t dxpt; - Float_t ypt; - Float_t dypt; - Float_t pelec[4]; - Int_t flagelec; - Float_t xeelec; - Float_t yeelec; - Float_t Q2eelec; - Int_t nelec; - Float_t Eelec[20]; - Float_t thetelec[20]; - Float_t phielec[20]; - Float_t xelec[20]; - Float_t Q2elec[20]; - Float_t xsigma[20]; - Float_t Q2sigma[20]; - Float_t sumc[4]; - Float_t sumetc; - Float_t yjbc; - Float_t Q2jbc; - Float_t sumct[4]; - Float_t sumetct; - Float_t yjbct; - Float_t Q2jbct; - Float_t Ebeamel; - Float_t Ebeampr; - Float_t pvtx_d[3]; - Float_t cpvtx_d[6]; - Float_t pvtx_t[3]; - Float_t cpvtx_t[6]; - Int_t ntrkxy_t; - Float_t prbxy_t; - Int_t ntrkz_t; - Float_t prbz_t; - Int_t nds; - Int_t rankds; - Int_t qds; - Float_t pds_d[4]; - Float_t ptds_d; - Float_t etads_d; - Float_t dm_d; - Float_t ddm_d; - Float_t pds_t[4]; - Float_t dm_t; - Float_t ddm_t; - Int_t ik; - Int_t ipi; - Int_t ipis; - Float_t pd0_d[4]; - Float_t ptd0_d; - Float_t etad0_d; - Float_t md0_d; - Float_t dmd0_d; - Float_t pd0_t[4]; - Float_t md0_t; - Float_t dmd0_t; - Float_t pk_r[4]; - Float_t ppi_r[4]; - Float_t pd0_r[4]; - Float_t md0_r; - Float_t Vtxd0_r[3]; - Float_t cvtxd0_r[6]; - Float_t dxy_r; - Float_t dz_r; - Float_t psi_r; - Float_t rd0_d; - Float_t drd0_d; - Float_t rpd0_d; - Float_t drpd0_d; - Float_t rd0_t; - Float_t drd0_t; - Float_t rpd0_t; - Float_t drpd0_t; - Float_t rd0_dt; - Float_t drd0_dt; - Float_t prbr_dt; - Float_t prbz_dt; - Float_t rd0_tt; - Float_t drd0_tt; - Float_t prbr_tt; - Float_t prbz_tt; - Int_t ijetd0; - Float_t ptr3d0_j; - Float_t ptr2d0_j; - Float_t ptr3d0_3; - Float_t ptr2d0_3; - Float_t ptr2d0_2; - Float_t Mimpds_r; - Float_t Mimpbk_r; - Int_t ntracks; - Float_t pt[200]; - Float_t kappa[200]; - Float_t phi[200]; - Float_t theta[200]; - Float_t dca[200]; - Float_t z0[200]; - Float_t covar[200][15]; - Int_t nhitrp[200]; - Float_t prbrp[200]; - Int_t nhitz[200]; - Float_t prbz[200]; - Float_t rstart[200]; - Float_t rend[200]; - Float_t lhk[200]; - Float_t lhpi[200]; - Float_t nlhk[200]; - Float_t nlhpi[200]; - Float_t dca_d[200]; - Float_t ddca_d[200]; - Float_t dca_t[200]; - Float_t ddca_t[200]; - Int_t muqual[200]; - Int_t imu; - Int_t imufe; - Int_t njets; - Float_t E_j[20]; - Float_t pt_j[20]; - Float_t theta_j[20]; - Float_t eta_j[20]; - Float_t phi_j[20]; - Float_t m_j[20]; - Float_t thrust; - Float_t pthrust[4]; - Float_t thrust2; - Float_t pthrust2[4]; - Float_t spher; - Float_t aplan; - Float_t plan; - Float_t nnout[1]; - -//List of branches - TBranch *b_nrun; - TBranch *b_nevent; - TBranch *b_nentry; - TBranch *b_trelem; - TBranch *b_subtr; - TBranch *b_rawtr; - TBranch *b_L4subtr; - TBranch *b_L5class; - TBranch *b_E33; - TBranch *b_de33; - TBranch *b_x33; - TBranch *b_dx33; - TBranch *b_y33; - TBranch *b_dy33; - TBranch *b_E44; - TBranch *b_de44; - TBranch *b_x44; - TBranch *b_dx44; - TBranch *b_y44; - TBranch *b_dy44; - TBranch *b_Ept; - TBranch *b_dept; - TBranch *b_xpt; - TBranch *b_dxpt; - TBranch *b_ypt; - TBranch *b_dypt; - TBranch *b_pelec; - TBranch *b_flagelec; - TBranch *b_xeelec; - TBranch *b_yeelec; - TBranch *b_Q2eelec; - TBranch *b_nelec; - TBranch *b_Eelec; - TBranch *b_thetelec; - TBranch *b_phielec; - TBranch *b_xelec; - TBranch *b_Q2elec; - TBranch *b_xsigma; - TBranch *b_Q2sigma; - TBranch *b_sumc; - TBranch *b_sumetc; - TBranch *b_yjbc; - TBranch *b_Q2jbc; - TBranch *b_sumct; - TBranch *b_sumetct; - TBranch *b_yjbct; - TBranch *b_Q2jbct; - TBranch *b_Ebeamel; - TBranch *b_Ebeampr; - TBranch *b_pvtx_d; - TBranch *b_cpvtx_d; - TBranch *b_pvtx_t; - TBranch *b_cpvtx_t; - TBranch *b_ntrkxy_t; - TBranch *b_prbxy_t; - TBranch *b_ntrkz_t; - TBranch *b_prbz_t; - TBranch *b_nds; - TBranch *b_rankds; - TBranch *b_qds; - TBranch *b_pds_d; - TBranch *b_ptds_d; - TBranch *b_etads_d; - TBranch *b_dm_d; - TBranch *b_ddm_d; - TBranch *b_pds_t; - TBranch *b_dm_t; - TBranch *b_ddm_t; - TBranch *b_ik; - TBranch *b_ipi; - TBranch *b_ipis; - TBranch *b_pd0_d; - TBranch *b_ptd0_d; - TBranch *b_etad0_d; - TBranch *b_md0_d; - TBranch *b_dmd0_d; - TBranch *b_pd0_t; - TBranch *b_md0_t; - TBranch *b_dmd0_t; - TBranch *b_pk_r; - TBranch *b_ppi_r; - TBranch *b_pd0_r; - TBranch *b_md0_r; - TBranch *b_Vtxd0_r; - TBranch *b_cvtxd0_r; - TBranch *b_dxy_r; - TBranch *b_dz_r; - TBranch *b_psi_r; - TBranch *b_rd0_d; - TBranch *b_drd0_d; - TBranch *b_rpd0_d; - TBranch *b_drpd0_d; - TBranch *b_rd0_t; - TBranch *b_drd0_t; - TBranch *b_rpd0_t; - TBranch *b_drpd0_t; - TBranch *b_rd0_dt; - TBranch *b_drd0_dt; - TBranch *b_prbr_dt; - TBranch *b_prbz_dt; - TBranch *b_rd0_tt; - TBranch *b_drd0_tt; - TBranch *b_prbr_tt; - TBranch *b_prbz_tt; - TBranch *b_ijetd0; - TBranch *b_ptr3d0_j; - TBranch *b_ptr2d0_j; - TBranch *b_ptr3d0_3; - TBranch *b_ptr2d0_3; - TBranch *b_ptr2d0_2; - TBranch *b_Mimpds_r; - TBranch *b_Mimpbk_r; - TBranch *b_ntracks; - TBranch *b_pt; - TBranch *b_kappa; - TBranch *b_phi; - TBranch *b_theta; - TBranch *b_dca; - TBranch *b_z0; - TBranch *b_covar; - TBranch *b_nhitrp; - TBranch *b_prbrp; - TBranch *b_nhitz; - TBranch *b_prbz; - TBranch *b_rstart; - TBranch *b_rend; - TBranch *b_lhk; - TBranch *b_lhpi; - TBranch *b_nlhk; - TBranch *b_nlhpi; - TBranch *b_dca_d; - TBranch *b_ddca_d; - TBranch *b_dca_t; - TBranch *b_ddca_t; - TBranch *b_muqual; - TBranch *b_imu; - TBranch *b_imufe; - TBranch *b_njets; - TBranch *b_E_j; - TBranch *b_pt_j; - TBranch *b_theta_j; - TBranch *b_eta_j; - TBranch *b_phi_j; - TBranch *b_m_j; - TBranch *b_thrust; - TBranch *b_pthrust; - TBranch *b_thrust2; - TBranch *b_pthrust2; - TBranch *b_spher; - TBranch *b_aplan; - TBranch *b_plan; - TBranch *b_nnout; - - h1analysis(TTree *tree=0); - ~h1analysis(); - int Version() const {return 1;} - void Begin(TTree *tree); - void SlaveBegin(TTree *tree); - void Init(TTree *tree); - Bool_t Notify(); - Bool_t Process(Long64_t entry); - void SetOption(const char *option) { fOption = option; } - void SetObject(TObject *obj) { fObject = obj; } - void SetInputList(TList *input) {fInput = input;} - TList *GetOutputList() const { return fOutput; } - void SlaveTerminate(); - void Terminate(); - - ClassDef(h1analysis,0); - -}; - -#endif - - -//_____________________________________________________________________ -h1analysis::h1analysis(TTree * /*tree*/) -{ -// Build the chain of Root files -// -} - -//_____________________________________________________________________ -h1analysis::~h1analysis() -{ -} - -//_____________________________________________________________________ -void h1analysis::Init(TTree *tree) -{ -// Set branch addresses - if (tree == 0) return; - fChain = tree; - - fChain->SetBranchAddress("nrun",&nrun,&(b_nrun) ); - fChain->SetBranchAddress("nevent",&nevent,&(b_nevent) ); - fChain->SetBranchAddress("nentry",&nentry,&(b_nentry) ); - fChain->SetBranchAddress("trelem",trelem,&(b_trelem) ); - fChain->SetBranchAddress("subtr",subtr,&(b_subtr) ); - fChain->SetBranchAddress("rawtr",rawtr,&(b_rawtr) ); - fChain->SetBranchAddress("L4subtr",L4subtr,&(b_L4subtr) ); - fChain->SetBranchAddress("L5class",L5class,&(b_L5class) ); - fChain->SetBranchAddress("E33",&E33,&(b_E33) ); - fChain->SetBranchAddress("de33",&de33,&(b_de33) ); - fChain->SetBranchAddress("x33",&x33,&(b_x33) ); - fChain->SetBranchAddress("dx33",&dx33,&(b_dx33) ); - fChain->SetBranchAddress("y33",&y33,&(b_y33) ); - fChain->SetBranchAddress("dy33",&dy33,&(b_dy33) ); - fChain->SetBranchAddress("E44",&E44,&(b_E44) ); - fChain->SetBranchAddress("de44",&de44,&(b_de44) ); - fChain->SetBranchAddress("x44",&x44,&(b_x44) ); - fChain->SetBranchAddress("dx44",&dx44,&(b_dx44) ); - fChain->SetBranchAddress("y44",&y44,&(b_y44) ); - fChain->SetBranchAddress("dy44",&dy44,&(b_dy44) ); - fChain->SetBranchAddress("Ept",&Ept,&(b_Ept) ); - fChain->SetBranchAddress("dept",&dept,&(b_dept) ); - fChain->SetBranchAddress("xpt",&xpt,&(b_xpt) ); - fChain->SetBranchAddress("dxpt",&dxpt,&(b_dxpt) ); - fChain->SetBranchAddress("ypt",&ypt,&(b_ypt) ); - fChain->SetBranchAddress("dypt",&dypt,&(b_dypt) ); - fChain->SetBranchAddress("pelec",pelec,&(b_pelec) ); - fChain->SetBranchAddress("flagelec",&flagelec,&(b_flagelec) ); - fChain->SetBranchAddress("xeelec",&xeelec,&(b_xeelec) ); - fChain->SetBranchAddress("yeelec",&yeelec,&(b_yeelec) ); - fChain->SetBranchAddress("Q2eelec",&Q2eelec,&(b_Q2eelec) ); - fChain->SetBranchAddress("nelec",&nelec,&(b_nelec) ); - fChain->SetBranchAddress("Eelec",Eelec,&(b_Eelec) ); - fChain->SetBranchAddress("thetelec",thetelec,&(b_thetelec) ); - fChain->SetBranchAddress("phielec",phielec,&(b_phielec) ); - fChain->SetBranchAddress("xelec",xelec,&(b_xelec) ); - fChain->SetBranchAddress("Q2elec",Q2elec,&(b_Q2elec) ); - fChain->SetBranchAddress("xsigma",xsigma,&(b_xsigma) ); - fChain->SetBranchAddress("Q2sigma",Q2sigma,&(b_Q2sigma) ); - fChain->SetBranchAddress("sumc",sumc,&(b_sumc) ); - fChain->SetBranchAddress("sumetc",&sumetc,&(b_sumetc) ); - fChain->SetBranchAddress("yjbc",&yjbc,&(b_yjbc) ); - fChain->SetBranchAddress("Q2jbc",&Q2jbc,&(b_Q2jbc) ); - fChain->SetBranchAddress("sumct",sumct,&(b_sumct) ); - fChain->SetBranchAddress("sumetct",&sumetct,&(b_sumetct) ); - fChain->SetBranchAddress("yjbct",&yjbct,&(b_yjbct) ); - fChain->SetBranchAddress("Q2jbct",&Q2jbct,&(b_Q2jbct) ); - fChain->SetBranchAddress("Ebeamel",&Ebeamel,&(b_Ebeamel) ); - fChain->SetBranchAddress("Ebeampr",&Ebeampr,&(b_Ebeampr) ); - fChain->SetBranchAddress("pvtx_d",pvtx_d,&(b_pvtx_d) ); - fChain->SetBranchAddress("cpvtx_d",cpvtx_d,&(b_cpvtx_d) ); - fChain->SetBranchAddress("pvtx_t",pvtx_t,&(b_pvtx_t) ); - fChain->SetBranchAddress("cpvtx_t",cpvtx_t,&(b_cpvtx_t) ); - fChain->SetBranchAddress("ntrkxy_t",&ntrkxy_t,&(b_ntrkxy_t) ); - fChain->SetBranchAddress("prbxy_t",&prbxy_t,&(b_prbxy_t) ); - fChain->SetBranchAddress("ntrkz_t",&ntrkz_t,&(b_ntrkz_t) ); - fChain->SetBranchAddress("prbz_t",&prbz_t,&(b_prbz_t) ); - fChain->SetBranchAddress("nds",&nds,&(b_nds) ); - fChain->SetBranchAddress("rankds",&rankds,&(b_rankds) ); - fChain->SetBranchAddress("qds",&qds,&(b_qds) ); - fChain->SetBranchAddress("pds_d",pds_d,&(b_pds_d) ); - fChain->SetBranchAddress("ptds_d",&ptds_d,&(b_ptds_d) ); - fChain->SetBranchAddress("etads_d",&etads_d,&(b_etads_d) ); - fChain->SetBranchAddress("dm_d",&dm_d,&(b_dm_d) ); - fChain->SetBranchAddress("ddm_d",&ddm_d,&(b_ddm_d) ); - fChain->SetBranchAddress("pds_t",pds_t,&(b_pds_t) ); - fChain->SetBranchAddress("dm_t",&dm_t,&(b_dm_t) ); - fChain->SetBranchAddress("ddm_t",&ddm_t,&(b_ddm_t) ); - fChain->SetBranchAddress("ik",&ik,&(b_ik) ); - fChain->SetBranchAddress("ipi",&ipi,&(b_ipi) ); - fChain->SetBranchAddress("ipis",&ipis,&(b_ipis) ); - fChain->SetBranchAddress("pd0_d",pd0_d,&(b_pd0_d) ); - fChain->SetBranchAddress("ptd0_d",&ptd0_d,&(b_ptd0_d) ); - fChain->SetBranchAddress("etad0_d",&etad0_d,&(b_etad0_d) ); - fChain->SetBranchAddress("md0_d",&md0_d,&(b_md0_d) ); - fChain->SetBranchAddress("dmd0_d",&dmd0_d,&(b_dmd0_d) ); - fChain->SetBranchAddress("pd0_t",pd0_t,&(b_pd0_t) ); - fChain->SetBranchAddress("md0_t",&md0_t,&(b_md0_t) ); - fChain->SetBranchAddress("dmd0_t",&dmd0_t,&(b_dmd0_t) ); - fChain->SetBranchAddress("pk_r",pk_r,&(b_pk_r) ); - fChain->SetBranchAddress("ppi_r",ppi_r,&(b_ppi_r) ); - fChain->SetBranchAddress("pd0_r",pd0_r,&(b_pd0_r) ); - fChain->SetBranchAddress("md0_r",&md0_r,&(b_md0_r) ); - fChain->SetBranchAddress("Vtxd0_r",Vtxd0_r,&(b_Vtxd0_r) ); - fChain->SetBranchAddress("cvtxd0_r",cvtxd0_r,&(b_cvtxd0_r) ); - fChain->SetBranchAddress("dxy_r",&dxy_r,&(b_dxy_r) ); - fChain->SetBranchAddress("dz_r",&dz_r,&(b_dz_r) ); - fChain->SetBranchAddress("psi_r",&psi_r,&(b_psi_r) ); - fChain->SetBranchAddress("rd0_d",&rd0_d,&(b_rd0_d) ); - fChain->SetBranchAddress("drd0_d",&drd0_d,&(b_drd0_d) ); - fChain->SetBranchAddress("rpd0_d",&rpd0_d,&(b_rpd0_d) ); - fChain->SetBranchAddress("drpd0_d",&drpd0_d,&(b_drpd0_d) ); - fChain->SetBranchAddress("rd0_t",&rd0_t,&(b_rd0_t) ); - fChain->SetBranchAddress("drd0_t",&drd0_t,&(b_drd0_t) ); - fChain->SetBranchAddress("rpd0_t",&rpd0_t,&(b_rpd0_t) ); - fChain->SetBranchAddress("drpd0_t",&drpd0_t,&(b_drpd0_t) ); - fChain->SetBranchAddress("rd0_dt",&rd0_dt,&(b_rd0_dt) ); - fChain->SetBranchAddress("drd0_dt",&drd0_dt,&(b_drd0_dt) ); - fChain->SetBranchAddress("prbr_dt",&prbr_dt,&(b_prbr_dt) ); - fChain->SetBranchAddress("prbz_dt",&prbz_dt,&(b_prbz_dt) ); - fChain->SetBranchAddress("rd0_tt",&rd0_tt,&(b_rd0_tt) ); - fChain->SetBranchAddress("drd0_tt",&drd0_tt,&(b_drd0_tt) ); - fChain->SetBranchAddress("prbr_tt",&prbr_tt,&(b_prbr_tt) ); - fChain->SetBranchAddress("prbz_tt",&prbz_tt,&(b_prbz_tt) ); - fChain->SetBranchAddress("ijetd0",&ijetd0,&(b_ijetd0) ); - fChain->SetBranchAddress("ptr3d0_j",&ptr3d0_j,&(b_ptr3d0_j) ); - fChain->SetBranchAddress("ptr2d0_j",&ptr2d0_j,&(b_ptr2d0_j) ); - fChain->SetBranchAddress("ptr3d0_3",&ptr3d0_3,&(b_ptr3d0_3) ); - fChain->SetBranchAddress("ptr2d0_3",&ptr2d0_3,&(b_ptr2d0_3) ); - fChain->SetBranchAddress("ptr2d0_2",&ptr2d0_2,&(b_ptr2d0_2) ); - fChain->SetBranchAddress("Mimpds_r",&Mimpds_r,&(b_Mimpds_r) ); - fChain->SetBranchAddress("Mimpbk_r",&Mimpbk_r,&(b_Mimpbk_r) ); - fChain->SetBranchAddress("ntracks",&ntracks,&(b_ntracks) ); - fChain->SetBranchAddress("pt",pt,&(b_pt) ); - fChain->SetBranchAddress("kappa",kappa,&(b_kappa) ); - fChain->SetBranchAddress("phi",phi,&(b_phi) ); - fChain->SetBranchAddress("theta",theta,&(b_theta) ); - fChain->SetBranchAddress("dca",dca,&(b_dca) ); - fChain->SetBranchAddress("z0",z0,&(b_z0) ); - fChain->SetBranchAddress("covar",covar,&(b_covar) ); - fChain->SetBranchAddress("nhitrp",nhitrp,&(b_nhitrp) ); - fChain->SetBranchAddress("prbrp",prbrp,&(b_prbrp) ); - fChain->SetBranchAddress("nhitz",nhitz,&(b_nhitz) ); - fChain->SetBranchAddress("prbz",prbz,&(b_prbz) ); - fChain->SetBranchAddress("rstart",rstart,&(b_rstart) ); - fChain->SetBranchAddress("rend",rend,&(b_rend) ); - fChain->SetBranchAddress("lhk",lhk,&(b_lhk) ); - fChain->SetBranchAddress("lhpi",lhpi,&(b_lhpi) ); - fChain->SetBranchAddress("nlhk",nlhk,&(b_nlhk) ); - fChain->SetBranchAddress("nlhpi",nlhpi,&(b_nlhpi) ); - fChain->SetBranchAddress("dca_d",dca_d,&(b_dca_d) ); - fChain->SetBranchAddress("ddca_d",ddca_d,&(b_ddca_d) ); - fChain->SetBranchAddress("dca_t",dca_t,&(b_dca_t) ); - fChain->SetBranchAddress("ddca_t",ddca_t,&(b_ddca_t) ); - fChain->SetBranchAddress("muqual",muqual,&(b_muqual) ); - fChain->SetBranchAddress("imu",&imu,&(b_imu) ); - fChain->SetBranchAddress("imufe",&imufe,&(b_imufe) ); - fChain->SetBranchAddress("njets",&njets,&(b_njets) ); - fChain->SetBranchAddress("E_j",E_j,&(b_E_j) ); - fChain->SetBranchAddress("pt_j",pt_j,&(b_pt_j) ); - fChain->SetBranchAddress("theta_j",theta_j,&(b_theta_j) ); - fChain->SetBranchAddress("eta_j",eta_j,&(b_eta_j) ); - fChain->SetBranchAddress("phi_j",phi_j,&(b_phi_j) ); - fChain->SetBranchAddress("m_j",m_j,&(b_m_j) ); - fChain->SetBranchAddress("thrust",&thrust,&(b_thrust) ); - fChain->SetBranchAddress("pthrust",pthrust,&(b_pthrust) ); - fChain->SetBranchAddress("thrust2",&thrust2,&(b_thrust2) ); - fChain->SetBranchAddress("pthrust2",pthrust2,&(b_pthrust2) ); - fChain->SetBranchAddress("spher",&spher,&(b_spher) ); - fChain->SetBranchAddress("aplan",&aplan,&(b_aplan) ); - fChain->SetBranchAddress("plan",&plan,&(b_plan) ); - fChain->SetBranchAddress("nnout",&nnout,&(b_nnout) ); -} - -//_____________________________________________________________________ -Bool_t h1analysis::Notify() -{ -// called when loading a new file -// get branch pointers - - printf("Processing file: %s\n",fChain->GetCurrentFile()->GetName()); - return kTRUE; -} diff --git a/tutorials/h1analysisProxy.C b/tutorials/h1analysisProxy.C deleted file mode 100644 index 36899191332604b44bfc0a00033a2dcd8c75cd22..0000000000000000000000000000000000000000 --- a/tutorials/h1analysisProxy.C +++ /dev/null @@ -1,290 +0,0 @@ -// Example of analysis class for the H1 data. -// ========================================= -// -// This file uses 4 large data sets from the H1 collaboration at DESY Hamburg. -// One can access these data sets (277 MBytes) from the standard Root web site -// at: ftp://root.cern.ch/root/h1analysis/ -// The Physics plots below generated by this example cannot be produced when -// using smaller data sets. -// -// There are several ways to analyze data stored in a Root Tree -// -Using TTree::Draw: This is very convenient and efficient for small tasks. -// A TTree::Draw call produces one histogram at the time. The histogram -// is automatically generated. The selection expression may be specified -// in the command line. -// -// -Using the TTreeViewer: This is a graphical interface to TTree::Draw -// with the same functionality. -// -// -Using the code generated by TTree::MakeClass: In this case, the user -// creates an instance of the analysis class. He has the control over -// the event loop and he can generate an unlimited number of histograms. -// -// -Using the code generated by TTree::MakeSelector. Like for the code -// generated by TTree::MakeClass, the user can do complex analysis. -// However, he cannot control the event loop. The event loop is controlled -// by TTree::Process called by the user. This solution is illustrated -// by the current code. The advantage of this method is that it can be run -// in a parallel environment using PROOF (the Parallel Root Facility). -// -// A chain of 4 files (originally converted from PAW ntuples) is used -// to illustrate the various ways to loop on Root data sets. -// Each data set contains a Root Tree named "h42" -// The class definition in h1analysis.h has been generated automatically -// by the Root utility TTree::MakeSelector using one of the files with the -// following statement: -// h42->MakeSelector("h1analysis"); -// This produces two files: h1analysis.h and h1analysis.C (skeleton of this file) -// The h1analysis class is derived from the Root class TSelector. -// -// The following members functions are called by the TTree::Process functions. -// Begin(): called everytime a loop on the tree starts. -// a convenient place to create your histograms. -// SlaveBegin(): -// -// Notify(): This function is called at the first entry of a new Tree -// in a chain. -// Process(): called to analyze each entry. -// -// SlaveTerminate(): -// -// Terminate(): called at the end of a loop on a TTree. -// a convenient place to draw/fit your histograms. -// -// To use this file, try the following session -// -// Root > gROOT->Time(); //will show RT & CPU time per command -// -//==> A- create a TChain with the 4 H1 data files -// The chain can be created by executed the short macro h1chain.C below: -// { -// TChain chain("h42"); -// chain.Add("$H1/dstarmb.root"); // 21330730 bytes 21920 events -// chain.Add("$H1/dstarp1a.root"); // 71464503 bytes 73243 events -// chain.Add("$H1/dstarp1b.root"); // 83827959 bytes 85597 events -// chain.Add("$H1/dstarp2.root"); // 100675234 bytes 103053 events -// //where $H1 is a system symbol pointing to the H1 data directory. -// } -// -// Root > .x h1chain.C -// -//==> B- loop on all events -// Root > chain.Process("h1analysis.C") -// -//==> C- same as B, but in addition fill the event list with selected entries. -// The event list is saved to a file "elist.root" by the Terminate function. -// To see the list of selected events, you can do elist->Print("all"). -// The selection function has selected 7525 events out of the 283813 events -// in the chain of files. (2.65 per cent) -// Root > chain.Process("h1analysis.C","fillList") -// -//==> D- Process only entries in the event list -// The event list is read from the file in elist.root generated by step C -// Root > chain.Process("h1analysis.C","useList") -// -//==> E- the above steps have been executed via the interpreter. -// You can repeat the steps B, C and D using the script compiler -// by replacing "h1analysis.C" by "h1analysis.C+" or "h1analysis.C++" -// -// in a new session with ,eg: -// -//==> F- Create the chain as in A, then execute -// Root > chain.Process("h1analysis.C+","useList") -// -// The commands executed with the 4 different methods B,C,D and E -// produce two canvases shown below: -// begin_html <a href="gif/h1analysis_dstar.gif" >the Dstar plot</a> end_html -// begin_html <a href="gif/h1analysis_tau.gif" >the Tau D0 plot</a> end_html - -TEventList *elist; -Bool_t useList, fillList; -TH1F *hdmd; -TH2F *h2; - -//_____________________________________________________________________ -void h1analysisProxy_Begin(TTree *tree) -{ -// function called before starting the event loop -// -it performs some cleanup -// -it creates histograms -// -it sets some initialisation for the event list - - //print the option specified in the Process function. - TString option = GetOption(); - printf("Starting (begin) h1analysis with process option: %s\n",option.Data()); - - //some cleanup in case this function had already been executed - //delete any previously generated histograms or functions - gDirectory->Delete("hdmd"); - gDirectory->Delete("h2*"); - delete gROOT->GetFunction("f5"); - delete gROOT->GetFunction("f2"); -} - -//_____________________________________________________________________ -void h1analysisProxy_SlaveBegin(TTree *tree) -{ -// function called before starting the event loop -// -it performs some cleanup -// -it creates histograms -// -it sets some initialisation for the event list - - //initialize the Tree branch addresses - Init(tree); - - //print the option specified in the Process function. - TString option = GetOption(); - printf("Starting (slave) h1analysis with process option: %s\n",option.Data()); - - //some cleanup in case this function had already been executed - //delete any previously generated histograms or functions - gDirectory->Delete("hdmd"); - gDirectory->Delete("h2*"); - delete gROOT->GetFunction("f5"); - delete gROOT->GetFunction("f2"); - - //create histograms - hdmd = new TH1F("hdmd","dm_d",40,0.13,0.17); - h2 = new TH2F("h2","ptD0 vs dm_d",30,0.135,0.165,30,-3,6); - - fOutput->Add(hdmd); - fOutput->Add(h2); - - //process cases with event list - fillList = kFALSE; - useList = kFALSE; - tree->SetEventList(0); - delete gDirectory->GetList()->FindObject("elist"); - - // case when one creates/fills the event list - if (option.Contains("fillList")) { - fillList = kTRUE; - elist = new TEventList("elist","selection from Cut",5000); - } else elist = 0; - - // case when one uses the event list generated in a previous call - if (option.Contains("useList")) { - useList = kTRUE; - TFile f("elist.root"); - elist = (TEventList*)f.Get("elist"); - if (elist) elist->SetDirectory(0); //otherwise the file destructor will delete elist - tree->SetEventList(elist); - } - -} - -Double_t h1analysisProxy() { - return 0; -} - -//_____________________________________________________________________ -Bool_t h1analysisProxy_Process(Int_t entry) -{ -// entry is the entry number in the current Tree -// Selection function to select D* and D0. - - //in case one event list is given in input, the selection has already been done. - if (!useList) { - - float f1 = md0_d; - float f2 = md0_d-1.8646; - bool test = TMath::Abs(md0_d-1.8646) >= 0.04; - if (gDebug>0) fprintf(stderr,"entry #%d f1=%f f2=%f test=%d\n", - fChain->GetReadEntry(),f1,f2,test); - - if (TMath::Abs(md0_d-1.8646) >= 0.04) return kFALSE; - if (ptds_d <= 2.5) return kFALSE; - if (TMath::Abs(etads_d) >= 1.5) return kFALSE; - - int cik = ik-1; //original ik used f77 convention starting at 1 - int cipi = ipi-1; //original ipi used f77 convention starting at 1 - - f1 = nhitrp[cik]; - f2 = nhitrp[cipi]; - test = nhitrp[cik]*nhitrp[cipi] <= 1; - if (gDebug>0) fprintf(stderr,"entry #%d f1=%f f2=%f test=%d\n", - fChain->GetReadEntry(),f1,f2,test); - - if (nhitrp[cik]*nhitrp[cipi] <= 1) return kFALSE; - if (rend[cik] -rstart[cik] <= 22) return kFALSE; - if (rend[cipi]-rstart[cipi] <= 22) return kFALSE; - if (nlhk[cik] <= 0.1) return kFALSE; - if (nlhpi[cipi] <= 0.1) return kFALSE; - // fix because read-only - if (nlhpi[ipis-1] <= 0.1) return kFALSE; - if (njets < 1) return kFALSE; - - } - // if option fillList, fill the event list - if (fillList) elist->Enter(fChain->GetChainEntryNumber(entry)); - - //fill some histograms - hdmd->Fill(dm_d); - h2->Fill(dm_d,rpd0_t/0.029979*1.8646/ptd0_d); - - return kTRUE; -} - - -//_____________________________________________________________________ -void h1analysisProxy_SlaveTerminate() -{ - // nothing to be done - printf("Terminate (slave) h1analysis\n"); -} - -//_____________________________________________________________________ -void h1analysisProxy_Terminate() -{ - printf("Terminate (final) h1analysis\n"); - - // function called at the end of the event loop - - hdmd = dynamic_cast<TH1F*>(fOutput->FindObject("hdmd")); - h2 = dynamic_cast<TH2F*>(fOutput->FindObject("h2")); - - if (hdmd == 0 || h2 == 0) { - Error("Terminate", "hdmd = %p , h2 = %p", hdmd, h2); - return; - } - - //create the canvas for the h1analysis fit - gStyle->SetOptFit(); - TCanvas *c1 = new TCanvas("c1","h1analysis analysis",10,10,800,600); - c1->SetBottomMargin(0.15); - hdmd->GetXaxis()->SetTitle("m_{K#pi#pi} - m_{K#pi}[GeV/c^{2}]"); - hdmd->GetXaxis()->SetTitleOffset(1.4); - - //fit histogram hdmd with function f5 using the loglikelihood option - TF1 *f5 = new TF1("f5",fdm5,0.139,0.17,5); - f5->SetParameters(1000000, .25, 2000, .1454, .001); - hdmd->Fit("f5","lr"); - - //create the canvas for tau d0 - gStyle->SetOptFit(0); - gStyle->SetOptStat(1100); - TCanvas *c2 = new TCanvas("c2","tauD0",100,100,800,600); - c2->SetGrid(); - c2->SetBottomMargin(0.15); - - // Project slices of 2-d histogram h2 along X , then fit each slice - // with function f2 and make a histogram for each fit parameter - // Note that the generated histograms are added to the list of objects - // in the current directory. - TF1 *f2 = new TF1("f2",fdm2,0.139,0.17,2); - f2->SetParameters(10000, 10); - h2->FitSlicesX(f2,0,0,1,"qln"); - TH1D *h2_1 = (TH1D*)gDirectory->Get("h2_1"); - h2_1->GetXaxis()->SetTitle("#tau[ps]"); - h2_1->SetMarkerStyle(21); - h2_1->Draw(); - c2->Update(); - TLine *line = new TLine(0,0,0,c2->GetUymax()); - line->Draw(); - - //save the event list to a Root file if one was produced - if (fillList) { - TFile efile("elist.root","recreate"); - elist->Write(); - } -} diff --git a/tutorials/h1analysisProxy.h b/tutorials/h1analysisProxy.h deleted file mode 100644 index b6022cb253107664725ae391e3f98ccdb71a8aab..0000000000000000000000000000000000000000 --- a/tutorials/h1analysisProxy.h +++ /dev/null @@ -1,32 +0,0 @@ -#include "TH2.h" -#include "TF1.h" -#include "TStyle.h" -#include "TCanvas.h" -#include "TLine.h" -#include "TEventList.h" - -const Double_t dxbin = (0.17-0.13)/40; // Bin-width -const Double_t sigma = 0.0012; - -//_____________________________________________________________________ -Double_t fdm5(Double_t *xx, Double_t *par) -{ - Double_t x = xx[0]; - if (x <= 0.13957) return 0; - Double_t xp3 = (x-par[3])*(x-par[3]); - Double_t res = dxbin*(par[0]*TMath::Power(x-0.13957, par[1]) - + par[2] / 2.5066/par[4]*TMath::Exp(-xp3/2/par[4]/par[4])); - return res; -} - -//_____________________________________________________________________ -Double_t fdm2(Double_t *xx, Double_t *par) -{ - Double_t x = xx[0]; - if (x <= 0.13957) return 0; - Double_t xp3 = (x-0.1454)*(x-0.1454); - Double_t res = dxbin*(par[0]*TMath::Power(x-0.13957, 0.25) - + par[1] / 2.5066/sigma*TMath::Exp(-xp3/2/sigma/sigma)); - return res; -} - diff --git a/tutorials/h1analysisProxyCut.C b/tutorials/h1analysisProxyCut.C deleted file mode 100644 index fc01fffc594cb192be7ffbb3c484265cdeae28f3..0000000000000000000000000000000000000000 --- a/tutorials/h1analysisProxyCut.C +++ /dev/null @@ -1,3 +0,0 @@ -Bool_t h1analysisProxyCut() { - return kFALSE; -} diff --git a/tutorials/h1chain.C b/tutorials/h1chain.C deleted file mode 100644 index 642a6b9bcb0941682eb3793475a5ef4c0e6959e1..0000000000000000000000000000000000000000 --- a/tutorials/h1chain.C +++ /dev/null @@ -1,11 +0,0 @@ -{ - //creates a TChain to be used by the h1analysis.C class - //the symbol H1 must point to a directory where the H1 data sets - //have been installed - - TChain chain("h42"); - chain.Add("$H1/dstarmb.root"); - chain.Add("$H1/dstarp1a.root"); - chain.Add("$H1/dstarp1b.root"); - chain.Add("$H1/dstarp2.root"); -} diff --git a/tutorials/h1draw.C b/tutorials/h1draw.C deleted file mode 100644 index b65218c41836f2846b3c2000ebc953065df82a16..0000000000000000000000000000000000000000 --- a/tutorials/h1draw.C +++ /dev/null @@ -1,72 +0,0 @@ -{ - // - // To see the output of this macro, click begin_html <a href="gif/h1draw.gif">here</a> end_html - // - gROOT->Reset(); - c1 = new TCanvas("c1","Histogram Drawing Options",200,10,700,900); - - pad1 = new TPad("pad1","The pad with the function",0.03,0.62,0.50,0.92,21); - pad2 = new TPad("pad2","The pad with the histogram",0.51,0.62,0.98,0.92,21); - pad3 = new TPad("pad3","The pad with the histogram",0.03,0.02,0.97,0.57,21); - pad1->Draw(); - pad2->Draw(); - pad3->Draw(); - // - // We connect the ROOT file generated in a previous tutorial - // see begin_html <a href="hsimple.C.html">An example creating/filling/saving histograms/ntuples on file</a> end_html - // - TFile example("hsimple.root"); - example.ls(); - - // Draw a global picture title - title = new TPaveLabel(0.1,0.94,0.9,0.98, - "Drawing options for one dimensional histograms"); - title->SetFillColor(16); - title->SetTextFont(52); - title->Draw(); - // - // Draw histogram hpx in first pad with the default option. - pad1->cd(); - pad1->GetFrame()->SetFillColor(18); - hpx->SetFillColor(45); - hpx->DrawCopy(); - label1 = new TPaveLabel(-3.5,700,-1,800,"Default option"); - label1->SetFillColor(42); - label1->Draw(); - // - // Draw hpx as a lego. Clicking on the lego area will show - // a "transparent cube" to guide you rotating the lego in real time. - pad2->cd(); - hpx->DrawCopy("lego1"); - label2 = new TPaveLabel(-0.72,0.74,-0.22,0.88,"option Lego1"); - label2->SetFillColor(42); - label2->Draw(); - label2a = new TPaveLabel(-0.93,-1.08,0.25,-0.92,"Click on lego to rotate"); - label2a->SetFillColor(42); - label2a->Draw(); - // - // Draw hpx with its errors and a marker. - pad3->cd(); - pad3->SetGridx(); - pad3->SetGridy(); - pad3->GetFrame()->SetFillColor(18); - hpx->SetMarkerStyle(21); - hpx->Draw("e1p"); - label3 = new TPaveLabel(2,600,3.5,650,"option e1p"); - label3->SetFillColor(42); - label3->Draw(); - // - // The following illustrates how to add comments using a PaveText. - // Attributes of text/lines/boxes added to a PaveText can be modified. - // The AddText function returns a pointer to the added object. - pave = new TPaveText(-3.78,500,-1.2,750); - pave->SetFillColor(42); - TText *t1=pave->AddText("You can move"); - t1->SetTextColor(4); - t1->SetTextSize(0.05); - pave->AddText("Title and Stats pads"); - pave->AddText("X and Y axis"); - pave->AddText("You can modify bin contents"); - pave->Draw(); - c1->Update(); -} diff --git a/tutorials/h1draw.py b/tutorials/h1draw.py deleted file mode 100755 index 5fdeb9157a3a68fca98a670fd962a2b35fd80822..0000000000000000000000000000000000000000 --- a/tutorials/h1draw.py +++ /dev/null @@ -1,77 +0,0 @@ -# -# To see the output of this macro, click begin_html <a href="gif/h1draw.gif">here</a> end_html -# - -from ROOT import TCanvas, TPad, TFile, TPaveLabel, TPaveText -from ROOT import gROOT - - -gROOT.Reset() - -c1 = TCanvas( 'c1', 'Histogram Drawing Options', 200, 10, 700, 900 ) - -pad1 = TPad( 'pad1', 'The pad with the function', 0.03, 0.62, 0.50, 0.92, 21 ) -pad2 = TPad( 'pad2', 'The pad with the histogram', 0.51, 0.62, 0.98, 0.92, 21 ) -pad3 = TPad( 'pad3', 'The pad with the histogram', 0.03, 0.02, 0.97, 0.57, 21 ) -pad1.Draw() -pad2.Draw() -pad3.Draw() -# -# We connect the ROOT file generated in a previous tutorial -# see begin_html <a href="hsimple.C.html">An example creating/filling/saving histograms/ntuples on file</a> end_html -# -example = TFile( 'hsimple.root' ) -example.ls() - -# Draw a global picture title -title = TPaveLabel( 0.1, 0.94, 0.9, 0.98, - 'Drawing options for one dimensional histograms' ) -title.SetFillColor( 16 ) -title.SetTextFont( 52 ) -title.Draw() -# -# Draw histogram hpx in first pad with the default option. -pad1.cd() -pad1.GetFrame().SetFillColor( 18 ) -hpx = gROOT.FindObject( 'hpx' ) -hpx.SetFillColor( 45 ) -hpx.DrawCopy() -label1 = TPaveLabel( -3.5, 700, -1, 800, 'Default option' ) -label1.SetFillColor( 42 ) -label1.Draw() -# -# Draw hpx as a lego. Clicking on the lego area will show -# a "transparent cube" to guide you rotating the lego in real time. -pad2.cd() -hpx.DrawCopy( 'lego1' ) -label2 = TPaveLabel( -0.72, 0.74, -0.22, 0.88, 'option Lego1' ) -label2.SetFillColor( 42 ) -label2.Draw() -label2a = TPaveLabel( -0.93, -1.08, 0.25, -0.92, 'Click on lego to rotate' ) -label2a.SetFillColor( 42 ) -label2a.Draw() -# -# Draw hpx with its errors and a marker. -pad3.cd() -pad3.SetGridx() -pad3.SetGridy() -pad3.GetFrame().SetFillColor( 18 ) -hpx.SetMarkerStyle( 21 ) -hpx.Draw( 'e1p' ) -label3 = TPaveLabel( 2, 600, 3.5, 650, 'option e1p' ) -label3.SetFillColor( 42 ) -label3.Draw() -# -# The following illustrates how to add comments using a PaveText. -# Attributes of text/lines/boxes added to a PaveText can be modified. -# The AddText function returns a pointer to the added object. -pave = TPaveText( -3.78, 500, -1.2, 750 ) -pave.SetFillColor( 42 ) -t1 = pave.AddText( 'You can move' ) -t1.SetTextColor( 4 ) -t1.SetTextSize( 0.05 ) -pave.AddText( 'Title and Stats pads' ) -pave.AddText( 'X and Y axis' ) -pave.AddText( 'You can modify bin contents' ) -pave.Draw() -c1.Update() diff --git a/tutorials/hadd.C b/tutorials/hadd.C deleted file mode 100644 index cd01b6721f52bce106eb2424fb31571bf30fd686..0000000000000000000000000000000000000000 --- a/tutorials/hadd.C +++ /dev/null @@ -1,164 +0,0 @@ -/* - - NOTE: This macro is kept for back compatibility only. - Use instead the executable $ROOTSYS/bin/hadd - - This macro will add histograms from a list of root files and write them - to a target root file. The target file is newly created and must not be - identical to one of the source files. - - Author: Sven A. Schmidt, sven.schmidt@cern.ch - Date: 13.2.2001 - - This code is based on the hadd.C example by Rene Brun and Dirk Geppert, - which had a problem with directories more than one level deep. - (see macro hadd_old.C for this previous implementation). - - The macro from Sven has been enhanced by - Anne-Sylvie Nicollerat <Anne-Sylvie.Nicollerat@cern.ch> - to automatically add Trees (via a chain of trees). - - To use this macro, modify the file names in function hadd. - - NB: This macro is provided as a tutorial. - Use $ROOTSYS/bin/hadd to merge many histogram files - - */ - - -#include <string.h> -#include "TChain.h" -#include "TFile.h" -#include "TH1.h" -#include "TTree.h" -#include "TKey.h" -#include "Riostream.h" - -TList *FileList; -TFile *Target; - -void MergeRootfile( TDirectory *target, TList *sourcelist ); - - -void hadd() { - // in an interactive ROOT session, edit the file names - // Target and FileList, then - // root > .L hadd.C - // root > hadd() - - Target = TFile::Open( "result.root", "RECREATE" ); - - FileList = new TList(); - FileList->Add( TFile::Open("hsimple1.root") ); - FileList->Add( TFile::Open("hsimple2.root") ); - - MergeRootfile( Target, FileList ); - -} - -void MergeRootfile( TDirectory *target, TList *sourcelist ) { - - // cout << "Target path: " << target->GetPath() << endl; - TString path( (char*)strstr( target->GetPath(), ":" ) ); - path.Remove( 0, 2 ); - - TFile *first_source = (TFile*)sourcelist->First(); - first_source->cd( path ); - TDirectory *current_sourcedir = gDirectory; - //gain time, do not add the objects in the list in memory - Bool_t status = TH1::AddDirectoryStatus(); - TH1::AddDirectory(kFALSE); - - // loop over all keys in this directory - TChain *globChain = 0; - TIter nextkey( current_sourcedir->GetListOfKeys() ); - TKey *key, *oldkey=0; - while ( (key = (TKey*)nextkey())) { - - //keep only the highest cycle number for each key - if (oldkey && !strcmp(oldkey->GetName(),key->GetName())) continue; - - // read object from first source file - first_source->cd( path ); - TObject *obj = key->ReadObj(); - - if ( obj->IsA()->InheritsFrom( "TH1" ) ) { - // descendant of TH1 -> merge it - - // cout << "Merging histogram " << obj->GetName() << endl; - TH1 *h1 = (TH1*)obj; - - // loop over all source files and add the content of the - // correspondant histogram to the one pointed to by "h1" - TFile *nextsource = (TFile*)sourcelist->After( first_source ); - while ( nextsource ) { - - // make sure we are at the correct directory level by cd'ing to path - nextsource->cd( path ); - TKey *key2 = (TKey*)gDirectory->GetListOfKeys()->FindObject(h1->GetName()); - if (key2) { - TH1 *h2 = (TH1*)key2->ReadObj(); - h1->Add( h2 ); - delete h2; - } - - nextsource = (TFile*)sourcelist->After( nextsource ); - } - } - else if ( obj->IsA()->InheritsFrom( "TTree" ) ) { - - // loop over all source files create a chain of Trees "globChain" - const char* obj_name= obj->GetName(); - - globChain = new TChain(obj_name); - globChain->Add(first_source->GetName()); - TFile *nextsource = (TFile*)sourcelist->After( first_source ); - // const char* file_name = nextsource->GetName(); - // cout << "file name " << file_name << endl; - while ( nextsource ) { - - globChain->Add(nextsource->GetName()); - nextsource = (TFile*)sourcelist->After( nextsource ); - } - - } else if ( obj->IsA()->InheritsFrom( "TDirectory" ) ) { - // it's a subdirectory - - cout << "Found subdirectory " << obj->GetName() << endl; - - // create a new subdir of same name and title in the target file - target->cd(); - TDirectory *newdir = target->mkdir( obj->GetName(), obj->GetTitle() ); - - // newdir is now the starting point of another round of merging - // newdir still knows its depth within the target file via - // GetPath(), so we can still figure out where we are in the recursion - MergeRootfile( newdir, sourcelist ); - - } else { - - // object is of no type that we know or can handle - cout << "Unknown object type, name: " - << obj->GetName() << " title: " << obj->GetTitle() << endl; - } - - // now write the merged histogram (which is "in" obj) to the target file - // note that this will just store obj in the current directory level, - // which is not persistent until the complete directory itself is stored - // by "target->Write()" below - if ( obj ) { - target->cd(); - - //!!if the object is a tree, it is stored in globChain... - if(obj->IsA()->InheritsFrom( "TTree" )) - globChain->Merge(target->GetFile(),0,"keep"); - else - obj->Write( key->GetName() ); - } - - } // while ( ( TKey *key = (TKey*)nextkey() ) ) - - // save modifications to target file - target->SaveSelf(kTRUE); - TH1::AddDirectory(status); -} diff --git a/tutorials/hadd_old.C b/tutorials/hadd_old.C deleted file mode 100644 index c8e7e11aa11fc606830498d5a5cba27404052a9d..0000000000000000000000000000000000000000 --- a/tutorials/hadd_old.C +++ /dev/null @@ -1,128 +0,0 @@ -// example of macro to add two histogram files containing the same histograms -// (in a directory structure) or ntuples/trees. -// Histograms are added in memory as well as profile histograms. -// ntuples and trees are merged. -// The resulting histograms are saved into a new file. -// original implementation : Rene Brun -// extensions by Dirk Geppert to support files with sub-directories - -//______________________________________________________________________ -// give the list of files below. Last file must be a NULL string -const char *cfiles[] = { - "file1.root", - "file2.root", - ""}; -const char *outfile="file.root"; -//______________________________________________________________________ - -TFile *fnew; -TList *flist; -TFile *afile, *file1; - -TH1 *h1, *h2; -TTree *t1, *t2; -TObject *obj; -TKey *key; - -void AddRecursive(TDirectory *root,TDirectory* node); -//______________________________________________________________________ -// -// -// -//______________________________________________________________________ -void hadd() { - - // create the result file - fnew = new TFile(outfile,"RECREATE"); - - //create a support list for the input files - flist = new TList(); - - //open all input files and insert them in the list of files - Int_t nfiles = 0; - while (strlen(cfiles[nfiles])) { - afile = new TFile(cfiles[nfiles]); - flist->Add(afile); - nfiles++; - } - - //Get a pointer to the first file - afile = file1 = (TFile*)flist->First(); - - AddRecursive(fnew,file1); - - //fnew->ls(); - fnew->Write(); - fnew->Close(); - delete fnew; - flist->Delete(); - delete flist; -} - -//______________________________________________________________________ -// -// -// -//______________________________________________________________________ -void AddRecursive(TDirectory *root,TDirectory* node) { - - static TDirectory *dact; - - TDirectory *dirsav; - - //We create an iterator to loop on all objects(keys) of first file - TIter nextkey(node->GetListOfKeys()); - while (key = (TKey*)nextkey()) { - node->cd(); - obj = key->ReadObj(); - if (obj->IsA()->InheritsFrom("TTree")) { //case of a TTree or TNtuple - t1 = (TTree*)obj; - // this part still to be implemented - // use TChain::Merge instead - } elseif(obj->IsA()->InheritsFrom("TH1")) { //case of TH1 or TProfile - h1 = (TH1*)obj; - afile = (TFile*)flist->After(file1); - while (afile) { //loop on all files starting at second file - char* base=strstr(root->GetPath(),":"); base+=2; - //printf("base=%s\n",base); - - dirsav=gDirectory; - afile->cd(base); - h2 = (TH1*)gDirectory->Get(h1->GetName()); - dirsav->cd(); - if (h2) { // here we should check that we can add - //printf("adding histo %s to %s\n",h2->GetName(),h1->GetName()); - h1->Add(h2); - delete h2; - } - afile = (TFile*)flist->After(afile); - } - } elseif(obj->IsA()->InheritsFrom("TDirectory")) { //case of TDirectory - // recursion - // printf("Found TDirectory name=%s title=%s\n", - // obj->GetName(),obj->GetTitle()); - root->cd(); - dact=root->mkdir(obj->GetName(),obj->GetTitle()); - dact->cd(); - TObject *objsave = obj; - TKey *keysave = key; - AddRecursive(dact,(TDirectory*)obj); - obj = objsave; - key = keysave; - } else { //another object - printf("anotherobjname=%s, title=%s\n",obj->GetName(),obj->GetTitle()); - } - - // write node object, modified or not into fnew - if (obj) { - root->cd(); - obj->Write(key->GetName()); - delete obj; - obj=NULL; - } - } - root->cd(); -} - - - diff --git a/tutorials/hbars.C b/tutorials/hbars.C deleted file mode 100644 index e833e86ad31a791f4ab3f6026ad24202424e999c..0000000000000000000000000000000000000000 --- a/tutorials/hbars.C +++ /dev/null @@ -1,41 +0,0 @@ -// Example of bar charts -// Author: Rene Brun -void hbars() -{ - if (gSystem->AccessPathName("cernstaff.root")) { - gROOT->ProcessLine(".x cernbuild.C"); - } - TFile *f = new TFile("cernstaff.root"); - TTree *T = (TTree*)f->Get("T"); - T->SetFillColor(45); - TCanvas *c1 = new TCanvas("c1","histograms with bars",10,10,800,900); - c1->SetFillColor(42); - c1->Divide(1,2); - - //horizontal bar chart - c1->cd(1); gPad->SetGrid(); gPad->SetLogx(); gPad->SetFrameFillColor(33); - T->Draw("Nation","","hbar2"); - - //vertical bar chart - c1->cd(2); gPad->SetGrid(); gPad->SetFrameFillColor(33); - T->Draw("Division>>hDiv","","goff"); - TH1F *hDiv = (TH1F*)gDirectory->Get("hDiv"); - hDiv->SetStats(0); - TH1F *hDivFR = (TH1F*)hDiv->Clone("hDivFR"); - T->Draw("Division>>hDivFR","Nation==\"FR\"","goff"); - hDiv->SetBarWidth(0.45); - hDiv->SetBarOffset(0.1); - hDiv->SetFillColor(49); - hDiv->Draw("bar2"); - hDivFR->SetBarWidth(0.4); - hDivFR->SetBarOffset(0.55); - hDivFR->SetFillColor(50); - hDivFR->Draw("bar2,same"); - - TLegend *legend = new TLegend(0.55,0.65,0.76,0.82); - legend->AddEntry(hDiv,"All nations","f"); - legend->AddEntry(hDivFR,"French only","f"); - legend->Draw(); - - c1->cd(); -} diff --git a/tutorials/hclient.C b/tutorials/hclient.C deleted file mode 100644 index 3eba9aecdd0b023a9c756eed6079f49ff3d4e1cd..0000000000000000000000000000000000000000 --- a/tutorials/hclient.C +++ /dev/null @@ -1,71 +0,0 @@ -{ - // Client program which creates and fills a histogram. Every 1000 fills - // the histogram is send to the server which displays the histogram. - // - // To run this demo do the following: - // - Open three windows - // - Start ROOT in all three windows - // - Execute in the first window: .x hserv.C (or hserv2.C) - // - Execute in the second and third windows: .x hclient.C - // If you want to run the hserv.C on a different host, just change - // "localhost" in the TSocket ctor below to the desried hostname. - - gROOT->Reset(); - - gBenchmark->Start("hclient"); - - // Open connection to server - TSocket *sock = new TSocket("localhost", 9090); - - // Wait till we get the start message - char str[32]; - sock->Recv(str, 32); - - // server tells us who we are - int idx = !strcmp(str, "go 0") ? 0 : 1; - - Float_t messlen = 0; - Float_t cmesslen = 0; - if (idx == 1) - sock->SetCompressionLevel(1); - - TH1 *hpx; - if (idx == 0) { - // Create the histogram - hpx = new TH1F("hpx","This is the px distribution",100,-4,4); - hpx->SetFillColor(48); // set nice fillcolor - } else { - hpx = new TH2F("hpxpy","py vs px",40,-4,4,40,-4,4); - } - - TMessage mess(kMESS_OBJECT); - //TMessage mess(kMESS_OBJECT | kMESS_ACK); - - // Fill histogram randomly - gRandom->SetSeed(); - Float_t px, py; - const int kUPDATE = 1000; - for (int i = 0; i < 25000; i++) { - gRandom->Rannor(px,py); - if (idx == 0) - hpx->Fill(px); - else - hpx->Fill(px,py); - if (i && (i%kUPDATE) == 0) { - mess.Reset(); // re-use TMessage object - mess.WriteObject(hpx); // write object in message buffer - sock->Send(mess); // send message - messlen += mess.Length(); - cmesslen += mess.CompLength(); - } - } - sock->Send("Finished"); // tell server we are finished - - if (cmesslen > 0) - printf("Average compression ratio: %g\n", messlen/cmesslen); - - gBenchmark->Show("hclient"); - - // Close the socket - sock->Close(); -} diff --git a/tutorials/hcons.C b/tutorials/hcons.C deleted file mode 100644 index 9071c784cf51021dc9edfff5129c2d8e9591dec5..0000000000000000000000000000000000000000 --- a/tutorials/hcons.C +++ /dev/null @@ -1,60 +0,0 @@ -{ - // Histogram consumer script. Create a canvas and 3 pads. Connect - // to memory mapped file "hsimple.map", that was created by hprod.C. - // It reads the histograms from shared memory and displays them - // in the pads (sleeping for 0.1 seconds before starting a new read-out - // cycle). This script runs in an infinite loop, so use ctrl-c to stop it. - - gROOT->Reset(); - - // Create a new canvas and 3 pads - TCanvas *c1; - TPad *pad1, *pad2, *pad3; - if (!gROOT->IsBatch()) { - c1 = new TCanvas("c1","Shared Memory Consumer Example",200,10,700,780); - pad1 = new TPad("pad1","This is pad1",0.02,0.52,0.98,0.98,21); - pad2 = new TPad("pad2","This is pad2",0.02,0.02,0.48,0.48,21); - pad3 = new TPad("pad3","This is pad3",0.52,0.02,0.98,0.48,21); - pad1->Draw(); - pad2->Draw(); - pad3->Draw(); - } - - // Open the memory mapped file "hsimple.map" in "READ" (default) mode. - mfile = TMapFile::Create("hsimple.map"); - - // Print status of mapped file and list its contents - mfile->Print(); - mfile->ls(); - - // Create pointers to the objects in shared memory. - TH1F *hpx = 0; - TH2F *hpxpy = 0; - TProfile *hprof = 0; - - // Loop displaying the histograms. Once the producer stops this - // script will break out of the loop. - Double_t oldentries = 0; - while (1) { - hpx = (TH1F *) mfile->Get("hpx", hpx); - hpxpy = (TH2F *) mfile->Get("hpxpy", hpxpy); - hprof = (TProfile *) mfile->Get("hprof", hprof); - if (hpx->GetEntries() == oldentries) break; - oldentries = hpx->GetEntries(); - if (!gROOT->IsBatch()) { - pad1->cd(); - hpx->Draw(); - pad2->cd(); - hprof->Draw(); - pad3->cd(); - hpxpy->Draw("cont"); - c1->Modified(); - c1->Update(); - } else { - printf("Entries, hpx=%d, Mean=%g, RMS=%g\n",hpx->GetEntries(),hpx->GetMean(),hpx->GetRMS()); - } - gSystem->Sleep(100); // sleep for 0.1 seconds - if (gSystem->ProcessEvents()) - break; - } -} diff --git a/tutorials/hist2image.C b/tutorials/hist2image.C deleted file mode 100644 index 131dbe7cb715ccbd32fad7693159344d04b3e1f3..0000000000000000000000000000000000000000 --- a/tutorials/hist2image.C +++ /dev/null @@ -1,23 +0,0 @@ -void hist2image() -{ - - TCanvas *canv = new TCanvas("image", "xygaus + xygaus(5) + xylandau(10)"); - canv->ToggleEventStatus(); - canv->SetRightMargin(0.2); - canv->SetLeftMargin(0.01); - canv->SetTopMargin(0.01); - canv->SetBottomMargin(0.01); - - // histogram as image (hist taken from draw2dopt.C) - TImage *img = TImage::Create(); - - TF2 *f2 = new TF2("f2","(xygaus + xygaus(5) + xylandau(10))",-4,4,-4,4); - Double_t params[] = {130,-1.4,1.8,1.5,1, 150,2,0.5,-2,0.5, 3600,-2,0.7,-3,0.3}; - f2->SetParameters(params); - TH2D *h2 = new TH2D("h2","xygaus + xygaus(5) + xylandau(10)",100,-4,4,100,-4,4); - h2->FillRandom("f2",40000); - img->SetImage((const Double_t *)h2->GetArray(), h2->GetNbinsX() + 2, - h2->GetNbinsY() + 2, gHistImagePalette); - img->Draw(); - img->StartPaletteEditor(); -} diff --git a/tutorials/hksimple.C b/tutorials/hksimple.C deleted file mode 100644 index b8acc862a6dc49f776551e9b9bd06806b60199e0..0000000000000000000000000000000000000000 --- a/tutorials/hksimple.C +++ /dev/null @@ -1,56 +0,0 @@ -void padRefresh(TPad *pad,int flag=0); -void hksimple() -{ -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -//*-* -//*-* This script illustrates the advantages of a TH1K histogram -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - - -// Create a new canvas. - c1 = new TCanvas("c1","Dynamic Filling Example",200,10,600,900); - c1->SetFillColor(42); - -// Create a normal histogram and two TH1K histograms - TH1 *hpx[3]; - hpx[0] = new TH1F("hp0","Normal histogram",1000,-4,4); - hpx[1] = new TH1K("hk1","Nearest Neighboor of order 3",1000,-4,4); - hpx[2] = new TH1K("hk2","Nearest Neighboor of order 16",1000,-4,4,16); - c1->Divide(1,3); - Int_t j; - for (j=0;j<3;j++) { - c1->cd(j+1); - gPad->SetFrameFillColor(33); - hpx[j]->SetFillColor(48); - hpx[j]->Draw(); - } - -// Fill histograms randomly - gRandom->SetSeed(); - Float_t px, py, pz; - const Int_t kUPDATE = 10; - for (Int_t i = 0; i <= 300; i++) { - gRandom->Rannor(px,py); - for (j=0;j<3;j++) {hpx[j]->Fill(px);} - if (i && (i%kUPDATE) == 0) { - padRefresh(c1); - } - } - - for (j=0;j<3;j++) hpx[j]->Fit("gaus","",""); - padRefresh(c1); -} -void padRefresh(TPad *pad,int flag) -{ - if (!pad) return; - pad->Modified(); - pad->Update(); - TList *tl = pad->GetListOfPrimitives(); - if (!tl) return; - TListIter next(tl); - TObject *to; - while ((to=next())) { - if (to->InheritsFrom(TPad::Class())) padRefresh((TPad*)to,1);} - if (flag) return; - gSystem->ProcessEvents(); -} diff --git a/tutorials/hksimple.rb b/tutorials/hksimple.rb deleted file mode 100644 index 4cd4f982f5d025ea81ebfbc23b1a0246af0fcebe..0000000000000000000000000000000000000000 --- a/tutorials/hksimple.rb +++ /dev/null @@ -1,60 +0,0 @@ - -# ruby-root testsuite -# port of the original $ROOT/hksimple.C tutorial -# (18/01/2004) --elathan <elathan@phys.uoa.gr> -# -# original header: -#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -#*-* -#*-* This script illustrates the advantages of a TH1K histogram -#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -def padRefresh(pad, flag=nil) - return if not pad - pad.Modified - pad.Update - pad.GetListOfPrimitives.each do |to| - padRefresh(to.as("TPad"), 1) if to.InheritsFrom("TPad") - end - return if flag - gSystem.ProcessEvents -end - -#tapp = TApplication.new("rr: hksimple.rb") - -# Create a new canvas. -c1 = TCanvas.new("c1","Dynamic Filling Example",200,10,600,900) - c1.SetFillColor(42) - -# Create a normal histogram and two TH1K histograms -hpx = [] - hpx << TH1F.new("hp0","Normal histogram",1000,-4,4) - hpx << TH1K.new("hk1","Nearest Neighboor of order 3",1000,-4,4) - hpx << TH1K.new("hk2","Nearest Neighboor of order 16",1000,-4,4,16) - - c1.Divide(1,3) - - hpx.each_with_index do |h, i| - c1.cd i+1 - gPad.SetFrameFillColor(33) - h.SetFillColor 48 - h.Draw - end - - gRandom.SetSeed - $kUPDATE = 10 - 300.times do |i| - px = gRandom.Gaus - py = gRandom.Gaus - hpx.each do |h| - h.Fill(px) - end - padRefresh(c1.as("TPad")) if (i && (i % $kUPDATE) == 0) - end - - hpx.each do |h| - h.Fit("gaus", "", "") - end - - padRefresh(c1) -gApplication.Run diff --git a/tutorials/hlabels1.C b/tutorials/hlabels1.C deleted file mode 100644 index 5ee2300a1240bf0ea88e192e7507a349e7a1d1ab..0000000000000000000000000000000000000000 --- a/tutorials/hlabels1.C +++ /dev/null @@ -1,30 +0,0 @@ -// example illustrating histograms with alphanumeric labels -// author; Rene Brun -void hlabels1() -{ - const Int_t nx = 20; - char *people[nx] = {"Jean","Pierre","Marie","Odile","Sebastien","Fons","Rene", - "Nicolas","Xavier","Greg","Bjarne","Anton","Otto","Eddy","Peter","Pasha", - "Philippe","Suzanne","Jeff","Valery"}; - TCanvas *c1 = new TCanvas("c1","demo bin labels",10,10,900,500); - c1->SetGrid(); - c1->SetTopMargin(0.15); - TH1F *h = new TH1F("h","test",3,0,3); - h->SetStats(0); - h->SetFillColor(38); - h->SetBit(TH1::kCanRebin); - for (Int_t i=0;i<5000;i++) { - Int_t r = gRandom->Rndm()*20; - h->Fill(people[r],1); - } - h->LabelsDeflate(); - h->Draw(); - TPaveText *pt = new TPaveText(0.7,0.85,0.98,0.98,"brNDC"); - pt->SetFillColor(18); - pt->SetTextAlign(12); - pt->AddText("Use the axis Context Menu LabelsOption"); - pt->AddText(" \"a\" to sort by alphabetic order"); - pt->AddText(" \">\" to sort by decreasing values"); - pt->AddText(" \"<\" to sort by increasing values"); - pt->Draw(); -} diff --git a/tutorials/hlabels2.C b/tutorials/hlabels2.C deleted file mode 100644 index b4178c25d1e74906a9c0eacc3ed15676a47aee99..0000000000000000000000000000000000000000 --- a/tutorials/hlabels2.C +++ /dev/null @@ -1,38 +0,0 @@ -// example illustrating 2-d histograms with alphanumeric labels -// author; Rene Brun -void hlabels2() -{ - const Int_t nx = 12; - const Int_t ny = 20; - char *month[nx] = {"January","February","March","April","May","June","July", - "August","September","October","November","December"}; - char *people[ny] = {"Jean","Pierre","Marie","Odile","Sebastien","Fons","Rene", - "Nicolas","Xavier","Greg","Bjarne","Anton","Otto","Eddy","Peter","Pasha", - "Philippe","Suzanne","Jeff","Valery"}; - TCanvas *c1 = new TCanvas("c1","demo bin labels",10,10,800,800); - c1->SetGrid(); - c1->SetLeftMargin(0.15); - c1->SetBottomMargin(0.15); - TH2F *h = new TH2F("h","test",3,0,3,2,0,2); - h->SetBit(TH1::kCanRebin); - h->SetStats(0); - gRandom->SetSeed(); - for (Int_t i=0;i<15000;i++) { - Int_t rx = gRandom->Rndm()*nx; - Int_t ry = gRandom->Rndm()*ny; - h->Fill(people[ry],month[rx],1); - } - h->LabelsDeflate("X"); - h->LabelsDeflate("Y"); - h->LabelsOption("v"); - h->Draw("text"); - - TPaveText *pt = new TPaveText(0.6,0.85,0.98,0.98,"brNDC"); - pt->SetFillColor(18); - pt->SetTextAlign(12); - pt->AddText("Use the axis Context Menu LabelsOption"); - pt->AddText(" \"a\" to sort by alphabetic order"); - pt->AddText(" \">\" to sort by decreasing values"); - pt->AddText(" \"<\" to sort by increasing values"); - pt->Draw(); -} diff --git a/tutorials/hprod.C b/tutorials/hprod.C deleted file mode 100644 index 25426a139815a6774d15cf7a56f357878e3e572e..0000000000000000000000000000000000000000 --- a/tutorials/hprod.C +++ /dev/null @@ -1,46 +0,0 @@ -{ - // Histogram producer script. This script creates a memory mapped - // file and stores three histogram objects in it (a TH1F, a TH2F and a - // TProfile). It then fills, in an infinite loop (so use ctrl-c to - // stop this script), the three histogram objects with random numbers. - // Every 10 fills the objects are updated in shared memory. - // Use the hcons.C script to map this file and display the histograms. - - gROOT->Reset(); - - // Create a new memory mapped file. The memory mapped file can be - // opened in an other process on the same machine and the objects - // stored in it can be accessed. - - TMapFile::SetMapAddress(0xb46a5000); - mfile = TMapFile::Create("hsimple.map","RECREATE", 1000000, - "Demo memory mapped file with histograms"); - - // Create a 1d, a 2d and a profile histogram. These objects will - // be automatically added to the current directory, i.e. mfile. - hpx = new TH1F("hpx","This is the px distribution",100,-4,4); - hpxpy = new TH2F("hpxpy","py vs px",40,-4,4,40,-4,4); - hprof = new TProfile("hprof","Profile of pz versus px",100,-4,4,0,20); - - // Set a fill color for the TH1F - hpx->SetFillColor(48); - - // Print status of mapped file - mfile->Print(); - - // Endless loop filling histograms with random numbers - Float_t px, py, pz; - int ii = 0; - while (1) { - gRandom->Rannor(px,py); - pz = px*px + py*py; - hpx->Fill(px); - hpxpy->Fill(px,py); - hprof->Fill(px,pz); - if (!(ii % 10)) { - mfile->Update(); // updates all objects in shared memory - if (!ii) mfile->ls(); // print contents of mapped file after - } // first update - ii++; - } -} diff --git a/tutorials/hserv.C b/tutorials/hserv.C deleted file mode 100644 index 3071e979d61ee323c5e8e4337a5b07fb28b1b940..0000000000000000000000000000000000000000 --- a/tutorials/hserv.C +++ /dev/null @@ -1,98 +0,0 @@ -{ - // Server program which waits for two clients to connect. It then monitors - // the sockets and displays the objects it receives. To see how to - // make a non-blocking server see the script hserv2.C. - // - // To run this demo do the following: - // - Open three windows - // - Start ROOT in all three windows - // - Execute in the first window: .x hserv.C - // - Execute in the second and third windows: .x hclient.C - - // Open a server socket looking for connections on a named service or - // on a specified port. - //TServerSocket *ss = new TServerSocket("rootserv", kTRUE); - TServerSocket *ss = new TServerSocket(9090, kTRUE); - - // Accept a connection and return a full-duplex communication socket. - TSocket *s0 = ss->Accept(); - TSocket *s1 = ss->Accept(); - - // tell the clients to start - s0->Send("go 0"); - s1->Send("go 1"); - - // Close the server socket (unless we will use it later to wait for - // another connection). - ss->Close(); - - // Check some options of socket 0. - int val; - s0->GetOption(kSendBuffer, val); - printf("sendbuffer size: %d\n", val); - s0->GetOption(kRecvBuffer, val); - printf("recvbuffer size: %d\n", val); - - // Get the remote addresses (informational only). - TInetAddress adr = s0->GetInetAddress(); - adr.Print(); - adr = s1->GetInetAddress(); - adr.Print(); - - // Create canvas and pads to display the histograms - TCanvas *c1 = new TCanvas("c1","The Ntuple canvas",200,10,700,780); - TPad *pad1 = new TPad("pad1","This is pad1",0.02,0.52,0.98,0.98,21); - TPad *pad2 = new TPad("pad2","This is pad2",0.02,0.02,0.98,0.48,21); - pad1->Draw(); - pad2->Draw(); - - TMonitor *mon = new TMonitor; - - mon->Add(s0); - mon->Add(s1); - - while (1) { - TMessage *mess; - TSocket *s; - - s = mon->Select(); - - s->Recv(mess); - - if (mess->What() == kMESS_STRING) { - char str[64]; - mess->ReadString(str, 64); - printf("Client %d: %s\n", s==s0 ? 0 : 1, str); - mon->Remove(s); - if (mon->GetActive() == 0) { - printf("No more active clients... stopping\n"); - break; - } - } else if (mess->What() == kMESS_OBJECT) { - //printf("got object of class: %s\n", mess->GetClass()->GetName()); - TH1 *h = (TH1 *)mess->ReadObject(mess->GetClass()); - if (s == s0) - pad1->cd(); - else - pad2->cd(); - h->Print(); - h->DrawCopy(); // draw a copy of the histogram, not the histo itself - c1->Modified(); - c1->Update(); - delete h; // delete histogram - } else { - printf("*** Unexpected message ***\n"); - } - - delete mess; - } - - printf("Client 0: bytes recv = %d, bytes sent = %d\n", s0->GetBytesRecv(), - s0->GetBytesSent()); - printf("Client 1: bytes recv = %d, bytes sent = %d\n", s1->GetBytesRecv(), - s1->GetBytesSent()); - - // Close the socket. - s0->Close(); - s1->Close(); -} diff --git a/tutorials/hserv2.C b/tutorials/hserv2.C deleted file mode 100644 index 8b835265f15f43af7cb7a1cc37c2da7e430117a2..0000000000000000000000000000000000000000 --- a/tutorials/hserv2.C +++ /dev/null @@ -1,100 +0,0 @@ -{ - // This script shows how to make a simple iterative server that - // can accept connections while handling currently open connections. - // Compare this script to hserv.C that blocks on accept. - // In this script a server socket is created and added to a monitor. - // A monitor object is used to monitor connection requests on - // the server socket. After accepting the connection - // the new socket is added to the monitor and immediately ready - // for use. Once two connections are accepted the server socket - // is removed from the monitor and closed. The monitor continues - // monitoring the sockets. - // - // To run this demo do the following: - // - Open three windows - // - Start ROOT in all three windows - // - Execute in the first window: .x hserv2.C - // - Execute in the second and third windows: .x hclient.C - - // Create canvas and pads to display the histograms - TCanvas *c1 = new TCanvas("c1","The Ntuple canvas",200,10,700,780); - TPad *pad1 = new TPad("pad1","This is pad1",0.02,0.52,0.98,0.98,21); - TPad *pad2 = new TPad("pad2","This is pad2",0.02,0.02,0.98,0.48,21); - pad1->Draw(); - pad2->Draw(); - - // Open a server socket looking for connections on a named service or - // on a specified port. - //TServerSocket *ss = new TServerSocket("rootserv", kTRUE); - TServerSocket *ss = new TServerSocket(9090, kTRUE); - - TMonitor *mon = new TMonitor; - - mon->Add(ss); - - TSocket *s0 = 0, *s1 = 0; - - while (1) { - TMessage *mess; - TSocket *s; - - s = mon->Select(); - - if (s->IsA() == TServerSocket::Class()) { - if (!s0) { - s0 = ((TServerSocket *)s)->Accept(); - s0->Send("go 0"); - mon->Add(s0); - } else if (!s1) { - s1 = ((TServerSocket *)s)->Accept(); - s1->Send("go 1"); - mon->Add(s1); - } else - printf("only accept two client connections\n"); - - if (s0 && s1) { - mon->Remove(ss); - ss->Close(); - } - continue; - } - - s->Recv(mess); - - if (mess->What() == kMESS_STRING) { - char str[64]; - mess->ReadString(str, 64); - printf("Client %d: %s\n", s==s0 ? 0 : 1, str); - mon->Remove(s); - if (mon->GetActive() == 0) { - printf("No more active clients... stopping\n"); - break; - } - } else if (mess->What() == kMESS_OBJECT) { - //printf("got object of class: %s\n", mess->GetClass()->GetName()); - TH1 *h = (TH1 *)mess->ReadObject(mess->GetClass()); - if (s == s0) - pad1->cd(); - else - pad2->cd(); - h->Print(); - h->DrawCopy(); // draw a copy of the histogram, not the histo itself - c1->Modified(); - c1->Update(); - delete h; // delete histogram - } else { - printf("*** Unexpected message ***\n"); - } - - delete mess; - } - - printf("Client 0: bytes recv = %d, bytes sent = %d\n", s0->GetBytesRecv(), - s0->GetBytesSent()); - printf("Client 1: bytes recv = %d, bytes sent = %d\n", s1->GetBytesRecv(), - s1->GetBytesSent()); - - // Close the socket. - s0->Close(); - s1->Close(); -} diff --git a/tutorials/hsimple.C b/tutorials/hsimple.C deleted file mode 100644 index 88d365f90046e6eaf708f6b6497792e7d5a8a7f2..0000000000000000000000000000000000000000 --- a/tutorials/hsimple.C +++ /dev/null @@ -1,72 +0,0 @@ -{ -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -//*-* -//*-* This program creates : -//*-* - a one dimensional histogram -//*-* - a two dimensional histogram -//*-* - a profile histogram -//*-* - a memory-resident ntuple -//*-* -//*-* These objects are filled with some random numbers and saved on a file. -//*-* -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - - gROOT->Reset(); - -// Create a new canvas. - c1 = new TCanvas("c1","Dynamic Filling Example",200,10,700,500); - c1->SetFillColor(42); - c1->GetFrame()->SetFillColor(21); - c1->GetFrame()->SetBorderSize(6); - c1->GetFrame()->SetBorderMode(-1); - -// Create a new ROOT binary machine independent file. -// Note that this file may contain any kind of ROOT objects, histograms, -// pictures, graphics objects, detector geometries, tracks, events, etc.. -// This file is now becoming the current directory. - - TFile *hfile = (TFile*)gROOT->FindObject("hsimple.root"); if (hfile) hfile->Close(); - hfile = new TFile("hsimple.root","RECREATE","Demo ROOT file with histograms"); - -// Create some histograms, a profile histogram and an ntuple - hpx = new TH1F("hpx","This is the px distribution",100,-4,4); - hpxpy = new TH2F("hpxpy","py vs px",40,-4,4,40,-4,4); - hprof = new TProfile("hprof","Profile of pz versus px",100,-4,4,0,20); - ntuple = new TNtuple("ntuple","Demo ntuple","px:py:pz:random:i"); - -// Set canvas/frame attributes (save old attributes) - hpx->SetFillColor(48); - - gBenchmark->Start("hsimple"); - -// Fill histograms randomly - gRandom->SetSeed(); - Float_t px, py, pz; - const Int_t kUPDATE = 1000; - for (Int_t i = 0; i < 25000; i++) { - gRandom->Rannor(px,py); - pz = px*px + py*py; - Float_t random = gRandom->Rndm(1); - hpx->Fill(px); - hpxpy->Fill(px,py); - hprof->Fill(px,pz); - ntuple->Fill(px,py,pz,random,i); - if (i && (i%kUPDATE) == 0) { - if (i == kUPDATE) hpx->Draw(); - c1->Modified(); - c1->Update(); - if (gSystem->ProcessEvents()) - break; - } - } - gBenchmark->Show("hsimple"); - -// Save all objects in this file - hpx->SetFillColor(0); - hfile->Write(); - hpx->SetFillColor(48); - c1->Modified(); - -// Note that the file is automatically close when application terminates -// or when the file destructor is called. -} diff --git a/tutorials/hsimple.py b/tutorials/hsimple.py deleted file mode 100755 index bed3e50eaa9b768972a33eb191ab3e474642faad..0000000000000000000000000000000000000000 --- a/tutorials/hsimple.py +++ /dev/null @@ -1,97 +0,0 @@ -#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -#*-* -#*-* This program creates : -#*-* - a one dimensional histogram -#*-* - a two dimensional histogram -#*-* - a profile histogram -#*-* - a memory-resident ntuple -#*-* -#*-* These objects are filled with some random numbers and saved on a file. -#*-* -#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -from ROOT import TCanvas, TFile, TProfile, TNtuple, TH1F, TH2F -from ROOT import gROOT, gBenchmark, gRandom, gSystem - - -gROOT.Reset() - -# Create a new canvas, and customize it. -c1 = TCanvas( 'c1', 'Dynamic Filling Example', 200, 10, 700, 500 ) -c1.SetFillColor( 42 ) -c1.GetFrame().SetFillColor( 21 ) -c1.GetFrame().SetBorderSize( 6 ) -c1.GetFrame().SetBorderMode( -1 ) - -# Create a new ROOT binary machine independent file. -# Note that this file may contain any kind of ROOT objects, histograms, -# pictures, graphics objects, detector geometries, tracks, events, etc.. -# This file is now becoming the current directory. - -hfile = gROOT.FindObject( 'hsimple.root' ) -if hfile: - hfile.Close() -hfile = TFile( 'hsimple.root', 'RECREATE', 'Demo ROOT file with histograms' ) - -# Create some histograms, a profile histogram and an ntuple -hpx = TH1F( 'hpx', 'This is the px distribution', 100, -4, 4 ) -hpxpy = TH2F( 'hpxpy', 'py vs px', 40, -4, 4, 40, -4, 4 ) -hprof = TProfile( 'hprof', 'Profile of pz versus px', 100, -4, 4, 0, 20 ) -ntuple = TNtuple( 'ntuple', 'Demo ntuple', 'px:py:pz:random:i' ) - -# Set canvas/frame attributes. -hpx.SetFillColor( 48 ) - -gBenchmark.Start( 'hsimple' ) - -# Initialize random number generator. -gRandom.SetSeed() -rannor, rndm = gRandom.Rannor, gRandom.Rndm - -# For speed, bind and cache the Fill member functions, -histos = [ 'hpx', 'hpxpy', 'hprof', 'ntuple' ] -for name in histos: - exec '%sFill = %s.Fill' % (name,name) - -# Fill histograms randomly. -px, py = 0.1, 0.101 -kUPDATE = 1000 -for i in xrange( 25000 ): - # Generate random values. - rannor( px, py ) - pz = px*px + py*py - random = rndm(1) - - # Fill histograms. - hpxFill( px ) - hpxpyFill( px, py ) - hprofFill( px, pz ) - ntupleFill( px, py, pz, random, i ) - - # Update display every kUPDATE events. - if i and i%kUPDATE == 0: - if i == kUPDATE: - hpx.Draw() - - c1.Modified() - c1.Update() - - if gSystem.ProcessEvents(): # allow user interrupt - break - -# Destroy member functions cache. -for name in histos: - exec 'del %sFill' % name -del histos - -gBenchmark.Show( 'hsimple' ) - -# Save all objects in this file. -hpx.SetFillColor( 0 ) -hfile.Write() -hpx.SetFillColor( 48 ) -c1.Modified() -c1.Update() - -# Note that the file is automatically closed when application terminates -# or when the file destructor is called. diff --git a/tutorials/hsimple.rb b/tutorials/hsimple.rb deleted file mode 100644 index 279060b27c6340cc5b0d45ef34bdbca09aab5971..0000000000000000000000000000000000000000 --- a/tutorials/hsimple.rb +++ /dev/null @@ -1,71 +0,0 @@ -#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -#*-* -#*-* This program creates : -#*-* - a one dimensional histogram -#*-* - a two dimensional histogram -#*-* - a profile histogram -#*-* - a memory-resident ntuple -#*-* -#*-* These objects are filled with some random numbers and saved on a file. -#*-* -#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -gROOT.Reset - -# Create a new canvas. -c1 = TCanvas.new('c1', 'Dynamic Filling Example', 200, 10, 700, 500) -c1.SetFillColor(42) -c1.GetFrame.SetFillColor(21) -c1.GetFrame.SetBorderSize(6) -c1.GetFrame.SetBorderMode(-1) - -# Create a new ROOT binary machine independent file. -# Note that this file may contain any kind of ROOT objects, histograms, -# pictures, graphics objects, detector geometries, tracks, events, etc.. -# This file is now becoming the current directory. - -hfile = gROOT.FindObject('hsimple.root') -hfile.Close if hfile - -hfile = TFile.new( 'hsimple.root', 'RECREATE', 'Demo ROOT file with histograms' ) - -# Create some histograms, a profile histogram and an ntuple -hpx = TH1F.new('hpx', 'This is the px distribution', 100, -4, 4) -hpxpy = TH2F.new('hpxpy', 'py vs px', 40, -4, 4, 40, -4, 4 ) -hprof = TProfile.new('hprof', 'Profile of pz versus px', 100, -4, 4, 0, 20) -ntuple = TNtuple.new('ntuple', 'Demo ntuple', 'px:py:pz:random:i') - -# Set canvas/frame attributes (save old attributes) -hpx.SetFillColor(48) -gBenchmark = TBenchmark.new.Start('hsimple') - -# Fill histograms randomly -rnd = TRandom.new.SetSeed -kUPDATE = 1000 -25000.times do |i| - px = rnd.Gaus - py = rnd.Gaus - pz = px*px + py*py - random = rnd.Rndm(1) - hpx.Fill(px) - hpxpy.Fill(px, py) - hprof.Fill(px, pz) - ntuple.Fill(px, py, pz, random, i) - if i and i%kUPDATE == 0 - hpx.Draw if i == kUPDATE - c1.Modified - c1.Update - next if gSystem.ProcessEvents - end -end - -gBenchmark.Show('hsimple') - -# Save all objects in this file -hpx.SetFillColor(0) -hfile.Write -hpx.SetFillColor(48) -c1.Modified -c1.Update -gApplication.Run - diff --git a/tutorials/hsimpleProxy.C b/tutorials/hsimpleProxy.C deleted file mode 100644 index 754ed99dc9604c7024a575c14dc5c5d0363efb8c..0000000000000000000000000000000000000000 --- a/tutorials/hsimpleProxy.C +++ /dev/null @@ -1,10 +0,0 @@ -// To use this file, generate hsimple.root: -// root.exe -b -l -q hsimple.C -// and do -// TFile *file = TFile::Open("hsimple.root"); -// TTree *ntuple = file->GetObject("ntuple",ntuple); -// ntuple->Draw("hsimpleProxy.C+"); -// -double hsimpleProxy() { - return px; -} \ No newline at end of file diff --git a/tutorials/hstack.C b/tutorials/hstack.C deleted file mode 100644 index a48488a108783e9df97306cfa754c87e57079960..0000000000000000000000000000000000000000 --- a/tutorials/hstack.C +++ /dev/null @@ -1,63 +0,0 @@ -void hstack() { -// Example of stacked histograms: class THStack -// -// Author: Rene Brun - - THStack *hs = new THStack("hs","test stacked histograms"); - //create three 1-d histograms - TH1F *h1 = new TH1F("h1","test hstack",100,-4,4); - h1->FillRandom("gaus",20000); - h1->SetFillColor(kRed); - h1->SetMarkerStyle(21); - h1->SetMarkerColor(kRed); - hs->Add(h1); - TH1F *h2 = new TH1F("h2","test hstack",100,-4,4); - h2->FillRandom("gaus",15000); - h2->SetFillColor(kBlue); - h2->SetMarkerStyle(21); - h2->SetMarkerColor(kBlue); - hs->Add(h2); - TH1F *h3 = new TH1F("h3","test hstack",100,-4,4); - h3->FillRandom("gaus",10000); - h3->SetFillColor(kGreen); - h3->SetMarkerStyle(21); - h3->SetMarkerColor(kGreen); - hs->Add(h3); - - TCanvas *c1 = new TCanvas("c1","stacked hists",10,10,1000,800); - c1->SetFillColor(41); - c1->Divide(2,2); - // in top left pad, draw the stack with defaults - c1->cd(1); - hs->Draw(); - // in top right pad, draw the stack in non-stack mode and errors option - c1->cd(2); - gPad->SetGrid(); - hs->Draw("nostack,e1p"); - //in bottom left, draw in stack mode with "lego1" option - c1->cd(3); - gPad->SetFrameFillColor(17); - gPad->SetTheta(3.77); - gPad->SetPhi(2.9); - hs->Draw("lego1"); - - c1->cd(4); - //create two 2-D histograms and draw them in stack mode - gPad->SetFrameFillColor(17); - THStack *a = new THStack("a","test legos"); - TF2 *f1 = new TF2("f1","xygaus + xygaus(5) + xylandau(10)",-4,4,-4,4); - Double_t params[] = {130,-1.4,1.8,1.5,1, 150,2,0.5,-2,0.5, 3600,-2,0.7,-3,0.3}; - f1->SetParameters(params); - TH2F *h2a = new TH2F("h2a","h2a",20,-4,4,20,-4,4); - h2a->SetFillColor(38); - h2a->FillRandom("f1",4000); - TF2 *f2 = new TF2("f2","xygaus + xygaus(5)",-4,4,-4,4); - Double_t params[] = {100,-1.4,1.9,1.1,2, 80,2,0.7,-2,0.5}; - f2->SetParameters(params); - TH2F *h2b = new TH2F("h2b","h2b",20,-4,4,20,-4,4); - h2b->SetFillColor(46); - h2b->FillRandom("f2",3000); - a->Add(h2a); - a->Add(h2b); - a->Draw(); -} diff --git a/tutorials/hstack.rb b/tutorials/hstack.rb deleted file mode 100644 index 27b686a14b62e71b1d27d0cb2afac53c7d9c4d04..0000000000000000000000000000000000000000 --- a/tutorials/hstack.rb +++ /dev/null @@ -1,83 +0,0 @@ -# ruby-root testsuite -# port of the original $ROOT/hstack.C tutorial -# (20/01/2004) --elathan <elathan@phys.uoa.gr> -# -# original header: -# Example of stacked histograms: class THStack -# Author: Rene Brun - -hs = THStack.new("hs","test stacked histograms") - -#create three 1-d histograms -h1 = TH1F.new("h1","test hstack",100,-4,4) - h1.FillRandom("gaus",20000) - h1.SetFillColor(kRed) - h1.SetMarkerStyle(21) - h1.SetMarkerColor(kRed) - -hs.Add(h1) - -h2 = TH1F.new("h2","test hstack",100,-4,4) - h2.FillRandom("gaus",15000) - h2.SetFillColor(kBlue) - h2.SetMarkerStyle(21) - h2.SetMarkerColor(kBlue) - -hs.Add(h2) - -h3 = TH1F.new("h3","test hstack",100,-4,4) - h3.FillRandom("gaus",10000) - h3.SetFillColor(kGreen) - h3.SetMarkerStyle(21) - h3.SetMarkerColor(kGreen) - -hs.Add(h3) - -c1 = TCanvas.new("c1","stacked hists",10,10,1000,800) - c1.SetFillColor(41) - c1.Divide(2,2) - # in top left pad, draw the stack with defaults - c1.cd(1) - -hs.Draw - - # in top right pad, draw the stack in non-stack mode and errors option - c1.cd(2) - gPad.SetGrid - -hs.Draw("nostack,e1p") - - #in bottom left, draw in stack mode with "lego1" option - c1.cd(3) - gPad.SetFrameFillColor(17) - gPad.SetTheta(3.77) - gPad.SetPhi(2.9) - -hs.Draw("lego1") - - c1.cd(4) - #create two 2-D histograms and draw them in stack mode - gPad.SetFrameFillColor(17) - -a = THStack.new("a","test legos") -f1 = TF2.new("f1","xygaus + xygaus(5) + xylandau(10)",-4,4,-4,4) - params = [130,-1.4,1.8,1.5,1, 150,2,0.5,-2,0.5, 3600,-2,0.7,-3,0.3] - f1.SetParameters(params) - -h2a = TH2F.new("h2a","h2a",20,-4,4,20,-4,4) - h2a.SetFillColor(38) - h2a.FillRandom("f1",4000) - - f2 = TF2.new("f2","xygaus + xygaus(5)",-4,4,-4,4) - params = [100,-1.4,1.9,1.1,2, 80,2,0.7,-2,0.5] - f2.SetParameters(params) - -h2b = TH2F.new("h2b","h2b",20,-4,4,20,-4,4) - h2b.SetFillColor(46) - h2b.FillRandom("f2",3000) - -a.Add(h2a) -a.Add(h2b) -a.Draw - -gApplication.Run diff --git a/tutorials/hsum.C b/tutorials/hsum.C deleted file mode 100644 index 0793693c27fca500638581579a87e5019c3d48b1..0000000000000000000000000000000000000000 --- a/tutorials/hsum.C +++ /dev/null @@ -1,61 +0,0 @@ -{ -// -// To see the output of this macro, click begin_html <a href="gif/hsum.gif" >here</a> end_html -// Simple example illustrating how to use the C++ interpreter -// to fill histograms in a loop and show the graphics results -// - - gROOT->Reset(); - - c1 = new TCanvas("c1","The HSUM example",200,10,600,400); - c1->SetGrid(); - - gBenchmark->Start("hsum"); - -// Create some histograms. - total = new TH1F("total","This is the total distribution",100,-4,4); - main = new TH1F("main","Main contributor",100,-4,4); - s1 = new TH1F("s1","This is the first signal",100,-4,4); - s2 = new TH1F("s2","This is the second signal",100,-4,4); - total->Sumw2(); // this makes sure that the sum of squares of weights will be stored - total->SetMarkerStyle(21); - total->SetMarkerSize(0.7); - main->SetFillColor(16); - s1->SetFillColor(42); - s2->SetFillColor(46); - TSlider *slider = 0; - -// Fill histograms randomly - gRandom->SetSeed(); - const Int_t kUPDATE = 500; - Float_t xs1, xs2, xmain; - for ( Int_t i=0; i<10000; i++) { - xmain = gRandom->Gaus(-1,1.5); - xs1 = gRandom->Gaus(-0.5,0.5); - xs2 = gRandom->Landau(1,0.15); - main->Fill(xmain); - s1->Fill(xs1,0.3); - s2->Fill(xs2,0.2); - total->Fill(xmain); - total->Fill(xs1,0.3); - total->Fill(xs2,0.2); - if (i && (i%kUPDATE) == 0) { - if (i == kUPDATE) { - total->Draw("e1p"); - main->Draw("same"); - s1->Draw("same"); - s2->Draw("same"); - c1->Update(); - slider = new TSlider("slider","test",4.2,0,4.6,total->GetMaximum(),38); - slider->SetFillColor(46); - } - if (slider) slider->SetRange(0,Float_t(i)/10000.); - c1->Modified(); - c1->Update(); - } - } - slider->SetRange(0,1); - total->Draw("sameaxis"); // to redraw axis hidden by the fill area - c1->Modified(); - gBenchmark->Show("hsum"); -} diff --git a/tutorials/hsum.py b/tutorials/hsum.py deleted file mode 100755 index 82d6076cb169c98169da6ca457de8109b08c8911..0000000000000000000000000000000000000000 --- a/tutorials/hsum.py +++ /dev/null @@ -1,86 +0,0 @@ -# -# To see the output of this macro, click begin_html <a href="gif/hsum.gif" >here</a> end_html -# Simple example illustrating how to use the C++ interpreter -# to fill histograms in a loop and show the graphics results -# - -from ROOT import TCanvas, TH1F, TSlider -from ROOT import gROOT, gBenchmark, gRandom - - -gROOT.Reset(); - -# Create a new canvas, and customize it. -c1 = TCanvas( 'c1', 'The HSUM example', 200, 10, 600, 400 ) -c1.SetGrid(); - -gBenchmark.Start( 'hsum' ) - -# Create some histograms. -total = TH1F( 'total', 'This is the total distribution', 100, -4, 4 ) -main = TH1F( 'main', 'Main contributor', 100, -4, 4 ) -s1 = TH1F( 's1', 'This is the first signal', 100, -4, 4 ) -s2 = TH1F( 's2', 'This is the second signal', 100, -4, 4 ) -total.Sumw2() # this makes sure that the sum of squares of weights will be stored - -# Set canvas/frame attributes. -total.SetMarkerStyle( 21 ) -total.SetMarkerSize( 0.7 ) -main.SetFillColor( 16 ) -s1.SetFillColor( 42 ) -s2.SetFillColor( 46 ) - -# Initialize random number generator. -gRandom.SetSeed() -gauss, landau = gRandom.Gaus, gRandom.Landau - -# for speed, bind and cache the Fill member functions -histos = [ 'total', 'main', 's1', 's2' ] -for name in histos: - exec '%sFill = %s.Fill' % (name,name) - -# Fill histograms randomly -kUPDATE = 500 -for i in xrange( 10000 ): - # Generate random values. - xmain = gauss( -1, 1.5 ) - xs1 = gauss( -0.5, 0.5 ) - xs2 = landau( 1, 0.15 ) - mainFill( xmain ) - - # Fill histograms. - s1Fill( xs1, 0.3 ) - s2Fill( xs2, 0.2 ) - totalFill( xmain ) - totalFill( xs1, 0.3 ) - totalFill( xs2, 0.2 ) - - # Update display every kUPDATE events. - if i and (i%kUPDATE) == 0 : - if i == kUPDATE : - total.Draw( 'e1p' ) - main.Draw( 'same' ) - s1.Draw( 'same' ) - s2.Draw( 'same' ) - c1.Update() - slider = TSlider( 'slider', 'test', 4.2, 0, 4.6, total.GetMaximum(), 38 ) - slider.SetFillColor( 46 ) - - if slider: - slider.SetRange( 0, float(i) / 10000. ) - - c1.Modified() - c1.Update() - -# Destroy member functions cache. -for name in histos: - exec 'del %sFill' % name -del histos - -# Done, finalized and trigger an update. -slider.SetRange( 0, 1 ) -total.Draw( 'sameaxis' ) # to redraw axis hidden by the fill area -c1.Modified() -c1.Update() - -gBenchmark.Show( 'hsum' ) diff --git a/tutorials/hsum.rb b/tutorials/hsum.rb deleted file mode 100644 index 26baf1b74b6c3c292c9d7150936774171495bdc7..0000000000000000000000000000000000000000 --- a/tutorials/hsum.rb +++ /dev/null @@ -1,66 +0,0 @@ - -# ruby-root testsuite -# port of the original $ROOT/hsum.C tutorial -# (20/01/2004) --elathan <elathan@phys.uoa.gr> -# -# original header: -# To see the output of this macro, click begin_html <a href="gif/hsum.gif" >here</a> end_html -# Simple example illustrating how to use the C++ interpreter -# to fill histograms in a loop and show the graphics results - -gROOT.Reset - -c1 = TCanvas.new("c1","The HSUM example",200,10,600,400) - c1.SetGrid - -gBenchmark = TBenchmark.new.Start("hsum") - -# Create some histograms. -total = TH1F.new("total","This is the total distribution",100,-4,4) -main = TH1F.new("main","Main contributor",100,-4,4) -s1 = TH1F.new("s1","This is the first signal",100,-4,4) -s2 = TH1F.new("s2","This is the second signal",100,-4,4) - - total.Sumw2 # this makes sure that the sum of squares of weights will be stored - total.SetMarkerStyle(21) - total.SetMarkerSize(0.7) - main.SetFillColor(16) - s1.SetFillColor(42) - s2.SetFillColor(46) - slider = nil - -# Fill histograms randomly - -rnd = TRandom.new.SetSeed -kUPDATE = 500 -10000.times do |i| - xmain = rnd.Gaus(-1,1.5) - xs1 = rnd.Gaus(-0.5,0.5) - xs2 = rnd.Landau(1,0.15) - main.Fill(xmain) - s1.Fill(xs1,0.3) - s2.Fill(xs2,0.2) - total.Fill(xmain) - total.Fill(xs1,0.3) - total.Fill(xs2,0.2) - if (i && (i%kUPDATE) == 0) - if (i == kUPDATE) - total.Draw("e1p") - main.Draw("same") - s1.Draw("same") - s2.Draw("same") - c1.Update - slider = TSlider.new("slider","test",4.2,0,4.6,total.GetMaximum,38) - slider.SetFillColor(46) - end - slider.SetRange(0,i/10000.0) if slider - c1.Modified - c1.Update - end -end - -slider.SetRange(0,1) -total.Draw("sameaxis") # to redraw axis hidden by the fill area -c1.Modified -gBenchmark.Show("hsum") -gApplication.Run diff --git a/tutorials/hsumTimer.C b/tutorials/hsumTimer.C deleted file mode 100644 index e85d44ca58f5b99087368fac0f3184e192ebb86a..0000000000000000000000000000000000000000 --- a/tutorials/hsumTimer.C +++ /dev/null @@ -1,67 +0,0 @@ -Int_t i; -Float_t ratio; -TSlider *slider; -TCanvas *c1; - -void hsumTimer(Int_t nfill=100000) -{ -// -// Simple example illustrating how to use the C++ interpreter -// to fill histograms in a loop and show the graphics results -// This program is a variant of the tutorial "hsum". -// It illustrates the use of Timers. - - c1 = new TCanvas("c1","The HSUM example",200,10,600,400); - c1->SetGrid(); - - -// Create some histograms. - total = new TH1F("total","This is the total distribution",100,-4,4); - main = new TH1F("main","Main contributor",100,-4,4); - s1 = new TH1F("s1","This is the first signal",100,-4,4); - s2 = new TH1F("s2","This is the second signal",100,-4,4); - total->Sumw2(); // this makes sure that the sum of squares of weights will be stored - total->SetMarkerStyle(21); - total->SetMarkerSize(0.7); - main->SetFillColor(16); - s1->SetFillColor(42); - s2->SetFillColor(46); - total->SetMaximum(nfill/20.); - total->Draw("e1p"); - main->Draw("same"); - s1->Draw("same"); - s2->Draw("same"); - c1->Update();slider = new TSlider("slider","test",4.2,0,4.6,0.8*total->GetMaximum(),38); - slider->SetFillColor(46); - -// Create a TTimer - TTimer timer("hsumUpdate()",300); // hsumUpdate will be called every 300 msec - timer.TurnOn(); - - // Fill histograms randomly - Float_t xs1, xs2, xmain; - gRandom->SetSeed(); - for (Int_t i=0; i<nfill; i++) { - ratio = Float_t(i)/Float_t(nfill); - if (gSystem->ProcessEvents()) break; - xmain = gRandom->Gaus(-1,1.5); - xs1 = gRandom->Gaus(-0.5,0.5); - xs2 = gRandom->Landau(1,0.15); - main->Fill(xmain); - s1->Fill(xs1,0.3); - s2->Fill(xs2,0.2); - total->Fill(xmain); - total->Fill(xs1,0.3); - total->Fill(xs2,0.2); - } - timer.TurnOff(); - hsumUpdate(); -} - -void hsumUpdate() -{ -// called when Timer times out - if (slider) slider->SetRange(0,ratio); - c1->Modified(); - c1->Update(); -} diff --git a/tutorials/hsumanim.C b/tutorials/hsumanim.C deleted file mode 100644 index 33285f7bd173c038c0d9bb5dcdf1431481f6ca4a..0000000000000000000000000000000000000000 --- a/tutorials/hsumanim.C +++ /dev/null @@ -1,70 +0,0 @@ -{ -// -// This script is a slightly modified version of hsum.C. -// When run in batch mode, it produces an animated gif file. - - gROOT->Reset(); - - c1 = new TCanvas("c1","The HSUM example",200,10,600,400); - c1->SetGrid(); - - gBenchmark->Start("hsum"); - -// Create some histograms. - total = new TH1F("total","This is the total distribution",100,-4,4); - main = new TH1F("main","Main contributor",100,-4,4); - s1 = new TH1F("s1","This is the first signal",100,-4,4); - s2 = new TH1F("s2","This is the second signal",100,-4,4); - total->Sumw2(); // this makes sure that the sum of squares of weights will be stored - total->SetMarkerStyle(21); - total->SetMarkerSize(0.7); - main->SetFillColor(16); - s1->SetFillColor(42); - s2->SetFillColor(46); - TSlider *slider = 0; - gSystem->Unlink("hsumanim.gif"); // delete old file - -// Fill histograms randomly - gRandom->SetSeed(); - const Int_t kUPDATE = 500; - Float_t xs1, xs2, xmain; - Int_t gifcnt = 0; - for ( Int_t i=0; i<10000; i++) { - xmain = gRandom->Gaus(-1,1.5); - xs1 = gRandom->Gaus(-0.5,0.5); - xs2 = gRandom->Landau(1,0.15); - main->Fill(xmain); - s1->Fill(xs1,0.3); - s2->Fill(xs2,0.2); - total->Fill(xmain); - total->Fill(xs1,0.3); - total->Fill(xs2,0.2); - if (i && (i%kUPDATE) == 0) { - if (i == kUPDATE) { - total->Draw("e1p"); - main->Draw("same"); - s1->Draw("same"); - s2->Draw("same"); - c1->Update(); - slider = new TSlider("slider","test",4.2,0,4.6,total->GetMaximum(),38); - slider->SetFillColor(46); - } - if (slider) slider->SetRange(0,Float_t(i)/10000.); - c1->Modified(); - c1->Update(); - if (gROOT->IsBatch()) { - c1->Print("hsumanim.gif+"); - printf("i = %d\n", i); - } - } - } - slider->SetRange(0,1); - total->Draw("sameaxis"); // to redraw axis hidden by the fill area - c1->Modified(); - // make infinite animation by adding "++" to the file name - if (gROOT->IsBatch()) c1->Print("hsumanim.gif++"); - - //You can view the animated file hsumanim.gif with Netscape/IE or mozilla - - gBenchmark->Show("hsum"); -} diff --git a/tutorials/htest.C b/tutorials/htest.C deleted file mode 100644 index eddf81135c84579c387b191f1000d753527d8157..0000000000000000000000000000000000000000 --- a/tutorials/htest.C +++ /dev/null @@ -1,78 +0,0 @@ -//Example illustrating how to save histograms in Tree branches. -//To run this example, do -// root > .L htest.C -// root > htw() -// root > htr1() -// root > htr2() -// root > htr3() - -void htw() { - //create a Tree with a few branches of type histogram - //25000 entries are filled in the Tree - //For each entry, the copy of 3 histograms is written - //The data base will contain 75000 histograms. - gBenchmark->Start("hsimple"); - TFile f("ht.root","recreate"); - TTree *T = new TTree("T","test"); - TH1F *hpx = new TH1F("hpx","This is the px distribution",100,-4,4); - TH2F *hpxpy = new TH2F("hpxpy","py vs px",40,-4,4,40,-4,4); - TProfile *hprof = new TProfile("hprof","Profile of pz versus px",100,-4,4,0,20); - T->Branch("hpx","TH1F",&hpx,32000,0); - T->Branch("hpxpy","TH2F",&hpxpy,32000,0); - T->Branch("hprof","TProfile",&hprof,32000,0); - Float_t px, py, pz; - for (Int_t i = 0; i < 25000; i++) { - if (i%1000 == 0) printf("at entry: %d\n",i); - gRandom->Rannor(px,py); - pz = px*px + py*py; - hpx->Fill(px); - hpxpy->Fill(px,py); - hprof->Fill(px,pz); - T->Fill(); - } - T->Print(); - f.Write(); - gBenchmark->Show("hsimple"); -} -void htr1() { - //connect Tree generated by htw and show histograms for entry 12345 - TFile *f = new TFile("ht.root"); - TTree *T = (TTree*)f->Get("T"); - TH1F *hpx = 0; - TH2F *hpxpy = 0; - TProfile *hprof = 0; - T->SetBranchAddress("hpx",&hpx); - T->SetBranchAddress("hpxpy",&hpxpy); - T->SetBranchAddress("hprof",&hprof); - T->GetEntry(12345); - TCanvas *c1 = new TCanvas("c1","test",10,10,600,1000); - c1->Divide(1,3); - c1->cd(1); - hpx->Draw(); - c1->cd(2); - hpxpy->Draw(); - c1->cd(3); - hprof->Draw(); -} -void htr2() { - //connect Tree generated by htw and show histograms for entry 12345 - // a variant of htr1 - TFile *f = new TFile("ht.root"); - TTree *T = (TTree*)f->Get("T"); - TCanvas *c1 = new TCanvas("c1","test",10,10,600,1000); - c1->Divide(1,3); - c1->cd(1); - T->Draw("hpx.Draw()","","goff",1,12345); - c1->cd(2); - T->Draw("hpxpy.Draw()","","goff",1,12345); - c1->cd(3); - T->Draw("hprof.Draw()","","goff",1,12345); -} -void htr3() { - //connect Tree generated by htw - //read all histograms and plot the RMS of hpx versus the Mean of hprof - //for each of the 25000 entries - TFile *f = new TFile("ht.root"); - TTree *T = (TTree*)f->Get("T"); - T->Draw("hpx.GetRMS():hprof.GetMean()"); -} diff --git a/tutorials/htmlex.C b/tutorials/htmlex.C deleted file mode 100644 index a2858d72b58ecac4defe9137497d8244b7b6ea21..0000000000000000000000000000000000000000 --- a/tutorials/htmlex.C +++ /dev/null @@ -1,98 +0,0 @@ - -// This file demonstrates how THtml can document sources. -// BEGIN_HTML <!-- -/* --> -<p>See the <a href=http://root.cern.ch/root/doc/RootDoc.html">Users Guide</a> -chapter <a href="ftp://root.cern.ch/root/doc/chapter28.pdf">Automatic HTML Documentation</a>, -and <a href="http://root.cern.ch/root/html/THtml.html">THtml's class documentation</a>. -There's also a version of this file in HTML, i.e. the output of THtmlDemo::Convert(), -at <a href="http://root.cern.ch/root/html/examples/htmlex.C.html"> -http://root.cern.ch/root/html/examples/htmlex.C.html</a></p> - -<p>To see this demo script in action start up ROOT and run -<pre> root [0] .x $(ROOTSYS)/tutorials/htmlex.C+</pre> -and check the output in ./htmldoc.</p> - -<p>O, and of course we can put HTML code into comments, too:</p> - <img src="http://root.cern.ch/root/images/twiki-rootlogo.jpg"/> -<p>Actually, all of this documentation is already HTML!</p> -<!-- */ -// --> END_HTML - -#include "THtml.h" - -class THtmlDemo: public TObject { -public: - THtmlDemo(): fHtml(0) - { - printf("This class is for demonstration purposes only!\n"); - } - ~THtmlDemo() { if (fHtml) delete fHtml; } - - // inline methods can have their documentation in front - // of the declaration. DontDoMuch is so short - where - // else would one put it? - void DontDoMuch() {} - - void Convert() - { - // Create a "beautified" version of this source file. - // It will be called htmldoc/htmlex.C.html. - - GetHtml()->SetSourceDir("$(ROOTSYS)/tutorials"); - GetHtml()->Convert("htmlex.C", "Example of THtml", "./htmldoc/", "./"); - } - - void ReferenceDoc() - { - // This function documents THtmlDemo. - // It will create THtmlDemo.html and src/THtmlDemo.cxx.html - // - the beautified version of the source file - - GetHtml()->SetSourceDir("$(ROOTSYS)/tutorials"); - GetHtml()->SetOutputDir("./htmldoc"); - GetHtml()->MakeIndex("THtmlDemo"); // create ClassIndex.html and the javascript and CSS files - GetHtml()->MakeClass("THtmlDemo"); // update the class doc - } - - void MakeDocForAllClasses(Bool_t evenForROOT = kFALSE) - { - // Creates the documentation pages for all classes that have - // been loaded, and that are accessible from "./". - // If evenForROOT is set, we'll try to document ROOT's classes, - // too - you will end up with a copy of ROOT's class reference. - // The documentation will end up in the subdirectory htmldoc/. - - if (evenForROOT) - GetHtml()->SetSourceDir(".:$(ROOTSYS)"); - else - GetHtml()->SetSourceDir("."); - GetHtml()->SetOutputDir("./htmldoc"); - GetHtml()->MakeAll(); - } - - void RunAll() { - // Show off a bit - do everything we can. - MakeDocForAllClasses(); - ReferenceDoc(); - Convert(); - } - -protected: - THtml* GetHtml() - { - // Return out THtml object, and create it if it doesn't exist. - if (!fHtml) fHtml = new THtml(); - return fHtml; - } - -private: - Int_t fVeryUselessMember; // This is a very useless member. - THtml* fHtml; // our local THtml instance. - ClassDef(THtmlDemo, 0); // A demo of THtml. -}; - -void htmlex() { - THtmlDemo htmldemo; - htmldemo.RunAll(); -} diff --git a/tutorials/img2pad.C b/tutorials/img2pad.C deleted file mode 100644 index 6919f902a87991635b1ee4ad9d750de9166433c6..0000000000000000000000000000000000000000 --- a/tutorials/img2pad.C +++ /dev/null @@ -1,59 +0,0 @@ -void img2pad() -{ - // Display image in canvas and pad. - - TImage *img = TImage::Open("rose512.jpg"); - if (!img) { - printf("Could not create an image... exit\n"); - return; - } - img->SetConstRatio(kFALSE); - img->Draw("N"); - - TCanvas *c = gROOT->GetListOfCanvases()->FindObject("rose512jpg"); - c->SetFixedAspectRatio(); - - TCanvas *c = new TCanvas("roses", "roses", 800, 800); - img->Draw("T100,100,yellow"); - //img->Draw("T100,100,#556655"); - //img->Draw("T100,100"); - - TImage *i1 = TImage::Open("rose512.jpg"); - i1->SetConstRatio(kFALSE); - i1->Flip(90); - TImage *i2 = TImage::Open("rose512.jpg"); - i2->SetConstRatio(kFALSE); - i2->Flip(180); - TImage *i3 = TImage::Open("rose512.jpg"); - i3->SetConstRatio(kFALSE); - i3->Flip(270); - TImage *i4 = TImage::Open("rose512.jpg"); - i4->SetConstRatio(kFALSE); - i4->Mirror(kTRUE); - - float d = 0.40; - TPad *p1 = new TPad("i1", "i1", 0.05, 0.55, 0.05+d*i1->GetWidth()/i1->GetHeight(), 0.95); - TPad *p2 = new TPad("i2", "i2", 0.55, 0.55, 0.95, 0.55+d*i2->GetHeight()/i2->GetWidth()); - TPad *p3 = new TPad("i3", "i3", 0.55, 0.05, 0.55+d*i3->GetWidth()/i3->GetHeight(), 0.45); - TPad *p4 = new TPad("i4", "i4", 0.05, 0.05, 0.45, 0.05+d*i4->GetHeight()/i4->GetWidth()); - - p1->Draw(); - p1->cd(); - i1->Draw(); - c->cd(); - - p2->Draw(); - p2->cd(); - i2->Draw(); - c->cd(); - - p3->Draw(); - p3->cd(); - i3->Draw(); - c->cd(); - - p4->Draw(); - p4->cd(); - i4->Draw(); - c->cd(); -} diff --git a/tutorials/imgconv.C b/tutorials/imgconv.C deleted file mode 100644 index 5d3e6ec31444c3796d92530ca487eae15b55fce8..0000000000000000000000000000000000000000 --- a/tutorials/imgconv.C +++ /dev/null @@ -1,16 +0,0 @@ -void imgconv() -{ - // Open rose512.jpg and save it in the following formats: - // .png, .gif, .xpm and tiff. - - TImage *img = TImage::Open("rose512.jpg"); - if (!img) { - printf("Could not create an image... exit\n"); - return; - } - - img->WriteImage("rose512.png"); - img->WriteImage("rose512.gif"); - img->WriteImage("rose512.xpm"); - img->WriteImage("rose512.tiff"); -} diff --git a/tutorials/importCode.C b/tutorials/importCode.C deleted file mode 100644 index 5feeed115116e9adb3657562adf6b0f5b1ce6c9b..0000000000000000000000000000000000000000 --- a/tutorials/importCode.C +++ /dev/null @@ -1,55 +0,0 @@ -#include "TFile.h" -#include "TSystem.h" -#include "TMacro.h" - -void importdir(const char *dirname) { - //Example of script showing how to create a ROOT file with subdirectories. - //The script scans a given directory tree and recreates the - //same structure in the ROOT file. - //All source files of type .h,cxx,c,dat,py are imported as TMacro objects - //see also other tutorial readCode.C - - char *slash = (char*)strrchr(dirname,'/'); - char *locdir; - if (slash) locdir = slash+1; - else locdir = (char*)dirname; - printf("processing dir %s\n",dirname); - TDirectory *savdir = gDirectory; - TDirectory *adir = savdir->mkdir(locdir); - adir->cd(); - void *dirp = gSystem->OpenDirectory(dirname); - if (!dirp) return; - char *direntry; - Long_t id, size,flags,modtime; - //loop on all entries of this directory - while ((direntry=(char*)gSystem->GetDirEntry(dirp))) { - TString afile = Form("%s/%s",dirname,direntry); - gSystem->GetPathInfo(afile,&id,&size,&flags,&modtime); - if (strstr(direntry,"G__")) continue; - if (strstr(direntry,".c") || - strstr(direntry,".h") || - strstr(direntry,".m") || - strstr(direntry,".dat") || - strstr(direntry,".py") || - strstr(direntry,".C")) { - TMacro *m = new TMacro(afile); - m->Write(direntry); - delete m; - } else { - if (flags != 3) continue; //must be a directory - if (direntry[0] == '.') continue; //forget the "." amd ".." special cases - if (!strcmp(direntry,"CVS")) continue; //forget some special directories - if (!strcmp(direntry,"htmldoc")) continue; - if (strstr(dirname,"root/include")) continue; - //we have found a valid sub-directory. Process it - importdir(afile); - } - } - gSystem->FreeDirectory(dirp); - savdir->cd(); -} -void importCode() { - TFile *f = new TFile("code.root","recreate"); - importdir("../../root"); //change the directory as you like - delete f; -} diff --git a/tutorials/invertMatrix.C b/tutorials/invertMatrix.C deleted file mode 100644 index 581041466e98eaee8439c496b5a1268ab103f8a7..0000000000000000000000000000000000000000 --- a/tutorials/invertMatrix.C +++ /dev/null @@ -1,151 +0,0 @@ -#include "Riostream.h" -#include "TMatrixD.h" -#include "TMatrixDLazy.h" -#include "TVectorD.h" -#include "TDecompLU.h" -#include "TDecompSVD.h" - -// This macro shows several ways to invert a matrix . Each method -// is a trade-off between accuracy of the inversion and speed. -// Which method to chose depends on "how well-behaved" the matrix is. -// This is best checked through a call to Condition(), available in each -// decomposition class. A second possibilty (less preferred) would be to -// check the determinant -// -// You can run this script with different matrix sizes - -void invertMatrix(Int_t msize=6) -{ - if (msize < 2 || msize > 10) { - cout << "2 <= msize <= 10" <<endl; - return; - } - cout << "--------------------------------------------------------" <<endl; - cout << "Inversion results for a ("<<msize<<","<<msize<<") matrix" <<endl; - cout << "For each inversion procedure we check the maxmimum size " <<endl; - cout << "of the off-diagonal elements of Inv(A) * A " <<endl; - cout << "--------------------------------------------------------" <<endl; - - TMatrixD H_square = THilbertMatrixD(msize,msize); - -// 1. InvertFast(Double_t *det=0) -// It is identical to Invert() for sizes > 6 x 6 but for smaller sizes, the -// inversion is performed according to Cramer's rule by explicitly calculating -// all Jacobi's sub-determinants . For instance for a 6 x 6 matrix this means: -// # of 5 x 5 determinant : 36 -// # of 4 x 4 determinant : 75 -// # of 3 x 3 determinant : 80 -// # of 2 x 2 determinant : 45 (see TMatrixD/FCramerInv.cxx) -// -// The only "quality" control in this process is to check whether the 6 x 6 -// determinant is unequal 0 . But speed gains are significant compared to Invert() , -// upto an order of magnitude for sizes <= 4 x 4 -// -// The inversion is done "in place", so the original matrix will be overwritten -// If a pointer to a Double_t is supplied the determinant is calculated -// - - cout << "1. Use .InvertFast(&det)" <<endl; - if (msize > 6) - cout << " for ("<<msize<<","<<msize<<") this is identical to .Invert(&det)" <<endl; - - Double_t det1; - TMatrixD H1 = H_square; - H1.InvertFast(&det1); - - // Get the maximum off-diagonal matrix value . One way to do this is to set the - // diagonal to zero . - - TMatrixD U1(H1,TMatrixD::kMult,H_square); - TMatrixDDiag diag1(U1); diag1 = 0.0; - const Double_t U1_max_offdiag = (U1.Abs()).Max(); - cout << " Maximum off-diagonal = " << U1_max_offdiag << endl; - cout << " Determinant = " << det1 <<endl; - -// 2. Invert(Double_t *det=0) -// Again the inversion is performed in place . -// It consists out of a sequence of calls to the decomposition classes . For instance -// for the general dense matrix TMatrixD the LU decomposition is invoked: -// - The matrix is decomposed using a scheme according to Crout which involves -// "implicit partial pivoting", see for instance Num. Recip. (we have also available -// a decomposition scheme that does not the scaling and is therefore even slightly -// faster but less stable) -// With each decomposition, a tolerance has to be specified . If this tolerance -// requirement is not met, the matrix is regarded as being singular. The value -// passed to this decomposition, is the data member fTol of the matrix . Its -// default value is DBL_EPSILON, which is defined as the smallest nuber so that -// 1+DBL_EPSILON > 1 -// - The last step is a standard forward/backward substitution . -// -// It is important to realize that both InvertFast() and Invert() are "one-shot" deals , speed -// comes at a price . If something goes wrong because the matrix is (near) singular, you have -// overwritten your original matrix and no factorization is available anymore to get more -// information like condition number or change the tolerance number . -// -// All other calls in the matrix classes involving inversion like the ones with the "smart" -// constructors (kInverted,kInvMult...) use this inversion method . -// - - cout << "2. Use .Invert(&det)" <<endl; - - Double_t det2; - TMatrixD H2 = H_square; - H2.Invert(&det2); - - TMatrixD U2(H2,TMatrixD::kMult,H_square); - TMatrixDDiag diag2(U2); diag2 = 0.0; - const Double_t U2_max_offdiag = (U2.Abs()).Max(); - cout << " Maximum off-diagonal = " << U2_max_offdiag << endl; - cout << " Determinant = " << det2 <<endl; - -// 3. Inversion through LU decomposition -// The (default) algorithms used are similar to 2. (Not identical because in 2, the whole -// calculation is done "in-place". Here the orginal matrix is copied (so more memory -// management => slower) and several operations can be performed without having to repeat -// the decomposition step . -// Inverting a matrix is nothing else than solving a set of equations where the rhs is given -// by the unit matrix, so the steps to take are identical to those solving a linear equation : -// - - cout << "3. Use TDecompLU" <<endl; - - TMatrixD H3 = H_square; - TDecompLU lu(H_square); - - // Any operation that requires a decomposition will trigger it . The class keeps - // an internal state so that following operations will not perform the decomposition again - // unless the matrix is changed through SetMatrix(..) - // One might want to proceed more cautiously by invoking first Decompose() and check its - // return value before proceeding.... - - lu.Invert(H3); - Double_t d1_lu; Double_t d2_lu; - lu.Det(d1_lu,d2_lu); - Double_t det3 = d1_lu*TMath::Power(2.,d2_lu); - - TMatrixD U3(H3,TMatrixD::kMult,H_square); - TMatrixDDiag diag3(U3); diag3 = 0.0; - const Double_t U3_max_offdiag = (U3.Abs()).Max(); - cout << " Maximum off-diagonal = " << U3_max_offdiag << endl; - cout << " Determinant = " << det3 <<endl; - -// 4. Inversion through SVD decomposition -// For SVD and QRH, the (n x m) matrix does only have to fulfill n >=m . In case n > m -// a pseudo-inverse is calculated - cout << "4. Use TDecompSVD on non-square matrix" <<endl; - - TMatrixD H_nsquare = THilbertMatrixD(msize,msize-1); - - TDecompSVD svd(H_nsquare); - - TMatrixD H4 = svd.Invert(); - Double_t d1_svd; Double_t d2_svd; - svd.Det(d1_svd,d2_svd); - Double_t det4 = d1_svd*TMath::Power(2.,d2_svd); - - TMatrixD U4(H4,TMatrixD::kMult,H_nsquare); - TMatrixDDiag diag4(U4); diag4 = 0.0; - const Double_t U4_max_offdiag = (U4.Abs()).Max(); - cout << " Maximum off-diagonal = " << U4_max_offdiag << endl; - cout << " Determinant = " << det4 <<endl; -} diff --git a/tutorials/io.C b/tutorials/io.C deleted file mode 100644 index ff721736acab40d6b7c8578781ce674999102a98..0000000000000000000000000000000000000000 --- a/tutorials/io.C +++ /dev/null @@ -1,81 +0,0 @@ -{ - gROOT->Reset(); - TCanvas *c1 = gROOT->FindObject("c1"); if (c1) c1->Delete(); - c1 = new TCanvas("c1","I/O strategies",20,10,750,930); - c1->SetBorderSize(0); - c1->Range(0,0,20.5,26); - - - TPaveText title(2,22,18,25.5); - title.SetFillColor(10); - title.AddText(" "); - TText *ser = title.AddText("We need a flexible I/O mechanism"); - ser.SetTextSize(0.04); - ser.SetTextAlign(21); - TText *t1 = title.AddText("From the same Object Model, one must be able to select"); - t1.SetTextSize(0.022); - t1.SetTextAlign(11); - t1.SetTextFont(72); - TText *t2 = title.AddText("different storage models (performance)"); - t2.SetTextSize(0.022); - t2.SetTextAlign(11); - t2.SetTextFont(72); - title.Draw(); - - TPaveText event(1,16,20,21); - event.SetTextAlign(12); - event.SetFillColor(10); - event.SetTextFont(82); - event.SetTextSize(0.015); - event.ReadFile("event.h"); - event.Draw(); - - TPaveText m1(4,13,19,15); - m1.SetTextSize(0.024); - m1.SetTextFont(72); - m1.SetFillColor(10); - TText *t1 = m1.AddText("One single container (old raw data model)"); - t1.SetTextFont(62); - t1.SetTextAlign(22); - m1.AddText("All event components are serialized in the same buffer"); - m1.Draw(); - - TPaveText m2(4,8,19,12); - m2.SetTextAlign(12); - m2.SetTextFont(72); - m2.SetTextSize(0.025); - m2.SetFillColor(10); - TText *tm1 = m2.AddText("A few containers: (DST analysis)"); - tm1.SetTextFont(62); - tm1.SetTextAlign(22); - tm1.SetTextSize(0.03); - m2.AddText("- Header"); - m2.AddText("- Tracks"); - m2.AddText("- Calorimeters"); - m2.AddText("- Histograms"); - m2.Draw(); - - TPaveText m3(4,1,19,7); - m3.SetTextAlign(12); - m3.SetTextFont(72); - m3.SetTextSize(0.025); - m3.SetFillColor(10); - TText *tm3 = m3.AddText("Many containers (like PAW ntuples):"); - tm3.SetTextFont(62); - tm3.SetTextAlign(22); - tm3.SetTextSize(0.03); - m3.AddText("- Each Data Member has its container"); - m3.AddText("- Special classes (ClonesArray) for large collections"); - m3.AddText("- One event-histogram per container"); - m3.AddText("- Good for Physic Analysis stage"); - m3.Draw(); - - TText arrow; - arrow.SetTextFont(142); - arrow.SetTextSize(0.07); - arrow.DrawText(1.5,13.5,"~\375"); - arrow.DrawText(1.5,10,"~\375"); - arrow.DrawText(1.5, 5,"~\375"); - - c1.Print("io.ps"); -} diff --git a/tutorials/jets.C b/tutorials/jets.C deleted file mode 100644 index e4eecf9cde1b73b04d7da84ba2a24c9bc7ebdfe3..0000000000000000000000000000000000000000 --- a/tutorials/jets.C +++ /dev/null @@ -1,71 +0,0 @@ -// script illustrating the use of a Tree using the JetEvent class. -// The JetEvent class has several collections (TClonesArray) -// and other collections (TRefArray) referencing objects -// in the TClonesArrays. -// The JetEvent class is in $ROOTSYS/tutorials/JetEvent.h,cxx -// to execute the script, do -// .x jets.C - -void write(Int_t nev=100) { - //write nev Jet events - TFile f("JetEvent.root","recreate"); - TTree *T = new TTree("T","Event example with Jets"); - JetEvent *event = new JetEvent; - T->Branch("event","JetEvent",&event,8000,2); - - for (Int_t ev=0;ev<nev;ev++) { - event->Build(); - T->Fill(); - } - - T->Print(); - T->Write(); -} - -void read() { - //read the JetEvent file - TFile f("JetEvent.root"); - TTree *T = (TTree*)f.Get("T"); - JetEvent *event = 0; - T->SetBranchAddress("event", &event); - Int_t nentries = (Int_t)T->GetEntries(); - - for (Int_t ev=0;ev<nentries;ev++) { - T->GetEntry(ev); - if (ev) continue; //dump first event only - cout << " Event: "<< ev - << " Jets: " << event->GetNjet() - << " Tracks: " << event->GetNtrack() - << " Hits A: " << event->GetNhitA() - << " Hits B: " << event->GetNhitB() << endl; - } -} - -void pileup(Int_t nev=200) { - //make nev pilepup events, each build with LOOPMAX events selected - //randomly among the nentries - TFile f("JetEvent.root"); - TTree *T = (TTree*)f.Get("T"); - Int_t nentries = (Int_t)T->GetEntries(); - - const Int_t LOOPMAX=10; - JetEvent *events[LOOPMAX]; - Int_t loop; - for (loop=0;loop<LOOPMAX;loop++) events[loop] = 0; - for (Int_t ev=0;ev<nev;ev++) { - if (ev%10 == 0) printf("building pileup: %d\n",ev); - for (loop=0;loop<LOOPMAX;loop++) { - Int_t rev = gRandom->Uniform(LOOPMAX); - T->SetBranchAddress("event", &events[loop]); - T->GetEntry(rev); - } - } -} - -void jets(Int_t nev=100, Int_t npileup=200) { - gSystem->Load("libPhysics"); - gROOT->ProcessLine(".L JetEvent.cxx+"); - write(nev); - read(); - pileup(npileup); -} diff --git a/tutorials/labels1.C b/tutorials/labels1.C deleted file mode 100644 index c42d2b60de068b3f6e3d09810e7f31d1a94615b3..0000000000000000000000000000000000000000 --- a/tutorials/labels1.C +++ /dev/null @@ -1,30 +0,0 @@ -// Setting alphanumeric labels in a 1-d histogram -// author; Rene Brun -void labels1() -{ - const Int_t nx = 20; - char *people[nx] = {"Jean","Pierre","Marie","Odile","Sebastien","Fons","Rene", - "Nicolas","Xavier","Greg","Bjarne","Anton","Otto","Eddy","Peter","Pasha", - "Philippe","Suzanne","Jeff","Valery"}; - TCanvas *c1 = new TCanvas("c1","demo bin labels",10,10,900,500); - c1->SetGrid(); - c1->SetBottomMargin(0.15); - TH1F *h = new TH1F("h","test",nx,0,nx); - h->SetFillColor(38); - for (Int_t i=0;i<5000;i++) { - h->Fill(gRandom->Gaus(0.5*nx,0.2*nx)); - } - h->SetStats(0); - for (i=1;i<=nx;i++) { - h->GetXaxis()->SetBinLabel(i,people[i-1]); - } - h->Draw(); - TPaveText *pt = new TPaveText(0.6,0.7,0.98,0.98,"brNDC"); - pt->SetFillColor(18); - pt->SetTextAlign(12); - pt->AddText("Use the axis Context Menu LabelsOption"); - pt->AddText(" \"a\" to sort by alphabetic order"); - pt->AddText(" \">\" to sort by decreasing vakues"); - pt->AddText(" \"<\" to sort by increasing vakues"); - pt->Draw(); -} diff --git a/tutorials/labels2.C b/tutorials/labels2.C deleted file mode 100644 index bd655f2cf625fb330f595a8d8c86650914a0342a..0000000000000000000000000000000000000000 --- a/tutorials/labels2.C +++ /dev/null @@ -1,33 +0,0 @@ -// Setting alphanumeric labels -// Author: Rene Brun -void labels2() -{ - const Int_t nx = 12; - const Int_t ny = 20; - char *month[nx] = {"January","February","March","April","May","June","July", - "August","September","October","November","December"}; - char *people[ny] = {"Jean","Pierre","Marie","Odile","Sebastien","Fons","Rene", - "Nicolas","Xavier","Greg","Bjarne","Anton","Otto","Eddy","Peter","Pasha", - "Philippe","Suzanne","Jeff","Valery"}; - TCanvas *c1 = new TCanvas("c1","demo bin labels",10,10,800,800); - c1->SetGrid(); - c1->SetLeftMargin(0.15); - c1->SetBottomMargin(0.15); - TH2F *h = new TH2F("h","test",nx,0,nx,ny,0,ny); - for (Int_t i=0;i<5000;i++) { - h->Fill(gRandom->Gaus(0.5*nx,0.2*nx), gRandom->Gaus(0.5*ny,0.2*ny)); - } - h->SetStats(0); - for (i=1;i<=nx;i++) h->GetXaxis()->SetBinLabel(i,month[i-1]); - for (i=1;i<=ny;i++) h->GetYaxis()->SetBinLabel(i,people[i-1]); - h->Draw("text"); - - TPaveText *pt = new TPaveText(0.6,0.85,0.98,0.98,"brNDC"); - pt->SetFillColor(18); - pt->SetTextAlign(12); - pt->AddText("Use the axis Context Menu LabelsOption"); - pt->AddText(" \"a\" to sort by alphabetic order"); - pt->AddText(" \">\" to sort by decreasing vakues"); - pt->AddText(" \"<\" to sort by increasing vakues"); - pt->Draw(); -} diff --git a/tutorials/langaus.C b/tutorials/langaus.C deleted file mode 100644 index 5c16a9bfcc27b2886c74416d196b1e577161604f..0000000000000000000000000000000000000000 --- a/tutorials/langaus.C +++ /dev/null @@ -1,272 +0,0 @@ -//----------------------------------------------------------------------- -// -// Convoluted Landau and Gaussian Fitting Function -// (using ROOT's Landau and Gauss functions) -// -// Based on a Fortran code by R.Fruehwirth (fruhwirth@hephy.oeaw.ac.at) -// Adapted for C++/ROOT by H.Pernegger (Heinz.Pernegger@cern.ch) and -// Markus Friedl (Markus.Friedl@cern.ch) -// -// to execute this example, do: -// root > .x langaus.C -// or -// root > .x langaus.C++ -// -//----------------------------------------------------------------------- - -#include "TH1.h" -#include "TF1.h" -#include "TROOT.h" -#include "TStyle.h" - -Double_t langaufun(Double_t *x, Double_t *par) { - - //Fit parameters: - //par[0]=Width (scale) parameter of Landau density - //par[1]=Most Probable (MP, location) parameter of Landau density - //par[2]=Total area (integral -inf to inf, normalization constant) - //par[3]=Width (sigma) of convoluted Gaussian function - // - //In the Landau distribution (represented by the CERNLIB approximation), - //the maximum is located at x=-0.22278298 with the location parameter=0. - //This shift is corrected within this function, so that the actual - //maximum is identical to the MP parameter. - - // Numeric constants - Double_t invsq2pi = 0.3989422804014; // (2 pi)^(-1/2) - Double_t mpshift = -0.22278298; // Landau maximum location - - // Control constants - Double_t np = 100.0; // number of convolution steps - Double_t sc = 5.0; // convolution extends to +-sc Gaussian sigmas - - // Variables - Double_t xx; - Double_t mpc; - Double_t fland; - Double_t sum = 0.0; - Double_t xlow,xupp; - Double_t step; - Double_t i; - - - // MP shift correction - mpc = par[1] - mpshift * par[0]; - - // Range of convolution integral - xlow = x[0] - sc * par[3]; - xupp = x[0] + sc * par[3]; - - step = (xupp-xlow) / np; - - // Convolution integral of Landau and Gaussian by sum - for(i=1.0; i<=np/2; i++) { - xx = xlow + (i-.5) * step; - fland = TMath::Landau(xx,mpc,par[0]) / par[0]; - sum += fland * TMath::Gaus(x[0],xx,par[3]); - - xx = xupp - (i-.5) * step; - fland = TMath::Landau(xx,mpc,par[0]) / par[0]; - sum += fland * TMath::Gaus(x[0],xx,par[3]); - } - - return (par[2] * step * sum * invsq2pi / par[3]); -} - - - -TF1 *langaufit(TH1F *his, Double_t *fitrange, Double_t *startvalues, Double_t *parlimitslo, Double_t *parlimitshi, Double_t *fitparams, Double_t *fiterrors, Double_t *ChiSqr, Int_t *NDF) -{ - // Once again, here are the Landau * Gaussian parameters: - // par[0]=Width (scale) parameter of Landau density - // par[1]=Most Probable (MP, location) parameter of Landau density - // par[2]=Total area (integral -inf to inf, normalization constant) - // par[3]=Width (sigma) of convoluted Gaussian function - // - // Variables for langaufit call: - // his histogram to fit - // fitrange[2] lo and hi boundaries of fit range - // startvalues[4] reasonable start values for the fit - // parlimitslo[4] lower parameter limits - // parlimitshi[4] upper parameter limits - // fitparams[4] returns the final fit parameters - // fiterrors[4] returns the final fit errors - // ChiSqr returns the chi square - // NDF returns ndf - - Int_t i; - Char_t FunName[100]; - - sprintf(FunName,"Fitfcn_%s",his->GetName()); - - TF1 *ffitold = (TF1*)gROOT->GetListOfFunctions()->FindObject(FunName); - if (ffitold) delete ffitold; - - TF1 *ffit = new TF1(FunName,langaufun,fitrange[0],fitrange[1],4); - ffit->SetParameters(startvalues); - ffit->SetParNames("Width","MP","Area","GSigma"); - - for (i=0; i<4; i++) { - ffit->SetParLimits(i, parlimitslo[i], parlimitshi[i]); - } - - his->Fit(FunName,"RB0"); // fit within specified range, use ParLimits, do not plot - - ffit->GetParameters(fitparams); // obtain fit parameters - for (i=0; i<4; i++) { - fiterrors[i] = ffit->GetParError(i); // obtain fit parameter errors - } - ChiSqr[0] = ffit->GetChisquare(); // obtain chi^2 - NDF[0] = ffit->GetNDF(); // obtain ndf - - return (ffit); // return fit function - -} - - -Int_t langaupro(Double_t *params, Double_t &maxx, Double_t &FWHM) { - - // Seaches for the location (x value) at the maximum of the - // Landau-Gaussian convolute and its full width at half-maximum. - // - // The search is probably not very efficient, but it's a first try. - - Double_t p,x,fy,fxr,fxl; - Double_t step; - Double_t l,lold; - Int_t i = 0; - Int_t MAXCALLS = 10000; - - - // Search for maximum - - p = params[1] - 0.1 * params[0]; - step = 0.05 * params[0]; - lold = -2.0; - l = -1.0; - - - while ( (l != lold) && (i < MAXCALLS) ) { - i++; - - lold = l; - x = p + step; - l = langaufun(&x,params); - - if (l < lold) - step = -step/10; - - p += step; - } - - if (i == MAXCALLS) - return (-1); - - maxx = x; - - fy = l/2; - - - // Search for right x location of fy - - p = maxx + params[0]; - step = params[0]; - lold = -2.0; - l = -1e300; - i = 0; - - - while ( (l != lold) && (i < MAXCALLS) ) { - i++; - - lold = l; - x = p + step; - l = TMath::Abs(langaufun(&x,params) - fy); - - if (l > lold) - step = -step/10; - - p += step; - } - - if (i == MAXCALLS) - return (-2); - - fxr = x; - - - // Search for left x location of fy - - p = maxx - 0.5 * params[0]; - step = -params[0]; - lold = -2.0; - l = -1e300; - i = 0; - - while ( (l != lold) && (i < MAXCALLS) ) { - i++; - - lold = l; - x = p + step; - l = TMath::Abs(langaufun(&x,params) - fy); - - if (l > lold) - step = -step/10; - - p += step; - } - - if (i == MAXCALLS) - return (-3); - - - fxl = x; - - FWHM = fxr - fxl; - return (0); -} - -void langaus() { - // Fill Histogram - Int_t data[100] = {0,0,0,0,0,0,2,6,11,18,18,55,90,141,255,323,454,563,681, - 737,821,796,832,720,637,558,519,460,357,291,279,241,212, - 153,164,139,106,95,91,76,80,80,59,58,51,30,49,23,35,28,23, - 22,27,27,24,20,16,17,14,20,12,12,13,10,17,7,6,12,6,12,4, - 9,9,10,3,4,5,2,4,1,5,5,1,7,1,6,3,3,3,4,5,4,4,2,2,7,2,4}; - TH1F *hSNR = new TH1F("snr","Signal-to-noise",400,0,400); - - for (Int_t i=0; i<100; i++) hSNR->Fill(i,data[i]); - - // Fitting SNR histo - printf("Fitting...\n"); - - // Setting fit range and start values - Double_t fr[2]; - Double_t sv[4], pllo[4], plhi[4], fp[4], fpe[4]; - fr[0]=0.3*hSNR->GetMean(); - fr[1]=3.0*hSNR->GetMean(); - - pllo[0]=0.5; pllo[1]=5.0; pllo[2]=1.0; pllo[3]=0.4; - plhi[0]=5.0; plhi[1]=50.0; plhi[2]=1000000.0; plhi[3]=5.0; - sv[0]=1.8; sv[1]=20.0; sv[2]=50000.0; sv[3]=3.0; - - Double_t chisqr; - Int_t ndf; - TF1 *fitsnr = langaufit(hSNR,fr,sv,pllo,plhi,fp,fpe,&chisqr,&ndf); - - Double_t SNRPeak, SNRFWHM; - langaupro(fp,SNRPeak,SNRFWHM); - - printf("Fitting done\nPlotting results...\n"); - - // Global style settings - gStyle->SetOptStat(1111); - gStyle->SetOptFit(111); - gStyle->SetLabelSize(0.03,"x"); - gStyle->SetLabelSize(0.03,"y"); - - hSNR->GetXaxis()->SetRange(0,70); - hSNR->Draw(); - fitsnr->Draw("lsame"); -} - diff --git a/tutorials/latex.C b/tutorials/latex.C deleted file mode 100644 index e7cea1ba48a4cb5bf0277edada90290c78e1ef94..0000000000000000000000000000000000000000 --- a/tutorials/latex.C +++ /dev/null @@ -1,22 +0,0 @@ -// This macro draws 4 Latex-style formula in a canvas and prints the canvas -// as a Postscript file. -// Note that this macro relies on a first implementation of the TLatex class. -// There are still some discrepancies between the result on the screen -// and the result on Postscript. -// Also some differences will be seen between Unix servers depending -// the version of X in use. Results on WindowsNT are also slightly different. - -{ - gROOT->Reset(); - TCanvas *c1 = new TCanvas("c1","test",600,700); - // write formulas - TLatex l; - l.SetTextAlign(12); - l.SetTextSize(0.04); - l.DrawLatex(0.1,0.9,"1) C(x) = d #sqrt{#frac{2}{#lambdaD}} #int^{x}_{0}cos(#frac{#pi}{2}t^{2})dt"); - l.DrawLatex(0.1,0.7,"2) C(x) = d #sqrt{#frac{2}{#lambdaD}} #int^{x}cos(#frac{#pi}{2}t^{2})dt"); - l.DrawLatex(0.1,0.5,"3) R = |A|^{2} = #frac{1}{2}#left(#[]{#frac{1}{2}+C(V)}^{2}+#[]{#frac{1}{2}+S(V)}^{2}#right)"); - l.DrawLatex(0.1,0.3,"4) F(t) = #sum_{i=-#infty}^{#infty}A(i)cos#[]{#frac{i}{t+i}}"); - l.DrawLatex(0.1,0.1,"5) {}_{3}^{7}Li"); - c1->Print("latex.ps"); -} diff --git a/tutorials/latex.rb b/tutorials/latex.rb deleted file mode 100644 index 70780b4630f7788d786e9ed7f680c34912bb1769..0000000000000000000000000000000000000000 --- a/tutorials/latex.rb +++ /dev/null @@ -1,19 +0,0 @@ -# ruby-root testsuite -# port of the original $ROOT/latex.C tutorial -# (12/01/2004) --elathan <elathan@phys.uoa.gr> - -c1 = TCanvas.new("c1","test",600,700) - -# write formulas -l = TLatex.new - l.SetTextAlign(12) - l.SetTextSize(0.04) - l.DrawLatex(0.1,0.9,"1) C(x) = d #sqrt{#frac{2}{#lambdaD}} #int^{x}_{0}cos(#frac{#pi}{2}t^{2})dt") - l.DrawLatex(0.1,0.7,"2) C(x) = d #sqrt{#frac{2}{#lambdaD}} #int^{x}cos(#frac{#pi}{2}t^{2})dt") - l.DrawLatex(0.1,0.5,"3) R = |A|^{2} = #frac{1}{2}#left(#[]{#frac{1}{2}+C(V)}^{2}+#[]{#frac{1}{2}+S(V)}^{2}#right)") - l.DrawLatex(0.1,0.3,"4) F(t) = #sum_{i=-#infty}^{#infty}A(i)cos#[]{#frac{i}{t+i}}") - l.DrawLatex(0.1,0.1,"5) {}_{3}^{7}Li") - -c1.Draw # Print("latex.ps") - -gApplication.Run diff --git a/tutorials/latex2.C b/tutorials/latex2.C deleted file mode 100644 index e53dee2adf429a65a8c87ed9ea8e04eea9ed8289..0000000000000000000000000000000000000000 --- a/tutorials/latex2.C +++ /dev/null @@ -1,17 +0,0 @@ -// This macro draws 4 Latex-style formula in a canvas and prints the canvas -// as a Postscript file. -// Note that this macro relies on a first implementation of the TLatex class. -// There are still some discrepancies between the result on the screen -// and the result on Postscript. -{ - gROOT->Reset(); - TCanvas *c1 = new TCanvas("c1"); - TLatex l; - l.SetTextAlign(23); - l.SetTextSize(0.1); - l.DrawLatex(0.5,0.95,"e^{+}e^{-}#rightarrowZ^{0}#rightarrowI#bar{I}, q#bar{q}"); - l.DrawLatex(0.5,0.75,"|#vec{a}#bullet#vec{b}|=#Sigmaa^{i}_{jk}+b^{bj}_{i}"); - l.DrawLatex(0.5,0.5,"i(#partial_{#mu}#bar{#psi}#gamma^{#mu}+m#bar{#psi})=0#Leftrightarrow(#Box+m^{2})#psi=0"); - l.DrawLatex(0.5,0.3,"L_{em}=eJ^{#mu}_{em}A_{#mu} , J^{#mu}_{em}=#bar{I}#gamma_{#mu}I , M^{j}_{i}=#SigmaA_{#alpha}#tau^{#alphaj}_{i}"); - c1->Print("latex2.ps"); -} diff --git a/tutorials/latex3.C b/tutorials/latex3.C deleted file mode 100644 index 814a088fbf6edbdf3ec01c12ffe6e69d28faf572..0000000000000000000000000000000000000000 --- a/tutorials/latex3.C +++ /dev/null @@ -1,20 +0,0 @@ -{ - //example illustrating a TPaveText with Latex inside - gROOT->Reset(); - TCanvas c1("c1"); - TPaveText pt(.05,.1,.95,.8); - - pt.AddText("#frac{2s}{#pi#alpha^{2}} #frac{d#sigma}{dcos#theta} (e^{+}e^{-} #rightarrow f#bar{f} ) = \ - #left| #frac{1}{1 - #Delta#alpha} #right|^{2} (1+cos^{2}#theta)"); - - pt.AddText("+ 4 Re #left{ #frac{2}{1 - #Delta#alpha} #chi(s) #[]{#hat{g}_{#nu}^{e}#hat{g}_{#nu}^{f} \ -(1 + cos^{2}#theta) + 2 #hat{g}_{a}^{e}#hat{g}_{a}^{f} cos#theta) } #right}"); - - pt.AddText("+ 16#left|#chi(s)#right|^{2}\ - #left[(#hat{g}_{a}^{e}^{2} + #hat{g}_{v}^{e}^{2})\ - (#hat{g}_{a}^{f}^{2} + #hat{g}_{v}^{f}^{2})(1+cos^{2}#theta)\ - + 8 #hat{g}_{a}^{e} #hat{g}_{a}^{f} #hat{g}_{v}^{e} #hat{g}_{v}^{f}cos#theta#right] "); - - pt.SetLabel("Born equation"); - pt.Draw(); -} diff --git a/tutorials/latex4.C b/tutorials/latex4.C deleted file mode 100644 index f14bef31de0edf3fb863315aa30c2949a253e933..0000000000000000000000000000000000000000 --- a/tutorials/latex4.C +++ /dev/null @@ -1,90 +0,0 @@ -// Draw the Greek letters as a table and save the result as GIF, PS, PDF -// and SVG files. -// Lowercase Greek letters are obtained by adding a # to the name of the letter. -// For an uppercase Greek letter, just capitalize the first letter of the -// command name. Some letter have two representations. The name of the -// second one (the "variation") starts with "var". -{ - gROOT->Reset(); - TCanvas *c1 = new TCanvas("greek","greek",600,700); - - TLatex l; - l.SetTextSize(0.03); - - // Draw the columns titles - l.SetTextAlign(22); - l.DrawLatex(0.165, 0.95, "Lower case"); - l.DrawLatex(0.495, 0.95, "Upper case"); - l.DrawLatex(0.825, 0.95, "Variations"); - - // Draw the lower case letters - l.SetTextAlign(12); - float y, x1, x2; - y = 0.90; x1 = 0.07; x2 = x1+0.2; - l.DrawLatex(x1, y, "alpha : ") ; l.DrawLatex(x2, y, "#alpha"); - y -= 0.0375 ; l.DrawLatex(x1, y, "beta : ") ; l.DrawLatex(x2, y, "#beta"); - y -= 0.0375 ; l.DrawLatex(x1, y, "gamma : ") ; l.DrawLatex(x2, y, "#gamma"); - y -= 0.0375 ; l.DrawLatex(x1, y, "delta : ") ; l.DrawLatex(x2, y, "#delta"); - y -= 0.0375 ; l.DrawLatex(x1, y, "epsilon : ") ; l.DrawLatex(x2, y, "#epsilon"); - y -= 0.0375 ; l.DrawLatex(x1, y, "zeta : ") ; l.DrawLatex(x2, y, "#zeta"); - y -= 0.0375 ; l.DrawLatex(x1, y, "eta : ") ; l.DrawLatex(x2, y, "#eta"); - y -= 0.0375 ; l.DrawLatex(x1, y, "theta : ") ; l.DrawLatex(x2, y, "#theta"); - y -= 0.0375 ; l.DrawLatex(x1, y, "iota : ") ; l.DrawLatex(x2, y, "#iota"); - y -= 0.0375 ; l.DrawLatex(x1, y, "kappa : ") ; l.DrawLatex(x2, y, "#kappa"); - y -= 0.0375 ; l.DrawLatex(x1, y, "lambda : ") ; l.DrawLatex(x2, y, "#lambda"); - y -= 0.0375 ; l.DrawLatex(x1, y, "mu : ") ; l.DrawLatex(x2, y, "#mu"); - y -= 0.0375 ; l.DrawLatex(x1, y, "nu : ") ; l.DrawLatex(x2, y, "#nu"); - y -= 0.0375 ; l.DrawLatex(x1, y, "xi : ") ; l.DrawLatex(x2, y, "#xi"); - y -= 0.0375 ; l.DrawLatex(x1, y, "omicron : ") ; l.DrawLatex(x2, y, "#omicron"); - y -= 0.0375 ; l.DrawLatex(x1, y, "pi : ") ; l.DrawLatex(x2, y, "#pi"); - y -= 0.0375 ; l.DrawLatex(x1, y, "rho : ") ; l.DrawLatex(x2, y, "#rho"); - y -= 0.0375 ; l.DrawLatex(x1, y, "sigma : ") ; l.DrawLatex(x2, y, "#sigma"); - y -= 0.0375 ; l.DrawLatex(x1, y, "tau : ") ; l.DrawLatex(x2, y, "#tau"); - y -= 0.0375 ; l.DrawLatex(x1, y, "upsilon : ") ; l.DrawLatex(x2, y, "#upsilon"); - y -= 0.0375 ; l.DrawLatex(x1, y, "phi : ") ; l.DrawLatex(x2, y, "#phi"); - y -= 0.0375 ; l.DrawLatex(x1, y, "chi : ") ; l.DrawLatex(x2, y, "#chi"); - y -= 0.0375 ; l.DrawLatex(x1, y, "psi : ") ; l.DrawLatex(x2, y, "#psi"); - y -= 0.0375 ; l.DrawLatex(x1, y, "omega : ") ; l.DrawLatex(x2, y, "#omega"); - - // Draw the upper case letters - y = 0.90; x1 = 0.40; x2 = x1+0.2; - l.DrawLatex(x1, y, "Alpha : ") ; l.DrawLatex(x2, y, "#Alpha"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Beta : ") ; l.DrawLatex(x2, y, "#Beta"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Gamma : ") ; l.DrawLatex(x2, y, "#Gamma"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Delta : ") ; l.DrawLatex(x2, y, "#Delta"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Epsilon : ") ; l.DrawLatex(x2, y, "#Epsilon"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Zeta : ") ; l.DrawLatex(x2, y, "#Zeta"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Eta : ") ; l.DrawLatex(x2, y, "#Eta"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Theta : ") ; l.DrawLatex(x2, y, "#Theta"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Iota : ") ; l.DrawLatex(x2, y, "#Iota"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Kappa : ") ; l.DrawLatex(x2, y, "#Kappa"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Lambda : ") ; l.DrawLatex(x2, y, "#Lambda"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Mu : ") ; l.DrawLatex(x2, y, "#Mu"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Nu : ") ; l.DrawLatex(x2, y, "#Nu"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Xi : ") ; l.DrawLatex(x2, y, "#Xi"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Omicron : ") ; l.DrawLatex(x2, y, "#Omicron"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Pi : ") ; l.DrawLatex(x2, y, "#Pi"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Rho : ") ; l.DrawLatex(x2, y, "#Rho"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Sigma : ") ; l.DrawLatex(x2, y, "#Sigma"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Tau : ") ; l.DrawLatex(x2, y, "#Tau"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Upsilon : ") ; l.DrawLatex(x2, y, "#Upsilon"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Phi : ") ; l.DrawLatex(x2, y, "#Phi"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Chi : ") ; l.DrawLatex(x2, y, "#Chi"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Psi : ") ; l.DrawLatex(x2, y, "#Psi"); - y -= 0.0375 ; l.DrawLatex(x1, y, "Omega : ") ; l.DrawLatex(x2, y, "#Omega"); - - // Draw the variations - x1 = 0.73; x2 = x1+0.2; - y = 0.7500 ; l.DrawLatex(x1, y, "varepsilon : ") ; l.DrawLatex(x2, y, "#varepsilon"); - y = 0.6375 ; l.DrawLatex(x1, y, "vartheta : ") ; l.DrawLatex(x2, y, "#vartheta"); - y = 0.2625 ; l.DrawLatex(x1, y, "varsigma : ") ; l.DrawLatex(x2, y, "#varsigma"); - y = 0.1875 ; l.DrawLatex(x1, y, "varUpsilon : ") ; l.DrawLatex(x2, y, "#varUpsilon"); - y = 0.1500 ; l.DrawLatex(x1, y, "varphi : ") ; l.DrawLatex(x2, y, "#varphi"); - y = 0.0375 ; l.DrawLatex(x1, y, "varomega : ") ; l.DrawLatex(x2, y, "#varomega"); - - // Save the picture in various formats - c1->Print("greek.ps"); - c1->Print("greek.gif"); - c1->Print("greek.pdf"); - c1->Print("greek.svg"); -} diff --git a/tutorials/latex5.C b/tutorials/latex5.C deleted file mode 100644 index db5acb905983ecd31b6bacd55bf626d99aa03c95..0000000000000000000000000000000000000000 --- a/tutorials/latex5.C +++ /dev/null @@ -1,111 +0,0 @@ -// This draws the Mathematical Symbols letters as a table and save the result -// as GIF, PS, PDF and SVG files. -{ - gROOT->Reset(); - TCanvas *c1 = new TCanvas("mathsymb","Mathematical Symbols",600,600); - - TLatex l; - l.SetTextSize(0.03); - - // Draw First Column - l.SetTextAlign(12); - float y, step, x1, x2; - y = 0.96; step = 0.0465; x1 = 0.02; x2 = x1+0.04; - l.DrawLatex(x1, y, "#club") ; l.DrawText(x2, y, "#club"); - y -= step ; l.DrawLatex(x1, y, "#voidn") ; l.DrawText(x2, y, "#voidn"); - y -= step ; l.DrawLatex(x1, y, "#leq") ; l.DrawText(x2, y, "#leq"); - y -= step ; l.DrawLatex(x1, y, "#approx") ; l.DrawText(x2, y, "#approx"); - y -= step ; l.DrawLatex(x1, y, "#in") ; l.DrawText(x2, y, "#in"); - y -= step ; l.DrawLatex(x1, y, "#supset") ; l.DrawText(x2, y, "#supset"); - y -= step ; l.DrawLatex(x1, y, "#cap") ; l.DrawText(x2, y, "#cap"); - y -= step ; l.DrawLatex(x1, y, "#ocopyright") ; l.DrawText(x2, y, "#ocopyright"); - y -= step ; l.DrawLatex(x1, y, "#trademark") ; l.DrawText(x2, y, "#trademark"); - y -= step ; l.DrawLatex(x1, y, "#times") ; l.DrawText(x2, y, "#times"); - y -= step ; l.DrawLatex(x1, y, "#bullet") ; l.DrawText(x2, y, "#bullet"); - y -= step ; l.DrawLatex(x1, y, "#voidb") ; l.DrawText(x2, y, "#voidb"); - y -= step ; l.DrawLatex(x1, y, "#doublequote") ; l.DrawText(x2, y, "#doublequote"); - y -= step ; l.DrawLatex(x1, y, "#lbar") ; l.DrawText(x2, y, "#lbar"); - y -= step ; l.DrawLatex(x1, y, "#arcbottom") ; l.DrawText(x2, y, "#arcbottom"); - y -= step ; l.DrawLatex(x1, y, "#downarrow") ; l.DrawText(x2, y, "#downarrow"); - y -= step ; l.DrawLatex(x1, y, "#leftrightarrow") ; l.DrawText(x2, y, "#leftrightarrow"); - y -= step ; l.DrawLatex(x1, y, "#Downarrow") ; l.DrawText(x2, y, "#Downarrow"); - y -= step ; l.DrawLatex(x1, y, "#Leftrightarrow") ; l.DrawText(x2, y, "#Leftrightarrow"); - y -= step ; l.DrawLatex(x1, y, "#void8") ; l.DrawText(x2, y, "#void8"); - y -= step ; l.DrawLatex(x1, y, "#hbar") ; l.DrawText(x2, y, "#hbar"); - - // Draw Second Column - y = 0.96; step = 0.0465; x1 = 0.27; x2 = x1+0.04; - l.DrawLatex(x1, y, "#diamond") ; l.DrawText(x2, y, "#diamond"); - y -= step ; l.DrawLatex(x1, y, "#aleph") ; l.DrawText(x2, y, "#aleph"); - y -= step ; l.DrawLatex(x1, y, "#geq") ; l.DrawText(x2, y, "#geq"); - y -= step ; l.DrawLatex(x1, y, "#neq") ; l.DrawText(x2, y, "#neq"); - y -= step ; l.DrawLatex(x1, y, "#notin") ; l.DrawText(x2, y, "#notin"); - y -= step ; l.DrawLatex(x1, y, "#subseteq") ; l.DrawText(x2, y, "#subseteq"); - y -= step ; l.DrawLatex(x1, y, "#cup") ; l.DrawText(x2, y, "#cup"); - y -= step ; l.DrawLatex(x1, y, "#copyright") ; l.DrawText(x2, y, "#copyright"); - y -= step ; l.DrawLatex(x1, y, "#void3") ; l.DrawText(x2, y, "#void3"); - y -= step ; l.DrawLatex(x1, y, "#divide") ; l.DrawText(x2, y, "#divide"); - y -= step ; l.DrawLatex(x1, y, "#circ") ; l.DrawText(x2, y, "#circ"); - y -= step ; l.DrawLatex(x1, y, "#infty") ; l.DrawText(x2, y, "#infty"); - y -= step ; l.DrawLatex(x1, y, "#angle") ; l.DrawText(x2, y, "#angle"); - y -= step ; l.DrawLatex(x1, y, "#cbar") ; l.DrawText(x2, y, "#cbar"); - y -= step ; l.DrawLatex(x1, y, "#arctop") ; l.DrawText(x2, y, "#arctop"); - y -= step ; l.DrawLatex(x1, y, "#leftarrow") ; l.DrawText(x2, y, "#leftarrow"); - y -= step ; l.DrawLatex(x1, y, "#otimes") ; l.DrawText(x2, y, "#otimes"); - y -= step ; l.DrawLatex(x1, y, "#Leftarrow") ; l.DrawText(x2, y, "#Leftarrow"); - y -= step ; l.DrawLatex(x1, y, "#prod") ; l.DrawText(x2, y, "#prod"); - y -= step ; l.DrawLatex(x1, y, "#Box") ; l.DrawText(x2, y, "#Box"); - y -= step ; l.DrawLatex(x1, y, "#parallel") ; l.DrawText(x2, y, "#parallel"); - - // Draw Third Column - y = 0.96; step = 0.0465; x1 = 0.52; x2 = x1+0.04; - l.DrawLatex(x1, y, "#heart") ; l.DrawText(x2, y, "#heart"); - y -= step ; l.DrawLatex(x1, y, "#Jgothic") ; l.DrawText(x2, y, "#Jgothic"); - y -= step ; l.DrawLatex(x1, y, "#LT") ; l.DrawText(x2, y, "#LT"); - y -= step ; l.DrawLatex(x1, y, "#equiv") ; l.DrawText(x2, y, "#equiv"); - y -= step ; l.DrawLatex(x1, y, "#subset") ; l.DrawText(x2, y, "#subset"); - y -= step ; l.DrawLatex(x1, y, "#supseteq") ; l.DrawText(x2, y, "#supseteq"); - y -= step ; l.DrawLatex(x1, y, "#wedge") ; l.DrawText(x2, y, "#wedge"); - y -= step ; l.DrawLatex(x1, y, "#oright") ; l.DrawText(x2, y, "#oright"); - y -= step ; l.DrawLatex(x1, y, "#AA") ; l.DrawText(x2, y, "#AA"); - y -= step ; l.DrawLatex(x1, y, "#pm") ; l.DrawText(x2, y, "#pm"); - y -= step ; l.DrawLatex(x1, y, "#3dots") ; l.DrawText(x2, y, "#3dots"); - y -= step ; l.DrawLatex(x1, y, "#nabla") ; l.DrawText(x2, y, "#nabla"); - y -= step ; l.DrawLatex(x1, y, "#downleftarrow") ; l.DrawText(x2, y, "#downleftarrow"); - y -= step ; l.DrawLatex(x1, y, "#topbar") ; l.DrawText(x2, y, "#topbar"); - y -= step ; l.DrawLatex(x1, y, "#arcbar") ; l.DrawText(x2, y, "#arcbar"); - y -= step ; l.DrawLatex(x1, y, "#uparrow") ; l.DrawText(x2, y, "#uparrow"); - y -= step ; l.DrawLatex(x1, y, "#oplus") ; l.DrawText(x2, y, "#oplus"); - y -= step ; l.DrawLatex(x1, y, "#Uparrow") ; l.DrawText(x2, y, "#Uparrow"); - y -= step ; l.DrawLatex(x1, y-0.01, "#sum") ; l.DrawText(x2, y, "#sum"); - y -= step ; l.DrawLatex(x1, y, "#perp") ; l.DrawText(x2, y, "#perp"); - - // Draw Fourth Column - y = 0.96; step = 0.0465; x1 = 0.77; x2 = x1+0.04; - l.DrawLatex(x1, y, "#spade") ; l.DrawText(x2, y, "#spade"); - y -= step ; l.DrawLatex(x1, y, "#Rgothic") ; l.DrawText(x2, y, "#Rgothic"); - y -= step ; l.DrawLatex(x1, y, "#GT") ; l.DrawText(x2, y, "#GT"); - y -= step ; l.DrawLatex(x1, y, "#propto") ; l.DrawText(x2, y, "#propto"); - y -= step ; l.DrawLatex(x1, y, "#notsubset") ; l.DrawText(x2, y, "#notsubset"); - y -= step ; l.DrawLatex(x1, y, "#oslash") ; l.DrawText(x2, y, "#oslash"); - y -= step ; l.DrawLatex(x1, y, "#vee") ; l.DrawText(x2, y, "#vee"); - y -= step ; l.DrawLatex(x1, y, "#void1") ; l.DrawText(x2, y, "#void1"); - y -= step ; l.DrawLatex(x1, y, "#aa") ; l.DrawText(x2, y, "#aa"); - y -= step ; l.DrawLatex(x1, y, "#/") ; l.DrawText(x2, y, "#/"); - y -= step ; l.DrawLatex(x1, y, "#upoint") ; l.DrawText(x2, y, "#upoint"); - y -= step ; l.DrawLatex(x1, y, "#partial") ; l.DrawText(x2, y, "#partial"); - y -= step ; l.DrawLatex(x1, y, "#corner") ; l.DrawText(x2, y, "#corner"); - y -= step ; l.DrawLatex(x1, y, "#ltbar") ; l.DrawText(x2, y, "#ltbar"); - y -= step ; l.DrawLatex(x1, y, "#bottombar") ; l.DrawText(x2, y, "#bottombar"); - y -= step ; l.DrawLatex(x1, y, "#rightarrow") ; l.DrawText(x2, y, "#rightarrow"); - y -= step ; l.DrawLatex(x1, y, "#surd") ; l.DrawText(x2, y, "#surd"); - y -= step ; l.DrawLatex(x1, y, "#Rightarrow") ; l.DrawText(x2, y, "#Rightarrow"); - y -= step ; l.DrawLatex(x1, y-0.015, "#int") ; l.DrawText(x2, y, "#int"); - y -= step ; l.DrawLatex(x1, y, "#odot") ; l.DrawText(x2, y, "#odot"); - - // Save the picture in various formats - c1->Print("mathsymb.ps"); - c1->Print("mathsymb.gif"); - c1->Print("mathsymb.pdf"); - c1->Print("mathsymb.svg"); -} diff --git a/tutorials/limit.C b/tutorials/limit.C deleted file mode 100644 index d1cbb1b6ea47d9e0bbf5fcd4e39129630c60876f..0000000000000000000000000000000000000000 --- a/tutorials/limit.C +++ /dev/null @@ -1,110 +0,0 @@ -void limit() { -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -//*-* -//*-* This program demonstrates the computation of 95 % C.L. limits. -//*-* It uses a set of randomly created histograms. -//*-* -//*-* Written by Christophe.Delaere@cern.ch on 21.08.02 -//*-* -//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -// Create a new canvas. - TCanvas *c1 = new TCanvas("c1","Dynamic Filling Example",200,10,700,500); - c1->SetFillColor(42); - -// Create some histograms - TH1D* background = new TH1D("background","The expected background",30,-4,4); - TH1D* signal = new TH1D("signal","the expected signal",30,-4,4); - TH1D* data = new TH1D("data","some fake data points",30,-4,4); - background->SetFillColor(48); - signal->SetFillColor(41); - data->SetMarkerStyle(21); - data->SetMarkerColor(kBlue); - background->Sumw2(); // needed for stat uncertainty - signal->Sumw2(); // needed for stat uncertainty - -// Fill histograms randomly - TRandom r; - Float_t bg,sig,dt; - for (Int_t i = 0; i < 25000; i++) { - bg = r.Gaus(0,1); - sig = r.Gaus(1,.2); - background->Fill(bg,0.02); - signal->Fill(sig,0.001); - } - for (Int_t i = 0; i < 500; i++) { - dt = r.Gaus(0,1); - data->Fill(dt); - } - THStack *hs = new THStack("hs","Signal and background compared to data..."); - hs->Add(background); - hs->Add(signal); - hs->Draw("hist"); - data->Draw("PE1,Same"); - c1->Modified(); - c1->Update(); - c1->GetFrame()->SetFillColor(21); - c1->GetFrame()->SetBorderSize(6); - c1->GetFrame()->SetBorderMode(-1); - c1->Modified(); - c1->Update(); - gSystem->ProcessEvents(); - -// Compute the limits - cout << "Computing limits... " << endl; - TLimitDataSource* mydatasource = new TLimitDataSource(signal,background,data); - TConfidenceLevel *myconfidence = TLimit::ComputeLimit(mydatasource,50000); - cout << "CLs : " << myconfidence->CLs() << endl; - cout << "CLsb : " << myconfidence->CLsb() << endl; - cout << "CLb : " << myconfidence->CLb() << endl; - cout << "< CLs > : " << myconfidence->GetExpectedCLs_b() << endl; - cout << "< CLsb > : " << myconfidence->GetExpectedCLsb_b() << endl; - cout << "< CLb > : " << myconfidence->GetExpectedCLb_b() << endl; - -// Add stat uncertainty - cout << endl << "Computing limits with stat systematics... " << endl; - TConfidenceLevel *mystatconfidence = TLimit::ComputeLimit(mydatasource,50000,true); - cout << "CLs : " << mystatconfidence->CLs() << endl; - cout << "CLsb : " << mystatconfidence->CLsb() << endl; - cout << "CLb : " << mystatconfidence->CLb() << endl; - cout << "< CLs > : " << mystatconfidence->GetExpectedCLs_b() << endl; - cout << "< CLsb > : " << mystatconfidence->GetExpectedCLsb_b() << endl; - cout << "< CLb > : " << mystatconfidence->GetExpectedCLb_b() << endl; - -// Add some systematics - cout << endl << "Computing limits with systematics... " << endl; - TVectorD errorb(2); - TVectorD errors(2); - TObjArray* names = new TObjArray(); - TObjString name1("bg uncertainty"); - TObjString name2("sig uncertainty"); - names->AddLast(&name1); - names->AddLast(&name2); - errorb[0]=0.05; // error source 1: 5% - errorb[1]=0; // error source 2: 0% - errors[0]=0; // error source 1: 0% - errors[1]=0.01; // error source 2: 1% - TLimitDataSource* mynewdatasource = new TLimitDataSource(); - mynewdatasource->AddChannel(signal,background,data,&errors,&errorb,names); - TConfidenceLevel *mynewconfidence = TLimit::ComputeLimit(mynewdatasource,50000,true); - cout << "CLs : " << mynewconfidence->CLs() << endl; - cout << "CLsb : " << mynewconfidence->CLsb() << endl; - cout << "CLb : " << mynewconfidence->CLb() << endl; - cout << "< CLs > : " << mynewconfidence->GetExpectedCLs_b() << endl; - cout << "< CLsb > : " << mynewconfidence->GetExpectedCLsb_b() << endl; - cout << "< CLb > : " << mynewconfidence->GetExpectedCLb_b() << endl; - -// show canonical -2lnQ plots in a new canvas -// - The histogram of -2lnQ for background hypothesis (full) -// - The histogram of -2lnQ for signal and background hypothesis (dashed) - TCanvas *c2 = new TCanvas("c2"); - myconfidence->Draw(); - -// clean up (except histograms and canvas) - delete myconfidence; - delete mydatasource; - delete mystatconfidence; - delete mynewconfidence; - delete mynewdatasource; -} - diff --git a/tutorials/logscales.C b/tutorials/logscales.C deleted file mode 100644 index 597522ecbf765bf1d64a278191a34667975f4d05..0000000000000000000000000000000000000000 --- a/tutorials/logscales.C +++ /dev/null @@ -1,100 +0,0 @@ -{ - gROOT->Reset(); - c1 = new TCanvas("c1","Various options on LOG scales plots",0,0,700,900); - c1->SetFillColor(30); - - pad1 = new TPad("pad1","pad1",0.03,0.62,0.50,0.92,32); - pad2 = new TPad("pad2","pad2",0.51,0.62,0.98,0.92,33); - pad3 = new TPad("pad3","pad3",0.03,0.02,0.97,0.535,38); - pad1->Draw(); pad2->Draw(); pad3->Draw(); - - title = new TPaveLabel(0.1,0.94,0.9,0.98,"Various options on LOG scales plots"); - title->SetFillColor(16); - title->SetTextFont(42); - title->Draw(); - - pave = new TPaveText(0.1,0.55,0.9,0.61); - pave->SetFillColor(42); - pave->SetTextAlign(12); - pave->SetTextFont(42); - pave->AddText("When more Log labels are requested, the overlaping labels are removed"); - pave->Draw(); - - pad1->cd(); - pad1->SetLogy(); - pad1->SetGridy(); - TF1 *f1 = new TF1("f1","x*sin(x)*exp(-0.1*x)+15",-10.,10.); - TF1 *f2 = new TF1("f2","(sin(x)+cos(x))**5+15",-10.,10.); - TF1 *f3 = new TF1("f3","(sin(x)/(x)-x*cos(x))+15",-10.,10.); - f1->SetLineWidth(1); f1->SetLineColor(2); - f2->SetLineWidth(1); f2->SetLineColor(3); - f3->SetLineWidth(1); f3->SetLineColor(4); - //f1->SetTitle(""); - f1->Draw(); - f2->Draw("same"); - f3->Draw("same"); - f1->GetYaxis()->SetMoreLogLabels(); - pave1 = new TPaveText(-6,2,6,6); - pave1->SetFillColor(42); - pave1->SetTextAlign(12); - pave1->SetTextFont(42); - pave1->AddText("Log scale along Y axis."); - pave1->AddText("More Log labels requested."); - pave1->Draw(); - - pad2->cd(); - double x[10] = { 200, 300, 400, 500, 600, 650, 700, 710, 900,1000 }; - double y[10] = { 200, 1000, 900, 400, 500, 250, 800, 150, 201, 220 }; - g_2 = new TGraph(10,x,y); - //g_2->SetTitle(""); - g_2->Draw("AL*"); - g_2->SetMarkerColor(2); - g_2->GetYaxis()->SetMoreLogLabels(); - g_2->GetYaxis()->SetNoExponent(); - pad2->SetLogy(); - g_2->GetXaxis()->SetMoreLogLabels(); - pad2->SetLogx(); - pad2->SetGridx(); - pave2 = new TPaveText(150,80,500,180); - pave2->SetFillColor(42); - pave2->SetTextFont(42); - pave2->SetTextAlign(12); - pave2->AddText("Log scale along X and Y axis."); - pave2->AddText("More Log labels on both."); - pave2->AddText("No exponent along Y axis."); - pave2->Draw(); - - pad3->cd(); - pad3->SetGridx(); - pad3->SetGridy(); - pad3->SetLogy(); - pad3->SetLogx(); - TF1 *f4 = new TF1("f4a","x*sin(x+10)+25",1,21); f4->SetLineWidth(1); f4->Draw(); - f4->SetNpx(200); - //f4->SetTitle(""); - f4->GetYaxis()->SetMoreLogLabels(); - f4->GetXaxis()->SetMoreLogLabels(); - f4 = new TF1("f4b","x*cos(x+10)*sin(x+10)+25",1,21); f4->SetLineWidth(1); f4->Draw("same"); - f4->SetNpx(200); - Int_t a = 20; - for (int i=a; i>=1; i--) { - f4 = new TF1(Form("f4b_%d",i),"x*sin(x+10)*[0]/[1]+25",1,21); - f4->SetParameter(0,i); - f4->SetParameter(1,a); - f4->SetNpx(200); - f4->SetLineWidth(1); f4->SetLineColor(i+10); f4->Draw("same"); - f4 = new TF1(Form("f4c_%d",i),"x*cos(x+10)*sin(x+10)*[0]/[1]+25",1,25); - f4->SetParameter(0,i); - f4->SetParameter(1,a); - f4->SetNpx(200); - f4->SetLineWidth(1); f4->SetLineColor(i+30); f4->Draw("same"); - } - pave3 = new TPaveText(1.2,8,9,15); - pave3->SetFillColor(42); - pave3->AddText("Log scale along X and Y axis."); - pave3->SetTextFont(42); - pave3->SetTextAlign(12); - pave3->AddText("More Log labels on both."); - pave3->AddText("The labels have no exponents because they would be 0 or 1"); - pave3->Draw(); -} diff --git a/tutorials/loopdir.C b/tutorials/loopdir.C deleted file mode 100644 index fb5092d4192ec63b3340935a8eff0ecca5121d0f..0000000000000000000000000000000000000000 --- a/tutorials/loopdir.C +++ /dev/null @@ -1,20 +0,0 @@ -void loopdir() { - // example of script to loop on all the objects of a directory - // and print on Postscript all TH1 derived objects - // This script uses the file generated by tutorial hsimple.C - - TFile f("hsimple.root"); - TIter next(f.GetListOfKeys()); - TKey *key; - TCanvas c1; - c1.Print("hsimple.ps["); - while ((key = (TKey*)next())) { - TClass *cl = gROOT->GetClass(key->GetClassName()); - if (!cl->InheritsFrom("TH1")) continue; - TH1 *h = (TH1*)key->ReadObj(); - h->Draw(); - c1.Print("hsimple.ps"); - } - c1.Print("hsimple.ps]"); -} - diff --git a/tutorials/manyaxis.C b/tutorials/manyaxis.C deleted file mode 100644 index 70bf81931fbe5a4b8d9dc24dd81b6a8f01be8237..0000000000000000000000000000000000000000 --- a/tutorials/manyaxis.C +++ /dev/null @@ -1,41 +0,0 @@ -{ - - gROOT.Reset(); - - c1 = new TCanvas("c1","Examples of Gaxis",10,10,700,500); - - c1->Range(-10,-1,10,1); - - TGaxis *axis1 = new TGaxis(-5,-0.2,6,-0.2,-6,8,510,""); - axis1->SetName("axis1"); - axis1->Draw(); - - TGaxis *axis2 = new TGaxis(-5,0.2,6,0.2,0.001,10000,510,"G"); - axis2->SetName("axis2"); - axis2->Draw(); - - TGaxis *axis3 = new TGaxis(-9,-0.8,-9,0.8,-8,8,50510,""); - axis3->SetName("axis3"); - axis3->Draw(); - - TGaxis *axis4 = new TGaxis(-7,-0.8,-7,0.8,1,10000,50510,"G"); - axis4->SetName("axis4"); - axis4->Draw(); - - TGaxis *axis5 = new TGaxis(-5,-0.6,6,-0.6,1.2,1.32,80506,"-+"); - axis5->SetName("axis5"); - axis5->SetLabelSize(0.03); - axis5->SetTextFont(72); - axis5->SetLabelOffset(0.025); - - axis5->Draw(); - - TGaxis *axis6 = new TGaxis(-5,0.6,6,0.6,100,900,50510,"-"); - axis6->SetName("axis6"); - axis6->Draw(); - - TGaxis *axis7 = new TGaxis(8,-0.8,8,0.8,0,9000,50510,"+L"); - axis7->SetName("axis7"); - axis7->SetLabelOffset(0.01); - axis7->Draw(); -} diff --git a/tutorials/markerwarning.C b/tutorials/markerwarning.C deleted file mode 100644 index f052ba8e3aa443e3a5f8b26f9bc804c15d087b74..0000000000000000000000000000000000000000 --- a/tutorials/markerwarning.C +++ /dev/null @@ -1,118 +0,0 @@ -// This script illustrates the danger of using asymmetric symbols. Non-symmetric -// symbols should be used carefully in plotting. These two graphs show how -// misleading a careless use of symbols can be.�The two plots represent the -// same data sets but because of a bad symbol choice, the two plots on the top -// appear further apart than for the bottom example. - -void markerwarning() -{ - const int Nph = 14; - double np_ph[Nph] = {353.4,300.2,254.3,215.2,181.0,151.3,125.2,102.7, 83.3, 66.7, 52.5, 40.2, 30.2, 22.0}; - double nc_ph[Nph] = {3.890,3.734,3.592,3.453,3.342,3.247,3.151,3.047,2.965,2.858,2.701,2.599,2.486,2.328}; - double npe_ph[Nph] = {10.068,9.004,8.086,7.304,6.620,6.026,5.504,5.054,4.666,4.334,4.050,3.804,3.604,3.440}; - double nce_ph[Nph] = {0.235,0.217,0.210,0.206,0.213,0.223,0.239,0.260,0.283,0.318,0.356,0.405,0.465,0.545}; - - const int Nbr = 6; - double np_br[Nbr] = {357.0,306.0,239.0,168.0,114.0, 73.0}; - double nc_br[Nbr] = {3.501,3.275,3.155,3.060,3.053,3.014}; - double npe_br[Nbr] = {8.000,11.000,10.000,9.000,9.000,8.000}; - double nce_br[Nbr] = {0.318,0.311,0.306,0.319,0.370,0.429}; - - TGraphErrors *phUP = new TGraphErrors(Nph,np_ph,nc_ph,npe_ph,nce_ph); - TGraphErrors *phDN = new TGraphErrors(Nph,np_ph,nc_ph,npe_ph,nce_ph); - TGraphErrors *brUP = new TGraphErrors(Nbr,np_br,nc_br,npe_br,nce_br); - TGraphErrors *brDN = new TGraphErrors(Nbr,np_br,nc_br,npe_br,nce_br); - - float Top_margin = 0.; - float Left_margin = 0.025; - float Right_margin = 0.005; - float maxPlotPart = 395; - float Marker_Size = 1.3; - int Marker_Style = 8; - - float Et_200_Min = 0.71; - float Et_200_Max = 3.80; - float Et_130_Min = 1.21; - float Et_130_Max = 3.29; - - float Nc_200_Min = 1.31; - float Nc_200_Max = 4.30; - float Nc_130_Min = 1.51; - float Nc_130_Max = 3.89; - - TCanvas *canvasNc = new TCanvas("canvasNc", "Multiplicity",630,10,600,500); - - gStyle->SetOptStat(0); - canvasNc->SetFillColor(10); - canvasNc->SetBorderSize(0); - - // Primitives in Nc200 pad - TPad *padNcUP = new TPad("padNcUP","200 GeV",0.07,0.60,1.,1.00); - padNcUP->Draw(); - padNcUP->cd(); - padNcUP->SetFillColor(10); - padNcUP->SetFrameFillColor(10); - padNcUP->SetBorderSize(0); - padNcUP->SetLeftMargin(Left_margin); - padNcUP->SetRightMargin(Right_margin); - padNcUP->SetTopMargin(Top_margin+0.005); - padNcUP->SetBottomMargin(0.00); - - TH1F* frameNcUP = new TH1F("frameNcUP","",100,0,maxPlotPart); - frameNcUP->GetYaxis()->SetLabelOffset(0.005); - frameNcUP->GetYaxis()->SetLabelSize(0.10); - frameNcUP->SetMinimum(Nc_200_Min); - frameNcUP->SetMaximum(Nc_200_Max); - frameNcUP->SetNdivisions(505,"Y"); - frameNcUP->SetNdivisions(505,"X"); - frameNcUP->Draw(); - - brUP->SetMarkerStyle(22); - brUP->SetMarkerSize (2.0); - brUP->Draw("P"); - - phDN->SetMarkerStyle(23); - phDN->SetMarkerSize (2); - phDN->Draw("P"); - - canvasNc->cd(); - - // Primitives in Nc130 pad - TPad *padNcDN = new TPad("padNcDN","130 GeV",0.07,0.02,1.,0.60); - padNcDN->Draw(); - padNcDN->cd(); - padNcDN->SetFillColor(10); - padNcDN->SetFrameFillColor(10); - padNcDN->SetBorderSize(0); - padNcDN->SetLeftMargin(Left_margin); - padNcDN->SetRightMargin(Right_margin); - padNcDN->SetTopMargin(Top_margin+0.005); - padNcDN->SetBottomMargin(0.30); - - TH1F* frameNcDN = new TH1F("frameNcDN","",100,0,maxPlotPart); - frameNcDN->GetYaxis()->SetLabelOffset(0.005); - frameNcDN->GetYaxis()->SetLabelSize(0.07); - frameNcDN->GetXaxis()->SetLabelOffset(0.005); - frameNcDN->GetXaxis()->SetLabelSize(0.07); - frameNcDN->SetMinimum(Nc_200_Min); - frameNcDN->SetMaximum(Nc_200_Max); - frameNcDN->SetNdivisions(505,"Y"); - frameNcDN->SetNdivisions(505,"X"); - frameNcDN->Draw(); - - brDN->SetMarkerStyle(23); - brDN->SetMarkerSize (2.0); - brDN->Draw("P"); - - phUP->SetMarkerStyle(22); - phUP->SetMarkerSize (2); - phUP->Draw("P"); - - TLatex t1; - t1.SetTextFont(12); t1.SetTextSize(0.0525); - t1.DrawLatex(-5,0.6,"Non-symmetric symbols should be used carefully in plotting.�These two graphs show how misleading"); - t1.DrawLatex(-5,0.4,"a careless use of symbols can be.�The two plots represent the same data sets but because of a bad"); - t1.DrawLatex(-5,0.2,"symbol choice, the two plots on the top appear further apart than for the bottom example."); - - canvasNc->cd(); -} diff --git a/tutorials/mathBeta.C b/tutorials/mathBeta.C deleted file mode 100644 index 206935f21f5f60776041d555778e9720ab2150f3..0000000000000000000000000000000000000000 --- a/tutorials/mathBeta.C +++ /dev/null @@ -1,65 +0,0 @@ -// Test the TMath::BetaDist and TMath::BetaDistI functions -// author: Anna Kreshuk - -#include "TMath.h" -#include "TCanvas.h" -#include "TF1.h" -#include "TLegend.h" - -void mathBeta() { - TCanvas *c1=new TCanvas("c1", "TMath::BetaDist",600,800); - c1->Divide(1, 2); - TVirtualPad *pad1 = c1->cd(1); - pad1->SetGrid(); - TF1 *fbeta = new TF1("fbeta", "TMath::BetaDist(x, [0], [1])", 0, 1); - fbeta->SetParameters(0.5, 0.5); - TF1 *f1 = fbeta->DrawCopy(); - f1->SetLineColor(kRed); - f1->SetLineWidth(1); - fbeta->SetParameters(0.5, 2); - TF1 *f2 = fbeta->DrawCopy("same"); - f2->SetLineColor(kGreen); - f2->SetLineWidth(1); - fbeta->SetParameters(2, 0.5); - TF1 *f3 = fbeta->DrawCopy("same"); - f3->SetLineColor(kBlue); - f3->SetLineWidth(1); - fbeta->SetParameters(2, 2); - TF1 *f4 = fbeta->DrawCopy("same"); - f4->SetLineColor(kMagenta); - f4->SetLineWidth(1); - TLegend *legend1 = new TLegend(.5,.7,.8,.9); - legend1->AddEntry(f1,"p=0.5 q=0.5","l"); - legend1->AddEntry(f2,"p=0.5 q=2","l"); - legend1->AddEntry(f3,"p=2 q=0.5","l"); - legend1->AddEntry(f4,"p=2 q=2","l"); - legend1->Draw(); - - TVirtualPad *pad2 = c1->cd(2); - pad2->SetGrid(); - TF1 *fbetai=new TF1("fbetai", "TMath::BetaDistI(x, [0], [1])", 0, 1); - fbetai->SetParameters(0.5, 0.5); - TF1 *g1=fbetai->DrawCopy(); - g1->SetLineColor(kRed); - g1->SetLineWidth(1); - fbetai->SetParameters(0.5, 2); - TF1 *g2=fbetai->DrawCopy("same"); - g2->SetLineColor(kGreen); - g2->SetLineWidth(1); - fbetai->SetParameters(2, 0.5); - TF1 *g3=fbetai->DrawCopy("same"); - g3->SetLineColor(kBlue); - g3->SetLineWidth(1); - fbetai->SetParameters(2, 2); - TF1 *g4=fbetai->DrawCopy("same"); - g4->SetLineColor(kMagenta); - g4->SetLineWidth(1); - - TLegend *legend2 = new TLegend(.7,.15,0.9,.35); - legend2->AddEntry(f1,"p=0.5 q=0.5","l"); - legend2->AddEntry(f2,"p=0.5 q=2","l"); - legend2->AddEntry(f3,"p=2 q=0.5","l"); - legend2->AddEntry(f4,"p=2 q=2","l"); - legend2->Draw(); - c1->cd(); -} diff --git a/tutorials/mathGammaNormal.C b/tutorials/mathGammaNormal.C deleted file mode 100644 index 84cc5cf174e62930a3106bc6eb140feceed4dc40..0000000000000000000000000000000000000000 --- a/tutorials/mathGammaNormal.C +++ /dev/null @@ -1,55 +0,0 @@ -// tutorial illustrating the use of TMath::GammaDist and TMath::LogNormal -void mathGammaNormal(){ - TCanvas *myc = new TCanvas("c1","gamma and lognormal",10,10,600,800); - myc->Divide(1,2); - TPad *pad1 = myc->cd(1); - pad1->SetLogy(); - pad1->SetGrid(); - - //TMath::GammaDist - TF1 *fgamma = new TF1("fgamma", "TMath::GammaDist(x, [0], [1], [2])", 0, 10); - fgamma->SetParameters(0.5, 0, 1); - TF1 *f1 = fgamma->DrawCopy(); - f1->SetMinimum(1e-5); - f1->SetLineColor(kRed); - fgamma->SetParameters(1, 0, 1); - TF1 *f2 = fgamma->DrawCopy("same"); - f2->SetLineColor(kGreen); - fgamma->SetParameters(2, 0, 1); - TF1 *f3 = fgamma->DrawCopy("same"); - f3->SetLineColor(kBlue); - fgamma->SetParameters(5, 0, 1); - TF1 *f4 = fgamma->DrawCopy("same"); - f4->SetLineColor(kMagenta); - TLegend *legend1 = new TLegend(.2,.15,.5,.4); - legend1->AddEntry(f1,"gamma = 0.5 mu = 0 beta = 1","l"); - legend1->AddEntry(f2,"gamma = 1 mu = 0 beta = 1","l"); - legend1->AddEntry(f3,"gamma = 2 mu = 0 beta = 1","l"); - legend1->AddEntry(f4,"gamma = 5 mu = 0 beta = 1","l"); - legend1->Draw(); - - //TMath::LogNormal - TPad *pad2 = myc->cd(2); - pad2->SetLogy(); - pad2->SetGrid(); - TF1 *flog = new TF1("flog", "TMath::LogNormal(x, [0], [1], [2])", 0, 5); - flog->SetParameters(0.5, 0, 1); - TF1 *g1 = flog->DrawCopy(); - g1->SetLineColor(kRed); - flog->SetParameters(1, 0, 1); - TF1 *g2 = flog->DrawCopy("same"); - g2->SetLineColor(kGreen); - flog->SetParameters(2, 0, 1); - TF1 *g3 = flog->DrawCopy("same"); - g3->SetLineColor(kBlue); - flog->SetParameters(5, 0, 1); - TF1 *g4 = flog->DrawCopy("same"); - g4->SetLineColor(kMagenta); - TLegend *legend2 = new TLegend(.2,.15,.5,.4); - legend2->AddEntry(g1,"sigma = 0.5 theta = 0 m = 1","l"); - legend2->AddEntry(g2,"sigma = 1 theta = 0 m = 1","l"); - legend2->AddEntry(g3,"sigma = 2 theta = 0 m = 1","l"); - legend2->AddEntry(g4,"sigma = 5 theta = 0 m = 1","l"); - legend2->Draw(); -} - diff --git a/tutorials/mathLaplace.C b/tutorials/mathLaplace.C deleted file mode 100644 index ffd1c5669623fddaf18c3ac97af757c1bc715e3a..0000000000000000000000000000000000000000 --- a/tutorials/mathLaplace.C +++ /dev/null @@ -1,65 +0,0 @@ -// Test the TMath::LaplaceDist and TMath::LaplaceDistI functions -// author: Anna Kreshuk - -#include "TMath.h" -#include "TCanvas.h" -#include "TF1.h" -#include "TLegend.h" - -void mathLaplace(){ - TCanvas *c1=new TCanvas("c1", "TMath::LaplaceDist",600,800); - c1->Divide(1, 2); - TVirtualPad *pad1 = c1->cd(1); - pad1->SetGrid(); - TF1 *flaplace = new TF1("flaplace", "TMath::LaplaceDist(x, [0], [1])", -10, 10); - flaplace->SetParameters(0, 1); - TF1 *f1 = flaplace->DrawCopy(); - f1->SetLineColor(kRed); - f1->SetLineWidth(1); - flaplace->SetParameters(0, 2); - TF1 *f2 = flaplace->DrawCopy("same"); - f2->SetLineColor(kGreen); - f2->SetLineWidth(1); - flaplace->SetParameters(2, 1); - TF1 *f3 = flaplace->DrawCopy("same"); - f3->SetLineColor(kBlue); - f3->SetLineWidth(1); - flaplace->SetParameters(2, 2); - TF1 *f4 = flaplace->DrawCopy("same"); - f4->SetLineColor(kMagenta); - f4->SetLineWidth(1); - TLegend *legend1 = new TLegend(.7,.7,.9,.9); - legend1->AddEntry(f1,"alpha=0 beta=1","l"); - legend1->AddEntry(f2,"alpha=0 beta=2","l"); - legend1->AddEntry(f3,"alpha=2 beta=1","l"); - legend1->AddEntry(f4,"alpha=2 beta=2","l"); - legend1->Draw(); - - TVirtualPad *pad2 = c1->cd(2); - pad2->SetGrid(); - TF1 *flaplacei=new TF1("flaplacei", "TMath::LaplaceDistI(x, [0], [1])", -10, 10); - flaplacei->SetParameters(0, 1); - TF1 *g1=flaplacei->DrawCopy(); - g1->SetLineColor(kRed); - g1->SetLineWidth(1); - flaplacei->SetParameters(0, 2); - TF1 *g2=flaplacei->DrawCopy("same"); - g2->SetLineColor(kGreen); - g2->SetLineWidth(1); - flaplacei->SetParameters(2, 1); - TF1 *g3=flaplacei->DrawCopy("same"); - g3->SetLineColor(kBlue); - g3->SetLineWidth(1); - flaplacei->SetParameters(2, 2); - TF1 *g4=flaplacei->DrawCopy("same"); - g4->SetLineColor(kMagenta); - g4->SetLineWidth(1); - - TLegend *legend2 = new TLegend(.7,.15,0.9,.35); - legend2->AddEntry(f1,"alpha=0 beta=1","l"); - legend2->AddEntry(f2,"alpha=0 beta=2","l"); - legend2->AddEntry(f3,"alpha=2 beta=1","l"); - legend2->AddEntry(f4,"alpha=2 beta=2","l"); - legend2->Draw(); - c1->cd(); -} diff --git a/tutorials/mathStudent.C b/tutorials/mathStudent.C deleted file mode 100644 index 10e2fe85103e76dd0e31f1b5b43e07f0f7d895a5..0000000000000000000000000000000000000000 --- a/tutorials/mathStudent.C +++ /dev/null @@ -1,127 +0,0 @@ -// tutorial illustrating the use of the Student and F distributions -// author: Anna Kreshuk - -#include "TMath.h" -#include "TF1.h" -#include "TCanvas.h" -#include <Riostream.h> -#include "TLegend.h" -#include "TLegendEntry.h" - -void mathStudent() -{ - //drawing the set of student density functions - //normal(0, 1) density drawn for comparison - TCanvas *DistCanvas = new TCanvas("DistCanvas", "Distribution graphs", 10, 10, 1000, 800); - DistCanvas->SetFillColor(17); - DistCanvas->Divide(2, 2); - DistCanvas->cd(1); - gPad->SetGrid(); - gPad->SetFrameFillColor(19); - TLegend *leg = new TLegend(0.6, 0.7, 0.89, 0.89); - - - TF1* fgaus = new TF1("gaus", "TMath::Gaus(x, [0], [1], [2])", -5, 5); - fgaus->SetTitle("Student density"); - fgaus->SetLineStyle(2); - fgaus->SetLineWidth(1); - fgaus->SetParameters(0, 1, kTRUE); - leg->AddEntry(fgaus->DrawCopy(), "Normal(0,1)", "l"); - - TF1* student = new TF1("student", "TMath::Student(x,[0])", -5, 5); - //student->SetTitle("Student density"); - student->SetLineWidth(1); - student->SetParameter(0, 10); - student->SetLineColor(4); - leg->AddEntry(student->DrawCopy("lsame"), "10 degrees of freedom", "l"); - - student->SetParameter(0, 3); - student->SetLineColor(2); - leg->AddEntry(student->DrawCopy("lsame"), "3 degrees of freedom", "l"); - - student->SetParameter(0, 1); - student->SetLineColor(1); - leg->AddEntry(student->DrawCopy("lsame"), "1 degree of freedom", "l"); - - leg->Draw(); - - //drawing the set of student cumulative probability functions - DistCanvas->cd(2); - gPad->SetFrameFillColor(19); - gPad->SetGrid(); - TF1 *studentI = new TF1("studentI", "TMath::StudentI(x, [0])", -5, 5); - studentI->SetTitle("Student cumulative dist."); - studentI->SetLineWidth(1); - TLegend *leg2 = new TLegend(0.6, 0.4, 0.89, 0.6); - - studentI->SetParameter(0, 10); - studentI->SetLineColor(4); - leg2->AddEntry(studentI->DrawCopy(), "10 degrees of freedom", "l"); - - studentI->SetParameter(0, 3); - studentI->SetLineColor(2); - leg2->AddEntry(studentI->DrawCopy("lsame"), "3 degrees of freedom", "l"); - - studentI->SetParameter(0, 1); - studentI->SetLineColor(1); - leg2->AddEntry(studentI->DrawCopy("lsame"), "1 degree of freedom", "l"); - leg2->Draw(); - - //drawing the set of F-dist. densities - TF1* fDist = new TF1("fDist", "TMath::FDist(x, [0], [1])", 0, 2); - fDist->SetTitle("F-Dist. density"); - fDist->SetLineWidth(1); - TLegend* legF1 = new TLegend(0.7, 0.7, 0.89, 0.89); - - DistCanvas->cd(3); - gPad->SetFrameFillColor(19); - gPad->SetGrid(); - - fDist->SetParameters(1, 1); - fDist->SetLineColor(1); - legF1->AddEntry(fDist->DrawCopy(), "N=1 M=1", "l"); - - fDist->SetParameter(1, 10); - fDist->SetLineColor(2); - legF1->AddEntry(fDist->DrawCopy("lsame"), "N=1 M=10", "l"); - - fDist->SetParameters(10, 1); - fDist->SetLineColor(8); - legF1->AddEntry(fDist->DrawCopy("lsame"), "N=10 M=1", "l"); - - fDist->SetParameters(10, 10); - fDist->SetLineColor(4); - legF1->AddEntry(fDist->DrawCopy("lsame"), "N=10 M=10", "l"); - - legF1->Draw(); - - //drawing the set of F cumulative dist.functions - TF1* fDistI = new TF1("fDist", "TMath::FDistI(x, [0], [1])", 0, 2); - fDistI->SetTitle("Cumulative dist. function for F"); - fDistI->SetLineWidth(1); - TLegend* legF2 = new TLegend(0.7, 0.3, 0.89, 0.5); - - DistCanvas->cd(4); - gPad->SetFrameFillColor(19); - gPad->SetGrid(); - fDistI->SetParameters(1, 1); - fDistI->SetLineColor(1); - legF2->AddEntry(fDistI->DrawCopy(), "N=1 M=1", "l"); - - fDistI->SetParameters(1, 10); - fDistI->SetLineColor(2); - legF2->AddEntry(fDistI->DrawCopy("lsame"), "N=1 M=10", "l"); - - fDistI->SetParameters(10, 1); - fDistI->SetLineColor(8); - legF2->AddEntry(fDistI->DrawCopy("lsame"), "N=10 M=1", "l"); - - fDistI->SetParameters(10, 10); - fDistI->SetLineColor(4); - legF2->AddEntry(fDistI->DrawCopy("lsame"), "N=10 M=10", "l"); - - legF2->Draw(); - DistCanvas->cd(); -} - - diff --git a/tutorials/mathcoreCDF.C b/tutorials/mathcoreCDF.C deleted file mode 100644 index afca5d85f59fd1a5a224b47c0a6fd3f8d440c634..0000000000000000000000000000000000000000 --- a/tutorials/mathcoreCDF.C +++ /dev/null @@ -1,38 +0,0 @@ -// Example macro describing how to use the different cumulative -// distribution functions in ROOT. The macro shows four of them with -// respect to their two variables. In order to run the macro type: -// -// root [0] .x mathcoreCDF.C -// - - - - -void mathcoreCDF(){ - -gSystem->Load("libMathCore"); -TF2 *f1a = new TF2("f1a","ROOT::Math::breitwigner_prob(x, y)",-10,10,0,10); - -TF2 *f2a = new TF2("f2a","ROOT::Math::cauchy_quant(x,y)",0,20, 0,20); - -TF2 *f3a = new TF2("f3a","ROOT::Math::normal_quant(x,y)",-10,10,0,5); - -TF2 *f4a = new TF2("f4a","ROOT::Math::exponential_prob(x,y)",0,10,0,5); - - - -TCanvas *c1 = new TCanvas("c1","c1",1000,750); - -c1->Divide(2,2); - -c1->cd(1); -f1a->Draw("surf1"); -c1->cd(2); -f2a->Draw("surf1"); -c1->cd(3); -f3a->Draw("surf1"); -c1->cd(4); -f4a->Draw("surf1"); - - -} diff --git a/tutorials/mathcoreGenVector.C b/tutorials/mathcoreGenVector.C deleted file mode 100644 index 176c00e83663d89853320590e2439de7c86a00a4..0000000000000000000000000000000000000000 --- a/tutorials/mathcoreGenVector.C +++ /dev/null @@ -1,959 +0,0 @@ -// Example macro to test available methods and operation on the -// mathcore GenVector classes. The results are compared and check at the -// numerical precision levels. -// Some small discrepancy can appear when the macro -// is executed on different architectures where it has been calibrated (Power PC G5) -// The macro is divided in 4 parts: -// - testVector3D : tests of the 3D Vector classes -// - testPoint3D : tests of the 3D Point classes -// - testLorentzVector : tests of the 4D LorentzVector classes -// - testVectorUtil : tests of the utility functions of all the vector classes -// -// To execute the macro type in: -// -// root[0]: .x mathcoreGenVector.C - - -#include "TMatrixD.h" -#include "TVectorD.h" - - -#ifndef __CINT__ -#include "Math/Point3D.h" -#include "Math/Vector3D.h" -#include "Math/Vector4D.h" -#include "Math/Rotation3D.h" -#include "Math/EulerAngles.h" -#include "Math/AxisAngle.h" -#include "Math/Quaternion.h" -#include "Math/RotationX.h" -#include "Math/RotationY.h" -#include "Math/RotationZ.h" -#include "Math/LorentzRotation.h" -#include "Math/Boost.h" -#include "Math/BoostX.h" -#include "Math/BoostY.h" -#include "Math/BoostZ.h" -#include "Math/Transform3D.h" -#include "Math/Plane3D.h" -#include "Math/VectorUtil.h" - -using namespace ROOT::Math; - -#endif - -int ntest = 0; -int nfail = 0; -int ok = 0; - - -int compare( double v1, double v2, const char* name, double Scale = 1.0) { - ntest = ntest + 1; - - // numerical double limit for epsilon - double eps = Scale* 2.22044604925031308e-16; - int iret = 0; - double delta = v2 - v1; - double d = 0; - if (delta < 0 ) delta = - delta; - if (v1 == 0 || v2 == 0) { - if (delta > eps ) { - iret = 1; - } - } - // skip case v1 or v2 is infinity - else { - d = v1; - - if ( v1 < 0) d = -d; - // add also case when delta is small by default - if ( delta/d > eps && delta > eps ) - iret = 1; - } - - if (iret == 0) - std::cout << "."; - else { - int pr = std::cout.precision (18); - int discr; - if (d != 0) - discr = int(delta/d/eps); - else - discr = int(delta/eps); - - std::cout << "\nDiscrepancy in " << name << "() : " << v1 << " != " << v2 << " discr = " << discr - << " (Allowed discrepancy is " << eps << ")\n"; - std::cout.precision (pr); - nfail = nfail + 1; - } - return iret; -} - - - - -int testVector3D() { - - - std::cout << "\n************************************************************************\n " - << " Vector 3D Test" - << "\n************************************************************************\n"; - - - - XYZVector v1(0.01, 0.02, 16); - //XYZVector v1(1.0, 2.0, 3.0); - -// XYZVector v1(1.0, 2.0, 30.0); - -// double R = sqrt (v1.X()*v1.X() + v1.Y()*v1.Y() + v1.Z()*v1.Z()); -// // this formula in not precise enough -// // double Theta = R>0 ? acos ( v1.Z()/r ) : 0; -// double Rho = sqrt (v1.X()*v1.X() + v1.Y()*v1.Y()); -// double Theta = v1.Z() == 0 || Rho == 0 ? 0 : atan2( Rho, v1.Z() ); -// double Phi = Rho>0 ? atan2 (v1.Y(), v1.X()) : 0; - - std::cout << "Test Cartesian-Polar : " ; - - Polar3DVector v2(v1.R(), v1.Theta(), v1.Phi() ); - - ok = 0; - ok+= compare(v1.X(), v2.X(), "x"); - ok+= compare(v1.Y(), v2.Y(), "y"); - ok+= compare(v1.Z(), v2.Z(), "z"); - ok+= compare(v1.Phi(), v2.Phi(), "phi"); - ok+= compare(v1.Theta(), v2.Theta(), "theta"); - ok+= compare(v1.R(), v2.R(), "r"); - ok+= compare(v1.Eta(), v2.Eta(), "eta"); - ok+= compare(v1.Rho(), v2.Rho(), "rho"); - - if (ok == 0) std::cout << "\t OK " << std::endl; - - std::cout << "Test Cartesian-CylindricalEta : "; - - RhoEtaPhiVector v3( v1.Rho(), v1.Eta(), v1.Phi() ); - - ok = 0; - ok+= compare(v1.X(), v3.X(), "x"); - ok+= compare(v1.Y(), v3.Y(), "y"); - ok+= compare(v1.Z(), v3.Z(), "z"); - ok+= compare(v1.Phi(), v3.Phi(), "phi"); - ok+= compare(v1.Theta(), v3.Theta(), "theta"); - ok+= compare(v1.R(), v3.R(), "r"); - ok+= compare(v1.Eta(), v3.Eta(), "eta"); - ok+= compare(v1.Rho(), v3.Rho(), "rho"); - - if (ok == 0) std::cout << "\t OK " << std::endl; - - std::cout << "Test Cartesian-Cylindrical : "; - - RhoZPhiVector v4( v1.Rho(), v1.Z(), v1.Phi() ); - - ok = 0; - ok+= compare(v1.X(), v4.X(), "x"); - ok+= compare(v1.Y(), v4.Y(), "y"); - ok+= compare(v1.Z(), v4.Z(), "z"); - ok+= compare(v1.Phi(), v4.Phi(), "phi"); - ok+= compare(v1.Theta(), v4.Theta(), "theta"); - ok+= compare(v1.R(), v4.R(), "r"); - ok+= compare(v1.Eta(), v4.Eta(), "eta"); - ok+= compare(v1.Rho(), v4.Rho(), "rho"); - - if (ok == 0) std::cout << "\t OK " << std::endl; - - std::cout << "Test Operations : " ; - - ok = 0; - double Dot = v1.Dot(v2); - ok+= compare( Dot, v1.Mag2(),"dot" ); - XYZVector vcross = v1.Cross(v2); - ok+= compare( vcross.R(), 0,"cross" ); - - //std::cout << "\nTest Unit & scaling : " ; - - XYZVector vscale1 = v1*10; - XYZVector vscale2 = vscale1/10; - ok+= compare( v1.R(), vscale2.R(), "scale"); - - XYZVector vu = v1.Unit(); - ok+= compare(v2.Phi(),vu.Phi(),"unit Phi"); - ok+= compare(v2.Theta(),vu.Theta(),"unit Theta"); - ok+= compare(1.0,vu.R(),"unit "); - - XYZVector q1 = v1; - // RhoEtaPhiVector q2 = v1; ! copy onstructor between different vector does not work yet) - RhoEtaPhiVector q2(1.0,1.0,1.0); - - XYZVector q3 = q1 + q2; - XYZVector q4 = q3 - q2; - - ok+= compare( q4.X(), q1.X(), "op X" ); - ok+= compare( q4.Y(), q1.Y(), "op Y" ); - ok+= compare( q4.Z(), q1.Z(), "op Z" ); - - // test operator == - XYZVector w1 = v1; - Polar3DVector w2 = v2; - RhoEtaPhiVector w3 = v3; - RhoZPhiVector w4 = v4; - ok+= compare( w1 == v1, static_cast<double>(true), "== XYZ"); - ok+= compare( w2 == v2, static_cast<double>(true), "== Polar"); - ok+= compare( w3 == v3, static_cast<double>(true), "== RhoEtaPhi"); - ok+= compare( w4 == v4, static_cast<double>(true), "== RhoZPhi"); - - - if (ok == 0) std::cout << "\t OK " << std::endl; - - - //test setters - - std::cout << "Test Setters : " ; - - q2.SetXYZ(q1.X(), q1.Y(), q1.Z() ); - - ok+= compare( q2.X(), q1.X(), "setXYZ X" ); - ok+= compare( q2.Y(), q1.Y(), "setXYZ Y" ); - ok+= compare( q2.Z(), q1.Z(), "setXYZ Z" ); - - q2.SetCoordinates( 2.0*q1.Rho(), q1.Eta(), q1.Phi() ); - XYZVector q1s = 2.0*q1; - ok+= compare( q2.X(), q1s.X(), "set X" ); - ok+= compare( q2.Y(), q1s.Y(), "set Y" ); - ok+= compare( q2.Z(), q1s.Z(), "set Z" ); - - - if (ok == 0) std::cout << "\t\t OK " << std::endl; - - std::cout << "Test Linear Algebra conversion: " ; - - XYZVector vxyz1(1.,2.,3.); - - TVectorD vla1(3); - vxyz1.Coordinates().GetCoordinates(vla1.GetMatrixArray() ); - - TVectorD vla2(3); - vla2[0] = 1.; vla2[1] = -2.; vla2[2] = 1.; - - XYZVector vxyz2; - vxyz2.SetCoordinates(&vla2[0]); - - ok = 0; - double prod1 = vxyz1.Dot(vxyz2); - double prod2 = vla1*vla2; - ok+= compare( prod1, prod2, "la test" ); - - if (ok == 0) std::cout << "\t\t OK " << std::endl; - - return ok; -} - - - -int testPoint3D() { - - std::cout << "\n************************************************************************\n " - << " Point 3D Tests" - << "\n************************************************************************\n"; - - - - //XYZPoint p1(0.00001, 0.00001, 30000000000.0); - XYZPoint p1(1.0, 2.0, 3.0); - - std::cout << "Test Cartesian-Polar : "; - - Polar3DPoint p2(p1.R(), p1.Theta(), p1.Phi() ); - - ok = 0; - ok+= compare(p1.x(), p2.X(), "x"); - ok+= compare(p1.y(), p2.Y(), "y"); - ok+= compare(p1.z(), p2.Z(), "z"); - ok+= compare(p1.phi(), p2.Phi(), "phi"); - ok+= compare(p1.theta(), p2.Theta(), "theta"); - ok+= compare(p1.r(), p2.R(), "r"); - ok+= compare(p1.eta(), p2.Eta(), "eta"); - ok+= compare(p1.rho(), p2.Rho(), "rho"); - - if (ok == 0) std::cout << "\t OK " << std::endl; - - std::cout << "Test Polar-CylindricalEta : "; - - RhoEtaPhiPoint p3( p2.Rho(), p2.Eta(), p2.Phi() ); - - ok = 0; - ok+= compare(p2.X(), p3.X(), "x"); - ok+= compare(p2.Y(), p3.Y(), "y"); - ok+= compare(p2.Z(), p3.Z(), "z",3); - ok+= compare(p2.Phi(), p3.Phi(), "phi"); - ok+= compare(p2.Theta(), p3.Theta(), "theta"); - ok+= compare(p2.R(), p3.R(), "r"); - ok+= compare(p2.Eta(), p3.Eta(), "eta"); - ok+= compare(p2.Rho(), p3.Rho(), "rho"); - - if (ok == 0) std::cout << "\t OK " << std::endl; - - std::cout << "Test operations : "; - - //std::cout << "\nTest Dot and Cross products with Vectors : "; - Polar3DVector vperp(1.,p1.Theta() + TMath::PiOver2(),p1.Phi() ); - double Dot = p1.Dot(vperp); - ok+= compare( Dot, 0.0,"dot", 10 ); - - XYZPoint vcross = p1.Cross(vperp); - ok+= compare( vcross.R(), p1.R(),"cross mag" ); - ok+= compare( vcross.Dot(vperp), 0.0,"cross dir" ); - - XYZPoint pscale1 = 10*p1; - XYZPoint pscale2 = pscale1/10; - ok+= compare( p1.R(), pscale2.R(), "scale"); - - // test operator == - ok+= compare( p1 == pscale2, static_cast<double>(true), "== Point"); - - - //RhoEtaPhiPoint q1 = p1; ! constructor yet not working in CINT - RhoEtaPhiPoint q1; q1 = p1; - q1.SetCoordinates(p1.Rho(),2.0, p1.Phi() ); - - Polar3DVector v2(p1.R(), p1.Theta(),p1.Phi()); - - - //#ifdef WHEN_CINT_FIXED - RhoEtaPhiPoint q3 = q1 + v2; - // point -point in vector does not work yet - RhoEtaPhiPoint q4 = q3 - v2; - ok+= compare( q4.X(), q1.X(), "PV op X" ); - ok+= compare( q4.Y(), q1.Y(), "PV op Y" ); - ok+= compare( q4.Z(), q1.Z(), "PV op Z" ,2); - //#endif - - if (ok == 0) std::cout << "\t OK " << std::endl; - - -// RhoEtaPhiVector v4 = q3 - q1; -// ok+= compare( v4.X(), v2.X(), "op X" ); -// ok+= compare( v4.Y(), v2.Y(), "op Y" ); -// ok+= compare( v4.Z(), v2.Z(), "op Z" ); - - return ok; - -} - - - - -int testLorentzVector() { - - std::cout << "\n************************************************************************\n " - << " Loorentz Vector Tests" - << "\n************************************************************************\n"; - - - - //XYZTVector v1(0.00001, 0.00001, 30000000000.0); - XYZTVector v1(1.0, 2.0, 3.0, 4.0); - - - std::cout << "Test XYZT - PtEtaPhiE Vectors: "; - - PtEtaPhiEVector v2( v1.Rho(), v1.Eta(), v1.Phi(), v1.E() ); - - ok = 0; - ok+= compare(v1.Px(), v2.X(), "x"); - ok+= compare(v1.Py(), v2.Y(), "y"); - ok+= compare(v1.Pz(), v2.Z(), "z", 2); - ok+= compare(v1.E(), v2.T(), "e"); - ok+= compare(v1.Phi(), v2.Phi(), "phi"); - ok+= compare(v1.Theta(), v2.Theta(), "theta"); - ok+= compare(v1.Pt(), v2.Pt(), "pt"); - ok+= compare(v1.M(), v2.M(), "mass", 5); - ok+= compare(v1.Et(), v2.Et(), "et"); - ok+= compare(v1.Mt(), v2.Mt(), "mt", 3); - - if (ok == 0) std::cout << "\t OK " << std::endl; - - - std::cout << "Test XYZT - PtEtaPhiM Vectors: "; - - PtEtaPhiMVector v3( v1.Rho(), v1.Eta(), v1.Phi(), v1.M() ); - - ok = 0; - ok+= compare(v1.Px(), v3.X(), "x"); - ok+= compare(v1.Py(), v3.Y(), "y"); - ok+= compare(v1.Pz(), v3.Z(), "z", 2); - ok+= compare(v1.E(), v3.T(), "e"); - ok+= compare(v1.Phi(), v3.Phi(), "phi"); - ok+= compare(v1.Theta(), v3.Theta(), "theta"); - ok+= compare(v1.Pt(), v3.Pt(), "pt"); - ok+= compare(v1.M(), v3.M(), "mass", 5); - ok+= compare(v1.Et(), v3.Et(), "et"); - ok+= compare(v1.Mt(), v3.Mt(), "mt", 3); - - if (ok == 0) std::cout << "\t OK " << std::endl; - - std::cout << "Test PtEtaPhiE - PxPyPzM Vect.: "; - - PxPyPzMVector v4( v3.X(), v3.Y(), v3.Z(), v3.M() ); - - ok = 0; - ok+= compare(v4.Px(), v3.X(), "x"); - ok+= compare(v4.Py(), v3.Y(), "y"); - ok+= compare(v4.Pz(), v3.Z(), "z",2); - ok+= compare(v4.E(), v3.T(), "e"); - ok+= compare(v4.Phi(), v3.Phi(), "phi"); - ok+= compare(v4.Theta(), v3.Theta(), "theta"); - ok+= compare(v4.Pt(), v3.Pt(), "pt"); - ok+= compare(v4.M(), v3.M(), "mass",5); - ok+= compare(v4.Et(), v3.Et(), "et"); - ok+= compare(v4.Mt(), v3.Mt(), "mt",3); - - if (ok == 0) std::cout << "\t OK " << std::endl; - - std::cout << "Test operations : "; - //std::cout << "\nTest Dot product : " ; - - ok = 0; - double Dot = v1.Dot(v2); - ok+= compare( Dot, v1.M2(),"dot" , 10 ); - - //std::cout << "\nTest scaling : " ; - - XYZTVector vscale1 = v1*10; - XYZTVector vscale2 = vscale1/10; - ok+= compare( v1.M(), vscale2.M(), "scale"); - - - XYZTVector q1 = v1; - // RhoEtaPhiVector q2 = v1; ! copy onstructor between different vector does not work yet) - PtEtaPhiEVector q2(1.0,1.0,1.0,5.0); - - XYZTVector q3 = q1 + q2; - XYZTVector q4 = q3 - q2; - - ok+= compare( q4.x(), q1.X(), "op X" ); - ok+= compare( q4.y(), q1.Y(), "op Y" ); - ok+= compare( q4.z(), q1.Z(), "op Z" ); - ok+= compare( q4.t(), q1.E(), "op E" ); - - // test operator == - XYZTVector w1 = v1; - PtEtaPhiEVector w2 = v2; - PtEtaPhiMVector w3 = v3; - PxPyPzMVector w4 = v4; - ok+= compare( w1 == v1, static_cast<double>(true), "== PxPyPzE"); - ok+= compare( w2 == v2, static_cast<double>(true), "== PtEtaPhiE"); - ok+= compare( w3 == v3, static_cast<double>(true), "== PtEtaPhiM"); - ok+= compare( w4 == v4, static_cast<double>(true), "== PxPyPzM"); - - // test gamma beta and boost - XYZVector b = q1.BoostToCM(); - double beta = q1.Beta(); - double gamma = q1.Gamma(); - - ok += compare( b.R(), beta, "beta" ); - ok += compare( gamma, 1./sqrt( 1 - beta*beta ), "gamma"); - - - if (ok == 0) std::cout << "\t OK " << std::endl; - - //test setters - - std::cout << "Test Setters : " ; - - q2.SetXYZT(q1.Px(), q1.Py(), q1.Pz(), q1.E() ); - - ok+= compare( q2.X(), q1.X(), "setXYZT X" ); - ok+= compare( q2.Y(), q1.Y(), "setXYZT Y" ); - ok+= compare( q2.Z(), q1.Z(), "setXYZT Z" ,2); - ok+= compare( q2.T(), q1.E(), "setXYZT E" ); - - q2.SetCoordinates( 2.0*q1.Rho(), q1.Eta(), q1.Phi(), 2.0*q1.E() ); - XYZTVector q1s = q1*2.0; - ok+= compare( q2.X(), q1s.X(), "set X" ); - ok+= compare( q2.Y(), q1s.Y(), "set Y" ); - ok+= compare( q2.Z(), q1s.Z(), "set Z" ,2); - ok+= compare( q2.T(), q1s.T(), "set E" ); - - - if (ok == 0) std::cout << "\t OK " << std::endl; - - - return ok; -} - - -int testVectorUtil() { - - - std::cout << "\n************************************************************************\n " - << " Utility Function Tests" - << "\n************************************************************************\n"; - - std::cout << "Test Vector utility functions : "; - - - XYZVector v1(1.0, 2.0, 3.0); - Polar3DVector v2pol(v1.R(), v1.Theta()+TMath::PiOver2(), v1.Phi() + 1.0); - // mixedmethods not yet impl. - XYZVector v2; v2 = v2pol; - - ok = 0; - ok += compare( VectorUtil::DeltaPhi(v1,v2), 1.0, "deltaPhi Vec"); - - RhoEtaPhiVector v2cyl(v1.Rho(), v1.Eta() + 1.0, v1.Phi() + 1.0); - v2 = v2cyl; - - - ok += compare( VectorUtil::DeltaR(v1,v2), sqrt(2.0), "DeltaR Vec"); - - XYZVector vperp = v1.Cross(v2); - ok += compare( VectorUtil::CosTheta(v1,vperp), 0.0, "costheta Vec"); - ok += compare( VectorUtil::Angle(v1,vperp), TMath::PiOver2(), "angle Vec"); - - if (ok == 0) std::cout << "\t\t OK " << std::endl; - - - std::cout << "Test Point utility functions : "; - - - XYZPoint p1(1.0, 2.0, 3.0); - Polar3DPoint p2pol(p1.R(), p1.Theta()+TMath::PiOver2(), p1.Phi() + 1.0); - // mixedmethods not yet impl. - XYZPoint p2; p2 = p2pol; - - ok = 0; - ok += compare( VectorUtil::DeltaPhi(p1,p2), 1.0, "deltaPhi Point"); - - RhoEtaPhiPoint p2cyl(p1.Rho(), p1.Eta() + 1.0, p1.Phi() + 1.0); - p2 = p2cyl; - ok += compare( VectorUtil::DeltaR(p1,p2), sqrt(2.0), "DeltaR Point"); - - XYZPoint pperp(vperp.X(), vperp.Y(), vperp.Z()); - ok += compare( VectorUtil::CosTheta(p1,pperp), 0.0, "costheta Point"); - ok += compare( VectorUtil::Angle(p1,pperp), TMath::PiOver2(), "angle Point"); - - if (ok == 0) std::cout << "\t\t OK " << std::endl; - - - std::cout << "LorentzVector utility funct.: "; - - - XYZTVector q1(1.0, 2.0, 3.0,4.0); - PtEtaPhiEVector q2cyl(q1.Pt(), q1.Eta()+1.0, q1.Phi() + 1.0, q1.E() ); - // mixedmethods not yet impl. - XYZTVector q2; q2 = q2cyl; - - ok = 0; - ok += compare( VectorUtil::DeltaPhi(q1,q2), 1.0, "deltaPhi LVec"); - ok += compare( VectorUtil::DeltaR(q1,q2), sqrt(2.0), "DeltaR LVec"); - - XYZTVector qsum = q1+q2; - ok += compare( VectorUtil::InvariantMass(q1,q2), qsum.M(), "InvMass"); - - if (ok == 0) std::cout << "\t\t OK " << std::endl; - - return ok; - -} - - - -int testRotation() { - - - std::cout << "\n************************************************************************\n " - << " Rotation and Transformation Tests" - << "\n************************************************************************\n"; - - std::cout << "Test Vector Rotations : "; - ok = 0; - - XYZPoint v(1.,2,3.); - - double pi = TMath::Pi(); - // initiate rotation with some non -trivial angles to test all matrix - EulerAngles r1( pi/2.,pi/4., pi/3 ); - Rotation3D r2(r1); - AxisAngle r3(r1); - Quaternion r4(r2); - - XYZPoint v1 = r1(v); - XYZPoint v2 = r2(v); - XYZPoint v3 = r3(v); - XYZPoint v4 = r4(v); - - ok+= compare(v1.X(), v2.X(), "x",2); - ok+= compare(v1.Y(), v2.Y(), "y",2); - ok+= compare(v1.Z(), v2.Z(), "z",2); - - ok+= compare(v1.X(), v3.X(), "x",5); - ok+= compare(v1.Y(), v3.Y(), "y",5); - ok+= compare(v1.Z(), v3.Z(), "z",5); - - ok+= compare(v1.X(), v4.X(), "x",2); - ok+= compare(v1.Y(), v4.Y(), "y",2); - ok+= compare(v1.Z(), v4.Z(), "z",2); - - // test with matrix - double rdata[9]; - r2.GetComponents(rdata, rdata+9); - TMatrixD m(3,3,rdata); - double vdata[3]; - v.GetCoordinates(vdata); - TVectorD q(3,vdata); - TVectorD q2 = m*q; - - XYZPoint v5; - v5.SetCoordinates( q2.GetMatrixArray() ); - - ok+= compare(v1.X(), v5.X(), "x"); - ok+= compare(v1.Y(), v5.Y(), "y"); - ok+= compare(v1.Z(), v5.Z(), "z"); - - - if (ok == 0) std::cout << "\t OK " << std::endl; - else std::cout << std::endl; - - std::cout << "Test Axial Rotations : "; - ok = 0; - - RotationX rx( pi/3); - RotationY ry( pi/4); - RotationZ rz( 4*pi/5); - - Rotation3D r3x(rx); - Rotation3D r3y(ry); - Rotation3D r3z(rz); - - XYZPoint vrot1 = rx * ry * rz * v; - XYZPoint vrot2 = r3x * r3y * r3z * v; - - ok+= compare(vrot1.X(), vrot2.X(), "x"); - ok+= compare(vrot1.Y(), vrot2.Y(), "y"); - ok+= compare(vrot1.Z(), vrot2.Z(), "z"); - - vrot1 = rz * ry * rx * v; - vrot2 = r3z * r3y * r3x * v; - - ok+= compare(vrot1.X(), vrot2.X(), "x"); - ok+= compare(vrot1.Y(), vrot2.Y(), "y"); - ok+= compare(vrot1.Z(), vrot2.Z(), "z"); - - - XYZPoint vinv1 = rx.Inverse()*ry.Inverse()*rz.Inverse()*vrot1; - - ok+= compare(vinv1.X(), v.X(), "x",2); - ok+= compare(vinv1.Y(), v.Y(), "y"); - ok+= compare(vinv1.Z(), v.Z(), "z"); - - if (ok == 0) std::cout << "\t OK " << std::endl; - else std::cout << std::endl; - - - std::cout << "Test Rotations by a PI angle : "; - ok = 0; - - double b[4] = { 6,8,10,3.14159265358979323 }; - AxisAngle arPi(b,b+4 ); - Rotation3D rPi(arPi); - AxisAngle a1(rPi); - ok+= compare(arPi.Axis().X(), a1.Axis().X(),"x"); - ok+= compare(arPi.Axis().Y(), a1.Axis().Y(),"y"); - ok+= compare(arPi.Axis().Z(), a1.Axis().Z(),"z"); - ok+= compare(arPi.Angle(), a1.Angle(),"angle"); - - EulerAngles ePi(rPi); - EulerAngles e1(a1); - ok+= compare(ePi.Phi(), e1.Phi(),"phi"); - ok+= compare(ePi.Theta(), e1.Theta(),"theta"); - ok+= compare(ePi.Psi(), e1.Psi(),"ps1"); - - if (ok == 0) std::cout << "\t\t OK " << std::endl; - else std::cout << std::endl; - - std::cout << "Test Inversions : "; - ok = 0; - - EulerAngles s1 = r1.Inverse(); - Rotation3D s2 = r2.Inverse(); - AxisAngle s3 = r3.Inverse(); - Quaternion s4 = r4.Inverse(); - -// cout << r2 << endl; -// cout << s2 << endl; - - // euler angles not yet impl. - XYZPoint p = s2 * r2 * v; - - ok+= compare(p.X(), v.X(), "x",10); - ok+= compare(p.Y(), v.Y(), "y",10); - ok+= compare(p.Z(), v.Z(), "z",10); - - p = s3 * r3 * v; - // axis angle inversion not very precise - ok+= compare(p.X(), v.X(), "x",1E9); - ok+= compare(p.Y(), v.Y(), "y",1E9); - ok+= compare(p.Z(), v.Z(), "z",1E9); - - p = s4 * r4 * v; - - ok+= compare(p.X(), v.X(), "x",10); - ok+= compare(p.Y(), v.Y(), "y",10); - ok+= compare(p.Z(), v.Z(), "z",10); - - if (ok == 0) std::cout << "\t OK " << std::endl; - else std::cout << std::endl; - - // test Rectify - - std::cout << "Test rectify : "; - ok = 0; - - XYZVector u1(0.999498,-0.00118212,-0.0316611); - XYZVector u2(0,0.999304,-0.0373108); - XYZVector u3(0.0316832,0.0372921,0.998802); - Rotation3D rr(u1,u2,u3); - // check orto-normality - XYZPoint vrr = rr(v); - ok+= compare(v.R(), vrr.R(), "R",1.E9); - - if (ok == 0) std::cout << "\t\t OK " << std::endl; - else std::cout << std::endl; - - std::cout << "Test Transform3D : "; - ok = 0; - - XYZVector d(1.,-2.,3.); - Transform3D t(r2,d); - - XYZPoint pd = t * v; - // apply directly rotation - XYZPoint vd = r2 * v + d; - - ok+= compare(pd.X(), vd.X(), "x"); - ok+= compare(pd.Y(), vd.Y(), "y"); - ok+= compare(pd.Z(), vd.Z(), "z"); - - // test with matrix - double tdata[12]; - t.GetComponents(tdata); - TMatrixD mt(3,4,tdata); - double vData[4]; // needs a vector of dim 4 - v.GetCoordinates(vData); - vData[3] = 1; - TVectorD q0(4,vData); - - TVectorD qt = mt*q0; - - ok+= compare(pd.X(), qt(0), "x"); - ok+= compare(pd.Y(), qt(1), "y"); - ok+= compare(pd.Z(), qt(2), "z"); - - - // test inverse - - Transform3D tinv = t.Inverse(); - - p = tinv * t * v; - - ok+= compare(p.X(), v.X(), "x",10); - ok+= compare(p.Y(), v.Y(), "y",10); - ok+= compare(p.Z(), v.Z(), "z",10); - - // test costruct inverse from translation first - - Transform3D tinv2( -d, r2.Inverse() ); - p = tinv2 * t * v; - - ok+= compare(p.X(), v.X(), "x",10); - ok+= compare(p.Y(), v.Y(), "y",10); - ok+= compare(p.Z(), v.Z(), "z",10); - - // test from only rotation and only translation - Transform3D ta( EulerAngles(1.,2.,3.) ); - Transform3D tb( XYZVector(1,2,3) ); - Transform3D tc( Rotation3D(EulerAngles(1.,2.,3.)) , XYZVector(1,2,3) ); - Transform3D td( XYZVector(1,2,3), Rotation3D( EulerAngles(1.,2.,3.) ) ); - - ok+= compare( tc == tb*ta, static_cast<double>(true), "== Rot*Tra"); - ok+= compare( td == ta*tb, static_cast<double>(true), "== Rot*Tra"); - - - if (ok == 0) std::cout << "\t OK " << std::endl; - else std::cout << std::endl; - - std::cout << "Test Plane3D : "; - ok = 0; - - // test transfrom a 3D plane - - - XYZPoint p1(1,2,3); - XYZPoint p2(-2,-1,4); - XYZPoint p3(-1,3,2); - Plane3D plane(p1,p2,p3); - - XYZVector n = plane.Normal(); - // normal is perpendicular to vectors on the planes obtained from subracting the points - ok+= compare(n.Dot(p2-p1), 0.0, "n.v12",10); - ok+= compare(n.Dot(p3-p1), 0.0, "n.v13",10); - ok+= compare(n.Dot(p3-p2), 0.0, "n.v23",10); - - Plane3D plane1 = t(plane); - - // transform the points - XYZPoint pt1 = t(p1); - XYZPoint pt2 = t(p2); - XYZPoint pt3 = t(p3); - Plane3D plane2(pt1,pt2,pt3); - - XYZVector n1 = plane1.Normal(); - XYZVector n2 = plane2.Normal(); - - - ok+= compare(n1.X(), n2.X(), "a",10); - ok+= compare(n1.Y(), n2.Y(), "b",10); - ok+= compare(n1.Z(), n2.Z(), "c",10); - ok+= compare(plane1.HesseDistance(), plane2.HesseDistance(), "d",10); - - // check distances - ok += compare(plane1.Distance(pt1), 0.0, "distance",10); - - if (ok == 0) std::cout << "\t OK " << std::endl; - else std::cout << std::endl; - - std::cout << "Test LorentzRotation : "; - ok = 0; - - XYZTVector lv(1.,2.,3.,4.); - - // test from rotx (using boosts and 3D rotations not yet impl.) - // rx,ry and rz already defined - Rotation3D r3d = rx*ry*rz; - - LorentzRotation rlx(rx); - LorentzRotation rly(ry); - LorentzRotation rlz(rz); - - LorentzRotation rl0 = rlx*rly*rlz; - LorentzRotation rl1( r3d); - -// cout << rl << endl; -// cout << rl0 << endl; -// int eq = rl0 == rl; -// cout << eq << endl; -// double d1[16]; -// double d2[16]; -// rl.GetComponents(d1,d1+16); -// rl0.GetComponents(d2,d2+16); -// for (int i = 0; i < 16; ++i) -// ok+= compare(d1[i], d2[i], "i",1); - - //ok+= compare( rl == rl2, static_cast<double>(true), " LorenzRot"); - - - // cout << Rotation3D(rx) << endl; - - XYZTVector lv0 = rl0 * lv; - - XYZTVector lv1 = rl1 * lv; - - XYZTVector lv2 = r3d * lv; - - - ok+= compare(lv1== lv2,true,"V0==V2"); - ok+= compare(lv1== lv2,true,"V1==V2"); - - double rlData[16]; - rl0.GetComponents(rlData); - TMatrixD ml(4,4,rlData); - // ml.Print(); - double lvData[4]; - lv.GetCoordinates(lvData); - TVectorD ql(4,lvData); - - TVectorD qlr = ml*ql; - - ok+= compare(lv1.X(), qlr(0), "x"); - ok+= compare(lv1.Y(), qlr(1), "y"); - ok+= compare(lv1.Z(), qlr(2), "z"); - ok+= compare(lv1.E(), qlr(3), "t"); - - // test inverse - - lv0 = rl0 * rl0.Inverse() * lv; - - ok+= compare(lv0.X(), lv.X(), "x"); - ok+= compare(lv0.Y(), lv.Y(), "y"); - ok+= compare(lv0.Z(), lv.Z(), "z"); - ok+= compare(lv0.E(), lv.E(), "t"); - - if (ok == 0) std::cout << "\t OK " << std::endl; - else std::cout << std::endl; - - // test Boosts - - std::cout << "Test Boost : "; - ok = 0; - - - Boost bst( 0.3,0.4,0.5); // boost (must be <= 1) - - - XYZTVector lvb = bst ( lv ); - - LorentzRotation rl2 (bst); - - XYZTVector lvb2 = rl2 (lv); - - - // test with lorentz rotation - ok+= compare(lvb.X(), lvb2.X(), "x"); - ok+= compare(lvb.Y(), lvb2.Y(), "y"); - ok+= compare(lvb.Z(), lvb2.Z(), "z"); - ok+= compare(lvb.E(), lvb2.E(), "t"); - ok+= compare(lvb.M(), lv.M(), "m",50); // m must stay constant - - - // test inverse - lv0 = bst.Inverse() * lvb; - - ok+= compare(lv0.X(), lv.X(), "x",5); - ok+= compare(lv0.Y(), lv.Y(), "y",5); - ok+= compare(lv0.Z(), lv.Z(), "z",3); - ok+= compare(lv0.E(), lv.E(), "t",3); - - XYZVector brest = lv.BoostToCM(); - bst.SetComponents( brest.X(), brest.Y(), brest.Z() ); - - XYZTVector lvr = bst * lv; - - ok+= compare(lvr.X(), 0.0, "x",10); - ok+= compare(lvr.Y(), 0.0, "y",10); - ok+= compare(lvr.Z(), 0.0, "z",10); - ok+= compare(lvr.M(), lv.M(), "m",10); - - - if (ok == 0) std::cout << "\t OK " << std::endl; - else std::cout << std::endl; - - return ok; -} - - -void mathcoreGenVector() { - -#ifdef __CINT__ - gSystem->Load("libMathCore"); - using namespace ROOT::Math; -#endif - - testVector3D(); - testPoint3D(); - testLorentzVector(); - testVectorUtil(); - testRotation(); - - std::cout << "\n\nNumber of tests " << ntest << " failed = " << nfail << std::endl; -} - diff --git a/tutorials/mathcoreSpecFunc.C b/tutorials/mathcoreSpecFunc.C deleted file mode 100644 index a6e84edc5a5d2045144a345802a4238c29d61fa1..0000000000000000000000000000000000000000 --- a/tutorials/mathcoreSpecFunc.C +++ /dev/null @@ -1,66 +0,0 @@ -// Example macro describing how to use the special mathematical functions -// taking full advantage of the precision and speed of the C99 compliant -// environments. To execute the macro type in: -// -// root[0]: .x mathcoreSpecFunc.C -// -// It will create two canvases: -// -// a) one with the representation of the tgamma, lgamma, erf and erfc functions -// b) one with the relative difference between the old ROOT versions and the -// C99 implementation (on obsolete platform+compiler combinations which are -// not C99 compliant it will call the original ROOT implementations, hence -// the difference will be 0) -// -// The naming and numbering of the functions is taken from -// <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1687.pdf"> -// Matt Austern, -// (Draft) Technical Report on Standard Library Extensions, -// N1687=04-0127, September 10, 2004</A> -// -// Author: Andras Zsenei - -void mathcoreSpecFunc() { - -gSystem->Load("libMathCore"); -TF1 *f1a = new TF1("f1a","ROOT::Math::tgamma(x)",0,100); -TF1 *f1b = new TF1("f1b","TMath::Abs((ROOT::Math::tgamma(x)-TMath::Gamma(x))/ROOT::Math::tgamma(x))",0,100); - -TF1 *f2a = new TF1("f2a","ROOT::Math::lgamma(x)",0,100); -TF1 *f2b = new TF1("f2b","TMath::Abs((ROOT::Math::lgamma(x)-TMath::LnGamma(x))/ROOT::Math::lgamma(x))",0,100); - -TF1 *f3a = new TF1("f3a","ROOT::Math::erf(x)",0,5); -TF1 *f3b = new TF1("f3b","TMath::Abs((ROOT::Math::erf(x)-TMath::Erf(x))/ROOT::Math::erf(x))",0,5); - -TF1 *f4a = new TF1("f4a","ROOT::Math::erfc(x)",0,5); -TF1 *f4b = new TF1("f4b","TMath::Abs((ROOT::Math::erfc(x)-TMath::Erfc(x))/ROOT::Math::erfc(x))",0,5); - - -TCanvas *c1 = new TCanvas("c1","c1",1000,750); - -c1->Divide(2,2); - -c1->cd(1); -f1a->Draw(); -c1->cd(2); -f2a->Draw(); -c1->cd(3); -f3a->Draw(); -c1->cd(4); -f4a->Draw(); - - -TCanvas *c2 = new TCanvas("c2","c2",1000,750); - -c2->Divide(2,2); - -c2->cd(1); -f1b->Draw(); -c2->cd(2); -f2b->Draw(); -c2->cd(3); -f3b->Draw(); -c2->cd(4); -f4b->Draw(); - -} diff --git a/tutorials/mathcoreStatFunc.C b/tutorials/mathcoreStatFunc.C deleted file mode 100644 index 8feb609d7b32bc476e5f99d7d9f340deec541d4e..0000000000000000000000000000000000000000 --- a/tutorials/mathcoreStatFunc.C +++ /dev/null @@ -1,38 +0,0 @@ -// Example macro describing how to use the different probability -// density functions in ROOT. The macro shows four of them with -// respect to their two variables. In order to run the macro type: -// -// root [0] .x mathcoreStatFunc.C -// -// Author: Andras Zsenei - - - -void mathcoreStatFunc() { - -gSystem->Load("libMathCore"); -TF2 *f1a = new TF2("f1a","ROOT::Math::cauchy_pdf(x, y)",0,10,0,10); - -TF2 *f2a = new TF2("f2a","ROOT::Math::chisquared_pdf(x,y)",0,20, 0,20); - -TF2 *f3a = new TF2("f3a","ROOT::Math::gaussian_pdf(x,y)",0,10,0,5); - -TF2 *f4a = new TF2("f4a","ROOT::Math::tdistribution_pdf(x,y)",0,10,0,5); - - - -TCanvas *c1 = new TCanvas("c1","c1",1000,750); - -c1->Divide(2,2); - -c1->cd(1); -f1a->Draw("surf1"); -c1->cd(2); -f2a->Draw("surf1"); -c1->cd(3); -f3a->Draw("surf1"); -c1->cd(4); -f4a->Draw("surf1"); - - -} diff --git a/tutorials/mathcoreVectorCollection.C b/tutorials/mathcoreVectorCollection.C deleted file mode 100644 index 3a890ce92a4ef366cf6f1b096c55b8df222d4a6a..0000000000000000000000000000000000000000 --- a/tutorials/mathcoreVectorCollection.C +++ /dev/null @@ -1,195 +0,0 @@ -// -// Cint macro as an example to write a std vector of ROOT::Math LorentzVector -// (XYZTVector) in a tree and to read back. -// In the write() function a variable number of track Vectors is generated -// according to a Poisson distribution with random momentum uniformly distributed -// in phi and eta. -// In the read() the vectors are read back and the content analyzed and -// some information such as number of tracks per event or the track pt -// distributions are displayed in a canvas. -// -// To execute the macro type in: -// -// root[0]: .x mathcoreVectorCollection.C - - - - -#include "TRandom.h" -#include "TStopwatch.h" -#include "TSystem.h" -#include "TFile.h" -#include "TTree.h" -#include "TH1D.h" -#include "TCanvas.h" - -#include <iostream> - -// CINT does not understand some files included by LorentzVector -#include "Math/Vector3D.h" -#include "Math/Vector4D.h" - -using namespace ROOT::Math; - - - - -double write(int n) { - - - - TRandom R; - TStopwatch timer; - - - TFile f1("mathcoreLV.root","RECREATE"); - - // create tree - TTree t1("t1","Tree with new LorentzVector"); - - std::vector<ROOT::Math::XYZTVector> tracks; - std::vector<ROOT::Math::XYZTVector> * pTracks = &tracks; - t1.Branch("tracks","std::vector<ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > >",&pTracks); - - double M = 0.13957; // set pi+ mass - - timer.Start(); - double sum = 0; - for (int i = 0; i < n; ++i) { - int nPart = R.Poisson(5); - pTracks->clear(); - pTracks->reserve(nPart); - for (int j = 0; j < nPart; ++j) { - double px = R.Gaus(0,10); - double py = R.Gaus(0,10); - double pt = sqrt(px*px +py*py); - double eta = R.Uniform(-3,3); - double phi = R.Uniform(0.0 , 2*TMath::Pi() ); - RhoEtaPhiVector vcyl( pt, eta, phi); - // set energy - double E = sqrt( vcyl.R()*vcyl.R() + M*M); - XYZTVector q( vcyl.X(), vcyl.Y(), vcyl.Z(), E); - // fill track vector - pTracks->push_back(q); - // evaluate sum of components to check - sum += q.x()+q.y()+q.z()+q.t(); - } - t1.Fill(); - } - - f1.Write(); - timer.Stop(); - std::cout << " Time for new Vector " << timer.RealTime() << " " << timer.CpuTime() << std::endl; - - t1.Print(); - return sum; -} - - - -double read() { - - - TRandom R; - TStopwatch timer; - - - TH1D * h1 = new TH1D("h1","total event energy ",100,0,1000.); - TH1D * h2 = new TH1D("h2","Number of track per event",21,-0.5,20.5); - TH1D * h3 = new TH1D("h3","Track Energy",100,0,200); - TH1D * h4 = new TH1D("h4","Track Pt",100,0,100); - TH1D * h5 = new TH1D("h5","Track Eta",100,-5,5); - TH1D * h6 = new TH1D("h6","Track Cos(theta)",100,-1,1); - - - TFile f1("mathcoreLV.root"); - - // create tree - TTree *t1 = (TTree*)f1.Get("t1"); - - std::vector<ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > > * pTracks = 0; - t1->SetBranchAddress("tracks",&pTracks); - - timer.Start(); - int n = (int) t1->GetEntries(); - std::cout << " Tree Entries " << n << std::endl; - double sum=0; - for (int i = 0; i < n; ++i) { - t1->GetEntry(i); - int ntrk = pTracks->size(); - h3->Fill(ntrk); - XYZTVector q; - for (int j = 0; j < ntrk; ++j) { - XYZTVector v = (*pTracks)[j]; - q += v; - h3->Fill(v.E()); - h4->Fill(v.Pt()); - h5->Fill(v.Eta()); - h6->Fill(cos(v.Theta())); - sum += v.x() + v.y() + v.z() + v.t(); - } - h1->Fill(q.E() ); - h2->Fill(ntrk); - } - - - timer.Stop(); - std::cout << " Time for new Vector " << timer.RealTime() << " " << timer.CpuTime() << std::endl; - - - - TCanvas *c1 = new TCanvas("c1","demo of Trees",10,10,600,800); - c1->Divide(2,3); - - c1->cd(1); - h1->Draw(); - c1->cd(2); - h2->Draw(); - c1->cd(3); - h3->Draw(); - c1->cd(3); - h3->Draw(); - c1->cd(4); - h4->Draw(); - c1->cd(5); - h5->Draw(); - c1->cd(6); - h6->Draw(); - - return sum; -} - - - -int mathcoreVectorCollection() { - - -#ifdef __CINT__ - - gSystem->Load("libMathCore"); - gSystem->Load("libPhysics"); - // in CINT need to do that after having loading the library - using namespace ROOT::Math; -#endif - - - int nEvents = 10000; - - double s1 = write(nEvents); - - double s2 = read(); - - if (fabs(s1-s2) > s1*1.E-15 ) { - std::cout << "ERROR: Found difference in Vector when reading ( " << s1 << " != " << s2 << " diff = " << fabs(s1-s2) << " ) " << std::endl; - return -1; - } - return 0; -} - - -#ifndef __CINT__ -int main() { - return mathcoreVectorCollection(); -} -#endif - diff --git a/tutorials/mathcoreVectorFloatIO.C b/tutorials/mathcoreVectorFloatIO.C deleted file mode 100644 index 53504e80b1249e5210b21de506f3561af203e28f..0000000000000000000000000000000000000000 --- a/tutorials/mathcoreVectorFloatIO.C +++ /dev/null @@ -1,131 +0,0 @@ -// -// Cint macro to test automatic generation of dictionary and I/O for -// mathcore Lorentz Vectors of floats -// The dictionary for LorentzVector of float is not in the libMathCore, therefore -// is generated when parsed the file with CINT. -// -// To run this macro you must do -// -// root[0]: .L mathcoreVectorFloatIO.C+ -// root[1]: runIt(); - - - -#include "TRandom.h" -#include "TStopwatch.h" -#include "TSystem.h" -#include "TFile.h" -#include "TTree.h" -#include "TH1D.h" -#include "TCanvas.h" - -#include <iostream> - -#include "TLorentzVector.h" - -#include "Math/Vector4D.h" - - -#ifdef __MAKECINT__ -#pragma link C++ class ROOT::Math::PxPyPzE4D<float>+; -#pragma link C++ class ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<float> >+; -#pragma link C++ typedef ROOT::Math::XYZTVectorF; -#endif - -using namespace ROOT::Math; - - - -void write(int n) { - - - TRandom R; - TStopwatch timer; - - - - - TFile f1("mathcoreVectorIO_F.root","RECREATE"); - - // create tree - TTree t1("t1","Tree with new Float LorentzVector"); - - XYZTVectorF *v1 = new XYZTVectorF(); - t1.Branch("LV branch","ROOT::Math::XYZTVectorF",&v1); - - timer.Start(); - for (int i = 0; i < n; ++i) { - double Px = R.Gaus(0,10); - double Py = R.Gaus(0,10); - double Pz = R.Gaus(0,10); - double E = R.Gaus(100,10); - //CylindricalEta4D<double> & c = v1->Coordinates(); - //c.SetValues(Px,pY,pZ,E); - v1->SetCoordinates(Px,Py,Pz,E); - t1.Fill(); - } - - f1.Write(); - timer.Stop(); - std::cout << " Time for new Float Vector " << timer.RealTime() << " " << timer.CpuTime() << std::endl; - - t1.Print(); - -} - - -void read() { - - - - - TRandom R; - TStopwatch timer; - - - - TFile f1("mathcoreVectorIO_F.root"); - - // create tree - TTree *t1 = (TTree*)f1.Get("t1"); - - XYZTVectorF *v1 = 0; - t1->SetBranchAddress("LV branch",&v1); - - timer.Start(); - int n = (int) t1->GetEntries(); - std::cout << " Tree Entries " << n << std::endl; - double etot=0; - for (int i = 0; i < n; ++i) { - t1->GetEntry(i); - etot += v1->E(); - } - - - timer.Stop(); - std::cout << " Time for new Float Vector " << timer.RealTime() << " " << timer.CpuTime() << std::endl; - - std::cout << " E average" << n<< " " << etot << " " << etot/double(n) << endl; - - -} - - - -void runIt() { - - -#ifdef __CINT__ - gSystem->Load("libMathCore"); - gSystem->Load("libPhysics"); - using namespace ROOT::Math; -#endif - - - int nEvents = 100000; - - write(nEvents); - - read(); -} - diff --git a/tutorials/mathcoreVectorIO.C b/tutorials/mathcoreVectorIO.C deleted file mode 100644 index 9bb7223ab6fb7be24e72419f028b2047e74dfe4b..0000000000000000000000000000000000000000 --- a/tutorials/mathcoreVectorIO.C +++ /dev/null @@ -1,187 +0,0 @@ -// -// Cint macro to test I/O of mathcore Lorentz Vectors in a Tree and compare with a -// TLorentzVector. A ROOT tree is written and read in both using either a XYZTVector or /// a TLorentzVector. -// -// To execute the macro type in: -// -// root[0]: .x mathcoreVectorIO.C - - - -#include "TRandom.h" -#include "TStopwatch.h" -#include "TSystem.h" -#include "TFile.h" -#include "TTree.h" -#include "TH1D.h" -#include "TCanvas.h" - -#include <iostream> - -#include "TLorentzVector.h" - -#include "Math/Vector4D.h" - -using namespace ROOT::Math; - - - - -void write(int n) { - - - TRandom R; - TStopwatch timer; - - - timer.Start(); - for (int i = 0; i < n; ++i) { - double Px = R.Gaus(0,10); - double Py = R.Gaus(0,10); - double Pz = R.Gaus(0,10); - double E = R.Gaus(100,10); - } - - timer.Stop(); - std::cout << " Time for Random gen " << timer.RealTime() << " " << timer.CpuTime() << std::endl; - - - TFile f1("mathcoreVectorIO_1.root","RECREATE"); - - // create tree - TTree t1("t1","Tree with new LorentzVector"); - - XYZTVector *v1 = new XYZTVector(); - t1.Branch("LV branch","ROOT::Math::XYZTVector",&v1); - - timer.Start(); - for (int i = 0; i < n; ++i) { - double Px = R.Gaus(0,10); - double Py = R.Gaus(0,10); - double Pz = R.Gaus(0,10); - double E = R.Gaus(100,10); - //CylindricalEta4D<double> & c = v1->Coordinates(); - //c.SetValues(Px,pY,pZ,E); - v1->SetCoordinates(Px,Py,Pz,E); - t1.Fill(); - } - - f1.Write(); - timer.Stop(); - std::cout << " Time for new Vector " << timer.RealTime() << " " << timer.CpuTime() << std::endl; - - t1.Print(); - - // create tree with old LV - - TFile f2("mathcoreVectorIO_2.root","RECREATE"); - TTree t2("t2","Tree with TLorentzVector"); - - TLorentzVector * v2 = new TLorentzVector(); - TLorentzVector::Class()->IgnoreTObjectStreamer(); - TVector3::Class()->IgnoreTObjectStreamer(); - - t2.Branch("TLV branch","TLorentzVector",&v2,16000,2); - - timer.Start(); - for (int i = 0; i < n; ++i) { - double Px = R.Gaus(0,10); - double Py = R.Gaus(0,10); - double Pz = R.Gaus(0,10); - double E = R.Gaus(100,10); - v2->SetPxPyPzE(Px,Py,Pz,E); - t2.Fill(); - } - - f2.Write(); - timer.Stop(); - std::cout << " Time for old Vector " << timer.RealTime() << " " << timer.CpuTime() << endl; - - t2.Print(); -} - - -void read() { - - - - - TRandom R; - TStopwatch timer; - - - - TFile f1("mathcoreVectorIO_1.root"); - - // create tree - TTree *t1 = (TTree*)f1.Get("t1"); - - XYZTVector *v1 = 0; - t1->SetBranchAddress("LV branch",&v1); - - timer.Start(); - int n = (int) t1->GetEntries(); - std::cout << " Tree Entries " << n << std::endl; - double etot=0; - for (int i = 0; i < n; ++i) { - t1->GetEntry(i); - double Px = v1->Px(); - double Py = v1->Py(); - double Pz = v1->Pz(); - double E = v1->E(); - etot += E; - } - - - timer.Stop(); - std::cout << " Time for new Vector " << timer.RealTime() << " " << timer.CpuTime() << std::endl; - - std::cout << " E average" << n<< " " << etot << " " << etot/double(n) << endl; - - - // create tree with old LV - - TFile f2("mathcoreVectorIO_2.root"); - TTree *t2 = (TTree*)f2.Get("t2"); - - - TLorentzVector * v2 = 0; - t2->SetBranchAddress("TLV branch",&v2); - - timer.Start(); - n = (int) t2->GetEntries(); - std::cout << " Tree Entries " << n << std::endl; - etot = 0; - for (int i = 0; i < n; ++i) { - t2->GetEntry(i); - double Px = v2->Px(); - double Py = v2->Py(); - double Pz = v2->Pz(); - double E = v2->E(); - etot += E; - } - - timer.Stop(); - std::cout << " Time for old Vector " << timer.RealTime() << " " << timer.CpuTime() << endl; - std::cout << " E average" << etot/double(n) << endl; -} - - - -void mathcoreVectorIO() { - - -#ifdef __CINT__ - gSystem->Load("libMathCore"); - gSystem->Load("libPhysics"); - using namespace ROOT::Math; -#endif - - - int nEvents = 100000; - - write(nEvents); - - read(); -} - diff --git a/tutorials/mditest.C b/tutorials/mditest.C deleted file mode 100755 index 46954c495523c5d4506d900178fda325a00ae685..0000000000000000000000000000000000000000 --- a/tutorials/mditest.C +++ /dev/null @@ -1,415 +0,0 @@ -// @(#)root/tutorials:$Name: $:$Id: mditest.C,v 1.2 2005/11/24 17:08:36 rdm Exp $ -// Author: Fons Rademakers 2/9/2004 - -#include <stdio.h> -#include <stdlib.h> - -#include <TApplication.h> -#include <TGClient.h> -#include <TGFrame.h> -#include <TGButton.h> -#include <TGTextEntry.h> -#include <TGCanvas.h> -#include <TGMenu.h> -#include <TGMdi.h> -#include <TGMsgBox.h> -#include <TGSlider.h> -#include <TGListBox.h> -#include <RQ_OBJECT.h> - -enum EMenuIds { - M_FILE_NEW, - M_FILE_CLOSE, - M_FILE_EXIT, - - M_WINDOW_HOR, - M_WINDOW_VERT, - M_WINDOW_CASCADE, - M_WINDOW_OPAQUE, - M_WINDOW_ARRANGE, - - M_HELP_CONTENTS, - M_HELP_ABOUT -}; - - -//---------------------------------------------------------------------- - -class TGMdiTestSubclass { - -RQ_OBJECT("TGMdiTestSubclass") - -protected: - TGMdiFrame *fMdiFrame; - TGCanvas *fCanvasWindow; - TGCompositeFrame *fContainer; - -public: - TGMdiTestSubclass(TGMdiMainFrame *main, int w, int h); - - TGMdiFrame *GetMdiFrame() const { return fMdiFrame; } - virtual Bool_t CloseWindow(); -}; - -class TGMdiHintTest { - -RQ_OBJECT("TGMdiHintTest") - -protected: - TGMdiFrame *fMdiFrame; - TGTextEntry *fWName; - TGCheckButton *fClose, *fMenu, *fMin, *fMax, *fSize, *fHelp; - -public: - TGMdiHintTest(TGMdiMainFrame *main, int w, int h); - - void HandleButtons(); - void HandleText(const char *); -}; - -class TGAppMainFrame { - -RQ_OBJECT("TGAppMainFrame") - -protected: - TGMainFrame *fMain; - TGMdiMainFrame *fMainFrame; - TGMdiMenuBar *fMenuBar; - TGLayoutHints *fMenuBarItemLayout; - TGPopupMenu *fMenuFile, *fMenuWindow, *fMenuHelp; - - void InitMenu(); - void CloseWindow(); - -public: - TGAppMainFrame(const TGWindow *p, int w, int h); - - void HandleMenu(Int_t id); -}; - -//---------------------------------------------------------------------- - -TGAppMainFrame::TGAppMainFrame(const TGWindow *p, int w, int h) -{ - fMain = new TGMainFrame(p, w, h, kVerticalFrame); - fMenuBar = new TGMdiMenuBar(fMain, 10, 10); - fMain->AddFrame(fMenuBar, new TGLayoutHints(kLHintsTop | kLHintsExpandX)); - - fMainFrame = new TGMdiMainFrame(fMain, fMenuBar, 300, 300); - fMain->AddFrame(fMainFrame, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY)); - - const TGPicture *pbg = gClient->GetPicture("mditestbg.xpm"); - if (pbg) - fMainFrame->GetContainer()->SetBackgroundPixmap(pbg->GetPicture()); - - TGMdiFrame *mdiFrame; - - //--- 1 - - TGMdiTestSubclass *t = new TGMdiTestSubclass(fMainFrame, 320, 240); - mdiFrame = t->GetMdiFrame(); - mdiFrame->SetMdiHints(kMdiClose | kMdiMenu); - mdiFrame->SetWindowName("One"); - mdiFrame->MapSubwindows(); - mdiFrame->Layout(); - - //--- 2 - - ULong_t ic; - gClient->GetColorByName("red", ic); - mdiFrame = new TGMdiFrame(fMainFrame, 200, 200, - kOwnBackground, ic); - mdiFrame->AddFrame(new TGTextButton(mdiFrame, new TGHotString("&Press me!"), 1), - new TGLayoutHints(kLHintsCenterX | kLHintsCenterY)); - mdiFrame->SetMdiHints(kMdiDefaultHints | kMdiHelp); - mdiFrame->SetWindowName("Two"); - mdiFrame->MapSubwindows(); - mdiFrame->Layout(); - mdiFrame->Move(150, 200); - - //--- 3 - - gClient->GetColorByName("green", ic); - mdiFrame = new TGMdiFrame(fMainFrame, 200, 200, kOwnBackground, ic); - mdiFrame->AddFrame(new TGTextButton(mdiFrame, new TGHotString("Button 1"), 11), - new TGLayoutHints(kLHintsCenterX | kLHintsCenterY)); - mdiFrame->AddFrame(new TGTextButton(mdiFrame, new TGHotString("Button 2"), 12), - new TGLayoutHints(kLHintsCenterX | kLHintsCenterY)); - mdiFrame->SetMdiHints(kMdiDefaultHints | kMdiHelp); - mdiFrame->SetWindowName("Three"); - mdiFrame->MapSubwindows(); - mdiFrame->Layout(); - mdiFrame->Move(180, 220); - - //--- 4 - - gClient->GetColorByName("blue", ic); - mdiFrame = new TGMdiFrame(fMainFrame, 200, 400, kOwnBackground, ic); - - TGListBox *fListBox = new TGListBox(mdiFrame,1); - fListBox->AddEntry("Entry 1", 1); - fListBox->AddEntry("Entry 2", 2); - fListBox->AddEntry("Entry 3", 3); - fListBox->AddEntry("Entry 4", 4); - fListBox->AddEntry("Entry 5", 5); - fListBox->AddEntry("Entry 6", 6); - fListBox->AddEntry("Entry 7", 7); - fListBox->AddEntry("Entry 8", 8); - fListBox->AddEntry("Entry 9", 9); - fListBox->Resize(100,70); - fListBox->SetMultipleSelections(kFALSE); - mdiFrame->AddFrame(fListBox, - new TGLayoutHints(kLHintsCenterX | kLHintsCenterY)); - mdiFrame->AddFrame(new TGHSlider(mdiFrame, 50, kSlider1, 1, - kHorizontalFrame, ic), - new TGLayoutHints(kLHintsCenterX | kLHintsCenterY)); - mdiFrame->Move(400, 300); - mdiFrame->SetWindowName("Four"); - mdiFrame->MapSubwindows(); - mdiFrame->Layout(); - - //--- 5 - - new TGMdiHintTest(fMainFrame, 200, 200); - - InitMenu(); - - fMain->SetWindowName("MDI test"); - fMain->SetClassHints("mdi test", "mdi test"); - - if (pbg && pbg->GetWidth() > 600 && pbg->GetHeight() > 400) - fMain->Resize(pbg->GetWidth(), pbg->GetHeight()+25); - else - fMain->Resize(640, 400); - - fMain->MapSubwindows(); - fMain->MapWindow(); - fMain->Layout(); -} - -void TGAppMainFrame::HandleMenu(Int_t id) -{ - // Handle menu items. - - switch (id) { - case M_FILE_NEW: - new TGMdiFrame(fMainFrame, 200, 100); - break; - - case M_FILE_CLOSE: - fMainFrame->Close(fMainFrame->GetCurrent()); - break; - - case M_FILE_EXIT: - CloseWindow(); - break; - - case M_WINDOW_HOR: - fMainFrame->TileHorizontal(); - break; - - case M_WINDOW_VERT: - fMainFrame->TileVertical(); - break; - - case M_WINDOW_CASCADE: - fMainFrame->Cascade(); - break; - - case M_WINDOW_ARRANGE: - fMainFrame->ArrangeMinimized(); - break; - - case M_WINDOW_OPAQUE: - if (fMenuWindow->IsEntryChecked(M_WINDOW_OPAQUE)) { - fMenuWindow->UnCheckEntry(M_WINDOW_OPAQUE); - fMainFrame->SetResizeMode(kMdiNonOpaque); - } else { - fMenuWindow->CheckEntry(M_WINDOW_OPAQUE); - fMainFrame->SetResizeMode(kMdiOpaque); - } - break; - - default: - fMainFrame->SetCurrent(id); - break; - } -} - -void TGAppMainFrame::InitMenu() -{ - fMenuBarItemLayout = new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0); - - fMenuFile = new TGPopupMenu(gClient->GetRoot()); - fMenuFile->AddEntry(new TGHotString("&New Window"), M_FILE_NEW); - fMenuFile->AddEntry(new TGHotString("&Close Window"), M_FILE_CLOSE); - fMenuFile->AddSeparator(); - fMenuFile->AddEntry(new TGHotString("E&xit"), M_FILE_EXIT); - - fMenuWindow = new TGPopupMenu(gClient->GetRoot()); - fMenuWindow->AddEntry(new TGHotString("Tile &Horizontally"), M_WINDOW_HOR); - fMenuWindow->AddEntry(new TGHotString("Tile &Vertically"), M_WINDOW_VERT); - fMenuWindow->AddEntry(new TGHotString("&Cascade"), M_WINDOW_CASCADE); - fMenuWindow->AddSeparator(); - fMenuWindow->AddPopup(new TGHotString("&Windows"), fMainFrame->GetWinListMenu()); - fMenuWindow->AddSeparator(); - fMenuWindow->AddEntry(new TGHotString("&Arrange icons"), M_WINDOW_ARRANGE); - fMenuWindow->AddSeparator(); - fMenuWindow->AddEntry(new TGHotString("&Opaque resize"), M_WINDOW_OPAQUE); - - fMenuWindow->CheckEntry(M_WINDOW_OPAQUE); - - fMenuHelp = new TGPopupMenu(gClient->GetRoot()); - fMenuHelp->AddEntry(new TGHotString("&Contents"), M_HELP_CONTENTS); - fMenuHelp->AddSeparator(); - fMenuHelp->AddEntry(new TGHotString("&About"), M_HELP_ABOUT); - - fMenuHelp->DisableEntry(M_HELP_CONTENTS); - fMenuHelp->DisableEntry(M_HELP_ABOUT); - - // menu message are handled by the class' HandleMenu() method - fMenuFile->Connect("Activated(Int_t)", "TGAppMainFrame", this, - "HandleMenu(Int_t)"); - fMenuWindow->Connect("Activated(Int_t)", "TGAppMainFrame", this, - "HandleMenu(Int_t)"); - fMenuHelp->Connect("Activated(Int_t)", "TGAppMainFrame", this, - "HandleMenu(Int_t)"); - - fMenuBar->AddPopup(new TGHotString("&File"), fMenuFile, fMenuBarItemLayout); - fMenuBar->AddPopup(new TGHotString("&Windows"),fMenuWindow,fMenuBarItemLayout); - fMenuBar->AddPopup(new TGHotString("&Help"), fMenuHelp, fMenuBarItemLayout); -} - -void TGAppMainFrame::CloseWindow() -{ - gApplication->Terminate(0); -} - -//---------------------------------------------------------------------- - -TGMdiTestSubclass::TGMdiTestSubclass(TGMdiMainFrame *main, int w, int h) -{ - fMdiFrame = new TGMdiFrame(main, w, h); - fMdiFrame->Connect("CloseWindow()", "TGMdiTestSubclass", this, "CloseWindow()"); - fMdiFrame->DontCallClose(); - - fCanvasWindow = new TGCanvas(fMdiFrame, 400, 240); - fContainer = new TGCompositeFrame(fCanvasWindow->GetViewPort(), 10, 10, - kHorizontalFrame | kOwnBackground, - fMdiFrame->GetWhitePixel()); - fContainer->SetLayoutManager(new TGTileLayout(fContainer, 8)); - fCanvasWindow->SetContainer(fContainer); - - for (int i = 0; i < 256; ++i) - fCanvasWindow->AddFrame(new TGFrame(fCanvasWindow->GetContainer(), - 32, 32, kOwnBackground, (i+1) & 255), - new TGLayoutHints(kLHintsNormal)); - - fMdiFrame->AddFrame(fCanvasWindow, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY)); - - fMdiFrame->SetWindowIcon(gClient->GetPicture("ofolder_t.xpm")); -} - -Bool_t TGMdiTestSubclass::CloseWindow() -{ - int ret = 0; - - new TGMsgBox(gClient->GetRoot(), fMdiFrame, - fMdiFrame->GetWindowName(), "Really want to close the window?", - kMBIconExclamation, kMBYes | kMBNo, &ret); - - if (ret == kMBYes) return fMdiFrame->CloseWindow(); - - return kFALSE; -} - - -//---------------------------------------------------------------------- - -TGMdiHintTest::TGMdiHintTest(TGMdiMainFrame *main, int w, int h) -{ - fMdiFrame = new TGMdiFrame(main, w, h); - - fClose = new TGCheckButton(fMdiFrame, new TGHotString("Close"), 11); - fMenu = new TGCheckButton(fMdiFrame, new TGHotString("Menu (left icon)"), 12); - fMin = new TGCheckButton(fMdiFrame, new TGHotString("Minimize"), 13); - fMax = new TGCheckButton(fMdiFrame, new TGHotString("Maximize"), 14); - fSize = new TGCheckButton(fMdiFrame, new TGHotString("Resize"), 15); - fHelp = new TGCheckButton(fMdiFrame, new TGHotString("Help"), 16); - - TGLayoutHints *lh = new TGLayoutHints(kLHintsLeft | kLHintsTop, 5, 100, 5, 0); - - fMdiFrame->AddFrame(fClose, lh); - fMdiFrame->AddFrame(fMenu, lh); - fMdiFrame->AddFrame(fMin, lh); - fMdiFrame->AddFrame(fMax, lh); - fMdiFrame->AddFrame(fSize, lh); - fMdiFrame->AddFrame(fHelp, lh); - - fClose->SetState(kButtonDown); - fMin->SetState(kButtonDown); - fMenu->SetState(kButtonDown); - fMax->SetState(kButtonDown); - fSize->SetState(kButtonDown); - - fClose->Connect("Clicked()", "TGMdiHintTest", this, "HandleButtons()"); - fMenu->Connect("Clicked()", "TGMdiHintTest", this, "HandleButtons()"); - fMin->Connect("Clicked()", "TGMdiHintTest", this, "HandleButtons()"); - fMax->Connect("Clicked()", "TGMdiHintTest", this, "HandleButtons()"); - fSize->Connect("Clicked()", "TGMdiHintTest", this, "HandleButtons()"); - fHelp->Connect("Clicked()", "TGMdiHintTest", this, "HandleButtons()"); - - fWName = new TGTextEntry(fMdiFrame, (const char *)"", 20); - fMdiFrame->AddFrame(fWName, new TGLayoutHints(kLHintsTop | kLHintsExpandX, - 5, 5, 5, 5)); - - fWName->GetBuffer()->AddText(0, "MDI hints test"); - fWName->Connect("TextChanged(char*)", "TGMdiHintTest", this, "HandleText(char*)"); - - fMdiFrame->SetMdiHints(kMdiDefaultHints); - fMdiFrame->SetWindowName(fWName->GetBuffer()->GetString()); - - fMdiFrame->SetWindowIcon(gClient->GetPicture("app_t.xpm")); - - fMdiFrame->MapSubwindows(); - fMdiFrame->Layout(); -} - -void TGMdiHintTest::HandleButtons() -{ - int hints = 0; - - if (fClose->GetState() != kButtonUp) hints |= kMdiClose; - if (fMenu->GetState() != kButtonUp) hints |= kMdiMenu; - if (fMin->GetState() != kButtonUp) hints |= kMdiMinimize; - if (fMax->GetState() != kButtonUp) hints |= kMdiMaximize; - if (fSize->GetState() != kButtonUp) hints |= kMdiSize; - if (fHelp->GetState() != kButtonUp) hints |= kMdiHelp; - - fMdiFrame->SetMdiHints(hints); -} - -void TGMdiHintTest::HandleText(const char *) -{ - fMdiFrame->SetWindowName(fWName->GetBuffer()->GetString()); -} - -void mditest() -{ - new TGAppMainFrame(gClient->GetRoot(), 640, 400); -} - -//---------------------------------------------------------------------- - -#ifdef STANDALONE -int main(int argc, char **argv) -{ - TApplication theApp("MdiTest", &argc, argv); - - mditest(); - - theApp.Run(); - - return 0; -} -#endif \ No newline at end of file diff --git a/tutorials/mditestbg.xpm b/tutorials/mditestbg.xpm deleted file mode 100755 index 7840718707f76616eb8d77d68b91eb8e325e3275..0000000000000000000000000000000000000000 --- a/tutorials/mditestbg.xpm +++ /dev/null @@ -1,278 +0,0 @@ -/* XPM */ -static char *back[] = { -/* width height num_colors chars_per_pixel */ -" 256 256 14 1", -/* colors */ -". c #757575", -"# c #7d7d7d", -"a c #868686", -"b c #8c8c8c", -"c c #949494", -"d c #9b9b9b", -"e c #a2a2a2", -"f c #a8a8a8", -"g c #adadad", -"h c #b2b2b2", -"i c #b8b8b8", -"j c #bdbdbd", -"k c #c0c0c0", -"l c #c9c9c9", -/* pixels */ -"ihgggfhfdfgggecbcelhehhhieeggghhgggggiigieelkdhfgecegghgfffgfhggigfhgkkcehggikgeggghghgfgggghilhddgggjikkihffihghfjhfgfghghhffggggfikfegeghfeedfifhgfhkigeiebgifegifhhfffgfhghfdeibhggllegbedeffghgghhgegjghhhikccljgffhecdeefffhgffggghhfggghgefggghhigfhfdhghd", -"hgfhggeeeghggfeiflkfgiihbcgccggffhhhhifgfdllfgffgddggghfefggghhihgghigadghghigdehgggghgghgfghlicdfgghkllhefjjjifggjffhghfghggggfhhhkedgffgeddefigfhfgjgdegieekkigggfggffghfhfheefjdggjlfffcgefhghhgfgffgjhgijgfedklfeehdbdedgfghhgfgghhghffhhhfffhhhijggghegghie", -"ggfgggggfgggggllklegfddcdlgcggffhhghhihgfkkfefffecfgghigffggghkhfghgkfclkgffgfeghgggfghhhgggkkddefghillgcekkfffeghgdggghgghhhigghhhhdggffeefggggghhhhhefehgdgjhhgeehhffffgfhggeefhdhhlkeggcfdfgfgkkhgighjhijiehklkgfghdbefehfgghghggghfghfhhhgggfghhjgefigdgfgge", -"fighgfffgfigillehgdcaefekddegfgiihghikhgijggdgffgfgfghhgffghhhifehhghdeigceffgfhgfgfhgggffhhlheeefggikfbcgiddeefgffegghggghhhhffiihffhgfghgghfgggfhhhghfhhefjghjfefigghffghgfeffjgfhjlhggecggggfjligijfjiijighkjhgfggcbffdgfggfgghfgghhfhfhggffgghhghfgfhefigfie", -"ijghffefhfhglleejcccijdgjbfhgghhkkghhidghggffgeffffggghfffghgfgfglhffeegiefehffgffghhggfgiijicfefhggihdejiihgggggfefhfighhggghghjgfffffhhggggfgggehfeffeifejgfigdfehgfgffgffgeggjdhlljgfhcdfffgjlheghffkkihfhgggfeggcbggfefggggihhffggffhggggffghihhhgggicfgfghg", -"hifedefggeiklhchabfhhfcjhchggiiikhghhdejhfhgffdfffffhghfffggggiillddefghhggghehhgghhhgfhhijkdeeegghjjihkjefdcefeffgggghfgfgghhhjgfggfehigghghgfffghhfigghfkjfgigefdfgfggggffffghjdhljhhhgdffffghgefgfggihfghhfhjhfhdbhgffcfgghhgfggfghghhfeghhhhijgghggiedigggig", -"igfeghgfghkljggcclfeefdlceggjkghgdeefckhgfgfeeegfggggfffefiihgilkdbeggghgfejfehgeghhgfghkhijdheghjlkhfhhgfhedjfhidfhhhgghhgigghidfffffkggghggegfgjihhhffffhefgihhdcegggghfgffggiiflkgihggddefhfikehgfhggfgiffghhfdebegeggdhhgggfgigfggghgffhgggiihfhgfhhcfhgghgg", -"hfgfkgfhhlkkhhhdhfghiejlbggjlifjghgfdhlffgefefeffggghggffhhggfllacefgffggffjdgggehggegghiglhdefjikhfehiffffeghfhecghggghgfgifghhefggfhifgghffegfgigegeefffheggjfecdhhggggfgeggfiijkfgkhkkbegghgjkehghffhgifehghfccbdhffggehggggghgfgggggfgiiggiggghgghkhhkhggggh", -"fegegefglkfhgeddfgjgfdlbdhkkifgiggeddligfeeedefgfggggfgffhhhijlbahfggggfffhkdhhffhfggihhilkabekihhfhggffghjifdeecfhhghgfghhhgihffeggfhhggggffefegieeffgedhldhgifgdfigghfffgfgfghhkggjkhkiaffghgjjfghgejfehfghggeaaeiggfjffhhghgggfghgffffgifehhfggjgfkkgjkhijggj", -"dfgfihgklefhfdfgfgfechlbhikiffhgfeechliffgeefgfffgghggggggihjgedffggggfgffifdhhehggghhhjlfaafkkdhkggfgffhifedeedggighifgihgegheffghehjffggggfefghhefhheegikcffjhgeghggfefhhfgfjhiihgkegkhaehijjkgghihlkdhhgfeffcailhffeidfigggffgghhffffgjheiihghhedelifjhehiflf", -"eghhfiklifheeghhfiffekgdikifeffeeddfllieefdgheggggggggfhgfiihedfgghghfffffifehhfgggggiklkaeggjffkheghggghfdefideghhghffhgfgghfffggggiffighigegjihgghhffhhiicghjgeegifgegfgfgillegefekfkib#digghighegiieghheefffbgleeffgjcfjhhhhfhggfeffgikehigghfeeghlhgiffiefhb", -"ggigfkkifgidfggffgeffkfgijfdgeeeedcklfecdeegfegggggfgfghgghhiiehgfgfgfffffjefjfeghhhhklkcafdhjiggffhgghghhiegddhhhgffehhiiijghgegfgfffhhgfgfehhgihggffhhgkedkgheedfgfgggfgehllddhgghkffbadjifgkggfhhhfffefdfgfdeldeggfhjchhgggfggggffffikgehghffffggklfehfeedfce", -"fhgfgkifghebfhgfghgfgldhiidehdedeeelgeeddeegiggffgfghgfggghjhheggfghggffghkdgjefgihhklhdbdffhhgggfhhefffihgdedighgggggjkkfhfegffhghghggfffgegifilhieghhghidgiggedegffffggffgkedggehjgdbbfhkhfgjghiigggeghgfgfdfkfdgggfiiciigggfgggfefhjjgfjihjgghhghlkefgfegffeh", -"ggfiliggidcekhfghiidkkbhffdfgedfhfjlceeefffigfggggfgggggfghkiidgffgggfgffjhdiiegikfklgdeegfgggfffggfeeefgedccgigffghhhkifffegeeffffggfgghgefhfhkjcedigfhkfeiiggfeggfffhggfgikefggfiifdghfikeegjhihgffedffegecgidefggffghdijfgfggggfeghkgiiighheghghilhdfffggffhf", -"fhklliegebflieghiifelddgggghhfhggdiibeeffghffgffghgghgffghijeefedggggfgfgleeigeiighlidfcdfhhfhiiffffefffgcdeghhghhiihghdefeggeefhgggfghhhgghffhkfeghgfgjgegiggggeffgghhgffghjefgggjhfhgggkhfhghhhhfgefeggffdfjeefgghgghkfgfeggggfgeehijfihggheijkhhhlgdhiihffgkd", -"fjlfaaafegkkefghhgdikbgfegghgfgfgfkgdgffgigfggggggghhgfghiiedggdgffggfgfgkdgkfhiggkieecdffgffggfefgfefgffhefgghhgghgggeekfegefggiggggghgighgghgighgiffhgffiiggfgdgggfgfgffghhffhghhgfgghijgffhhhhggghgfgfegggeeffgggghikcfgghgfgfgegihiihgehgiifgfhkieehggeggfke", -"ghf#ccegglifegffehdldcgfggffefgfeeieffggkhefffggghihggfhhggeehgdhgghgfgfhidhhfhjjlkgdbbfffgfgghiefffhfffghehhgghegifggfjlefhhhgfffgggfgijghefghjhhhfefgggekffgggegfegfgfghffgggigklegghhkhfefgfihfgghfgeefhfghghhfggggghcfhhgggffggggighfggkjgefgfhiifgiggfiggkf", -"ccdegggfkjdghgghgeglbffgfgiggfegeikeegfhkdehfffghhhgffghggffghffggghffggihggieikkiedceggfgfghghhefghgggghgehhghfehihhgggecggfffffhhhhhhiihgggggikheeghfhegjfggfeeffggfgehheghhgfhlgchghkjgfefeikefggghegifgfhihhfgggighheghffgffggfhihgghighgefghifhgeigefhfegjd", -"dehfggfhlffhggghhelgceghghhghfgggkiffffigcfhffgiighegfhggfffghggfhggggghkefghgljgebbdgggggggghghgkliggfiggfhggffhihggffefhfffggggiggghjkkgefggiklcbgggegdiifggfegggggfgfhffgggifjlachhhlhhfffgkifhffffegdeffghggfgghhggiffhggfffghfiiihghefhgeghhgdfffgffggchleb", -"efggjiglidgghgehffldefhifggfffffikgggghhfefgffihfhgfgggfggffggggghgffgfkidghhjlggfdfggggghhggghihkifedghefggfggihgghffggheggffgghighikllhddfehjhgbfiegfihigegeeegggggfgffgfgghhegdbfggjkhgeeehjgghfgeeddgfeghhgffffhgggkfehgfefhhgfigggggfghgfhhgfegifjhhfegleac", -"gehhiehlcfggfffffkjfcgigfgghjfegjhgefggfeffgfgighheghhfgggggfgggfggggghkefhiiigdedfghgggggggfghgggdccfjeeefffghhgggffggggffhgghghgghillcbbdfghgffdgggffgfhfffefggghfgghffggihgghhhigfhkhieefffjggffhdeeggdghghhfffghgefjdehffghihgikhgghfghhgfgfgefhedikedgkdaad", -"gfiihdgjehgggfeelgeidjgfgffihdgigfeeffgggfiighhgggeghgffhggggghhggfhffjgdjkkihfcefggggghgggffghgfffehhgdfhhighggghgghgghffgigggggfghihebdeegfhjiffhgfghhfhfggegghgfegghghghgihghhgifhggfiefeegigffhfdgfffgifhghffgghfhgkcehggghgghihehhgfiggffeegehhgllfdigdbefh", -"hhihfegjdfgfffdjjdhgfedgffihfehihgffgghhfgjefhhghffhfehhhffhhfggggghggjggklijgdfffgfghgiffgfghhgfggfgieegiggfhfggfhhgfgggfghfhfgghikfdfhfffghjiefeghfghfehfgfefghgfghggggiljkghhhhhehfgkfefeffiedheeefegghhggghghgfggegkbgjggggghkhgghggghfghgfjkeklhfecdcbdgeeh", -"hjihgfhifghikdgkekfeddgighjicfiggfffhhhffjfeihhggggffhigggfggfghgggghgljlgkeddegffhghffgefggghhgghhgfheeghhgffggfgifffggffhhggggijiidfhiffgfifhdddjiggfdfhggghghhgefgghhklieefhghifghfhhfgeeefheffdgdfgggggggffghfgfgfkichhghgghjiehggfhghghhggfcelhbbecddehifgh", -"ihfhhffeghghdaljkicegfghgjigdigffffgigggigdihgghgggefhgfgefggfghggiiillcfbhbdhhefgggffgfggggghhefggfggeggigffgggfhffgffgfgkhfhhhgihggfiidehgijfcejlhhcegggfghggggggggghilfdeeihfgghgggggjgeeefghfdffdggihgfgggfhgfhfgfkfeihhgffiifgffgfhfggikghgklfbaeedefghhfhi", -"fhhihgeghgfefelieddgffggjiedfigffggjhggggdgjehiififghggfhffgggggijklkkfddchdghfeffggfghghgghhgffgggfhefggiggfgghggghgfgfgikfeghihjhhgehfdgheijcefihfecgfehhgefgggggfgghlicicekhefgighhghigddffgfeegfhhhhgggfghfffggfifkfdhggffhiffjffghjigjifhjkidgeehfhjgihgghh", -"gigghhfhhlceifkecffgfgfhjgfgiggffgjkgeehfhhgfhfddffhhghggfghgggiillhdcccbgkikideggffgffgjfgiggfggggggefghgfgghhifghhgggghhiddhggghfhddfeggfdkhdhggigceffhkhffhfggggfggjkggfegjdehhihfghigecegfiggfgghighggghggfhggghiekfdijghhhfgiifgghkkfheildfddgcehgghhhigghh", -"hhffggjdigchgifjefhhhfghhedfhfegfjlhgdgififhffffighghgggggghgghjllebcdefgllgidbfgggggfhhgfggghfgfghggfhhhghgggfhffggghghgggdfggiighjdfhgffglkddhgfiedeegihfffeggfggggigfgbegghchghhgggghedefggiefggghhfhgefffhfgfhhhhejfdihgiiehiffffehiebeihcbkfdfhfggiigggfghh", -"jhfffghdgehiijdjgfjkhfhghffhjdegeiiedcfgfgfgfeghiiiggffgfggfhhhlldadeeghjlgdcadgfghgfghhghhgffffffggfegghghhgghhgghggggggggggfghhhhfefghghihddhhgffdeeffggfffggfghfhihekgchgieeifhgghgfedeffhhgfgggihgggfgfgfgghghgigfhhchgghhglgdgjfhiidcfebbfkcchhijiiiggefhij", -"fgdegggfcjkhhfghjfkihgfhgefifdggghfcbefffghfheihgfgfgfggfhggjfildbedefgfkkcddfhffffgfgggggfffggfgghidfiiifhgfhggihgghggffhhgghhhifffefhgigfedghgfghhfeegihfggggghgfhhdekcgiegfhhghfgfeegfefigghgghgigfggggggffggggghfejjdhihfhjhcdihcedeeggfgfhkfeikkfigfggfifgi", -"dedghggcckhhgilildfgjgfhfhfhegggggeehgighgffggigghgfffgfggfhkellaedegggeidbggfgfgghggghgggggfgggggjgdhigfffgggfghhfhggffhhggkhiggefhhhgfgdhiihghfgheeefijfffghggggfiedlidjfehegkjgfffeggefhhhghfhhhgfeggfghgfghhgffhgghfdgheikfbdifdefiifgggggfhgfkigehddggghggg", -"efgigjgffihieeebfbceibefggfhegghggfgihgeghgfhhghgffgghfghgfigdldcdehfhgkiceehdfggggghghfgggffgggggidfhffggggffhhgighfgfgghghhegggghhgfikgekfhfgffhhefffihggiihggghgielkbfgehfgikddfgefhfghihgghijgffghfgghghghhgfghihfijefhikeffkfeehejffhfhhggiidghhhicehgfghgg", -"fggffkedfgjecigdjdekjckehfheefgfhgghhfgghgfgggghggfffffgfgghgflfeehggggjcdgfldeghffhhghhhhgfgfggfhgdihgggghgggghfhhffffhgighgghhghggghhhehkfgfheeifdffhkihgjhgefhefihlcdhgfjeihjcfffehhfgijgfhhhgfgggeehghghfghgfghghhggfelkdhgfgdggiikehhggfghjifiihffcfjifigge", -"hghghhdeghkdgjfejeeljhhcgfiefggfgegfghfgggggfhhhggfffhhfghhiifldbegjhfgecgfgjeejhffggghhfffhffgfgiegiggighifggggdgkegghhhihggghggfgggfgjeiffhfiefjdfhghihfgifffhgfikggcigghffhghcfeefhfgiigffhfgfgggffgggfgghhgffhhhgffhdflfhkcgefhhijgdghffghkjhhgggfddfhheiggf", -"hhihhghihhggfggchfekhfdegigdffhgefhgghfghiffgghhgfeffhfghgjiejl#dfglgdeehgffigeiggghggggfggheghgifdhhhggfgffgfhffgjdfghjhhggihfhffghgejjegefffjdeieghgghiligfgghhijjeefkffhfiggfegffgjeghggfggefgigfffgggggghggggihhghhheiicgdceeffhifffggefhkiggghhgdbhihgfjggf", -"hhgghihfeeggeffcgjehfidfkjfdeghgfghggggghifggghfeefgggfgfijgkliaeghkbegffgggjgdhggggggijgefgfgghgdgjggggghgggfgfhgkgeiiiffhhihfgfgfgeekdbgheegheefehjeffjkdffffjjjjdehihdghfieghhggfhiehhggggffhhhfgfffghhhgggfghiggghkkchjigeeghfiiefggfgfhjkfhihgggcfkeihigfge", -"ifgfgfcfefhfeefegldikhejlfdchhhghgghhfhghgghhghgfegigffhhkljljcbfhghejeefgggghehgggfggjhcfgffhifegkhfffghggfgggggkhidkigfghhhfghhfffehkcgjfefggfefgghdfghfdghhhkkigdhjgeejggfghigggfihfhifgggfhgghgggfgghhhgggghhgghhkkdclieedhiggkffgfffhhihggkgfghgejffkggfgeg", -"feeddeegfgffffefflelkceijdedjgghhfiighhhifhggffeffffgggjjklijeafiikjeeegghgfhkchggfgiggddhgfhjfdgihfffghhggfggghhhcjeghffghhggiggggfgjkdhhfeghgeefgggfhlifiggfjhgedehhdeggfgglhggfegiggfhfhfgghgggfgffffhghghhihhfhhhieckkbcefggfhkefgfighfgfhiifghgfgkfjjdfffgg", -"eefffffeeffggffihldkhcghedddfffffgjhfhfigfgggfgffhggfgijhlkeddegghlccgfhfggffhehfggghfffgfffhhcfihfgfhghfggghghgfhfkdegghghfgggfeghfgkedhhefhhfgffjlhillaehfgghfifefffdghiigiieghdfghhfeifgfgfghgfgggfggfghgghihhhhfhffjjddeefhggggeeffgegfghkhheffffhfaefcffgee", -"fggfffheghffgfghhlflechhdfedfjeffhiffffifgghfggfggghgfhiklfddefhglgafgfhggggfkhefghhgeghgfggjfeiggggigehggfgggggfhhlffhhhffgghgggghflibghedihggfegljfhhc#hihfgigfdgegegihlfghghffeffihffhfhhhffgggghgggffhgfiihhhgfehehieeeeefhfghiidfgffghhkgefegeffidejdeffgfg", -"fhhfhhhehgfgghghieejbdkhghgdlgdfgihgffghgghgfldefghhggiikidgffghgiacghghfggggjfeghkgfgggfgggidfgggfgheiiefghgfgggghkifjhgfghhgiiggfgkbchffghfgffiiebdegfdljgglfhffgegfhgijcggfggeeeghigfgfhhgfhggggifhhggffgjiihhffgffifeeeefghfhghgbghggghhhcfhfidffgbhheggfffg", -"ggfghgggfffgghghijlddejefihfkdfgghhhhhigfggehjcefgggggiljgjgeehgjebfggggfgeghhihghgdegfgffehfdihgghiffledhhhhggghfikjegeffiigjjgfgfjibghhghggfffhddjihifcllgkkdidgffgfgeleehffegefghihfgghhfgggeggghfffhggjijhgfifggfgeeffefihghggffdggfghjifhjffjefgddhegggffgg", -"ggghiffgggghgifgfjhdhggfhjghjdghghghghifgggilddfggggggllfjkeefjehcegggffgfgghiggfgfefgfgggggefhhhhhgglhbfhfgggfghgjjihdefhkhihdeeggibcjhfeggffgkefikhgffflheffdeefgfghgfkdfggffgefhgggfefhgggfffhhgggfgggijhjgghhffgeeegggfgihjgfgggfgffhigggffefifeedgeghghgghg", -"ggggfeffgghfgigghlgdikghhjfgfeggghhgghfegfglebgggffhgklkfljcehfcjcfghgggggggkkggeeggggffhhgfgihhhhhggiceifhggfghhhihhgdegijgfddhggfdckghffhghhhgckifgehhfhdbdgddfggfhiegfefheehgghhfhiffgghfggghhhffgggfgjhihfgghfgidfghgfhihggdgfigeffgkgeffehhhjidfgffhhhfgggh", -"efffffgghggffgfhjlcdlgdfhheghggghfghhfeghfjjbdffffhhillggjedgiffgcehgggggfgkkigfjegffffggfffhgghhghhgffhgggffhghjiggfegfggidefghfeeegghhffhggfeeikehfefeegggggdfgfggjffgegggffjgghgfghgeefhffgghghgfgggfhihgegfehhgidffgfgjhefffffifgjgjhfgigeihfikbfgfghgffgghh", -"fffffghggfggggilgicilffgggfkjeeggeiggfgiggiecffggghhjleehheegecddegghhhgfgkkgghdfdgfffhgefgghghhffjlehhgfgggghhhhgggeeiedigehhfgfgffghhfgggiffkjheegefgfehigiddghgghgehffhggffifehgfgifefhifggggfffghggfhigghifgkigcbeigghhfffgffghfhigffghgffgfefifcffhgfggfffe", -"fgggffgfggfgffkjghejicdhhgfgdbeffegggghgfggeeffhhghhllcgjgffeeceefgfggggehjhgeecfgfffghfegghgghghiiecgigfgghggggjiheggfgfhgggfefifeghfgghgifdlhcefffefhffjdffdfghgiggghfghhffggedgggfgefghgfghggggggffgghjkiggghkgfcfgifhifefggfhhfeeccdhghgfgggfgkgbfgggggffggg", -"fggggfhghgfhhijkffghgffhjfeeeeghedggfhfgffdeffhhhijllgdjhffgffcfefgggfgefihgfefgfgegghfgfhhghihghgghehigfhhhghhijggegffhgggggfhihcghgfgggghbkkbeefgfhhfhheeidfhiiggfhgefhhgeghhfegghfghfhhfgghhigghgfggfhkjffgghggbcgheghgefjhgfighgffhghikifeefggkgbhigggffgffg", -"gffggfgggegggghkdcghghhljcdeegigfghgghggeedfghhgiijlfeiiggihbbdfggggghffiihfeefggfghigffghhhhhhghgikhlliegihghihhfffhjhgghfggghggfigfggggjbglcdedfhhihggdehfeihigfiihfghgfgfgghiegghfhgfggggghhhfggehhgfhigfggfggfagigghggeikfhghefffhgghhkdcfhhgfkhfhffffgghfgg", -"gghggfgffgihggheffhggijkceedfhffghhghfhgffffgfgijjjhhjhggdca#eefgggfggejihgeefgggggihgffhggghhgfjkklklidbfffghghgeffjiffgghhgfhgfehffgghjecldbffgkigfgeefgffhhhggihgeffggghggfgjdggffhgfehghhhgfghefhfffghgfhghhgcckeegfggfjgekfhffeffgghhhdeihhghlhgdeffggggghg", -"fggfgfegghhgfggehgcjhkiecidegggffhgggjheeeefghijijkggefhbbcdfeeggfgggfhighfeegggffgijgehhghhhjkikjiffkdbcfghhijifdfhhffgghifggffeehgghhgfbkiafgiiheehhfggfefhifgjhghefgfgghffeejdggfgifffhghhgfghffggfffghehhghgfbhgegfhigffefecgefgfghggjgggihjifkfedfffhffgggf", -"gggggggghghhfiggkk#lkkdeifbeffgfgiihfgdddfghhhjiklkdfgihafiggegghggffhgjhfeegghefghijdehgghgjkkhgghhjgcbceghkjihddfgfgfeggheeegffghgghehfgjcghikffffhgffeeggjhgihhggegfgggggiggieeghghfgfghhgffgfffffgghgghkiigffdhfgggifdghhefggfghfgggihdfgihgefkdcdhgiieggffg", -"gghfefgfgghggjfgjhbllcbgedegggggjihffddegghghhijllfchhfgafffggghhffgiigieeggggffhhijjffgghghilkghhggecbbdhhhiihgeefggggggffeghhegghggghjfhdjiekgdfggieefffifhghijhefgfggfgfgggghifgfgighegifggggghhggggfgijkjggfcdefhfggfgkheehhgghfehhihgfghiffgjebdfgggfehffhg", -"hghefgggghgihifgkhdlebfffgefghfjjhgehihfghhhjjllldbdhfcdaffgehhhefgggghgefgghgfgfgghhdcfhhgggjfgghhheccdgghjjijfeefggffihfffhfffhhghhhjceeeldhfceffghfgfggfehihglddhfgggfgfgghggfgfgghggfghfgggfgggggffhhiljhfgdhedhgfhgihfdefghfhhfgghhfggijggjhfcegfgggfhhfggg", -"gggfghhggghifhfikcegaehfkgdhhghkgghdgffhkkhkkllgcabfggdfeffgfefhhhgfikigffgfgfggfgghfcehhgffhifgfeffcbfgggjkkkhbcdfhgghkffffgfgghfihgfeejgjhefeggffggeefgeehkhgjkbfhfhfgfffgghgghhegghgggghhhhffgffggfhhhkkihfdfcbfgfghjiddfggggghfghhiffgiihfifdeefggfggfgeghgg", -"hffgggffggggfhfijbeefkhhkgdjhhkhggebfffkgedkllcacdeijedggegghhgfffggjjehefgfgfffghgghffgghhfgghgeddbddgggjkljebcfffgggiheffggghhgfhggdjfhfhgicfhffghfeefggijiehlfehhfgggfghhhgffhiegfiggffghhggghgfggghhjkiifdgfbfhhgiiheegghffhiffihhgehihggfgceeegggfjfffghggh", -"fgghgfffghhigffkfcfjkiegggfhhhffgeddgghgcgkeba#egehlfdegeegghhhhfggfhfefefffffggghhihegihigghhihfedehgghkkljcbdffffghghghgfggfhhggjhfheegfifdbggffhhegfghhhhgfklcffffgfgfggfghfgghegfggghfhigggjjefgfghjkijiegfbdhhgijffhfgihehigghhggfghggggeeeffggggggdhhhghig", -"dggifffghhighgiidehljghhghgjifeihdfgggigglkcjiifeflfchifdghhhggfggfihfgfggfgffgfhhhhfffgfighhghggedfhhilligdddfghfgggghjkfghggfgfihihedjhggffhiffghgefgfghggggkfbggfggghghgghgggiifgeghhgekkefikgdhhghkjigfefebdhhgggfegidffefihghghgfghghgfceegffhffffhfjgggihe", -"ghhgfghhhhjkjhldeekligghhjhgcdefddfffhhfjkhghcdegilbeggcfhhgffgggfiigggfffffeggghgghfgffgffhfihggfffhikkifdeefggffiggjklhehighfgeiihdehkhghjffgfghgeghfeggghhggdgghefgggggggffggigegfgggegkhchiheeigfhiihfcekcdggggghffggehihihghgfeffhhggfdehdhfggeghhhghehggfe", -"gefffggghiihdggaeilhffiikhecdeeddfgghhhfligebdhhfihbfghffhgggggggggfefggegfffghghggffefgghifhifgfeehkkkjhdcfggfggghfklkhbehhfgfeflecdggjhfggdgffghgegfefiggghgiigfffhggfffhffgghhgehfggffkhdeihfefgfgikhecdkhafhfigfheghfgihggghgfefhgifefeeifggfgggggfghfffehgg", -"ffffghiihildcfddgllgijlggccdegefggghggghjgfdchhegfidijgfehfgfffhhffgggegfhfffhhgghgfhghfhighhgfheflllijhccegfffhehhjlidceggffhfglgcejgigeegihhffhjdefefhhfghggkigggfgfhfgghehihhghehgigffjfghjgdfgfggkjccflkdbhfhkgfffjfeigggfhgefgfhfffhfeghfffhgggfgfgfggeehgf", -"gggghghghjlbdiiehlghhfdbccfffgegghghghgihdcdgiggggjekffffhggfehheegffffgeggggghhgggghgfgjfhhfghihllkieiddfgfgghhggiliccfggffhgelhbgiifhggffgfgdfihdihfhiefhfgjjgggfffggghhgfgfffffffhhffggehhhddggfijjeddlieceggjgfigfhdggfhihhfffhggffjgfhggffgggggfgggggfggige", -"fhghhgggklkaekifjligddccceefhfehghhhihfgefghhgffghhggdfffgffefhdefffffggeggggghhgfhhhgghfgheghkiklkgfefbegefgghgekleceigggfhdekibgkhfggfedgfgedhgfdhfiheehgfjkhggggfggghgggghgfgfggfjggefgihhgehffhiheeeglgdffiihehgeeghhhfgghfeeghggfgieghggghghhgfgggfghgffiff", -"hhgggghhllhahgfflleccdddfhfgfgghfhhhhgffghghggfghihggfefghgfgfecffgghggeefghhhggefggggifhkgfiijkkijhghdcefghgggglldchhfgggifelhdfjifggfgfggfjeggffghggeeggggkihggggfgggfhhffggfggfgghfgefhgfgfehfhjhfdfflkfeegkhgffeggggggfiggffggggfgfiefggffghhggggffghifghhfh", -"ggggggghldbaghgklfcddedfggffghghhhfhggffghhjghgijiffiefhgggffeefggghgfggfihghhhgghffgiheijefghjliihgfhcbfffghkjljddhghhgfhielhdighfgihggggfgheffhfgffghghghijifghhgggggfhhghfffgfffghgfffhhhfeghhjgfegkjlgjcegkfeffgiggffghhfgfghhggffgifhhffghgggfggfghghfgfffh", -"ggggghikkdiigiilhbeefgfffggghgfihghhfgehiihigfhhhfehiegggiffefefgghhgfffhhfgghhfgffgjgdgkgefgglkdfgggcabgghgilfhdehghihfgiglhchgeiiggffghfghgefggeffigfeighhjihjifehhgfgghggfgfgfeghgfgggjifffhhggegfkihiefcfihefggghgggiihffgfikjfhgeiihhgefghhgfffghhhghfggihh", -"hghghihjjhhdelhiddeefgffgghggghkhghfffgiihikgehhgffgfegghgegfgffghgfgffghfgghhfghghjgdhkidgffilgeeghcaceghhllkaffggghhigicgidihgikifffgggfgghfffggfgfeghhfgijihfefghgffffhgghgfgggfggggfhifggfhgggfgkleigceeilfggfefhffggggfhhhkifegfeihhgfgghhhfegghhggfffgghgg", -"hhighiekkhecklefcefegfffgfhghhhhehgffhihgjhheegggfhggffggffgefefhggggffghghhhhhgghieejkkcehfglkeefie#befhfjljcchghgghgffgflehgeghggeefghggfffeffgfgffghgfghiffgifhgjgegfgifhigfhldgghfffhgghggiffgeilgdkecfffhdfefggffihgjkhhgijefehgfiifgfhggggfggfgihfhffiiggf", -"ghgfhgileeiklfbeegffheghggghihhgfhghhhiiihefhffghgggfeghggghhhfgggihggihgehhiggghhfflkgedjefilfeeedbbffggellddehhhfghhfggjgfhffhghjhedfhggfggefggffggiifiihgfhgfdhfhddffghfgfhffgafhhgfdhhhhhhjgdgflhccfddfihhgdehfeeiifhkhehiiiggfhffihggfgghhhggghghhhhegjefhg", -"fhiiihlkbiidefbefffggghgghggggggfggghkigigfgifhfhhheefhgggggjhdfgiihjggggfhghfghifglkccdigeiligeddccffhhfklhcdcghggiggefigfiggighihgedfgfgfggghgffigfiffgfgghhigfghfdegklfkgffdefdfghgffhhggihhdegkkdddidegikgfdfgfgijfhkleffhjlgfefdeggfffgfgfgfgggghggffjhgjih", -"eihihgkefhdcggcffffffghggfehihghhhhhgjhfhefkiffdhgedehkhggiiigbfhhhlhfhhggihighkfgggccghkfgllffcefeghghhiljcbeeggghhgeeliiiggghgjjhfgcehfggigfffghhfgffggigeehihihgefggigchcegfgggfhhgffhihhhhfdgllgdefgfegjkcfehghhifhkfecfghghddeffffffgegffffggggghgfhjjihhgi", -"dghgeehefegfiicefgfffhhhgghigghhhghhgigegghigfeehhfffhffggkfgechhilgbfhgfhffgfihefeffgfkhfkledeeihfghiihllcbeffghihgfelgdifhghgfjiihfadhfhhifegfhhhgffefgifdggfegjgeefghecddggfgggghgggghhggfgdgllgcdgeggehlgcgfhggfggkkdffgfefgeehhgefhgfghgghggeghigghihghgggh", -"eihfdfhgecfdjecfffghhhhgghihhihfhgjhghggghjhgfefiggfggggfghgkdejfkkbehgffggggiieghhggejjfhkhceehiggghijklebegfghhihfejlahkfhfffhgfgdaaghhihhfhgehgfgdfghhgdfjiigkhbefgkhhfgifghhggghhhggihghghilkcacgggihelkffhgfgiigfhfbfggffffeefffeghefggegighfihffgihghgiggg", -"dfedhgfeffgdkbfgfggffghgghhhhghgghiffhhhghiegfeghgffgfhfeggkebfgglecgggggfggiiefiigfdhlghikgfgeikiggjlllfbdffeghghheglcblfgfffggdedbcehhhhifhgdgiffhgghfgfhjihffieegggidgfgfffhgghfhggfhgghifgllacffgghgehlfeggggkleeggeehggfgggfggffegffhffhhhhhhigegghhhffgfgg", -"fihggefghfgifbgggggfgghghihhhhgfijgfgifgfggfffggifeffggggilkaeggkkdffgggggghifehihgfekifjhifeghjgdeillicbdghghighhgekjahkefdffeeegfghjjgijjfgcdghfgggfgghgjhhgfjidggfggfieegfgigggfgggghhihfghfbagfghhighlhcfhfglkfbfgfghffffhhighgfhfffggfgihhhghgeefhhigfghhgg", -"fffefghghhhfbdgggghghfhhhhggggffhgehgghgfghfgdfgggfgfggfflibbggikfcfgfghgfhheeijiigehlfhjhhdfhghffjjikcbdfggghgggfgijbbkifgefdfgggfhjjeddfdcddfhhfgggegfhghfgfhkegigehfggefgfghfhffhgghhjieglfefgfghffjkljddghfklccegfghgfggggghgffffegggffghhighgfdhghggfgggggf", -"geefhgghhhfcdgggffihfhggfgghhghghgfhfghgggffeehgfgifffegklabgihiiddfgghhghhfehjjhhefkgfjifdeiihkikkgjibdhfhihhgheejgdbklefddffhgfgkllgceggcehghhffffhfgfhghggfiheieeeighfgggggffgghhhhgfigeifcehgghhgillgcefhffjgbfhffhhhgghhghhggffefgggfhhhhhfifdeffgggigfgfee", -"gdhfhfhjffedgfhgghhffhhhfghihhggighhghhfegffgiigfffdfgffldbfhighfefghghgghggghighfdijeiifdfikhhiikhiiabefghhgghfehhdekkfdfefffgfillkffhfgegifehggfeffehgghhgffjgfgdgggfgfggghgggggghggghkigfeeggggefghkhbehheghgddihffiiffghhfgggfeefggggfihgghggeeghhiihgefeeff", -"feggggggdgddgghgghihhihghghghfghgghghggfdecgihffddgefhgjjbehijgffegggfggjhggghihgefkfghfdfkkighgghgjaaggghgghhgfggehkieegfffggfflliifegbeehifegegeeggghghighghhdfgfhffffggfhgfgggghfghkjfddeggghgfeggfhfdhgggidffhgeegkfehgffehhfgegffgfghhiffgefefiiiggggeffgfg", -"ffhgihgfeidffgighhhggggfgghhhghggghgfghfefgifggddghfgjhjcdhhhieegfhgffghhgghghgffdiiegfffikiffggihfd#egffggigffegfhkgfefgeefffgjlighegdaegigffgffdfgghigffhiffefffgffffghgghgghiigggfkhddegffgggfggghfhhggghgfeggfffkkgcggefgigfefhgegfgihhgfggfffhjgggigffgffff", -"igffhfefhhdgghhfgfgigffghhihfhffgfgffggdegggffedhhfghfigdgghkfdfgfhhggfhfhhhhhffeghffgffhjgffhhijhdabhffggggfffehfhgeggegeffgghjkifcdcacfhgfegfegghiijghfgihfffgfggggffhggffgfghihhiljddegggfggggfffghkgfgghffhgfeggjecegffgghgefijefgghhgffggfggiihfhggfgffffhi", -"hfehfeffghegggigfhhhffhhgghgfffhgffffgeeffffffeigefgfklhfghlkdfffggggffhfihhggfffgffggfghedffikkjecegffhhhgffffggfgfiffffehfghhfgeccebefhhegfgegiikiggfhhfhfghgfghggffghgfgihghiihkliacfggfffhhhgfhggijfggfgfhggggfffdegffghgfgjjhedggghhghgggfgghgeffdehffffghi", -"gfhhefgegkeggghfggghfghgggggfgggfggggffgfffhgghgdfhhjlgegeeiechgfgfgjjkfghhgghhfgghggggffeeefhjifccedeggggffghhhgfgggefgfhhfghgfieeffdffgffhhfghhhhefhhggdhghhfghhgffgggggghhgghijle#bgfhffghighgghfihgeggefggfefffjffhggghgegkiddeigfgghiggggggghfffehhfefhghhg", -"ggfdeggghidggghgggghgghhggfffgggghheeegfffggffgfghgilibeeehjdfhgggikgffdihhihhhffhhhhgfggfegggeeedcedhhhhffhjfffffhffeghghffggfgiggfeffggghgfgigfggfgggfffgfhgghgggfggghfggghiikkkkcdgggfeghghghggggkfgeggfheffegighdffghhgggjkgdfjigfggijfggggfgffggkigffgggggf", -"hfeeggfggheggghghggggiggfggffghggggefgfeghffgggfhhhlicgffghcdfggfhjdcfffjihhhggeehhgfgghghhhghfhhccfegfhfghigeggfhhfffgfffegggfhihgfeffggfggfggfgijdggggfghgilhffggfggfhgghghjilihicdhgfefgfgjhhhhgfifgffgffegegkhhieegggffgiiihdikigffiijegggggffigihghgfgfgggh", -"kcfffeghhjffgghghgggggghegggggffhhfffefggfggggghijhkgcgediecfhgggjfeikfjihgfihgeejihhghhjjghjhghfbdfghgegjffffgggggfefffggghgfgihffghggggfgfgfgggifdifggghhfhldcffgggfghghhijjhjdedadhffghgijihihgegggfggffhggfghghgcfhigfghgfedekjggffifedfgfggghhgiihgffhhgfjj", -"fbffffgfggfgghhhgggggghgfggggfghheffffhhgggfghhgihfkhckjehcdfhffifejlgfkghggigffjkhhhhilihhigfefdbfhhfhkkffggfghgggffffggggggfihgfgjhgfefffhffhggjgklejihgffghbcfgghgghihijjegggdecdfffffghjggghfffffgfghgggffghhffeeghgghggffffggeffdgfdegffggggihhhgffffggggjf", -"edegggfghggfghhggggggigffggfggigfegefhggghghhhghiggkhdlfcdegggejhdhkkighgihghgfhjgghghjifghhhffeffgifdkkfffgefghfggeffggfgggffhfgghgeeeegffhfghgjiihgfhfffgfjheeggggghhghjjifhedeedfggegghhgggffegfeigghhggfggfgfffefgggghffeggfhfghdcfefghhggfgikhhggffhfggklgf", -"effggfggjghghgighhghihggfgghhhgffgfffgfghghggigghhjkfegcbdfffffkcfiigichgighhffigghhfgihggiggeeeghhhfilefffgfifgggffffgggfgggggfgfgeeeffggghgfghjgfeghdggffgjeeghghgghiikkhefeeffffgfgfgggfgffffhjfhhegghkjfggfffggfgffgfgfffggghghgdfgfghhgffghiiffggfffdgjlgcg", -"eggffghgifhhggihhghhgggfgghgggfggggffgghhggfghfggggieifdceffffghdhjijhehghggffiffghggigffgffgefgfeihhljffdfhgggggfggfgffgghfhggfgffeefgggfgggfghggefkjfjeghljefhggggghhjjiddfegfgfffffgghghhhgffjjdffgghjkgeggfffhggfghgggfffghhggggeghghhiigggihhffffggfhlhfbcf", -"fgffgghhgfggggihgggfgggggffefefggggfhfghggfgggggfffgglbdefgfggjfgjjhkghgggfghigeggggigffehgggffffghfijffdghggfffhghggffgggghgfgfgffffggfffggigggghhhkgeeeljkefghfgfghhijhfcfffggggiggfgggfhhggggidcfghgfifedfefgggfihgfffgfggfgghghghigfghhhghhgfgdffgfgiihdffef", -"fgfgfggfhhggghgghgggggfggffggfggffgghggggggggggffghijeaffghfhhhejkfhjfhfhhgghhfgegghffhdfhgggfeffgggihfedhgffffggfgggfggfhghgggfgfgffgggghgghgfhhhghkgefjhcfgifhhgiiihjigefeeggfgghggggigggffghigdfhigfghffefhighhgkfdgggghhfhhgghifffggggfhhgffgfffhgfjlfeegffg", -"gggffhggkhggghgihffggfgggffgffhhfghghgggggggghggfgigjeeefggggjgfkfekhfgfggfhgffffggigjgeghgifefffefhijidfgfggfggghgghggfghhiggffggfhgghggggghifgghfjlfegjfffggfhjjighghiggdeggfgggggfghgfgghhihiefgghffggfffghefijkicdhhggihggghhhhgghggghhhfefggggfgfhlfbeegegg", -"ggggghgghefhhgghgfffffggggfgfhhffhghggfgggghhffgghiilddeggffhigjheijffhggfghgghfgfijfffgfghgfhggfffgiigdfgfggfffgffhiggggghhfgggghghefghgggggjfghhhljcdhhfdfihhhhfefhgfigdefgggggfggghifhghiiigjffhhhgfgggffiggiikiffgiihhigfihhhgigfggffhggffggffgggfihdefgigge", -"hfggggghhhfgghhhgggggghggfggghgfghghgffggghhggiggkjlebffggghigghegkhfgfggghgghigdhjhegfefghifggegffijheffhfggfghhfghfefhhhhhfgggiiggeghhgghhghffhhjifciifggjgfheggigffiiedgfggfggfhggiggghjjiffgggfghgghggfgjghijhfdefjgfgffhgffhjigfgfgggfhgggfgfgggjhffegfgfff", -"ghgffghhfighfhgggggffggffggffigghggggfghhghhghhegkgiddffhffjfgkhgjkhggfggfgfhigcckikgdfggfgkfjgfiggjhihgfgeghhhgggffffghiihgfhijifffgfgggghhghggiihhiflihiihfjfdfeggfjieffgfffgggghgkhghhjjhfgffeffghffhggfjhfgjhfgehghfffghhhhhjhgeeghhgghfffgfgfgijfefffgghgfg", -"fgfghgghgigfgiggfggfhgfghhggghfhgfggghghghgffhggilejcdgfggjgflhehiheggfghggfgfddlljldbfgfgiicddgggiihhhfefeghggfggfghghgggfegggfeeggggghhhggghhfjhgjjgljghgfggdfgghijgefgfffggghhgghkfghhgggigdfefffgfgggiegffigfffefcefhggihigghfgffhgggfgfgfgggfglkefgfggghffg", -"ghhhghggfihegihggggghfgfhgffggggfggghhgghhefgghflhdhbdgghjgfhkehhgifegggfgifffhlljjkabigijfhgfgifjgffghfegffffgfhgfgfffffiffgffeffghggghhggggijgjgjighkfeggffehhgfghedghffggggggfgghgfffgfggfdegfhgghgghhfdhhiiefgceefgjjegggffffegfegffhggfgfggffglhbegghghhfgf", -"hghhgffggkfehihgfgghgffhhhghgfgghgghhfhhgffghggglcicbggfkhgjkfiifgjhghffhkhehkklihhg#ejhjhehgffhggefjiggggfefhhhhfffeggggifegfgghfhhggggfghghjiehkjfggheeeeeeihfggfhcfhfefhgfgggfgfggfgfhfefedegfhfgggghfefgihfegfdffhghfdhhgeffefihffegifgggghhgfilebggghghffgg", -"hhhgfghgfjdfghhgfggfgghhggfggggfggghghgfggfhhggifejbeffkkgfkffjfghhghlhhkidfjjkjghfbafjihfehghgfhegggfgghfgghhhfegihfhhgggffgggggfghhhgghhhhjhhfkjefgffddcefhgfggfgieggfffggggfggghggghhgfgfefghhfggfgghefhfhgeegefghgfjffffefggfghgefhhfffgfghghkkladgfggggghgh", -"gghffggggifghiggffhhgfgghhhgggggggggggghgfghgifigkebgggidhigchggihgghhdeffhjjfjjgfb#chighijfgffhgfhgghjffefffeefhjhffkigjgfffgfghhhggfgggjiklijjkicffgfeeehhhghhggfggfeffggggffggggffggggheeeffhffhghhhgggffjghhfefgggfheefffggffhgfefheffhggggfllfebegghhgghhhg", -"gghgggghgiggihggghigffgfhggfgfhgggggghgggghfhgejhiddffgfklfdjifghfgggedfglfgehkgfbadghgiighfhfiifghggjgcefggggghghgfgjgggdhfggfgggggfghhjhilkggghedgffffjhfhiigffeehggfhggggffggfggffhghhiefffhhegfihfgghfhiiggfeeggfgggfffghggfihfffghghfgegfgklbbeffgggghghhgf", -"hggffghgghhgggffghgffffggfggghhgfgggghgghghghfhhfddeghgilhfgkhfhgghggghhhgdgcigfdacfghjigfgdgfkgefhfffccfjighghgghfgkgffeghegghgggggggiighiheffeddefggijhfhjggfeeegffffgggggfghffghgggghffdffghgggfjggghifhghhheefggghghfffhighhhffgfhggggfghfhkgbfeefghghhggggg", -"fhhgggfehhifhhgfhgfggfggggffhhgfhggghihggghfhhkhfdfggggjjfffiffhgfgghgghgfgfekggccfghijggfffghifgggfeffgiiefihjehgfhkdffghgghggghghijklehieghfeffgefjkjjfgigfjdeefgfggghgegfggffghggffggfgeffgghgegjfgiggfhhkhecfhggfghiggfggeggghgfgggfffghggjidfggfgghgihghhhg", -"fgiigfggghhghfgfhhffggffgggghihfgfgfghgggigegiifcgfgffhhiihggfhgffhggghhfefehjjdcffhgjhfffhghighghggghhggeehhijdhhgiidefhhhkgfhhgiikkigcheekhgikffghjjhheghgiecgeggffeihfggghgegfghgfghhigdfgggiffigggfdfggjjdceggggghhgffgfghgfhiffhhgfeghhghkedghgfghghhghhihf", -"egjgfgggghhgfgihggefgffhggffhigggghffghhhgfhkheedhfgfhgghggefiifgfgghhhgefghhjfceghhhheffhhgjgffggfghfgggegggiheiifgfeghfghgbeiijjfggeedhfghfjgedfggkhggffehgddhggeefjjefhgggffgffgfhghjhcfgggigfhgfgfeffiggcbeghggfggihggighgegiiefhgeefhgihkgdfhgfgggfggfhhjff", -"gghgfhghgihgggfffffggfgggggfhghgfggggiihjfjhgeegejegjgfihigdhhffhhhgihgfeffhifcdfhjgiggiggfjhghhgffffeihhhhhhgefhgghgghffghfehihhgiifeeffefgkhefhgfhjgjfhfhjdddgfgeggjedifefgfffgghghgjhddefghhfggfgggehjkgfeeffgfggghieefhfgffikgffgfeehggjhfdfefggghhhifghhiff", -"fehhfhhhhgffggggffhggfgghhjfgfhfgghiggillikeefffeidiidgighghhhghgggfggfeffhkfdfffiihhggfegjkgfgiggggfffgghfihegggfijiiigfgggiiiigikddeffehihhefggfghghhdgehgdcdiiffghheggeggggfgghghhgjedfgghggfggfhgffhiheeffhggghgggffghfgffhiggffgfegigiigfhfegghhggghfhhhhhg", -"gkkjgigghgfhhhghghgfhhfghgheggghggihkllkdcddgeffggeigfjihihihhghghhgggffhhlgcfgfhhhhgffgilieeffffggffghghgfgfeffggiiigheeghjihffghecfghfehgggffhgfgihiffefhfefgjgfgikieedfggggegghhhehfehggghhgghhfhffeghfefggggfgggggdfgheffhihgjggfffggfjkffhfeggigggiffghhgfg", -"kkjggfdghfgigfgiigeggfggghgeghhhggklkfdabefggegfiighhhhhhhhgfhhgggeghgegkkdadgefjihhffhklieegffhhfefhgffgggfgggfhggjfdedegihffdfgedeegifiiijjhggggjihhfefgffeighefhkhccfgggggffghhggfieggfhhgfgfggdgfffhhffffgggggggfffgffffhhgfhideeffghikfdgfgggggfgigehhhgfgj", -"iffdeefgfggffiigfeggfggghggghgfillljgdeeeghgfgggigfihihiijggfifhhfgggghkgbbfgdgijhghfglkieeffeghgefgghfgggfeghffiggfbegfdfgefhhiffffggghhjhggggefhkifjefffheefefegkiddfggfggggggghhfhffffgigffffggfgggghgffgfgffgghffhggfhgghhggjedgffghgjieeegkfgghihifghfgffhk", -"fegeeggfghgegkffgfgfghghgghghhkllhecccfefhgegfgfgggjhhfjhhgggggjfgfhjkkfacghfhjiigiifllgfggghgihffgfghfffgeffgeggfgeflfdfhgefhgddffggfijgheeigfffklgeieegffcghfffiicefhggffgggggghihiefgghffgfffghgghghiggeffgffhggefgfhgggghhhhhcfgfghjkkeehgjgdeghgiggigfgffhi", -"fggfehffghghlfegfeghggggfhfeflljgeeeefgghihihgfejhihfffgfggghhhhffikkjfaehghkjkhigjgflfegfefhjhgiggfihfeffegghffghgikhdhkhggiieefeggffiffhgggeeiglkfejedhgdfkgffjlcdghhfhghgggghhgigfcfhhgggfgfggghhggihffffggggggfeggghggihgffggfggffhjkddfgghfffgghigggefghiji", -"ggfffffghhejkdgfeghgggggfhgllkideddefhffghghhghgkhijgfggggfgiffeghkjhfcdkiikhijfhgfdfgdggfeffhdeigehkghfggfggffgghhiedfhegffgedfgfgggigghgegfefhgkiefifdifdhkgkkjdaeghghiijghhghgjhfeefhgffffggghggggggffghfgggfgggfggggghggehhhffggghikgdgghhffggfghffegfhhhhgh", -"ffffefghhghkhdfgghgghgfghjllgdedffeffgfhgffgghhiigggdfhgihfifegfhjiffffhkggghkeffeehkffgeedefecghfeigfgehgfgffghffghhkkffhdegeggfgggjhgggffgffgggkiffgeegcdhjeifccfhhggggiffhhgghhdefggigfhffhgggggghhgfhgffhgffghhfghgghghhgiggfggiggjheeghhffghgghjhhhhhihhhgf", -"ggffeffhgjldgefhhgghigggilidbedefhfhgghgghihhghfghhfdggfgfhggggghkiggffghghikgdfeefkfffeeggefefhfgfgeddeffegfghggiggjgebeddggghffighieefggfggghgfhhfhhfhgdehidfbceghgfhghgdghhfgheefgggffggfggghggggggfggfghhgggghgghhfggghghighgghhgikffgihefhigghkgfiggghggghf", -"hfeefghgileehdfffgggfeghikefffefhggggggggghggfhfggecghehlkgfgffghkihffgfhhhggdeefefgeffeffdeffggffggddefeggffffgghfefbcdeefghhgeghfggffggffgghfgghkfgffhcehkfdeddggggfhghgghghhleeggffggggggghhggghgfgfgfghhgggfghgghgfffggfgighhhhhjlefffgefhhgghhheggfhghgghgf", -"gffffhiglfdfefhhghghfggiigdffffgghhffhhggfhghggfghfiifgllfeiifgighgeeggghggedehhhdghhgghffhhhgfeefggeghhgggeffefggefgdfggffghgfeggfhgfffgfhgggghgikefefcaegfcfeffgfghhhhgfiggggeceffgghfffggghfggghfggghfggfggggggghhggggghiihfhggiijhcffhggiigghihfdhgfhfgghhff", -"ffgfghgkhegfghfggggffgghgfgihgggfgfggigffghggghghggifgkiedfheehgfgedfghhggdbgjikfdkhefigfijfffdffhfghkggffggfffffgfggffffeghhgffhgfhffggfggfggggfhkgefdaegifiiggfgghghhgggggghfedegggfgfgghhghfhggjfgefffgfffghgffggffgggghhhgiigiijfddghjeghgfgghffgheggghhgfee", -"hfhhikjldgeffhehgggghhfghhghfgghgffgghggggggfgegifgfgjhfghhffhhefhghgfeddddejhhcbdjddjiegigffefggggikhfhgggffgfghggiggffgfiihgfgggfhfgggggffhghghhkfefceggllkggfghiiihgffgggffeeffgfggggffhggfehhihehggggfggghgggghhfggggghgihjigfeecffghhfgfggghhfgigfffghhhffg", -"hfhghlgfcefeejehgfhgfhgihgigfghgggghhhghiighhhgkhffikhhhggggghffgfgfeeecdegiihcaehfejlhggigefhihjjhhigghgifgggiigghigghggfhhhffggfgggfgggggfggghghhddgeeejlefhiikljfgefffggkifffegggggfhggghfgfijifgggggfgggfhhffgighigfgiiiigkiefggffgjihefhigggfhggfffggihffff", -"hgffkgadfegfhjfgfghggggfgjgghhggfhghgfghghhijihkhehkgfgggghgffeffghggfgeggjiecceihekkihghigeggghggfghggfghdgghhffgjiehhffgihgegggfgggghgffgghgghfggfkhecfkhegfghjicehffffhgleegefgghgfggghggghglhggfhhghfggggggfgghhhgfffhhighiedgfeffjjffejifeggiifggfffhgefggg", -"hghlfaghgggghjiheghgggfgijghggggggeffggghhgkkgjjechifhggfggffffgghggfffgjiiecdgfgggjhghfihgegghggigeggfgigehhhefggigfigffhhgfghghfghhggfeggffefhggehlfdekhffgggeeccefefgggikdggfghgffgggghhghhhkeigfgggfefggfggghhhffhgggiihgifeeeffghjggfhhefggghfeggfehggggggg", -"hllf.dlegfgghhgedggggghhijhfgfghhgffgggihghhefjgdfkgggfghhgfhghgggfffhiihhdcegffggjiigghkfffgghfggeeggfhhggigeehgghfghfegggghkfgfegffffghggghggigfiligcejdgeffefbdgfghgfggjkcffffhghhhghhhgfihhhfeghggfgggggghigggffghghgijfhkgfdfgghhighehgfgghhifeghffgggffhhf", -"kle.cledffgfiedhefgggiggggfggghfffghfhggghgeggfedghgggfggghhggffgefghghggedggfggikjgfggghdgikhgggffghgggifeeceggfhggffegggghhjdggfhffghgggggffgiijljdedhgdfgjgedcgggggggghifbefgfgfgggghgghhkfhihgggegffgeghhghfgfghihgiklhelfcdfggghghfffgffffghgefhgehfgffghge", -"lhabliceggghiffidfihgighhgfgfhfffgghgggghgehhdedegigfffgfghgggfffefgggieddhheffhkjfffgfhfdiiiehgegihhffeheeedfgfhiggegghhgfgggdhgfgfggghggfghhgkjkkiedegfgghhfdehhfggggghgleefffggfhggghhhghieihgghidgfffffhgggfffhhggkllddllbdfghggighfgggggfgiggefggffggggjhfi", -"habkhccfhgfigffhghighhgggggfghefghghighhgfhjcdffgegeghggfhhffgfgfghgfgeefhhffghkiiggffggeggfccigfjhfgggffddefghhhheffhghffgffjegfeggggghggghggjkhgigdghefghggddgggghgfhggkkaegffgfghghhihighklheggjibfeggffgfgffghhhikkfeelhbbdfggfijffhhffggfghfffghhffhgfghhkl", -"edkiefgghggigieikhffgffghgfghffgghhigeigdhkgejhiiehihgfghgfehfffgffgfefhhhjfefigghffegghfhgefhheegeghggffeehggihgfeghggfffhgikdgehhfffggffghgjjjfggdcccdggggfeggghgggghfhjddhhgfhfhggghihhfhlhbfgghfcffggggfghghhhhkihekljeadffegfiigffhffggehlhffffgfffgggggiih", -"feheehfffgijggfjheegggghgfffgfgggjigfgifglheffehdgkggfhigefggegggefedegggfgcfhigkkhefgggggfeghgfgfgigfggddghehhhiffhffffhghhhgchdhhgghifgfhikljhfghgeefffhfggghghgghhhgkkkffghhghfhghihgghhiicchghgedeffgggfhhhgikjhhhgjdaadfegegggggggfggfhlkhcefghgfghggfghgfg", -"efgeggfggkhfeefggfggggghffgggjleghhegfgfffcffilgeihghgjgfghgfghfefeghhgfgggggggikkgeghgfeefgikgfhgggdgfddfhggjfhgeigegfhkfhhghfhehgfgigfhhjkllgikijedgggfgfgggghhghhgjlkgiegghgfgghhihghiihgffhjheeefefhgggghggillgghegggeehfgffffgiggefgfjljecfghhgfgghffgikgig", -"efdfggghhhgigegiggggggggggggfhfchigeghkfeffillkceihggggffggffheddeehggffggffgihjifddfgfegijjifeghggffgdfffgggghgfhldfggigeghihgfehgghiehgikkjifhheffdffhfgggfgghggffllhddfeffhggghhhighhjghhgihhfdeefffhggghkkkkkgdfedhehhfffgghgghhffhfhlkhfijkjjggggggggiigege", -"feefffggggkgdfhgghgfhffgggghgeffjigigkkcgllljefdjifgggeggggfhgefffgifgffgfffiififfedgiffjhfffgihgggfgffggggifggegkfdfffffggigegeehfghffhgijikihhedegdefhfhgffgghhgjlleffffdffggfhhhghgfhhfhfhffihdeffggghgikkjggedeeeggeifdefgggghihgggfllfhjhecffhghfgiiihhhiee", -"geffgggghkjdeggfhfgfgfhgfgihhgijhghghkielkgfedefihfhffehgffggefgghhgfgfggfhgihgiffegihehgeegiihfeheeigfggfhgffeeghfehggghhfgefgejigggggghhkkjijicbehfefgfgggghfhgllhdedcfedffggghgghggghegfdfdhgdbeghhhhgikigfddghffggfjjefffghhgikdffdllgeggdggkeedgjkkhjhhjfdi", -"deghghfhhjfeggghgefghfgghiggihijhghfhiffigedccdefhfgggfgfghdegfgggfffffgfggijighgfggjfgfeffjigefhgehgceffgifhefgghffiffihhgggighlffghhhghikkkkjeadfhgeegghggggfhllccflhgfefffhhgghikhhhihhghefigedffhihhijjedfhhgefhghglffgefghihiecfeilhcbcddfdfdeegffedgefedgh", -"dghgghhhhhfghgggffghhfgghhghghhhfggffefgeedcdefgggdgfgffiifgighgffffghgggghheefedegffggdfgijjggiheefefgeghfghehgfjgggfgkggefghghhceghggfikjjlhc#bffggggegggggfjljcfljkhddfhfgihhjkhifghgfkgeegggeeghhfhhjieeijfffghhghejefeegfghhhdeeiljcccfggccffeggegefhfggihf", -"efigghhhgfggggfghgghhghfhffhihggggeefhjheddfgfhgifdgghefgfgiffhffefgggghgfhhghfdfhhggidfiiiiifhhedeffgfhggflkegfgjfeffjhfffgghfhgfghfgghhhgkibacgefgihidgggggjlgdildcefbehhfhjkhgfghfhefhfdfegghcfghghjihffigdeffgfgggfjfdeghfgigeejlljcffegfcdffedfffgfgggffhee", -"fghghghgfghgfffigfggfggfggilihhhgeefjjheddefeehgfdggegeghhjhggfdefghfhjgghigfgfghjififegiihiffiedffgfhfhghhifeeghhdfghhgggfhhgffgggfffgifhkldacfgefghffdghgfjljfkkfbfgjddghhikhffegfghdjfdedfhhggihhhiihffigeggggggggffifeehggggfhlhjfbgebegddfffgfffffefgheeedf", -"ghhhhgiggihgghhgghgghhgfgkjheegfffgjjghddfegefieeegfegfhjigfegfefggghihfhgfefgggiifgkdfjkhhffgfceggghhhhhgfgefefgfefgggggfffgfhggffffhgffiiebdfegfgggfgifhgjlhdfeecdhghdegighfggggghgdffcffggehhieghigifeigfgffghghgfffifeghggikklhbddjhbfhedggfghgghhgfhggefghh", -"fhhhhhghhhgghhhfgggghhghlifefggffgikgggeeedfefgefeggfihfhffgfffffggjhfgggeffhghgihghhfgffeeehhdefhghhgffhgfgggffffhhggfgfgggifgfgggfggggggfefgfeheghgghidejljdeeefeihhheghihhhhggfgfcggdfhgfffgjgegggfhekeegfggfhgfefggifghffklkikdehlkbceddefegggfgghhghffffggf", -"ghhhhighgfhghhgfhhhffhijjeeehgfegijifgdedffhfhgfegggglkfgefefgffggihfgffeegghghgkfggfefefdfikgegggghggfghfeghggdfgihfgigffegffighgfggfggghhggffehghgiihhdhlkceehgggifiheffgggggffgfdgideggffggikheffghfgicgggggfgggihgghfgefllfdegeggfebefgffgffgfffghhffefggggg", -"ghhhhfhgggggghffgghfikkfdefijegilkjhfdbeeefgggefgigillffhhhfhhfihghfegefefgghhhgidfeeefgfhlkifiiggggeghgffgghfffghiifghffeegfhhfigfggghghggfffgfiffijhhfdkleeehgffhigigegfghigfffedghddeggghggkkdcggikgjffgfhggfgigfefjgeegllcdgfgfecegefggffhffffgfgggfggfggghg", -"ihhgghifhgfghgfggghgjhfdfgiighliiggfgbdgeeghhffhghfilhfhggffhgegdeffhhegfgggghhhfdfgfffgilkffhihggfhfggfgfghgfgfiihhfhghfggfgggfgfgggggggggffggfhfjjhfefklhdfggffhghiihegfgihgggfehieeggggghfikecfhgkhfeehhggffghgfffhjehllieffeefeeekfeghfgggfgghhggigfhggggggg", -"hhihhkghhffggffgijiigefghhhkgfdbcdffebifffhhgfeiklgllefggggggfggeggfgfghfggghgiedffgehghlleggjifghgifhgfhfgfgfgfieghfgegfhhgfghhhhgghggffggggfgghfkgddgklgefgggghghgfgfdefihggfgdghedggffghggjhghhhilgfeghiffgghfgggfgjhllhbffeffffgigdfgfggghgfhggghhfgghgghggh", -"hikgghfgfghfeffghgefdfhgghkkdddgfffhddeeghgghgillhkkggfgffgggfgggffggfggfgfggffeegghfhhllffhggeeffegfhhffefhifggfegggffifffggggghgfffefggghfghggiijdegllidefggfgffgggheefigfffgefifefgfhghhgiigfggdhldffgggeeggffhggfkljjfdcgghhegfgeefggeggggfghggghffhggfhhghg", -"hhhfjigffgiefffffeefgghhhhhddfhgfiifbdefihhllkljhfhfgfeggggggghfgfgggfgggfgghgefghiggijlffhhhhgeddddejgffgghgeggghggfgigeggihgghhfehhggighffhffjjhcchhlfddgfghfggfhhgggfihfgfffdfedfffghfhggjiffigglgcefgffeegggggfhllgeffdchedeeedfefffgfggghfghggggfggggghhhig", -"hgikigfehhhfgfggfggiighghgddefedejgeeefiigikhegehfgffggggfggfggffhggggghfgggfeehhggggijkehgihfdcdgeejiefgfgggfgggffhghjfeghkgggggfghgghhfhffhgikfdcjhildegffghggfghfffhfgghgffdegeghgghhfhhhhgfhgillgfehhihffhhgfijllefjfeehgehigfeefffggfghhgghgggghgghghhhghgg", -"gjklhfefighhgghfhhiihhhhjddggfdgjjffgffhffhifffeheggfggggfgfgffggigffffgfhggeeggghhghkhkgghgebcchgfgiefhhggggfhgfgeifhgdeghkefgggfggghghigegiilgeejiklkbfgeheghgfffgfeffjihefeeiggggfghhggfgggghllibddhkjkgfghghklfghgifdfffdegffefggfgfggggggggggggifggghgighgh", -"glhhedffhhgggggghhghhghgieghgeflhgehgggggikhgfgekefhghgfggggggghggffgffgghgffhggghgfjkhjhhgfcbfgkijghefggggggghgfgfhgfgefggfdggghfgggffgheffijjceghklibchghgeigfgghgggfggdeffdgffggffhgggfghgfgllgcddhihfecdfhhklgcfkfdcfdddefffgfggggggghhhgggfgghfhfhhhhhhghhg", -"kjdgffgghhggfefghgfhgghgidfefhkkbfgifffgjjhggghfjdfhgghfhgfgeffgfffhgffhggfffgggghgglggigfecbfggigffedffggfffgiheffgfghdgghghggggghgfgggigfikkgdfkllfddgefgffhffffffgggggffecdhefghgggfhgfgfegklgdecdgfgfkffillliffihbcffffghffgfghfhggfggggggfggggggfhhhhhghifg", -"jdfgfggfgffegeghigihhfiggeggilfdekkhfegihggfgfgfhegghhgfhffgfhggffegfffhdefhghhgffghhefgfeccegghjgefceggggggjiigdfggjkfefgihgggghhfffgghhfgjghddgkgdefdffggffggfggfgggffghdceghgghigggfgffgghkljdebceegffkbiljgfeeffeeffefgfgfgggggghfgggggfgggghhghgghhgghhjhdk", -"ffhffffggggffeghhghhighhggffkiciigfdgfiihgfhgfgfidgggfgfgeegfggffffggehgegghhgffggikjifiiecghfghgegfceggfghgjfgedfhhhebffgiffggghfefgffggghiefelkggfedeffgfegggfefgghggfgecfgghgfghfgffffhhhilkcdcceikjgccdlkgefeeccfffefggggggfghhggghhgggfggfghhfhggghhjiigdgl", -"eeefhgfhggfefgghgffhhhhiifeghcfgeffihehghhghggfhjcgffghffefggfhfhfffffjefgghgggghgjihghkhedhgfiifhjeehggfghgjghbdgggfeggehggggghgfgghfggihhifklhdeedeggggffffgedfhhhgfffefghfggghifefhgghihgjhcdcdfiieddfjjgefdecccjkfggghggggfggggfgghhgfhfgghhghkkfghhhihigglg", -"feghgfghggfffgfhgfghhhhgddfgfghfeghjefhhghffgffjgdhfgggfeffghghggffgfhjdgggghhfggfihefkjecejihihhkkfehghgggggedbghggfhiffhhggghggfggghghhghkjkgceeefghhgggfgjffggghggfgffhffeghggfefgggiihfghfefegidcdjllhfffgdecegkeeeeghgfgggifgffhghghehghgggghhddhijkkhjfhfd", -"gfhhhhggfgfgffhghgghihgcekfefhfddehhegghhgeeffgkedggfffggggghghhfefffkhdgfffgffghihggjjeccghghffhhecdgfjfgfjgdeffghgfhhggihfgfhggfgggggkhhkldedeeefgfhgffghgfdhhgggggfgffgfggjhfghffgihhhhfffffhkfcekllfdceffhdgjkigdefghggggfhhfgfigghgfejhgfjigfhffhihjhfikheg", -"ffhhgfggffgfggghgghgggcchhdggedegekifhgffffffffhdhhgeffgfffghghfffgfhjedggfffggihhghikidceghkhffhgeefglkdhihcdgffghgghiffigggggffgfghhkjelicbcefffggggfggghffghighhfffgggggfghgffffihhgfhfdfggghddklkhheeddfgfflkfdeggghhggfgfghfgghfggefggffghefgjfgihihgglibeg", -"eghhghhfffgfhgghhghgfecdgcdeeegggglgehgihgfffghgdhheefhhfgfhgghffeedjidchgffggiifggjiidcdgghheggkjffgiicdhgdegghgghggghfhighhfgfggikilffjgbdffgffggffhhffhgffhhgfggfhfggiffghhggggghffffgfghfhhfjlliehdcdeegehkgabcghgghgggggggggggggffgghhggghfhjigiljigefkccef", -"fghhggfgfffgighggfgeeffffhigeggffhkfffiieffgegkhfheeefgffgfgffhgdeehlfcegffghggghggijgdeeghhhfhghgfffhfdgeefgefggggfhhifggghhegfhijhhjdidcefggggggggggggjhefhhhfgfhhgggehdfhifefggggefeggfhggiejlkgdcebcdfggfgdbcfhggghhgfggggggghgggggggghhghihkjfhlkfffhiibfgf", -"fhhghhfhgffhgfghggfffffffhhgehghgikcfggedhggdikdfedffgfhggggggdcdffhecdggghhhggggffkkfegfghghehffifgfgffgfgfffggfghghigdghgggfffhgikgdeddhgfhhfgggggggghhdehghhgfgigegffidggggeghfggfffggfgggfjlhdebccdgghfeggfgghhghhhgggggggffggggggfgggihhfgijghlkfeeghhhefff", -"fjhggfhhffgfffhgffgffghgggihfjhhjkhdgfgggeffijeefdfgfffgfgghggefhgggefhggfigfggghegkfcegfghgfgiffieefhhgggfffgggghhfgheeigghggggigjcbggehgfgggghgggighghdfjhghffeggefffgjeghhgfgggfgfhhgggfleklkfjdbffgghgeggfggfgghjegggfgfggfggggghgghihiggikihfhhfggegfgeefgf", -"gihhgggeehgfgfhggfefhgggggkhhgfihgedhgghfdggkfdhgffgggffhgiigfeghghhfghgfgiggggggfgigfihgfgfhhhfffehfiffggefgghghhgegidghgggggiigjidlhdfgffggfghfhgheggfehffgggffgggffegiehghgggggghfhfghhglflfedaadgghhgfggggghggfgidhggfgggghhfghghhggijhhkkgghhighiddkfeeffef", -"hhggfgfghgfffghgfgghggfggijfgfghggehhhggfeffidegefgggffhghhfffgggfhfegghhihggghggfhhifffefgghgieggkfeiegeeehgghghgfhgfehhfggggjghkdijbeggffgggghhgfhfeffhgfghfgffghgggfiffhhgfgggghighgifekigeadacfgfghgggghggghffghhdggfggffgggggghhihgiihkiggiiighhfchjbdeffgg", -"jgggggfgfffffggggfhhfgfhijgfggjhjfchgggfeegkgcfhfgfgggkkjigffggfffhffghghghggghggggghegfegggghhfggleikfeeefggghhhffghfghgghhhijgiehgcdhgfgffhghggfgiffgggffggffefggggggidfihfggghghgghggdhldeeghhffghgghgghggghhgggghghggggefgghhghihhfgigigfgigkhfhgecifdgfghhh", -"gfhghhffeffffghgfghgfhjlghhggjjghdfihgfefegieeiifgghgjlkkfdfgfggggfeghjfggjfgggfffggigffehfgfhhfeijehfcdfdggfgihffhhheghghhhikkgcefbefghggeghghggfhgdehighfgggfghgggggfheihfghghgghhggggllechhfgefggggggghggfgiggigihhgffhgfggfhghihhffijljffgijidfgedgkdfffhhgh", -"ggghigfgfefggfgggiggikkgeihefifdeghgfgfeggjhdfkkegighkiefbdggffghgfghifdiihfgffffgggigfffhffghhffifigdffffiffgifffggeehghghijliidhdeffgggghhghgfgggffggfghefggfgfggghfgifigfhhghgihffhkjldaejhffgggggfgggggghgggggfhhgfghhghfgijiikjgfjijgeffgjhfdgddfifcffghhgf", -"hgggggggeeghggggjhffjhfefggdggefgheeffffggjehjkhdigfgjicccggggfggffghgghhgghfgghhhgggfhhfhfghfhfeggiddgeghgffggghgigfhiggfgikgegafgggggggghffgffgggggffhheeggggghgffgfjidggfhfghhfdgllidi#biiefghfgfffhghhgghghfggghigdfffggghhijjiihlkhfeeeeikgfegfdigefghhgggg", -"hggggfeeefgggggghggglhegjgifefhhfgefffeffiiejegdghfghkcbefhhggfggghghggggiggfjhgfhggfhhiggffffggekkeefffigefghggggiefihfhhilfcgbbffgfgggghhgggffffgggfghfgggfgghhffgfekeeigfghhffhlljb#cebfkggjgfgggfghghffhgggghhilledggfhffhghiiggkjdcdfffhihfeefcekdfgghggghi", -"eghfgeeefgfgggghghiijcdhgefdffgfffeffgfggleegehfggdfgiddghhgfghghhggheggihefghddfhghhhhjdffffiiffhfdeefggdeghhfgfgheiiggijljcjecggggfghgghfggggfghhgffhgfigggghhhgggehkdfhffhhjlllka#bfigggighiefhfggghggfhhfhghfiklbafhfgkffiikjgfjibbdggghhggffgdahgfgfggfhjii", -"eifffeffhhhgihhghilhgfgggfegggfffeefhghhijcfgghegfehhgdgghhgggggggffgghhgfgihgegghhiffggdgfggjggkfgefgfgfegghgghghgehhjjjkifglbehghggihgghfgggggghghgghggiefgghhghggfjfdiggggkllebbbhjjfffghhggffgghhhhhhggfggffhigdbgifgghegkjkgghhcaegffhjhfhggfbclfffggggihig", -"ffeefegghghgigfjkljegfhgkffgeffhhegghfghjfdijghfgefgggfhhhhgfgfghgfgghhgghhgffffghhhefggihfghieikdggfgggefhhhgghfhfgikihjgehfiadhggfhhffgffgfgjhghghffgfggdghghhgfgfhieghhgfhlkfacffeigefgijhhgffgghghhgfghggghgihgdfhggggghhkihghggeeggghikgfihffbiidefgghiigge", -"effhfghggijihhilkicdfdghkdeffgghffggfgihhegjiegfgfghiffggggfghfigfgggggggghgfhgghhgfffghiegehgeigeehfffggghgghfghhfhhihihgldelbeffggggffgfggggieghggfghggghggggggghhlefhggghklfcdheehkeeghhfehffghgggfihgihjfhhijigefgggggghiihjhhggcegfgjjighhiffehfghhhghggghg", -"fihigggfhjihikllhfeifggifbfggggffggggkgegghifdhfffgjffihhggggfegffghghfgihhgigfgffgfhgghhdeehefgeefhffghghggihfgiggijhfhhfebgiaehggghgffgghihfggigggfgghfghghgfgghgkgciggghjkkcdidfglgceigiggfefhjghggkihjikfjllhgeefhgfghhhhiihggfccfggikhffgiifheeghghgggghgff", -"ghhhfggghiikjkkiffdddfjigdfgggfffgghkhfhkhfiffhfghhgehihffffgdfhgfgghghhghkghefhgggfggghhffghfhffeffggghfgfggfgggfiklhkgdcdeiicfgghggfgggggghfihggggffhfghghifghhihkciigghikkgdffefkicdhhfhgggegikghghhdegjihkkhdeeefgffhhhihhgijgddgggfjjefhgihjddefggghgfffffg", -"hggffghhijjiiihgddeggkjgibggffggfggihchigfgjdfjhhhfegggffhgfeehggfgiikifgkgceffgghhfgghiheegggfefghhghhffgfffegfghgjiedaceghhfdghggfgggghhghhgggffhfffhgfhhjhhhhhggidlefgklkgedfefflddehgghhghghjgdfghhgfkifgefhbdffhhfhigihhigiidcfigfikhgfeilffbefggffgfeffgjh", -"hgihegggjiifghihegjkjlgdccihggffggghfhkfffghchhhifdfhhigfgfefghghgghgfddjicfggeeggfdgghgeeggggefgiifgggfghfggghghgfhdcbdfghhkefjfggggggggfhjfghghhgfffggfggighhhihjieldgkliedeedfehldeggfglggiijkeegfeifjkehjhkdbgfghghhgfhgiifhcceiffejiggfglgbcdgghffgffgihjhh", -"gghhdighkhhfghjhefedhgddfggfffghgggfgkhgffggdghhfdghhghfefffghhgggggfghjjeehfgfghgghgegefggggfgjgiffghggghfggggefegeeffgffghkeiedffghhgghgjfehgggfffgfhgghhjghhhhgigfjdklhceiedeggjkdfigfigdikiggdfggihfkghigfgbdffhhggggghgjifedffeehhihgghlladefgggfgffiiihggg", -"gggedihkigggggjgeeehgeeeeggffffgggfhlkifffigegifeffggghffgfffgfihffgfiifeefhfghggfifffgggeghffhgehggggfghfffghgfhfhghgfgfghjkffdefghggfhgggdghggfefghghhhihieggggeifghjlgeegdcfggfkgcgiffhfijgefedfhghefhhhgfffdhekkgfhgfghgiheffggfikhhhfilkdceefdffffgihhhgfgg", -"ghghgfjkghfffhgddghhghgcehffggfggggjlfhgffhefhfegggffgfeggggfghgffhhgggfgghfegighifdgfggfghgefgfggggfggihfffgfffgggfggfghhgfjhbeefhgggggggghgfffgghghfggiijjehihghhejlkebeefdeggffkgdihffghihggjgeehifgjgegeeefdeelddggggigfiidhhgfgighiffifcbedgffihgfihhhghhgh", -"ghffgllighgggfefgijhkkfdgigffffhghgjicgfffgefhfffghgfgfgggfffhgefhhghghggfhgghhgffeggeggggfggggggggghhggffefgggfghggfghgggigkechggfgggffghggffgfhfgifehhjjhfehjfhkcgliabffedfgghfgkedhhffiigfikigdiljdhigficeefffggdgffhggfgihdgfegjhghgghjcddeggfggfgggffghhfgg", -"gffglkggfggifefgedcbcbabdfeffgghghhkgfgfeeghfggefggffgggggfgfgggghghhgffggfffggfffffeghfggfggfgghffgigeffgefgggghggfgggfhjhglfgeggfffggghhffffffgfigeghiihgfhhifjjhlebdlheffhfhhggleeihggigfhijfeelkcdigggfeghfeffhghfhggfghkgehhehhfhgehigcffgffgggggggfggggggg", -"hhfileeefgffdefecedcbcdffffeghggggkiefhfffigefgfggggfgffhgeggghhhgggghggggggfgggffgfghffggggggghgfiiheegffffghffhhhggihgigglleddgffghgfghggfffggfigeggijihgfieggklfeahlgccfggggfegjceihgggfgghgeegjebffefffgggggfgggghhghhfhiggikighggdfhfheefgfgggggeghggghifgg", -"ggekiceeeededfffgedeeghgggffhhgghklfffgegeieeggeghgghhgghiiihghgghgfgggfghgffgfegggfhiffggffhhffghigdfggffffghfghggfghghhkllebdfffgggggfggggfggghjeggikjggfggeihkiceejceddggfgfffgfcgiihhggggigefffddgfhggggghhgggfgggghgffjhffijefhgfejfddbekkgggfggfiihgggfghj", -"fffkgeeeeeeffgfgffffgggffggfhhghkjfdgfffffiefgfehhhhhhghkkhffghgfhffggffgfffggfggggghgegigjihgfgkhgfhhfefggggiggggffghgikliebcfffgffgggfhgggfgggifeghikjdffgfgiilecfgefebfggfgfgfjfdhihhiggfihefgggggffggfghhgffffhghgghfgijghiigeggeehjefiggkgdefffgfjiffffghgg", -"gefkeeefefeegfggefgifgggfggghhhiiggfhffeegheffghggghjjfhiggefhghfgfghgggggggggggggfghefhgikgdfhhjeffgddfgffghhgffggghghilkgcdegffghhggghggggfhhhgfgfhjlfdggfffkljdbiefiafgggggiifkgfihhffeehiefhhhegfefggfhggggggfgfhhggggiggihgffjeegidchiefifeegfhihlfeghhgigh", -"fejjefgedgffgghfefieehggggfgghikigfghfffghgfighgeghgiedggfedeggffgghgghgfhiiegfggggggfhhgheddghgddgffffgggggghhhgfgghgillgfchegggghhghfffghhggggffhhjkgdeghgfjlgfedicjccfggggfhdekeehhhgggfhfhifgeegefgggghggggfgghfhffgfhghiiggghgegghdfjeekhfeeeehghjcehghghfh", -"eglgfgffghgggggggfgdhgggggggghkjfefgeegfggegghhfghhgedefgeeefggfghhgfhggiiieegfggfgfgghgfeegffggeggggffgggghhhgfffhhjjgkihdbeeeghgghgggfgggggghffgggkidegghfglidddfefgdhfgfggfgfhjdfhhhhghgfhkffeeggfhffhghfffefgfhggfhhgigiihgfffeggffcfifegdgfeeghhgedggghhggg", -"fikeegfgggggghigfffggggfggghhhieeefffghfghghfigfggfffggfffhhghgghhhgfgfjigeefgfggggggffeefghfeffggfgggfghghggeggghghlgfljfbcffefihfggfhgggfhghgfggghkedghggfkldeeigegfifgfgggggfiicehjjhfhhhkedggggfhffiiggfffhhgfhghhgfghhihhgghffkgfedhhfgffhfefhhiffgfghhgggf", -"fiicfgffghghgfieggeghggggggihigfggffggfgghfgehgfggfgghfghghhhgfhhgghfghifffffffgggggfeegghhfefggifggffgghhhgfghjffgjkehljdadggggfghgggghgffhhhfggfgijeehggiglkbcfhgfgegehggfghggifdgjkhfgijjgeggfgggffghggggghgffghgghfghikhggffeehgefffihfgfigffhggffghgiigghif", -"fjefgfgfijghfeiefgdggffgghhihhggghfghefgggfgggfggfggggehghgfggghggjgehjgfeffggggggfedfggggfffghhgfggghhfgghggfgifghiffkleabegfgfghegijihgggggfffghjhifghgifilabgfihdedgegghgggfgkfffkjgghihedgfffhgffghigfhgfghghgggfgggijigghgfceifekgfhgggggfffghgfhhhhggfggfe", -"gifgfeffjgefejkfggdgggfgggghhhifeffggegfggfggggffhhfgffhfhffgghhghheeihfeeffgggghgefffggggggfhhhghfggggghgfggfgigfhgikfg#bfggggfggfeeffgiigggfgiihjigffhfhelf#gffiddeegegghfgggijfffkihfgggfdfgkiggfghgffggfgghghffffjiiijgghgheelgefgadffefggffhhhighgghghghffe", -"jhigefgfhfffekfdfhegghghhfhjghgffggfffgghgfgggffgfgggehighgggghiggfefigfffffhgghgfegfghggfggghghgggiifgfgggghfgjffhikikeaeggghhhfgghggfffeefggggefgedghjgfgladhegfeeegghggggfgfhhfdgkhfeggghdjllfegfggfggggggfggffggjkihihfggggdhiecedejfgghgffhhgghghhghgfggfge", -"jigdeggghfgfhjdeehegghggghjhhffggggfgggfgefggfghgfhgfghgggggffihffffhheefgggggghfffgfggfggghhhiggiiigfgffhhgfghhffgkkgcadffhhggghgghggggfgggggghhhhgkjhgeflhbgfgffeefhggfhgggfgjfddjkgdehhhgdkkfacgggfgfgggfggjffggkkkjfggggggdejggefehfeggffgghgfgghhghkggghggg", -"jieffgghgfgggiffegeghgfgghihgdefgfghggggfghgffgfhhgfghhggfggfiihfeehieffffgfghfhhfhihggfgggiggfehjgfgggfhggghhhhfglldccehfgghghhhghhgggghhgggghhghijifggdkkefdggfhgfghgggffgffihedgjidfjgggggfddcehfggfgfggghhgefgkkkhgfhfhhfedggeddfhigghfeghgfggffgfgjjhighhfi", -"egegeggghghfigefegghhhgggggfefggfhggfgffghggggfhihhgghgggggggjfgfggjgfgffgghggfigfhgfgggghghhffhjiffggfgggffghhhhgkicdfggfgghhiggghgfggggggghgghhhiihfffjlcdefjfifeffhfgffggfhjgfehjghkieghhgffefghffgggggfhiegggjkihefgfgheeefhfegeggfggghgfgggfggghihigffehgjl", -"dgeefghhjhheheffgigghghgghgifffffgfggggggghgffggjkheggffffggjifffggifffgggghggggfgfegggghhhigeggfffeggggfgghgggfgelebegfffhihhhggfgegggffghfgghhhhhhfhffldbdfigeffgghhghggffgkhfefkiejieeigfeddfgffffgfgghgheehggikffefgghfgihhfehgghgggggheghgghgghiiggghffghie", -"igeegghgjifffgggggffgfgghgghgegfggggfggffhffggggiicdifggfgiijgeegfhhiihgggfhghifhgeefggfghhigghffhigggfgggghgfgfffgbcghgffhgghggggggggggghgghgghiihjhibjhaefjfdffghfggggghhggjgedhihikeejkgeecfhgefffhghhgghfhiihigeggiffgijgegghffgfgggfgghhhghghiiihffhiihhgee", -"hfceghghjeegfhghfhfgghhgggfigehfghggggggigeghhghhfcgffggggihifffhgjjhffegggggifegffghggggggifhifgjhfggggfghigggfghgfghggfhhhghhihggiggffghhgfhihigghgdfldcfhheefgghfhgfgfhfehjfeejkjigfdhgdddfhhfeffhhghggggfhgffgffghfeihiggefgfeffgggffggigggihiiggffgiggfefef", -"ieefgffhhfggchgfgifhhggghffhgfggggfghgfggeffgfgggffgghhgghihgegfghheefeghfggghfgiefgggggghghhhifhffhfffgghihgighgffghgffhhhihgghfggfgfdgiigghhiiffggeglfadhigeffgghfhfghghffigfdjkjfgfedhedfffigeeghghhgggggfhfgghhgghejihhgeedghefghhhgfiihfgfhghgfghhgihgeglgi", -"eeefghghfefedifghhggffhhgffggfggfgghggfgfhgfgggfghhghghghihffggfghfggffhfgfkihhffefggggggggiggkfhghfdgghgjlgfheffghggggghihgghhhfgfghgfggihgghkheghfelkbbffjefffgggggehigffghfdilgfghgfffefgfgiggggggigfggghgggigghghijjfggdefglkefghfhefigfhhhghhfgfjfghgehggeg", -"egfgghggeghekhfghggffghfggfegfffefgghgffhhefggghhhhhhhhgiggggffghhgghffghhklgfgfgffgghggghgifghegffegggiklkbegfeggffghhgghfghfgghhfghfegfiihgihffghcklccdeikefggfggfffhgffghgeglgegiffegfffggghffgffhhggffghgfghggiiijifffeehcgkhdgghfggigfghfffgffgghfhhgfhegge", -"hfefgggfghfhiehhhgggfggfffffhhggehhggggggfgfgghggkkighhghgigfgghggghgfgfhhkfceffgffgghgghgfigfgfefgghfgkkebbgggfghggghighhfghghhgffhhffghigefhfgiieelcbcegkgdfggghgfghhgfhhhfikjfgfhejffeggggggfgfhgghffghhgefhggljigiffgfgigckhfedehgghgggfgghhfgihhghgggfhehgd", -"jfdefggfgffkefffgffgggfffgggghfefgggggfgggfghgggillhejjfghgffgfgggghhgghhigddffggfgghggggggifehgffhggggfdcfefgggghgghiiefhghhfigegkgffghhhegghhihdelhbcdgjgdeggghgfgghgggigghlggffggfhdffgghfgfgfhhgghhfghhgfhgfjldfkkgfgfhfeeihgddgjeehhggghgihgigggghhggfkdifg", -"hddghhghgfhjdgfgffhfgfffffgggifggfhgghghgggigghillggffedgggggggfgfgigggfifeefffffggggfgghhgieegghhgfghgghggfghfhgggghgggfigghgigfgfcgghhghfghhhgfhlgcbcgihegggghfgfgigghgkihijcgefgefffgefhgfgffggghgggfhhgffhjhhgcglgfgffgfedgjgdfghefihgghhgigfhggghhgfffgdkfj", -"fegifggiggggfiffgfgfffghgggfghgffghggggfeghkefhhiiegedgffggffhffffhhfggikdefgfffggfghgfggggidfhhhhgggghhigffgghgfggiihghfhffghhgeffehhifhffihhfgjlicfcehgfeiefhgghfhhghhhkefkedgfiefffgffghgghgghgghggghhgffghffhhfkifdfghgfdejjedgfgefhgghggfhehighgigfffhfihfi", -"ceffffghffehiffffggfggfgggggggheffgfhhhfgghgdfigggdfddkifgfgggeggghiggikfegggffghfghhggffghiehghhggghhhiiefhfhhfgfghhfggfggghhhgfffghighhfighfgllfcbcdgjfgfgfggghhhhgghjjfcjjdfgffdgefgegfgggggghggggghgfefhgggihfhjdcfigggedgkgehgefeghhhggghhghhghgheefhidiege", -"eeeggfjggfgigdgefffggggghhgffghggggiiggeihgggghfhjhdeklfdggggffhgghhghjhdghehffggggggghgfghhehhggkkgkhijgeghfhghggfgfhhfffghhghgeffghghiefhfgelldddcdgjhfghhgfeghhghhklkhdgkgdhhfiggefggfhgggffhhggggghgggggfghjghhgehjfgheceijgkfdffgikighghhhgghhihffefhedigie", -"fghhgiifggfiffefhhhggfgfhhgfgghjhhghggfgkjeggggghidcgiieeffgfgfgfgjhggihegffgefggghgghhgijhgeiihlieejihggghffhhhghggghfggggihhhdffghggheegggfglcbgcdghgfhghhfghhhgghillheeggfhhfggfffffgfhfhgfggggggghhgggffgghhggiiihgffdcfhgghibegfiihhghgghhhgggihffeijfhhghe", -"ffhfggghffegffghgffggihggffegfhifeefhgggjeegfgigigfhkkieefjgfgfhgikggfhgehifeffgfghffgghhghgfghigcdjlldfhggefgggghgggfgggghihgeegegggghfhghgfllehhdfhhgghghfggighggijlfbbedfggfggffgfffgfgfhffghgggihgfggfghggggehjhgffddegjgfifebgfgjhhhgghhghigfhgddegjhhkfkge", -"fghffgggegeggffgffggegfggfhggghghedhhfgefdggghhfhhggjggfhhlcfhghgjkefggghhhcdggfhigfgihhhigffijgffklleahigeffghgigfgggggfggiffffffggffhgihihllgfdcdfghggiggggggfgfhjhhedgfehggfhhgggfggghfggfgghfhggffhhefgfggfijkigfeedeghheghfkfkeifggggggfghfddeefiiihfgfeieg", -"fgfffggggfhhfffgghhgggggffhghhhgggfkfgffggghhghhhgfghikhgfdbffggiljdfgggjhdcffggigfghhhhhhffghhhjklifceigfeggghhgfgghhgffhhhefhggggggfhklkiijegcbefffggggfghhfgighhhgffjfdffggfiiefgfgggggggghgggigggggfggffgfgljgfedcdegggeeghfhdhfhgihggghggfdegijhhffiefegfef", -"ghhihggggdhfgghgggghgghhggffgghghgehehffggghegggfhihggfccdeggeghjkdcfhgikcdfegiihggghhhgghfdghhiklgdegjhhjifeiiggfghhgfgghggefgffghhhllllddfhffaghffgggffhhfggghgjkhhfghdegfgggifeeffffggfeghhfgiiffffffhfgggfgkffdcdegggfefgghggggfgghghghffgfegiihgffhfefhjfgf", -"ggiggfhfeeeefgiehhgggghffgggggghgffjhhhfggggghggfjgghheceghgffghifcehgekdbeggfhhehfgghghhfdfhlijlb#dkkggjihffkeegfhgfegfggfgfgggghhkllidfdfgfccegefgggggihgfgggiikkhfeihefefgfegfffeffghfggfhiffifefggghgegigfhgdccffggggfhkheiieifggihggggfhiedgihigghgdfdkgege", -"gfiifgfffegigggfjfffggggggfghhhffhffffgghhgggggffgfghhgihgfgfegjiffgghifceffggkheidgghfjfefhklcheahkkfdddefggfdfgghgghhfhhffglgfghlkhcchjfedbcffffhhfggghfgghgijjhggdhiffegiggeghgfffgiggggfhggggfghhgggfghgffgeedehggfgghhkgfleghfihgfgggghhfcgiifgfghfdeileffc", -"iggfdhffhfihfgghgefghhggggghgfgfgfffhfhfggfghjighighhhggffgheehhffgghjfdfefghgkifieghhggdeflkeafcgjigecdfhgjfdefhhghghgfhgghgibeihkkeellcgddeigfhhgffhghhgffggihhfihdgfeffhhgffhfefgffgghgggihhffghgggghgggeffgffgfgggghggghefjcggjhfffgghghhfejihfhhjhfefljfhfd", -"iegeeggghfgffhhgfghghhghghfgffgggfggihfghhffhhgfhhhgghgggghhffggefggigcdeefhggkffgdhgghhhehlccgihjigfedggdcdcceehhhgfhfghggfgfegiilhcfkdaccghggggffgghhggfgiihgiggggefeggggihegjgdgffhgghgghhgigggfgghhhggggffgffgghhhghfghihghhehjfefhghghihdhiffghigdhhelieggg", -"eehfhifggefghhgffhhggggghgfgfghgghhggifgfgfhggfdgefgigffgggghffffhhhlfdefffgggihgefhghihhdjhbgjihhhfggfeddeecdfghggffgfigfggffgjjllcdkebcfffeghgffgfghghgfgihggigghgheefgfgffehjdegfhiefhgghghhgfghfgigggffeheggfggghgggghkkgkjeehedegggggjedeiffffhhedidhlgfggf", -"ikihjihjfefgggfggiggghfggfghggfghfhgghehigfghhgghggfgghgghhggegfgihkfacfgfghhhkgfdghgigfgekdcikgfgeefeegggggfgihhhgffghheggghfijklgeeeafhfghghgfgggfggggggkkghhhfhifheggiggfffjhdefgggegjfggghfgfhgfhfehgggehfggghghhghighhfihfehfhfghhifgfdfkifgghigdeedlihffff", -"ihghijidbfhgggfghhhghfgghghghggghiifgghhedgghhihggiihfgghhgfefggiikgceffghghhhkfgghggifggjkcelheggghdeffffhfgiiigggghggggggggghjlibddhhgffhghgggggggghhhhhjfekiihihfefhhgfhgefheeffhiffiffhghgfgggffgffggfffgffgghhhhgghhjjkifgeggheiffdegeehjgfgiigefdellfgefgi", -"gffgegdcfffggggghggghggghggggghghfefggifeggiijigggiggghgfghgfgfgieiedeggfhghggkhihehgheghkfdkkfggfefegggggffgiggfggghfgfffgiggllieceifeffggghggghhgggghghhgfijfgghgeeghgffffegffeegghehgfhgggffghffhgfggggffgffghhhghgikigiifgfffgfggfggijjiihgegihffecklhfeeghh", -"figfcecdfghhggfhgggggfhgffffghhggfehhgfhgghiijjhgghfigghihhdeffjhegcdffgfggfggifgeehfgggjgcflgefeefgfggffhggihhggfggheggghjkekleecdgfcfhfgfggfggfgfghfggiiighfeghgeefggfefhefhegfhghhfhfggffhffhgeggggggggfggegghgifhhkkghigfgffgifgegihhihfggeehggggdhlifgdghhi", -"fjfeeddfffhhghggfghighigfgggggfghfghgfghffhiiigdehhfgggjljjbgehkffffefggghggghhfedfhgggkicdkkfefeefhggghjhhihggggghhieffhjkgklgdebigeekhegghigfffghhhgihjigfhghhgefdfgfgfhheffehggfhgeggggfggghhffghhhhfghggieggghheiljiehgfhhhghgdgghgghfgghfeghhghdfljfgffifhh", -"fidddeffggghgffgfhgghggffgfgggghgggfffghihjikiddghggihgjlhfbghkggfdfegihfgghhhhggfffghjkecikgfeffffggghkjefgghhgfgghfdgilkjjlgeebeiefihcehfhfegggfhihhhhheegihigfdfghffffhfdfhhffghgggfihgfgfgghhffhhgfggffgieihgghgilgggigghfgggffjigfhfffgfefghgefdljeghfggfhf", -"hgdfhiegghghgggighghhfgfehhhfffggfgggfgehfhgkdcghihggfgkkgabhlgkkdegfgghgggfhggghgghfhjideikgeefghgggihhgfggiiggffggfhhjhggihdebdggfffeffgfggfhghgiijkhhffhjijheefghefefggfffgffgghfggfifgfgfghfgefgggghgffhiehgfhhfkkfeggfigefhggijheghhjghfdhghfedglfhiffgffgg", -"ffihgccgghhgghgffgfggfffgiifggffgghgggggheggfcegiifeggjljbadhhglcbehgghhhgfgiggghghggkjfcekiedegggfhghggggfkkffgfffggikjcfhjgeabfgffggeeefhggghghjjlifdggijillfegghffffffggffefegggfhgghgggggfffhghhgghiggfkfeighhghlgeghgijefjifhjeegkggfdefgghiggelggihdfdeffg", -"fggdbbehfhhgghgfihfhhgffgggeffegghgfggghfhhefgghihdeghihaacikkldacgghehghgfhigggghhgiiiddhjfdefgffghghfghggledfhfggiihgejllhdbchgggggfghgghfhhhjkihgehgghjijlgcdfgfegffeegffffggiffhhfghhhffgggghghhhihhfggjdgligghkkfdfikhgfghfehgfjigegffhggghfgeijdigdeffhhfg", -"gecbcfgghighfghfgggggfffgfefggghfhgfgfggfkggggghhfegihfbcfillldbdfgghfhfgfffhfffgghjjjkbfjhfeeggfghggigihgggdefffhhhgkhlkdeddehfffgfghhfihfghhjjgggggjeehjhjjbbcggffgfffjefffhfgifghgfggfffghfgfhghhiggffghheklhehikjgekkhefddffgggghfgggegifghhhggldhjhejgjkhfe", -"iceefhgggghhghffgigggfhggfghfgggfgffgghhgkgfhhgghghhhieghhkegdaeefehgfgghghhiffhhhhhefechhfdegfghighhihihgggfgfgfgghhlkicdeadfdffgggggfghffgghifegghhkfgjifhfbdgigfeffhjedhhggfhieghfghfffgfgfggihkfiggffhjgeigddiijhghjihgeegihggghgfggggigghhfeekgdkhffhghfdde", -"edhfggfgggiggggggiffgggfghighfggfgfghhhgfigehggghifhhdfgklchkccfgffihfhigfgffgihgiggeghhffeffggghhghhighgghgeefffhjijlifddceigdffhgggggghghgjjfggefhhgdghffhfefhffeegiiedjhgfgghhfhgggffffhgggghhiheifhggiheeffgeffihfgijhedffhgggggfeggfghghhieekhdhjffgfggfeeg", -"fihegffggfgfhggghhggfgghhhgfgegffgfgghggfhifhhggihfgbdljlghhgfcggfghgggfgggfghhgigikfjkedffgfggfghhigghhffgfeggfgjlgkiccbeghggegfhffhgfghfhhhggedeikjgehffgggfegfheefgeehgfggggghfhggffegghgfhgfihjhifhggffdefggigjkffkiifcehghfgfffgggfgghhiihclhejjffffggfcceh", -"gefeghfgghhhhhhfghggfgghhgffgghegfgggghggiifhhhhhhhcdlljdeebgcdhhihfgggfgggggghhhfkffgddffffgggghiihfgighghigfghhkjhhgedehhgeigfhggghgghihlijiedfgklhfghgheefcfgfhffiidhgfggfgggghhggfffgiigghhhjiiggfhefggeegihifkkhjlegddhhggegfhhgggghfhhggdflfhfeggfffefcfhg", -"ddffghhhgffghhgfgigfeggggfghgggfhggghghghhhhgggffhedlke#fkcdedgiihfegggfghggghikkffbddehgefhghhghiggfhgfgeheefihhkgijjdcfggfffgfhfhggggffjkehfdfhhljffghhhehefjghgdfheegghggfhghggfggfhghfffgggfjhgefdgggigefihghikkjhhefchiggeegihhggghihhgegekjdfjfeefgefedhhe", -"ffgghggghggggggffiggfggggfhighgggghihfgghgghfhgffjbhkdhljceeeehifedefggffghhhhlhddgfgghgfegggihgghghgggfghhfgfhglljkiabdggfffegggghggfgggjgfhdfhhijgfggfffegdhiggedghcfgggfgggfhggfhffhhggggggfhieefgeheghdeghhiiiikhfffddihfgfiigggfgkkhfffefhlhfghcehjjeddgjff", -"ffghgggghghhhhgfeggfegffffihfgfjgggifghhhihifgddiddlgjlhccdcdfgeeeefhgggggfggiideggfgggfgghgfhfgghhgfgghifefgfihkhefcbhfgggggehffgfgfggghhfegdggijkldfgfgcfffgggeeekedggfghgfgghfffggfggeefhhgggighggehfihffghjkihkjffefcgiffghheeghgikfgeefcflhegffdgghfbceffdf", -"ffgggfgghghiggfghghgfghgffhggffiefhhgjhhggfhheekgdllffeeedddefffefegggggfhghglhddffhfgggggggghghhhgggfffddfgfgghllcbbegfffhgfhiehhfgggghhhggjeiggklfchhfddifgghhedhgbghggggfgghhffffgffgggggghhhifhiffggigeffikkhiliffeffefefghgfgihgihfecghblkeghegfhghcegghfhg", -"ggghgggfgghgggffgfhgffifhhifhgggffhghifffggghgkiellhedeebcdhgffgghgghhgffhghklgffhggeggfghgfghiihhfgeefghggggfkllfadgggfggffhiefhffggghghhgiifhfillaegfefhgfgigfegicdigfghgfgggifffggghggfgghhggffhgdefgkgfgikjggkjhfeegffffhgjgfjhgggfeegifelgffffgfgfeehfefgge", -"hfhghggggiihiffghfggffhhhhhejgfggghghgfghiheiiegllcffgiecfgigfgfhhggghhgggillhfffgfggjggghgghiiihffhgfghgffhehlldaahihefggfggfegffgghhgihhikhgegjlfdhgfffffighddehdcgghghghfgggideffgggghggghghijhfedggikeeikkgfkjffddfhefkhhggehgeggfffhhheklefhgghhggffefeghfh", -"hegghfghiighffehhfggfghiigffhefggghhhgfgjjggiffliaadfkicghifgggghghfggggggkkgdggdehfhhfghhgffhhggfiggefffghheilh#dikfdehgfffgfggfgfhggihgghighihiieeffefffhhegdhkfdfhggfhgffggfheegggggiggghffhileegggfihefkkigkkegefgfefkkeggfhhgghfgghigdflgfghhfhhkkgggigffgi", -"ffgghfhhgghgfffhgghghhghfegfhfhggffggffihdfjljihcdfdjjbcfggfgffghgfhhggghiiedfigcfgdiggggfghghigfdgfefhhggghhlkacjjgeifgfgghgfgfffghghighghjgghfhhfffeeegghffgeigdeggggggggggggihefhggghggggfghjjcfgfggiiefkhfgkeegefeefhlddghfghfggggiggfdliefgggfhhgfgifhefffg", -"hffgffhhhggffefhhhgegefifhhfifhfggjkjghhhhkkgcccdffllcbfehhgggfghgfiggfhkjfghgdedhfekffggfgfgiheeihdfhghhhgilkcciggdfgcgggihggfggfgggggggfjjghgfgggdefefighggfggfdegffgghhgfggghhdhhgghgffgfghkkfdggffghichkfgggdefeffhihidffgfifgfgghhfhdglgffhghfggfffgcdegfih", -"gghggigghgiffeggggffggghghfghffggiihfeghgjhhccffkhkkfdhfhiffgggggfggggfjkeeggffgehegiegghghgiieghidgiffhgegllebhjgeegeefgggghgfgffgfhhghhhkigghhihedhfdhhhkgfhfgedfggghgfgghighhiehhhhggffgghklgffgefgiigflhfhdddgheeghgfgffghhiggggfgggfcihefggfhfgghgggdfeghgg", -"ggggiigggggffghgggfgghihhefggfgghhfejhgihheedffgkjjgbikhhhhhiighhggghggkecfgfhgffifigfhhgffghgfigdeiffikfklljbcjjfeefgghieghgfffghggggghhkjgfghggecfgeghijhdehegeefgfhhgfhghggghhgkjffghiggghjhfdgghhgiggjkefgeghiffhigggigfgihffghffhfhcelfghhhgihfigfgggjegfeg", -"hhgfhhfghikgegffghhgfggfgghhffghigikldgkfdeggeghjhefflggcgffgfeggfhhggihdfgjghegfhfgffgffgghhgigeeiheilghljfdafhheefgggieehgfffghgggggikkhdffhifeeeeghkhjgdchhegefggghggghhhggihjgkjfgghhdgijkihdhghgfgehifegffhieffikgefhfgghgfhggeghgechgefgheeifegghgffgdffgg", -"hegigigfgglgfiffggfegfhhfhggghgfgkkgebihefiggfijiieeikfgbhffhhgffffgfikfffhhgifefhfggfgffghgghhdeghffigfkjddbehfeceghefgdhghfffhhhhgghllgdeijjeceeeghhhfifegiffefggghhghhikgghklgfhedehggfihjkfedhgfffgggghifgghhggfgfefhifggggfggfghhgbdgffefffghgefihffddddfgg", -"gfihfiffhhkccfefghffhgjhfggfefgghledfghifgffgfjighgekhffchhghfefghgghifeghhggfcehghghggggihfgggehhefgihlkgdbdggfefhhfffffgfgfgghhghggjlgbcghffeffegghihhjgehffgegfgggghhgghfghhebffeeggfgfhhhfcdghffgghhfhhggfgiigfffhhghgghgffhhhghggdcfggffhihghfefhheecdfegfg", -"ffjhhhgggggccigghggggfhgghgggggfkjdgiflkffgggiihhghhlhefdghggffgghggifgffgggghdfgffehgghhhfgifgghgfgglljebaegfghghhgfgdghggggggiiggghljadfggfhjffgghkhgjjdefffhgffgijgfhihheehijggefefghgfhihgeffiffhiiighfgffhhhgghgiighhifefgjjijhgfcdgggghiggfffefffdecehfffh", -"fhihggfgfhfggigggghfggfhffggehghjfiigegccdfggiiihdfiifeffeefefggghgfgehgggfgggdgggffiffhhffhgfhgfghfjlfcbbehggghgfggifdhgfhggggllffhghbcgfhhfjjghhhjkhjkgggffggefiiiieggfggfiklifeegfggfgghhggffhieghhghggggeggfgggfgihhhghfggijihgdecdhffhghiggddeefgdefffgefff", -"gkkhggghhgfghjfghgfggffifhgfgggkheiedeheeeghhkkghcejegffedeggfgfghghighggghghfeggghfhgghfgggfhhgghhgllccdghghgggefffkdegfhhffhklffdgggfhfhifgkigghiljghgfgegfhefhjihhegfhhhijkjgefgihhfghghhegghgheghhggfhghfgfghghhghhhfggfhiihffeeedfffggggifgegigeecfgffigegg", -"hkjggghhigfehgfffgfhggfjfgghihllgffeehgfehhggjigfbjkeedfffdhffgghgfhgehhggggifgfgggfhghgghgfghgghihklcadhhfghggffgefhdfhggffjljgeddifhhfhjggligffgijffedeffeefefgihggfgfhhhiihgfcggffffghgigfghggkgjhhgfhggfffghihihfighggffiigfefhebceefgfgfghggllgeefggfggfegg", -"ijheffggheffhggfgfehffgigihhghkfdefgfgffgjhghihfcdliigggefdhfhfggfihfgifgffjfdhfggggfhhefhhghhggfkikfcdghgggegegggfhhehhfghhkjdgfggdcgghkgfhifggghhgfddfgedffefghffhgdggghklieeddfedgggfgfhfggighkghegggggfeggghhhgggihhghgihgeefdebcgffghfgfggfjlfddehggggfhggh", -"higghfhhhffggfghggghgllijhhhghhdedggffgghhfhgjgfbjkggfeeehehhgffffiegijegfkicfiffhgfgighgggghgfgglijddegiggffgfgffeieeigfggijfegffgcdhhkiehhhhgfhiifedgefeedeghfhgkfcdghgikiedfgfhefgfgfgghfiihfjkefffghgggfgggiihghhhgggffheeefgecdfffgggggggghjdbdcfhfghgegegg", -"gihhhegijfeggffgggghhlhdhihhgihedggfghgghffihigceljfeeffgfdiieegifffiihegikcdghefhhgigggefhgggggjijebeghiffeggggfgfjdfhgghiifffefdeejghigfhjkifghhfeegededefildgjggdeggghifccegieiegffgggggjlkhgjfdffgghgigggggihhggghgggeeffhhgfddggefgghffgggffeefeggfgggehfhg", -"klgjfdhigceggggggfihklgehgefiieefgfghgghgfhhijddlkgdfefefffgdceffgjihhggfkfcgggggfhggeghghhgfgggkjfacggggffggfgfggikeggghjhfhgefgegikdiihgiligggfjfeegcdfgihjjchhggfgghhiffgiikiehegfgggghhliedefdegfghgghfhgehiffhhihgfefehggheecegffgggifghghghhggggfghhgfiehg", -"lkdlheggfdggffglkgkhlkfggffgkgdfhfgggiighghfigckldefddedeffffghhgfghhighgjbdhgfgggighgghhhgfggghkgcefhfgggggffffggigdhhfghggfffgghhgfejghjlkgfefggefffcffhighfchhgdffghggghihhjdefeffggghihkedefhggfghghfgghfhjhhhiihhggkiiiiffdfcfffghgggfhhgggghghgffghfgkgehf", -"kfdidbffgghhhjklhjkelheffhhggcdhgfghhhgghhgihejkedfddfefghgefeghhjhhihgieedfgggggggghgggeffgghgikgdeghggfgggfgfggfihfhfghhgffhgghgghgijikjkhfdfhgfeddeehgiggheeihefggffghihhefheggdfghggggkkfdgeggggghhgfgfggigfghkifghkifgfgddfddgfgghgggghghgggghhffghgfhidghf", -"heefdbghgfhikjjjggegledghhhfgeefgfgghfhfgfjicjjdefeefefgghffffgfehihhghfdefffghggfigggggggggghhiifcfgghggfhggggggfhgehgggghhgjghgfihghijjhjgcdhhedcdghhgghghfdhiefggggghghgfgfjgeedfggggjllfedffhhfgiihgfhgiiggijljdeihgeeffdbdgeggffgggghghghfighhgegghghfgdfgf", -"gffeefghhghjjhihhffkieegfgiedcffgghhheggihkaeldfhfgfffggggfgggghghgggegeedgfghhgggfggggggfgfghgigedgfhiffhhffiiggfgifhfgggghijdgghhfgkkhheeddghfdegghgfgihkieekhfgghgggghifihghgcfegghfllkfdfegghhggfggffghhigfhkkcfliggfghcceheghgghggghffhhhfhgggffhghhffgdhhe", -"jhgghhhjffgghhhffcghddeggjfdfefghhighgjhhgdblgfghgfeffghgffffghhhghgggkeefihhhiffgghfgggihhgihikfcffghhfhhkkijifgfhjfgggggghhfehghhgikfffdffeffeefghhghjjfjfchkgffhhgfggggfighhedjcgghjljeeddeffhhgggggfeihhhhhlhbckiggfgecbefffiifgfggghghhgghhggfegfhjggiefghf" -}; -SIMPLE = T BITPIX = 8 NAXIS = 2 NAXIS1 = 256 NAXIS2 = 256 HISTORY Written by XV 3.10a END \ No newline at end of file diff --git a/tutorials/minuit2FitBench.C b/tutorials/minuit2FitBench.C deleted file mode 100644 index c54cebe9499d30c27030738f8e2468db1c97bfbe..0000000000000000000000000000000000000000 --- a/tutorials/minuit2FitBench.C +++ /dev/null @@ -1,98 +0,0 @@ -// @(#)root/minuit2:$Name: $:$Id: minuit2FitBench.C,v 1.1 2005/10/27 14:11:07 brun Exp $ -// Author: L. Moneta 10/2005 - -/********************************************************************** - * * - * Copyright (c) 2005 ROOT Foundation, CERN/PH-SFT * - * * - **********************************************************************/ - -#include "TH1.h" -#include "TF1.h" -#include "TCanvas.h" -#include "TStopwatch.h" -#include "TSystem.h" -#include "TRandom3.h" -#include "TVirtualFitter.h" -#include "TPaveLabel.h" -#include "TStyle.h" - - -TF1 *fitFcn; -TH1 *histo; - -// Quadratic background function -Double_t background(Double_t *x, Double_t *par) { - return par[0] + par[1]*x[0] + par[2]*x[0]*x[0]; -} - -// Lorenzian Peak function -Double_t lorentzianPeak(Double_t *x, Double_t *par) { - return (0.5*par[0]*par[1]/TMath::Pi()) / - TMath::Max( 1.e-10,(x[0]-par[2])*(x[0]-par[2]) + .25*par[1]*par[1]); -} - -// Sum of background and peak function -Double_t fitFunction(Double_t *x, Double_t *par) { - return background(x,par) + lorentzianPeak(x,&par[3]); -} - -void DoFit(const char* fitter, TVirtualPad *pad, Int_t npass) { - gRandom = new TRandom3(); - TStopwatch timer; - // timer.Start(); - TVirtualFitter::SetDefaultFitter(fitter); - pad->SetGrid(); - pad->SetLogy(); - fitFcn->SetParameters(1,1,1,6,.03,1); - fitFcn->Update(); - histo = new TH1D(fitter,"Fit bench",200,0,3); - - timer.Start(); - for (Int_t pass=0;pass<npass;pass++) { - if (pass%100 == 0) printf("pass : %d\n",pass); - for (Int_t i=0;i<5000;i++) { - histo->Fill(fitFcn->GetRandom()); - } - histo->Fit("fitFcn","0q"); - } - - histo->Fit("fitFcn"); - timer.Stop(); - - - Double_t cputime = timer.CpuTime(); - printf("%s, npass=%d : RT=%7.3f s, Cpu=%7.3f s\n",fitter,npass,timer.RealTime(),cputime); - TPaveLabel *p = new TPaveLabel(0.5,0.7,0.85,0.8,Form("%s CPU= %g s",fitter,cputime),"brNDC"); - p->Draw(); - pad->Update(); -} - -void minuit2FitBench(Int_t npass=20) { - TH1::AddDirectory(kFALSE); - TCanvas *c1 = new TCanvas("c1","Fitting Demo",10,10,900,900); - c1->Divide(2,2); - // create a TF1 with the range from 0 to 3 and 6 parameters - fitFcn = new TF1("fitFcn",fitFunction,0,3,6); - fitFcn->SetNpx(200); - gStyle->SetOptFit(); - gStyle->SetStatY(0.6); - - //with Minuit - c1->cd(1); - DoFit("Minuit",gPad,npass); - - //with Fumili - c1->cd(2); - DoFit("Fumili",gPad,npass); - - //with Minuit2 - c1->cd(3); - DoFit("Minuit2",gPad,npass); - - //with Fumili2 - c1->cd(4); - DoFit("Fumili2",gPad,npass); - - c1->SaveAs("FitBench.root"); -} diff --git a/tutorials/minuit2FitBench2D.C b/tutorials/minuit2FitBench2D.C deleted file mode 100644 index 5d95f1449a8a254063be4688f589d1cafeda72ef..0000000000000000000000000000000000000000 --- a/tutorials/minuit2FitBench2D.C +++ /dev/null @@ -1,98 +0,0 @@ -// @(#)root/minuit2:$Name: $:$Id: minuit2FitBench2D.C,v 1.1 2005/10/27 14:11:07 brun Exp $ -// Author: L. Moneta 10/2005 - -/********************************************************************** - * * - * Copyright (c) 2005 ROOT Foundation, CERN/PH-SFT * - * * - **********************************************************************/ - -#include "TH1.h" -#include "TF1.h" -#include "TH2D.h" -#include "TF2.h" -#include "TCanvas.h" -#include "TStopwatch.h" -#include "TSystem.h" -#include "TRandom3.h" -#include "TVirtualFitter.h" -#include "TPaveLabel.h" -#include "TStyle.h" - - -TF2 *fitFcn; -TH2D *histo; - -// Quadratic background function -Double_t gaus2D(Double_t *x, Double_t *par) { - double t1 = x[0] - par[1]; - double t2 = x[1] - par[2]; - return par[0]* exp( - 0.5 * ( t1*t1/( par[3]*par[3]) + t2*t2 /( par[4]*par[4] ) ) ) ; -} - -// Sum of background and peak function -Double_t fitFunction(Double_t *x, Double_t *par) { - return gaus2D(x,par); -} - -void fillHisto(int n =10000) { - - gRandom = new TRandom3(); - for (int i = 0; i < n; ++i) { - double x = gRandom->Gaus(2,3); - double y = gRandom->Gaus(-1,4); - histo->Fill(x,y,1.); - } -} - -void DoFit(const char* fitter, TVirtualPad *pad, Int_t npass) { - TStopwatch timer; - TVirtualFitter::SetDefaultFitter(fitter); - pad->SetGrid(); - fitFcn->SetParameters(100,0,0,2,7); - fitFcn->Update(); - - timer.Start(); - histo->Fit("fitFcn","0"); - timer.Stop(); - - histo->Draw(); - Double_t cputime = timer.CpuTime(); - printf("%s, npass=%d : RT=%7.3f s, Cpu=%7.3f s\n",fitter,npass,timer.RealTime(),cputime); - TPaveLabel *p = new TPaveLabel(0.5,0.7,0.85,0.8,Form("%s CPU= %g s",fitter,cputime),"brNDC"); - p->Draw(); - pad->Update(); -} - -void minuit2FitBench2D(int n = 100000) { - TH1::AddDirectory(kFALSE); - TCanvas *c1 = new TCanvas("c1","Fitting Demo",10,10,900,900); - c1->Divide(2,2); - // create a TF1 with the range from 0 to 3 and 6 parameters - fitFcn = new TF2("fitFcn",fitFunction,-10,10,-10,10,5); - //fitFcn->SetNpx(200); - gStyle->SetOptFit(); - gStyle->SetStatY(0.6); - - - histo = new TH2D("h2","2D Gauss",100,-10,10,100,-10,10); - fillHisto(n); - - int npass=0; - - //with Minuit - c1->cd(1); - DoFit("Minuit",gPad,npass); - - //with Fumili - c1->cd(2); - DoFit("Fumili",gPad,npass); - - //with Minuit2 - c1->cd(3); - DoFit("Minuit2",gPad,npass); - - //with Fumili2 - c1->cd(4); - DoFit("Fumili2",gPad,npass); -} diff --git a/tutorials/minuit2GausFit.C b/tutorials/minuit2GausFit.C deleted file mode 100644 index 5bcdcf430add43d3fbfe8eff24d02e136cf1e236..0000000000000000000000000000000000000000 --- a/tutorials/minuit2GausFit.C +++ /dev/null @@ -1,78 +0,0 @@ -// @(#)root/minuit2:$Name: $:$Id: minuit2GausFit.Cv 1.0 2005/06/23 12:00:00 moneta Exp $ -// Author: L. Moneta 10/2005 - -/********************************************************************** - * * - * Copyright (c) 2005 ROOT Foundation, CERN/PH-SFT * - * * - **********************************************************************/ - - -#include "TH1.h" -#include "TF1.h" -#include "TCanvas.h" -#include "TRandom3.h" -#include "TVirtualFitter.h" -#include "TPaveLabel.h" -#include "TStyle.h" - -#include <iostream> -#include <string> - - -void testGausFit( std::string type = "Minuit2", int n = 1000) { - - gRandom = new TRandom3(); - - TVirtualFitter::SetDefaultFitter(type.c_str() ); - - TH1D * h1 = new TH1D("h1","fit histo 1",100, -5, 5. ); - - gStyle->SetOptStat(1111111); - gStyle->SetOptFit(1111111); - - for (int i = 0; i < n; ++i) { - h1->Fill( gRandom->Gaus(0,1) ); - } - - std::string cname = type + "Canvas" ; - std::string ctitle = type + " Gaussian Fit" ; - TCanvas *c1 = new TCanvas(cname.c_str(),cname.c_str(),10,10,900,900); - c1->Divide(2,2); - - TH1D * h2 = new TH1D(*h1); - TH1D * h3 = new TH1D(*h1); - TH1D * h4 = new TH1D(*h1); - c1->cd(1); - cout << "\nDo Fit 1\n"; - h1->Fit("gaus","Q"); - h1->SetName("Chi2 Fit"); - h1->Draw(); - c1->cd(2); - cout << "\nDo Fit 2\n"; - h2->Fit("gaus","VE"); - h2->SetName("Chi2 Fit with Minos Erros"); - h2->Draw(); - c1->cd(3); - cout << "\nDo Fit 3\n"; - h3->Fit("gaus","IE"); - h3->SetName("Chi2 Fit with Integral and Minos"); - h3->Draw(); - c1->cd(4); - cout << "\nDo Fit 4\n"; - h4->Fit("gaus","VLE"); - h4->SetName("Likelihood Fit with Minos Erros"); - h4->Draw(); - -} - -void minuit2GausFit() { - - int n = 1000; - testGausFit("Minuit2",n); - testGausFit("Fumili2",n); - -} - - - diff --git a/tutorials/mlpHiggs.C b/tutorials/mlpHiggs.C deleted file mode 100644 index 6792631da40c3bdedc9d2bdaa68039923c7f0a8f..0000000000000000000000000000000000000000 --- a/tutorials/mlpHiggs.C +++ /dev/null @@ -1,127 +0,0 @@ -void mlpHiggs(Int_t ntrain=100) { -// For a LEP search for invisible Higgs boson, a neural network -// was used to separate the signal from the background passing -// some selection cuts. Here is a simplified version of this network, -// taking into account only WW events. -// Author: Christophe Delaere - - if (!gROOT->GetClass("TMultiLayerPerceptron")) { - gSystem->Load("libMLP"); - } - - // Prepare inputs - // The 2 trees are merged into one, and a "type" branch, - // equal to 1 for the signal and 0 for the background is added. - const char *fname = "mlpHiggs.root"; - TFile *input = 0; - if (!gSystem->AccessPathName(fname)) { - input = TFile::Open(fname); - } else { - printf("accessing %s file from http://root.cern.ch/files\n",fname); - input = TFile::Open(Form("http://root.cern.ch/files/%s",fname)); - } - if (!input) return; - - TTree *signal = (TTree *) input->Get("sig_filtered"); - TTree *background = (TTree *) input->Get("bg_filtered"); - TTree *simu = new TTree("MonteCarlo", "Filtered Monte Carlo Events"); - Float_t ptsumf, qelep, nch, msumf, minvis, acopl, acolin; - Int_t type; - signal->SetBranchAddress("ptsumf", &ptsumf); - signal->SetBranchAddress("qelep", &qelep); - signal->SetBranchAddress("nch", &nch); - signal->SetBranchAddress("msumf", &msumf); - signal->SetBranchAddress("minvis", &minvis); - signal->SetBranchAddress("acopl", &acopl); - signal->SetBranchAddress("acolin", &acolin); - background->SetBranchAddress("ptsumf", &ptsumf); - background->SetBranchAddress("qelep", &qelep); - background->SetBranchAddress("nch", &nch); - background->SetBranchAddress("msumf", &msumf); - background->SetBranchAddress("minvis", &minvis); - background->SetBranchAddress("acopl", &acopl); - background->SetBranchAddress("acolin", &acolin); - simu->Branch("ptsumf", &ptsumf, "ptsumf/F"); - simu->Branch("qelep", &qelep, "qelep/F"); - simu->Branch("nch", &nch, "nch/F"); - simu->Branch("msumf", &msumf, "msumf/F"); - simu->Branch("minvis", &minvis, "minvis/F"); - simu->Branch("acopl", &acopl, "acopl/F"); - simu->Branch("acolin", &acolin, "acolin/F"); - simu->Branch("type", &type, "type/I"); - type = 1; - Int_t i; - for (i = 0; i < signal->GetEntries(); i++) { - signal->GetEntry(i); - simu->Fill(); - } - type = 0; - for (i = 0; i < background->GetEntries(); i++) { - background->GetEntry(i); - simu->Fill(); - } - // Build and train the NN ptsumf is used as a weight since we are primarly - // interested by high pt events. - // The datasets used here are the same as the default ones. - TMultiLayerPerceptron *mlp = new TMultiLayerPerceptron("@msumf,@ptsumf,@acolin:5:3:type", - "ptsumf",simu,"Entry$%2","(Entry$+1)%2"); - mlp->Train(ntrain, "text,graph,update=10"); - mlp->Export("test","python"); - // Use TMLPAnalyzer to see what it looks for - TCanvas* mlpa_canvas = new TCanvas("mlpa_canvas","Network analysis"); - mlpa_canvas->Divide(2,2); - TMLPAnalyzer ana(mlp); - // Initialisation - ana.GatherInformations(); - // output to the console - ana.CheckNetwork(); - mlpa_canvas->cd(1); - // shows how each variable influences the network - ana.DrawDInputs(); - mlpa_canvas->cd(2); - // shows the network structure - mlp->Draw(); - mlpa_canvas->cd(3); - // draws the resulting network - ana.DrawNetwork(0,"type==1","type==0"); - mlpa_canvas->cd(4); - // Use the NN to plot the results for each sample - // This will give approx. the same result as DrawNetwork. - // All entries are used, while DrawNetwork focuses on - // the test sample. Also the xaxis range is manually set. - TH1F *bg = new TH1F("bgh", "NN output", 50, -.5, 1.5); - TH1F *sig = new TH1F("sigh", "NN output", 50, -.5, 1.5); - bg->SetDirectory(0); - sig->SetDirectory(0); - Double_t params[4]; - for (i = 0; i < background->GetEntries(); i++) { - background->GetEntry(i); - params[0] = msumf; - params[1] = ptsumf; - params[2] = acolin; - params[3] = acopl; - bg->Fill(mlp->Evaluate(0, params)); - } - for (i = 0; i < signal->GetEntries(); i++) { - signal->GetEntry(i); - params[0] = msumf; - params[1] = ptsumf; - params[2] = acolin; - params[3] = acopl; - sig->Fill(mlp->Evaluate(0,params)); - } - bg->SetLineColor(kBlue); - bg->SetFillStyle(3008); bg->SetFillColor(kBlue); - sig->SetLineColor(kRed); - sig->SetFillStyle(3003); sig->SetFillColor(kRed); - bg->SetStats(0); - sig->SetStats(0); - bg->Draw(); - sig->Draw("same"); - TLegend *legend = new TLegend(.75, .80, .95, .95); - legend->AddEntry(bg, "Background (WW)"); - legend->AddEntry(sig, "Signal (Higgs)"); - legend->Draw(); - mlpa_canvas->cd(0); - delete input; -} diff --git a/tutorials/mlpHiggs.root b/tutorials/mlpHiggs.root deleted file mode 100644 index 33c70e06f87a134984c4a5ba6c0c7f0b5fede65c..0000000000000000000000000000000000000000 Binary files a/tutorials/mlpHiggs.root and /dev/null differ diff --git a/tutorials/mlpRegression.C b/tutorials/mlpRegression.C deleted file mode 100644 index 93f4fc8a59457afb96f1ae68451f95405fd4288f..0000000000000000000000000000000000000000 --- a/tutorials/mlpRegression.C +++ /dev/null @@ -1,85 +0,0 @@ -/* - This macro shows the use of an ANN for regression analysis: -given a set {i} of input vectors i and a set {o} of output vectors o, -one looks for the unknown function f(i)=o. -The ANN can approximate this function; TMLPAnalyzer::DrawTruthDeviation -methods can be used to evaluate the quality of the approximation. - -For simplicity, we use a known function to create test and training data. -In reality this function is usually not known, and the data comes e.g. -from measurements. - -Axel Naumann, 2005-02-02 -*/ - -Double_t theUnknownFunction(Double_t x, Double_t y) { - return sin((1.7+x)*(x-0.3)-2.3*(y+0.7)); -} - -void mlpRegression() { - // create a tree with train and test data. - // we have two input parameters x and y, - // and one output value f(x,y) - TNtuple* t=new TNtuple("tree","tree","x:y:f"); - TRandom r; - for (Int_t i=0; i<1000; i++) { - Float_t x=r.Rndm(); - Float_t y=r.Rndm(); - // fill it with x, y, and f(x,y) - usually this function - // is not known, and the value of f given an x and a y comes - // e.g. from measurements - t->Fill(x,y,theUnknownFunction(x,y)); - } - - // create ANN - TMultiLayerPerceptron* mlp=new TMultiLayerPerceptron("x,y:10:8:f",t,"Entry$%2","(Entry$%2)==0"); - mlp->Train(150,"graph update=10"); - - // analyze it - TMLPAnalyzer* mlpa=new TMLPAnalyzer(mlp); - mlpa->GatherInformations(); - mlpa->CheckNetwork(); - mlpa->DrawDInputs(); - - // draw statistics shows the quality of the ANN's approximation - TCanvas* cIO=new TCanvas("TruthDeviation", "TruthDeviation"); - cIO->Divide(2,2); - cIO->cd(1); - // draw the difference between the ANN's output for (x,y) and - // the true value f(x,y), vs. f(x,y), as TProfiles - mlpa->DrawTruthDeviations(); - - cIO->cd(2); - // draw the difference between the ANN's output for (x,y) and - // the true value f(x,y), vs. x, and vs. y, as TProfiles - mlpa->DrawTruthDeviationInsOut(); - - cIO->cd(3); - // draw a box plot of the ANN's output for (x,y) vs f(x,y) - mlpa->GetIOTree()->Draw("Out.Out0-True.True0:True.True0>>hDelta","","goff"); - TH2F* hDelta=(TH2F*)gDirectory->Get("hDelta"); - hDelta->SetTitle("Difference between ANN output and truth vs. truth"); - hDelta->Draw("BOX"); - - cIO->cd(4); - // draw difference of ANN's output for (x,y) vs f(x,y) assuming - // the ANN can extrapolate - Double_t vx[225]; - Double_t vy[225]; - Double_t delta[225]; - Double_t v[2]; - for (Int_t ix=0; ix<15; ix++) { - v[0]=ix/5.-1.; - for (Int_t iy=0; iy<15; iy++) { - v[1]=iy/5.-1.; - Int_t idx=ix*15+iy; - vx[idx]=v[0]; - vy[idx]=v[1]; - delta[idx]=mlp->Evaluate(0, v)-theUnknownFunction(v[0],v[1]); - } - } - TGraph2D* g2Extrapolate=new TGraph2D("ANN extrapolation", - "ANN extrapolation, ANN output - truth", - 225, vx, vy, delta); - g2Extrapolate->Draw("TRI2"); -} diff --git a/tutorials/motorcycle.C b/tutorials/motorcycle.C deleted file mode 100644 index af740dbb0cc288af6925b03557787b85c672f3ec..0000000000000000000000000000000000000000 --- a/tutorials/motorcycle.C +++ /dev/null @@ -1,94 +0,0 @@ -TCanvas *vC1; -TGraph *grin, *grout; - -void motorcycle() -{ -/****************************************************************************** -* Author: Christian Stratowa, Vienna, Austria. * -* Created: 26 Aug 2001 Last modified: 29 Sep 2001 * -******************************************************************************/ - -// Macro to test scatterplot smoothers: ksmooth, lowess, supsmu -// as described in: -// Modern Applied Statistics with S-Plus, 3rd Edition -// W.N. Venables and B.D. Ripley -// Chapter 9: Smooth Regression, Figure 9.1 -// -// Example is a set of data on 133 observations of acceleration against time -// for a simulated motorcycle accident, taken from Silverman (1985). - - -// data taken from R library MASS: mcycle.txt - TString vInFile ="motorcycle.dat"; - -// read file and add to fit object - Double_t *x = new Double_t[133]; - Double_t *y = new Double_t[133]; - Double_t vX, vY; - Int_t vNData = 0; - ifstream vInput; - vInput.open(vInFile); - while (1) { - vInput >> vX >> vY; - if (!vInput.good()) break; - x[vNData] = vX; - y[vNData] = vY; - vNData++; - }//while - vInput.close(); - grin = new TGraph(vNData,x,y); - -// draw graph - vC1 = new TCanvas("vC1","Smooth Regression",200,10,900,700); - vC1->Divide(2,3); - -// Kernel Smoother -// create new kernel smoother and smooth data with bandwidth = 2.0 - TGraphSmooth *gs = new TGraphSmooth("normal"); - grout = gs->SmoothKern(grin,"normal",2.0); - DrawSmooth(1,"Kernel Smoother: bandwidth = 2.0","times","accel"); - -// redraw ksmooth with bandwidth = 5.0 - grout = gs->SmoothKern(grin,"normal",5.0); - DrawSmooth(2,"Kernel Smoother: bandwidth = 5.0","",""); - -// Lowess Smoother -// create new lowess smoother and smooth data with fraction f = 2/3 - grout = gs->SmoothLowess(grin,"",0.67); - DrawSmooth(3,"Lowess: f = 2/3","",""); - -// redraw lowess with fraction f = 0.2 - grout = gs->SmoothLowess(grin,"",0.2); - DrawSmooth(4,"Lowess: f = 0.2","",""); - -// Super Smoother -// create new super smoother and smooth data with default bass = 0 and span = 0 - grout = gs->SmoothSuper(grin,"",0,0); - DrawSmooth(5,"Super Smoother: bass = 0","",""); - -// redraw supsmu with bass = 3 (smoother curve) - grout = gs->SmoothSuper(grin,"",3); - DrawSmooth(6,"Super Smoother: bass = 3","",""); - -// cleanup - delete [] x; - delete [] y; - delete gs; -} - -void DrawSmooth(Int_t pad, const char *title, const char *xt, const char *yt) -{ - vC1->cd(pad); - TH1F *vFrame = vC1->DrawFrame(0,-130,60,70); - vFrame->SetTitle(title); - vFrame->SetTitleSize(0.2); - vFrame->SetXTitle(xt); - vFrame->SetYTitle(yt); - grin->Draw("P"); -// grout->SetMarkerColor(kRed); -// grout->SetMarkerStyle(21); -// grout->SetMarkerSize(0.5); -// grout->DrawClone("P"); - grout->DrawClone("LPX"); -} - diff --git a/tutorials/motorcycle.dat b/tutorials/motorcycle.dat deleted file mode 100644 index 7dc74e353bb2f86948c75e97d58a606a52b44779..0000000000000000000000000000000000000000 --- a/tutorials/motorcycle.dat +++ /dev/null @@ -1,133 +0,0 @@ - 6.2 -2.7 - 6.6 -2.7 - 15.4 -53.5 - 15.4 -54.9 - 15.6 -40.2 - 6.8 -1.3 - 7.8 -2.7 - 8.199999999999999 -2.7 - 8.800000000000001 -2.7 - 2.4 0 - 2.6 -1.3 - 3.2 -2.7 - 3.6 0 - 4 -2.7 - 11.4 0 - 13.2 -2.7 - 13.6 -2.7 - 9.6 -2.7 - 14.8 -2.7 - 15.4 -22.8 - 10 -2.7 - 10.2 -5.4 - 10.6 -2.7 - 11 -5.4 - 13.8 0 - 14.6 -13.3 - 14.6 -5.4 - 8.800000000000001 -1.3 - 14.6 -5.4 - 14.6 -9.300000000000001 - 14.6 -16 - 14.6 -22.8 - 15.4 -32.1 - 15.6 -21.5 - 15.8 -21.5 - 15.8 -50.8 - 16 -42.9 - 16 -26.8 - 16.8 -77.7 - 17.6 -37.5 - 17.6 -85.59999999999999 - 16.2 -21.5 - 19.2 -123.1 - 19.4 -85.59999999999999 - 20.4 -117.9 - 21.2 -134 - 21.4 -101.9 - 21.8 -108.4 - 22 -123.1 - 23.2 -123.1 - 23.4 -128.5 - 24 -112.5 - 24.2 -81.8 - 24.6 -53.5 - 25 -64.40000000000001 - 25 -57.6 - 25.4 -72.3 - 25.4 -44.3 - 25.6 -26.8 - 26 -5.4 - 26.2 -107.1 - 19.4 -72.3 - 19.6 -127.2 - 20.2 -123.1 - 26.2 -21.5 - 26.4 -65.59999999999999 - 27 -16 - 27.2 -45.6 - 27.2 -24.2 - 27.2 9.5 - 27.6 4 - 28.2 12 - 28.4 -21.5 - 28.4 37.5 - 28.6 46.9 - 29.4 -17.4 - 30.2 36.2 - 31 75 - 31.2 8.1 - 32 54.9 - 32 48.2 - 32.8 46.9 - 33.4 16 - 33.8 45.6 - 34.4 1.3 - 34.8 75 - 35.2 -16 - 44 -1.3 - 44.4 0 - 45 10.7 - 46.6 10.7 - 47.8 -26.8 - 47.8 -14.7 - 48.8 -13.3 - 55 10.7 - 55.4 -2.7 - 57.6 10.7 - 35.2 -54.9 - 35.4 69.59999999999999 - 35.6 34.8 - 50.6 0 - 52 10.7 - 53.2 -14.7 - 55 -2.7 - 35.6 32.1 - 36.2 -37.5 - 38 46.9 - 39.4 -1.3 - 40 -21.5 - 40.4 -13.3 - 41.6 30.8 - 42.8 0 - 42.8 -10.7 - 43 14.7 - 16.2 -50.8 - 16.2 -61.7 - 16.4 -5.4 - 41.6 -10.7 - 42.4 29.4 - 16.4 -80.40000000000001 - 16.6 -59 - 16.8 -71 - 38 10.7 - 39.2 5.4 - 16.8 -91.09999999999999 - 17.6 -123.1 - 36.2 22.8 - 17.6 -101.9 - 17.8 -99.09999999999999 - 24.2 -95.09999999999999 - 17.8 -104.4 - 18.6 -112.5 - 18.6 -50.8 diff --git a/tutorials/mrt.py b/tutorials/mrt.py deleted file mode 100755 index 8b685a4925335cd612e535bda3cb826bb4f288b4..0000000000000000000000000000000000000000 --- a/tutorials/mrt.py +++ /dev/null @@ -1,31 +0,0 @@ -""" - Build ROOT Ntuple from other source. - This program reads the `aptuple.txt' file row by row, then creates - the Ntuple by adding row by row. -""" - -import sys, string -from ROOT import TFile, TNtuple - - -ifn = 'aptuple.txt' -ofn = 'aptuple.root' - -print 'opening file', ifn, '...' -infile = open( 'aptuple.txt', 'r' ) -lines = infile.readlines() -title = lines[0] -labels = string.split( lines[1] ) - -print 'writing file', ofn, '...' -outfile = TFile( ofn, 'RECREATE', 'ROOT file with an NTuple' ) -ntuple = TNtuple( 'ntuple', title, string.join( labels, ':') ) - -for line in lines[2:]: - words = string.split( line ) - row = map( float, words ) - apply( ntuple.Fill, row ) - -outfile.Write() - -print 'done' diff --git a/tutorials/multicolor.C b/tutorials/multicolor.C deleted file mode 100644 index 0aec2ea54b393a38a3540c1a483a7ebe4919018c..0000000000000000000000000000000000000000 --- a/tutorials/multicolor.C +++ /dev/null @@ -1,48 +0,0 @@ -// tutorial showing how to use a THStack to show -// a 2-D histogram with cells drawn with different colors -// run this example with the two options -// root > .x multicolor.C -// root > .x multicolor.C(1) -// Author: Rene Brun - -#include "TCanvas.h" -#include "TH2.h" -#include "THStack.h" -#include "TRandom.h" - -void multicolor(Int_t stack=0) { - TCanvas *c1 = new TCanvas; - Int_t nbins = 20; - TH2F *h1 = new TH2F("h1","h1",nbins,-4,4,nbins,-4,4); - h1->SetFillColor(kBlue); - TH2F *h2 = new TH2F("h2","h2",nbins,-4,4,nbins,-4,4); - h2->SetFillColor(kRed); - TH2F *h3 = new TH2F("h3","h3",nbins,-4,4,nbins,-4,4); - h3->SetFillColor(kYellow); - THStack *hs = new THStack("hs","three plots"); - hs->Add(h1); - hs->Add(h2); - hs->Add(h3); - TRandom r; - Int_t i; - for (i=0;i<20000;i++) h1->Fill(r.Gaus(),r.Gaus()); - for (i=0;i<200;i++) { - Int_t ix = (Int_t)r.Uniform(0,nbins); - Int_t iy = (Int_t)r.Uniform(0,nbins); - Int_t bin = h1->GetBin(ix,iy); - Double_t val = h1->GetBinContent(bin); - if (val <= 0) continue; - if (!stack) h1->SetBinContent(bin,0); - if (r.Rndm() > 0.5) { - if (!stack) h2->SetBinContent(bin,0); - h3->SetBinContent(bin,val); - } else { - if (!stack) h3->SetBinContent(bin,0); - h2->SetBinContent(bin,val); - } - } - hs->Draw("lego1"); -} - - - diff --git a/tutorials/multidimfit.C b/tutorials/multidimfit.C deleted file mode 100644 index c86b149ca83144dd495baaa76cc3ae8c2c6a1940..0000000000000000000000000000000000000000 --- a/tutorials/multidimfit.C +++ /dev/null @@ -1,226 +0,0 @@ -#include "Riostream.h" -#include "TROOT.h" -#include "TApplication.h" -#include "TCanvas.h" -#include "TH1.h" -#include "TSystem.h" -#include "TBrowser.h" -#include "TFile.h" -#include "TRandom.h" -#include "TMultiDimFit.h" -#include "TVectorD.h" - -//____________________________________________________________________ -void makeData(Double_t* x, Double_t& d, Double_t& e) -{ - // Make data points - Double_t upp[5] = { 10, 10, 10, 10, 1 }; - Double_t low[5] = { 0, 0, 0, 0, .1 }; - for (int i = 0; i < 4; i++) - x[i] = (upp[i] - low[i]) * gRandom->Rndm() + low[i]; - - d = x[0] * TMath::Sqrt(x[1] * x[1] + x[2] * x[2] + x[3] * x[3]); - - e = gRandom->Gaus(upp[4],low[4]); -} - -//____________________________________________________________________ -int CompareResults(TMultiDimFit *fit) -{ - //Compare results with reference run - - // the right coefficients - double GoodCoeffs[] = { - -4.70776, - 43.3519, - 13.5699, - 13.3169, - 13.5708, - 13.5311, - 13.6633, - 13.2718, - -4.21843, - 4.65398, - 4.5217, - -4.01994, - 4.57828, - -4.11152, - 3.68617, - -4.37356, - 4.62783, - 4.26708, - -3.98121, - -3.52323, - 4.55097 -}; - -// Good Powers - int GoodPower[] = { - 1, 1, 1, 1, - 2, 1, 1, 1, - 1, 1, 1, 2, - 1, 1, 2, 1, - 1, 2, 1, 1, - 2, 2, 1, 1, - 2, 1, 1, 2, - 2, 1, 2, 1, - 1, 2, 1, 2, - 1, 1, 3, 1, - 1, 1, 1, 3, - 1, 1, 2, 2, - 1, 3, 1, 1, - 1, 2, 2, 1, - 1, 2, 2, 2, - 2, 2, 1, 2, - 2, 1, 3, 1, - 2, 1, 1, 3, - 2, 1, 2, 2, - 2, 2, 2, 1, - 2, 3, 1, 1 -}; - - Int_t nc = fit->GetNCoefficients(); - Int_t nv = fit->GetNVariables(); - const Int_t *powers = fit->GetPowers(); - const Int_t *pindex = fit->GetPowerIndex(); - if (nc != 21) return 1; - const TVectorD *coeffs = fit->GetCoefficients(); - int k = 0; - for (Int_t i=0;i<nc;i++) { - if (TMath::Abs((*coeffs)[i] - GoodCoeffs[i]) > 5e-5) return 2; - for (Int_t j=0;j<nv;j++) { - if (powers[pindex[i]*nv+j] != GoodPower[k]) return 3; - k++; - } - } - - // now test the result of the generated function - gROOT->ProcessLine(".L MDF.C"); - Double_t x[] = {5,5,5,5}; - Double_t refMDF = 43.386; - Double_t rMDF = MDF(x); - if (TMath::Abs(rMDF -refMDF) > 1e-2) return 4; - return 0; -} - -//____________________________________________________________________ -Int_t multidimfit() -{ - - cout << "*************************************************" << endl; - cout << "* Multidimensional Fit *" << endl; - cout << "* *" << endl; - cout << "* By Christian Holm <cholm@nbi.dk> 14/10/00 *" << endl; - cout << "*************************************************" << endl; - cout << endl; - - // Initialize global TRannom object. - gRandom = new TRandom(); - - // Open output file - TFile* output = new TFile("mdf.root", "RECREATE"); - - // Global data parameters - Int_t nVars = 4; - Int_t nData = 500; - Double_t x[4]; - - // make fit object and set parameters on it. - TMultiDimFit* fit = new TMultiDimFit(nVars, TMultiDimFit::kMonomials,"v"); - - Int_t mPowers[] = { 6 , 6, 6, 6 }; - fit->SetMaxPowers(mPowers); - fit->SetMaxFunctions(1000); - fit->SetMaxStudy(1000); - fit->SetMaxTerms(30); - fit->SetPowerLimit(1); - fit->SetMinAngle(10); - fit->SetMaxAngle(10); - fit->SetMinRelativeError(.01); - - // variables to hold the temporary input data - Double_t d; - Double_t e; - - // Print out the start parameters - fit->Print("p"); - - // Create training sample - Int_t i; - for (i = 0; i < nData ; i++) { - - // Make some data - makeData(x,d,e); - - // Add the row to the fit object - fit->AddRow(x,d,e); - } - - // Print out the statistics - fit->Print("s"); - - // Book histograms - fit->MakeHistograms(); - - // Find the parameterization - fit->FindParameterization(); - - // Print coefficents - fit->Print("rc"); - - // Get the min and max of variables from the training sample, used - // for cuts in test sample. - Double_t *xMax = new Double_t[nVars]; - Double_t *xMin = new Double_t[nVars]; - for (i = 0; i < nVars; i++) { - xMax[i] = (*fit->GetMaxVariables())(i); - xMin[i] = (*fit->GetMinVariables())(i); - } - - nData = fit->GetNCoefficients() * 100; - Int_t j; - - // Create test sample - for (i = 0; i < nData ; i++) { - // Make some data - makeData(x,d,e); - - for (j = 0; j < nVars; j++) - if (x[j] < xMin[j] || x[j] > xMax[j]) - break; - - // If we get through the loop above, all variables are in range - if (j == nVars) - // Add the row to the fit object - fit->AddTestRow(x,d,e); - else - i--; - } - delete gRandom; - - // Test the parameterizatio and coefficents using the test sample. - fit->Fit(); - - // Print result - fit->Print("fc"); - - // Write code to file - fit->MakeCode(); - - // Write histograms to disk, and close file - output->Write(); - output->Close(); - delete output; - - // Compare results with reference run - Int_t compare = CompareResults(fit); - if (!compare) { - printf("\nmultidimfit .............................................. OK\n"); - } else { - printf("\nmultidimfit .............................................. fails case %d\n",compare); - } - - // We're done - delete fit; - return compare; -} diff --git a/tutorials/multifit.C b/tutorials/multifit.C deleted file mode 100644 index 9f862ac8c55b00433884842ca1fd4417c23e3764..0000000000000000000000000000000000000000 --- a/tutorials/multifit.C +++ /dev/null @@ -1,48 +0,0 @@ -{ -// To see the output of this macro, click begin_html <a href="gif/multifit.gif" >here</a> end_html -// Example showing how to fit in a sub-range of an histogram -// An histogram is created and filled with the bin contents and errors -// defined in the table below. -// 3 gaussians are fitted in sub-ranges of this histogram. -// A new function (a sum of 3 gaussians) is fitted on another subrange -// Note that when fitting simple functions, such as gaussians, the initial -// values of parameters are automatically computed by ROOT. -// In the more complicated case of the sum of 3 gaussians, the initial values -// of parameters must be given. In this particular case, the initial values -// are taken from the result of the individual fits. - - gROOT->Reset(); - const Int_t np = 49; - Float_t x[np] = {1.913521, 1.953769, 2.347435, 2.883654, 3.493567, - 4.047560, 4.337210, 4.364347, 4.563004, 5.054247, - 5.194183, 5.380521, 5.303213, 5.384578, 5.563983, - 5.728500, 5.685752, 5.080029, 4.251809, 3.372246, - 2.207432, 1.227541, 0.8597788,0.8220503,0.8046592, - 0.7684097,0.7469761,0.8019787,0.8362375,0.8744895, - 0.9143721,0.9462768,0.9285364,0.8954604,0.8410891, - 0.7853871,0.7100883,0.6938808,0.7363682,0.7032954, - 0.6029015,0.5600163,0.7477068,1.188785, 1.938228, - 2.602717, 3.472962, 4.465014, 5.177035}; - - h = new TH1F("h","Example of several fits in subranges",np,85,134); - h->SetMaximum(7); - - for (int i=0;i<np;i++) { - h->SetBinContent(i+1,x[i]); - } - - Double_t par[9]; - g1 = new TF1("g1","gaus",85,95); - g2 = new TF1("g2","gaus",98,108); - g3 = new TF1("g3","gaus",110,121); - total = new TF1("total","gaus(0)+gaus(3)+gaus(6)",85,125); - total->SetLineColor(2); - h->Fit(g1,"R"); - h->Fit(g2,"R+"); - h->Fit(g3,"R+"); - g1->GetParameters(&par[0]); - g2->GetParameters(&par[3]); - g3->GetParameters(&par[6]); - total->SetParameters(par); - h->Fit(total,"R+"); -} diff --git a/tutorials/multifit.py b/tutorials/multifit.py deleted file mode 100755 index e6ceac4ec5c4e9e96b73da9a5d56e7ab16727f4e..0000000000000000000000000000000000000000 --- a/tutorials/multifit.py +++ /dev/null @@ -1,58 +0,0 @@ -# To see the output of this macro, click begin_html <a href="gif/multifit.gif" >here</a> end_html -# Example showing how to fit in a sub-range of an histogram -# An histogram is created and filled with the bin contents and errors -# defined in the table below. -# 3 gaussians are fitted in sub-ranges of this histogram. -# A new function (a sum of 3 gaussians) is fitted on another subrange -# Note that when fitting simple functions, such as gaussians, the initial -# values of parameters are automatically computed by ROOT. -# In the more complicated case of the sum of 3 gaussians, the initial values -# of parameters must be given. In this particular case, the initial values -# are taken from the result of the individual fits. - -from ROOT import TH1F, TF1 -from ROOT import gROOT -from array import array - - -gROOT.Reset() - -x = ( 1.913521, 1.953769, 2.347435, 2.883654, 3.493567, - 4.047560, 4.337210, 4.364347, 4.563004, 5.054247, - 5.194183, 5.380521, 5.303213, 5.384578, 5.563983, - 5.728500, 5.685752, 5.080029, 4.251809, 3.372246, - 2.207432, 1.227541, 0.8597788,0.8220503,0.8046592, - 0.7684097,0.7469761,0.8019787,0.8362375,0.8744895, - 0.9143721,0.9462768,0.9285364,0.8954604,0.8410891, - 0.7853871,0.7100883,0.6938808,0.7363682,0.7032954, - 0.6029015,0.5600163,0.7477068,1.188785, 1.938228, - 2.602717, 3.472962, 4.465014, 5.177035 ) - -np = len(x) -h = TH1F( 'h', 'Example of several fits in subranges', np, 85, 134 ) -h.SetMaximum( 7 ) - -for i in xrange(np): - h.SetBinContent( i+1, x[i] ) - -par = array( 'd', 9*[0.] ) -g1 = TF1( 'g1', 'gaus', 85, 95 ) -g2 = TF1( 'g2', 'gaus', 98, 108 ) -g3 = TF1( 'g3', 'gaus', 110, 121 ) - -total = TF1( 'total', 'gaus(0)+gaus(3)+gaus(6)', 85, 125 ) -total.SetLineColor( 2 ) -h.Fit( g1, 'R' ) -h.Fit( g2, 'R+' ) -h.Fit( g3, 'R+' ) - -par1 = g1.GetParameters() -par2 = g2.GetParameters() -par3 = g3.GetParameters() - -par[0], par[1], par[2] = par1[0], par1[1], par1[2] -par[3], par[4], par[5] = par2[0], par2[1], par2[2] -par[6], par[7], par[8] = par3[0], par3[1], par3[2] - -total.SetParameters( par ) -h.Fit( total, 'R+' ) diff --git a/tutorials/multigraph.C b/tutorials/multigraph.C deleted file mode 100644 index d690cec2a954d6f2df4cc0e5f17033dbf97b5ae6..0000000000000000000000000000000000000000 --- a/tutorials/multigraph.C +++ /dev/null @@ -1,46 +0,0 @@ -{ - gROOT->Reset(); - gStyle->SetOptFit(); - c1 = new TCanvas("c1","multigraph",200,10,700,500); - c1->SetGrid(); - - // draw a frame to define the range - TMultiGraph *mg = new TMultiGraph(); - - // create first graph - Int_t n1 = 10; - Double_t x1[] = {-0.1, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95}; - Double_t y1[] = {-1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1}; - Double_t ex1[] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05}; - Double_t ey1[] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8}; - gr1 = new TGraphErrors(n1,x1,y1,ex1,ey1); - gr1->SetMarkerColor(kBlue); - gr1->SetMarkerStyle(21); - gr1->Fit("pol6","q"); - mg->Add(gr1); - - // create second graph - Int_t n2 = 10; - Float_t x2[] = {-0.28, 0.005, 0.19, 0.29, 0.45, 0.56,0.65,0.80,0.90,1.01}; - Float_t y2[] = {2.1,3.86,7,9,10,10.55,9.64,7.26,5.42,2}; - Float_t ex2[] = {.04,.12,.08,.06,.05,.04,.07,.06,.08,.04}; - Float_t ey2[] = {.6,.8,.7,.4,.3,.3,.4,.5,.6,.7}; - gr2 = new TGraphErrors(n2,x2,y2,ex2,ey2); - gr2->SetMarkerColor(kRed); - gr2->SetMarkerStyle(20); - gr2->Fit("pol5","q"); - - mg->Add(gr2); - - mg->Draw("ap"); - - //force drawing of canvas to generate the fit TPaveStats - c1->Update(); - TPaveStats *stats1 = (TPaveStats*)gr1->GetListOfFunctions()->FindObject("stats"); - TPaveStats *stats2 = (TPaveStats*)gr2->GetListOfFunctions()->FindObject("stats"); - stats1->SetTextColor(kBlue); - stats2->SetTextColor(kRed); - stats1->SetX1NDC(0.12); stats1->SetX2NDC(0.32); stats1->SetY1NDC(0.75); - stats2->SetX1NDC(0.72); stats2->SetX2NDC(0.92); stats2->SetY1NDC(0.78); - c1->Modified(); -} diff --git a/tutorials/multigraph.rb b/tutorials/multigraph.rb deleted file mode 100644 index ae889cfba09cb12c8f02d984c9b690459e399a70..0000000000000000000000000000000000000000 --- a/tutorials/multigraph.rb +++ /dev/null @@ -1,56 +0,0 @@ - -# ruby-root testsuite -# port of the original $ROOT/multigraph.C tutorial -# (02/02/2004) --elathan <elathan@phys.uoa.gr> - -gStyle.SetOptFit - -c1 = TCanvas.new("c1", "multigraph", 200, 10, 700, 500) - c1.SetGrid - -# draw a frame to define the range -mg = TMultiGraph.new - - # create first graph - n1 = 10 - x1 = [-0.1, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95] - y1 = [-1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1] - ex1 = [0.05,0.1,0.07,0.07,0.04,0.05,0.06,0.07,0.08,0.05] - ey1 = [0.8,0.7,0.6,0.5,0.4,0.4,0.5,0.6,0.7,0.8] - -gr1 = TGraphErrors.new n1, x1, y1, ex1, ey1 - gr1.SetMarkerColor kBlue - gr1.SetMarkerStyle 21 - gr1.Fit "pol6", "q" - -mg.Add gr1 - - # create second graph - n2 = 10 - x2 = [-0.28, 0.005, 0.19, 0.29, 0.45, 0.56,0.65,0.80,0.90,1.01] - y2 = [2.1,3.86,7,9,10,10.55,9.64,7.26,5.42,2] - ex2 = [0.04,0.12,0.08,0.06,0.05,0.04,0.07,0.06,0.08,0.04] - ey2 = [0.6,0.8,0.7,0.4,0.3,0.3,0.4,0.5,0.6,0.7] - -gr2 = TGraphErrors.new n2, x2, y2, ex2, ey2 - gr2.SetMarkerColor kRed - gr2.SetMarkerStyle 20 - gr2.Fit "pol5", "q" - -mg.Add gr2 - -mg.Draw "ap" - - # force drawing of canvas to generate the fit TPaveStats - c1.Update - - # see how ROOT Collections have been turned up to Ruby arrays. --elathan - stats1 = gr1.GetListOfFunctions.find { |f| f.GetName == "stats" }.as("TPaveStats") - stats2 = gr2.GetListOfFunctions.find { |f| f.GetName == "stats" }.as("TPaveStats") - - stats1.SetTextColor kBlue - stats2.SetTextColor kRed - stats1.SetX1NDC(0.12); stats1.SetX2NDC(0.32); stats1.SetY1NDC(0.75); - stats2.SetX1NDC(0.72); stats2.SetX2NDC(0.92); stats2.SetY1NDC(0.78); - c1.Modified -gApplication.Run diff --git a/tutorials/myfit.C b/tutorials/myfit.C deleted file mode 100644 index a515347b9220331c8d9abef36e12fb521f207174..0000000000000000000000000000000000000000 --- a/tutorials/myfit.C +++ /dev/null @@ -1,38 +0,0 @@ -// This macro gets in memory an histogram from a root file -// and fits a user defined function. -// Note that a user defined function must always be defined -// as in this example: -// - first parameter: array of variables (in this example only 1-dimension) -// - second parameter: array of parameters -// Note also that in case of user defined functions, one must set -// an initial value for each parameter. - -Double_t fitf(Double_t *x, Double_t *par) -{ - Double_t arg = 0; - if (par[2] != 0) arg = (x[0] - par[1])/par[2]; - - Double_t fitval = par[0]*TMath::Exp(-0.5*arg*arg); - return fitval; -} -void myfit() -{ - TFile *f = new TFile("hsimple.root"); - - TCanvas *c1 = new TCanvas("c1","the fit canvas",500,400); - - TH1F *hpx = (TH1F*)f->Get("hpx"); - -// Creates a Root function based on function fitf above - TF1 *func = new TF1("fitf",fitf,-2,2,3); - -// Sets initial values and parameter names - func->SetParameters(100,0,1); - func->SetParNames("Constant","Mean_value","Sigma"); - -// Fit histogram in range defined by function - hpx->Fit(func,"r"); - -// Gets integral of function between fit limits - printf("Integral of function = %g\n",func->Integral(-2,2)); -} diff --git a/tutorials/na49.C b/tutorials/na49.C deleted file mode 100644 index 1c0ccf43c2b5ac01bd48f7bf1fa68dc1c205036c..0000000000000000000000000000000000000000 --- a/tutorials/na49.C +++ /dev/null @@ -1,19254 +0,0 @@ -{ -// -// This file has been generated automatically via the root -// utility toroot from an interactive version of GEANT -// (see ROOT class TGeometry header for an example of use) -// - gBenchmark->Start("na49"); - -TMaterial *mat; -TMixture *mix; -TRotMatrix *rot; -TNode *Node, *Node1; - -TGeometry *na49 = new TGeometry("na49","na49.C"); - - -//-----------List of Materials and Mixtures-------------- - -mat = new TMaterial("mat1","HYDROGEN",1.01,1,.0708); -mat = new TMaterial("mat2","DEUTERIUM",2.01,1,.162); -mat = new TMaterial("mat3","HELIUM",4,2,.125); -mat = new TMaterial("mat4","LITHIUM",6.94,3,.534); -mat = new TMaterial("mat5","BERILLIUM",9.01,4,1.848); -mat = new TMaterial("mat6","CARBON",12.01,6,2.265); -mat = new TMaterial("mat7","NITROGEN",14.01,7,.808); -mat = new TMaterial("mat8","NEON",20.18,10,1.207); -mat = new TMaterial("mat9","ALUMINIUM",26.97999,13,2.7); -mat = new TMaterial("mat10","IRON",55.84999,26,7.869999); -mat = new TMaterial("mat11","COPPER",63.54,29,8.96); -mat = new TMaterial("mat12","TUNGSTEN",183.85,74,19.29999); -mat = new TMaterial("mat13","LEAD",207.19,82,11.35); -mat = new TMaterial("mat14","URANIUM",238.0299,92,18.95); -mat = new TMaterial("mat15","AIR",14.60999,7.3,.001205); -mat = new TMaterial("mat16","VACUUM",0,0,0); -mat = new TMaterial("mat17","JUNK",28.09,14,2.329999); -mat = new TMaterial("mat18","JUNK",28.09,14,2.329999); -mat = new TMaterial("mat19","JUNK",28.09,14,2.329999); -mat = new TMaterial("mat20","SILICON",28.09,14,2.329999); -mat = new TMaterial("mat21","ARGON",39.95,18,.00178); -mix = new TMixture("mix22","MYLAR",3); - mix->DefineElement(0,12.01,6,.5357684); - mix->DefineElement(1,1.008,1,.0359737); - mix->DefineElement(2,16,8,.4282579); -mat = new TMaterial("mat23","OXYGEN",16,8,.00143); -mat = new TMaterial("mat24","HE_GAS",4,2,.000178); -mix = new TMixture("mix25","PLASTIC",2); - mix->DefineElement(0,12.01,6,.9225687); - mix->DefineElement(1,1.008,1,.0774312); -mix = new TMixture("mix26","Ne-Methane",3); - mix->DefineElement(0,12.01,6,.045); - mix->DefineElement(1,1.008,1,.045); - mix->DefineElement(2,20.18,10,.91); -mix = new TMixture("mix27","Alt-Mylar",3); - mix->DefineElement(0,12.01,6,.624987); - mix->DefineElement(1,1.008,1,.0419642); - mix->DefineElement(2,16,8,.3330489); -mix = new TMixture("mix28","Ceramic Al oxide",2); - mix->DefineElement(0,26.97999,13,.5292271); - mix->DefineElement(1,16,8,.4707729); -mix = new TMixture("mix29","G10",5); - mix->DefineElement(0,28.07999,14,.4134589); - mix->DefineElement(1,16,8,.4711782); - mix->DefineElement(2,12.01,6,.0884195); - mix->DefineElement(3,16,8,.026119); - mix->DefineElement(4,1.008,1,.0008242); -mix = new TMixture("mix30","Ar-CH4-CO2",4); - mix->DefineElement(0,39.95,18,.922917); - mix->DefineElement(1,12.01,6,.0308281); - mix->DefineElement(2,1.01,1,.0051851); - mix->DefineElement(3,16,8,.0410699); -mix = new TMixture("mix31","Ne-CH4-CO2",4); - mix->DefineElement(0,20.18,10,.8581148); - mix->DefineElement(1,12.01,6,.0567446); - mix->DefineElement(2,1.01,1,.0095441); - mix->DefineElement(3,16,8,.0755965); -mix = new TMixture("mix32","steel",2); - mix->DefineElement(0,55.84999,26,.98); - mix->DefineElement(1,12.01,6,.02); -mix = new TMixture("mix33","cu/he(liq)",2); - mix->DefineElement(0,63.54,29,.5); - mix->DefineElement(1,4,2,.5); -mix = new TMixture("mix34","ROHACELL",2); - mix->DefineElement(0,12.01,6,.9225687); - mix->DefineElement(1,1.008,1,.0774312); - -//-----------List of Rotation matrices-------------- - -rot = new TRotMatrix("rot1","rot1",90,0,90,90,0,0); -rot = new TRotMatrix("rot2","rot2",0,0,90,90,-90,0); -rot = new TRotMatrix("rot3","rot3",90,0,180,0,90,90); -rot = new TRotMatrix("rot4","rot4",90.01428,0,90,90,.0143,0); -rot = new TRotMatrix("rot5","rot5",0,0,90,90,-90,0); -rot = new TRotMatrix("rot6","rot6",90,0,180,0,90,90); -rot = new TRotMatrix("rot7","rot7",90.91,0,90,90,.91,0); -rot = new TRotMatrix("rot8","rot8",0,0,90,90,-90,0); -rot = new TRotMatrix("rot9","rot9",90,0,180,0,90,90); -rot = new TRotMatrix("rot10","rot10",89.09078,0,90,90,-.9092,0); -rot = new TRotMatrix("rot11","rot11",0,0,90,90,-90,0); -rot = new TRotMatrix("rot12","rot12",90,0,180,0,90,90); -rot = new TRotMatrix("rot13","rot13",90,0,90,90,0,0); -rot = new TRotMatrix("rot14","rot14",0,0,-90,-90,90,0); -rot = new TRotMatrix("rot15","rot15",0,0,90,90,90,180); -rot = new TRotMatrix("rot16","rot16",0,0,90,0,90,270); -rot = new TRotMatrix("rot17","rot17",90,0,90,90,0,0); -rot = new TRotMatrix("rot18","rot18",180,0,90,90,90,0); -rot = new TRotMatrix("rot19","rot19",99.36003,-.11693,89.49217,89.79933,9.37364,-3.27835); -rot = new TRotMatrix("rot20","rot20",57.86269,.000018,88.33925,91.0436,32.19057,-176.317); -rot = new TRotMatrix("rot21","rot21",58.17374,.0000113,88.33833,91.0316,31.87966,-176.294); -rot = new TRotMatrix("rot22","rot22",58.48377,0,88.33753,91.01972,31.56999,-176.272); -rot = new TRotMatrix("rot23","rot23",58.79278,.0000501,88.33676,91.00794,31.26147,-176.251); -rot = new TRotMatrix("rot24","rot24",59.10073,.0000296,88.33598,90.99616,30.95392,-176.227); -rot = new TRotMatrix("rot25","rot25",59.40774,.0000045,88.33535,90.98458,30.64715,-176.203); -rot = new TRotMatrix("rot26","rot26",59.71366,.0000423,88.3347,90.9729,30.34159,-176.179); -rot = new TRotMatrix("rot27","rot27",60.01855,.0000099,88.33409,90.96138,30.03718,-176.154); -rot = new TRotMatrix("rot28","rot28",60.32246,.0000397,88.33354,90.94995,29.73385,-176.13); -rot = new TRotMatrix("rot29","rot29",60.62533,.0000661,88.33312,90.93859,29.43115,-176.104); -rot = new TRotMatrix("rot30","rot30",60.92726,.000023,88.33264,90.92727,29.12961,-176.078); -rot = new TRotMatrix("rot31","rot31",61.22826,.0000417,88.33219,90.91607,28.82899,-176.052); -rot = new TRotMatrix("rot32","rot32",61.52822,.0000575,88.33193,90.9049,28.52949,-176.024); -rot = new TRotMatrix("rot33","rot33",61.82722,.0000703,88.33157,90.89388,28.23106,-175.996); -rot = new TRotMatrix("rot34","rot34",62.12517,.0000805,88.33126,90.88288,27.93335,-175.966); -rot = new TRotMatrix("rot35","rot35",62.42227,.0000225,88.33109,90.87194,27.63664,-175.938); -rot = new TRotMatrix("rot36","rot36",62.71846,-.000038,88.33091,90.86103,27.34111,-175.908); -rot = new TRotMatrix("rot37","rot37",63.01359,.0000281,88.33061,90.85028,27.04641,-175.876); -rot = new TRotMatrix("rot38","rot38",63.30775,.000028,88.33052,90.8396,26.75243,-175.845); -rot = new TRotMatrix("rot39","rot39",63.60116,.0000239,88.3304,90.829,26.45977,-175.813); -rot = new TRotMatrix("rot40","rot40",63.8935,.0000191,88.33029,90.81845,26.16778,-175.781); -rot = new TRotMatrix("rot41","rot41",64.18509,.0000104,88.33025,90.80793,25.87672,-175.746); -rot = new TRotMatrix("rot42","rot42",64.47573,.0000003,88.33023,90.79753,25.58669,-175.712); -rot = new TRotMatrix("rot43","rot43",64.76531,.0000529,88.3302,90.7872,25.29737,-175.677); -rot = new TRotMatrix("rot44","rot44",65.05416,.0000386,88.33014,90.77699,25.00943,-175.639); -rot = new TRotMatrix("rot45","rot45",65.3421,.000023,88.33014,90.76676,24.72167,-175.602); -rot = new TRotMatrix("rot46","rot46",65.62918,.0000686,88.33029,90.75662,24.4354,-175.565); -rot = new TRotMatrix("rot47","rot47",57.86846,.0000391,90,89.99996,32.13132,180); -rot = new TRotMatrix("rot48","rot48",58.18638,.0000441,90,89.99996,31.81336,180); -rot = new TRotMatrix("rot49","rot49",58.50265,.0000485,90,89.99996,31.49711,180); -rot = new TRotMatrix("rot50","rot50",58.81747,-.000015,90,89.99996,31.18238,-180); -rot = new TRotMatrix("rot51","rot51",59.13068,-.000012,90,89.99996,30.86908,180); -rot = new TRotMatrix("rot52","rot52",59.44234,-.00001,90,89.99996,30.55751,180); -rot = new TRotMatrix("rot53","rot53",59.75231,-.000007,90,89.99996,30.24748,180); -rot = new TRotMatrix("rot54","rot54",60.06084,-.000004,90,89.99996,29.93901,180); -rot = new TRotMatrix("rot55","rot55",60.36772,0,90,89.99996,29.63205,180); -rot = new TRotMatrix("rot56","rot56",60.67313,.0000038,90,89.99996,29.32662,-180); -rot = new TRotMatrix("rot57","rot57",60.97692,.000009,90,90.00003,29.02309,-180); -rot = new TRotMatrix("rot58","rot58",61.27917,.0000159,90,89.99996,28.72061,180); -rot = new TRotMatrix("rot59","rot59",61.57992,.0000234,90,89.99996,28.41976,180); -rot = new TRotMatrix("rot60","rot60",61.87918,.0000321,90,89.99996,28.1205,180); -rot = new TRotMatrix("rot61","rot61",62.17697,.0000418,90,89.99996,27.82294,180); -rot = new TRotMatrix("rot62","rot62",62.47319,.0000541,90,90.00003,27.52667,-180); -rot = new TRotMatrix("rot63","rot63",62.76794,.0000032,90,89.99996,27.23184,-180); -rot = new TRotMatrix("rot64","rot64",63.06113,.0000196,90,89.99996,26.93868,180); -rot = new TRotMatrix("rot65","rot65",63.35295,.0000374,90,89.99996,26.64686,180); -rot = new TRotMatrix("rot66","rot66",63.64316,.0000584,90,89.99996,26.35663,-180); -rot = new TRotMatrix("rot67","rot67",63.93204,.0000808,90,89.99996,26.06772,180); -rot = new TRotMatrix("rot68","rot68",64.21939,-.000021,90,89.99996,25.78035,180); -rot = new TRotMatrix("rot69","rot69",64.50525,.0000075,90,89.99996,25.49456,180); -rot = new TRotMatrix("rot70","rot70",64.78968,.0000388,90,89.99996,25.2101,180); -rot = new TRotMatrix("rot71","rot71",65.07283,.0000088,90,89.99996,24.92683,180); -rot = new TRotMatrix("rot72","rot72",65.35439,.000046,90,89.99996,24.6453,180); -rot = new TRotMatrix("rot73","rot73",65.63462,.000023,90,89.99996,24.36492,180); -rot = new TRotMatrix("rot74","rot74",57.86269,.000018,91.66065,88.95641,32.19052,176.3166); -rot = new TRotMatrix("rot75","rot75",58.17374,.0000113,91.66165,88.96839,31.87965,176.2949); -rot = new TRotMatrix("rot76","rot76",58.48377,0,91.66245,88.98029,31.56996,176.2731); -rot = new TRotMatrix("rot77","rot77",58.79278,.0000501,91.66316,88.99208,31.26147,176.2507); -rot = new TRotMatrix("rot78","rot78",59.10073,.0000296,91.66396,89.00386,30.95392,176.2276); -rot = new TRotMatrix("rot79","rot79",59.40774,.0000045,91.66459,89.01548,30.64715,176.2041); -rot = new TRotMatrix("rot80","rot80",59.71366,.0000423,91.66523,89.02713,30.34159,176.1802); -rot = new TRotMatrix("rot81","rot81",60.01855,.0000099,91.66586,89.03864,30.03718,176.1555); -rot = new TRotMatrix("rot82","rot82",60.32246,.0000397,91.66635,89.05007,29.73385,176.1304); -rot = new TRotMatrix("rot83","rot83",60.62533,.0000661,91.66683,89.06143,29.43115,176.1049); -rot = new TRotMatrix("rot84","rot84",60.92726,.000023,91.66729,89.07273,29.12961,176.0785); -rot = new TRotMatrix("rot85","rot85",61.22826,.0000417,91.66776,89.08393,28.82896,176.0516); -rot = new TRotMatrix("rot86","rot86",61.52822,.0000575,91.66802,89.0951,28.52947,176.0243); -rot = new TRotMatrix("rot87","rot87",61.82722,.0000703,91.66834,89.10614,28.23101,175.9963); -rot = new TRotMatrix("rot88","rot88",62.12517,.0000805,91.6687,89.11714,27.9333,175.9674); -rot = new TRotMatrix("rot89","rot89",62.42227,.0000225,91.66887,89.12808,27.63656,175.9382); -rot = new TRotMatrix("rot90","rot90",62.71846,-.000038,91.66903,89.13893,27.34103,175.9082); -rot = new TRotMatrix("rot91","rot91",63.01359,.0000281,91.66935,89.14968,27.0464,175.8771); -rot = new TRotMatrix("rot92","rot92",63.30775,.000028,91.66938,89.16036,26.75238,175.8459); -rot = new TRotMatrix("rot93","rot93",63.60116,.0000239,91.6695,89.17098,26.45972,175.8137); -rot = new TRotMatrix("rot94","rot94",63.8935,.0000191,91.66963,89.18158,26.16782,175.7807); -rot = new TRotMatrix("rot95","rot95",64.18509,.0000104,91.66967,89.19203,25.87673,175.7469); -rot = new TRotMatrix("rot96","rot96",64.47573,.0000003,91.6697,89.20249,25.58666,175.7122); -rot = new TRotMatrix("rot97","rot97",64.76531,.0000529,91.66973,89.21282,25.29743,175.6768); -rot = new TRotMatrix("rot98","rot98",65.05416,.0000386,91.66983,89.22303,25.00947,175.6401); -rot = new TRotMatrix("rot99","rot99",65.3421,.000023,91.66973,89.23329,24.72167,175.6031); -rot = new TRotMatrix("rot100","rot100",65.62918,.0000686,91.66966,89.2434,24.43536,175.565); - -//-----------List of Volumes-------------- - -TBRIK *CAVE = new TBRIK("CAVE","CAVE","mat15",600,200,2000); - CAVE->SetVisibility(0); -TTUBE *TGT1 = new TTUBE("TGT1","TGT1","mat13",0,.5,.0098678); -TBRIK *VETO = new TBRIK("VETO","VETO","mix31",200,200,.5); -TBRIK *VT1_ = new TBRIK("VT1_","VT1_","mix31",98.75,46.04999,128.75); -TBRIK *HV1_ = new TBRIK("HV1_","HV1_","mix29",97.25,2.8,127.25); -TBRIK *HV1I = new TBRIK("HV1I","HV1I","mat15",97,2.55,127); -TBRIK *OGB1 = new TBRIK("OGB1","OGB1","mix31",98.75,36,128.75); -TBRIK *IGB1 = new TBRIK("IGB1","IGB1","mix31",93.55,34.5,123.9); -TBRIK *FCL1 = new TBRIK("FCL1","FCL1","mix31",40.22998,34.5,120.23); -TBRIK *FCR1 = new TBRIK("FCR1","FCR1","mix31",40.22998,34.5,120.23); -TBRIK *SVL1 = new TBRIK("SVL1","SVL1","mix31",35.5,34.5,113.5); -TBRIK *SVR1 = new TBRIK("SVR1","SVR1","mix31",35.5,34.5,113.5); -TTUBE *T1R1 = new TTUBE("T1R1","T1R1","mix28",1.7,1.975,34.5); -TTUBE *T2R1 = new TTUBE("T2R1","T2R1","mix28",1.7,1.975,34.5); -TTUBE *T3R1 = new TTUBE("T3R1","T3R1","mix28",.4,.6,34.5); -TTUBE *T4R1 = new TTUBE("T4R1","T4R1","mix28",1.7,1.975,34.5); -TTUBE *T5R1 = new TTUBE("T5R1","T5R1","mix28",1.7,1.975,34.5); -TTUBE *T6R1 = new TTUBE("T6R1","T6R1","mix28",.4,.6,34.5); -TTUBE *T1L1 = new TTUBE("T1L1","T1L1","mix28",1.7,1.975,34.5); -TTUBE *T2L1 = new TTUBE("T2L1","T2L1","mix28",1.7,1.975,34.5); -TTUBE *T3L1 = new TTUBE("T3L1","T3L1","mix28",.4,.6,34.5); -TTUBE *T4L1 = new TTUBE("T4L1","T4L1","mix28",1.7,1.975,34.5); -TTUBE *T5L1 = new TTUBE("T5L1","T5L1","mix28",1.7,1.975,34.5); -TTUBE *T6L1 = new TTUBE("T6L1","T6L1","mix28",.4,.6,34.5); -TBRIK *SEC1 = new TBRIK("SEC1","SEC1","mix31",34.66889,34.5,35.39999); -TBRIK *PR1_ = new TBRIK("PR1_","PR1_","mix31",34.66889,34.5,1.4); -TBRIK *OG1A = new TBRIK("OG1A","OG1A","mix29",98.75,3.25,.3); -TBRIK *OG1B = new TBRIK("OG1B","OG1B","mix29",98.75,3.25,.3); -TBRIK *OG1C = new TBRIK("OG1C","OG1C","mix29",.3,3.25,128.1499); -TBRIK *OG1D = new TBRIK("OG1D","OG1D","mix29",.3,3.25,128.1499); -TBRIK *OG1E = new TBRIK("OG1E","OG1E","mix29",98.75,3.25,.3); -TBRIK *OG1F = new TBRIK("OG1F","OG1F","mix29",98.75,3.25,.3); -TBRIK *OG1G = new TBRIK("OG1G","OG1G","mix29",.3,3.25,128.1499); -TBRIK *OG1H = new TBRIK("OG1H","OG1H","mix29",.3,3.25,128.1499); -TBRIK *OG1I = new TBRIK("OG1I","OG1I","mix29",.3,29.5,5.65); -TBRIK *OG1J = new TBRIK("OG1J","OG1J","mix29",.3,29.5,5.65); -TBRIK *OG1K = new TBRIK("OG1K","OG1K","mix29",2.15,29.5,.3); -TBRIK *OG1L = new TBRIK("OG1L","OG1L","mix29",2.15,29.5,.3); -TBRIK *OG1M = new TBRIK("OG1M","OG1M","mix29",.3,29.5,1.85); -TBRIK *OG1N = new TBRIK("OG1N","OG1N","mix29",.3,29.5,1.85); -TBRIK *OG1O = new TBRIK("OG1O","OG1O","mix29",2.15,29.5,.3); -TBRIK *OG1P = new TBRIK("OG1P","OG1P","mix29",2.15,29.5,.3); -TBRIK *OG1Q = new TBRIK("OG1Q","OG1Q","mix29",.3,29.5,1.85); -TBRIK *OG1R = new TBRIK("OG1R","OG1R","mix29",.3,29.5,1.85); -TBRIK *OG1S = new TBRIK("OG1S","OG1S","mix22",94.44998,29.5,.00625); -TBRIK *OG1T = new TBRIK("OG1T","OG1T","mix22",.00625,29.5,59.39999); -TBRIK *OG1U = new TBRIK("OG1U","OG1U","mix22",.00625,29.5,59.39999); -TBRIK *OG1V = new TBRIK("OG1V","OG1V","mix22",94.44998,29.5,.00625); -TBRIK *OG1W = new TBRIK("OG1W","OG1W","mix22",.00625,29.5,59.39999); -TBRIK *OG1X = new TBRIK("OG1X","OG1X","mix22",.00625,29.5,59.39999); -TBRIK *IG1A = new TBRIK("IG1A","IG1A","mix29",93.55,3.25,.3); -TBRIK *IG1B = new TBRIK("IG1B","IG1B","mix29",93.55,3.25,.3); -TBRIK *IG1C = new TBRIK("IG1C","IG1C","mix29",.3,3.25,123.3); -TBRIK *IG1D = new TBRIK("IG1D","IG1D","mix29",.3,3.25,123.3); -TBRIK *IG1E = new TBRIK("IG1E","IG1E","mix29",93.55,3.25,.3); -TBRIK *IG1F = new TBRIK("IG1F","IG1F","mix29",93.55,3.25,.3); -TBRIK *IG1G = new TBRIK("IG1G","IG1G","mix29",.3,3.25,123.3); -TBRIK *IG1H = new TBRIK("IG1H","IG1H","mix29",.3,3.25,123.3); -TBRIK *IG1I = new TBRIK("IG1I","IG1I","mix29",.3,28,5.65); -TBRIK *IG1J = new TBRIK("IG1J","IG1J","mix29",.3,28,5.65); -TBRIK *IG1K = new TBRIK("IG1K","IG1K","mix29",2.15,28,.3); -TBRIK *IG1L = new TBRIK("IG1L","IG1L","mix29",2.15,28,.3); -TBRIK *IG1M = new TBRIK("IG1M","IG1M","mix29",.3,28,1.85); -TBRIK *IG1N = new TBRIK("IG1N","IG1N","mix29",.3,28,1.85); -TBRIK *IG1O = new TBRIK("IG1O","IG1O","mix29",2.15,28,.3); -TBRIK *IG1P = new TBRIK("IG1P","IG1P","mix29",2.15,28,.3); -TBRIK *IG1Q = new TBRIK("IG1Q","IG1Q","mix29",.3,28,1.85); -TBRIK *IG1R = new TBRIK("IG1R","IG1R","mix29",.3,28,1.85); -TBRIK *IG1S = new TBRIK("IG1S","IG1S","mix22",89.25,28,.00625); -TBRIK *IG1T = new TBRIK("IG1T","IG1T","mix22",.00625,28,56.97499); -TBRIK *IG1U = new TBRIK("IG1U","IG1U","mix22",.00625,28,56.97499); -TBRIK *IG1V = new TBRIK("IG1V","IG1V","mix22",89.25,28,.00625); -TBRIK *IG1W = new TBRIK("IG1W","IG1W","mix22",.00625,28,56.97499); -TBRIK *IG1X = new TBRIK("IG1X","IG1X","mix22",.00625,28,56.97499); -TBRIK *ST1A = new TBRIK("ST1A","ST1A","mix22",38.25,.6349999,.00125); -TBRIK *ST1B = new TBRIK("ST1B","ST1B","mix22",.00125,.6349999,118.25); -TBRIK *TF1A = new TBRIK("TF1A","TF1A","mat9",6.074999,7.25,127.75); -TBRIK *TF1B = new TBRIK("TF1B","TF1B","mat9",8.5,7.25,127.75); -TTUBE *TF1C = new TTUBE("TF1C","TF1C","mat15",0,2.5,127.75); -TBRIK *TF1D = new TBRIK("TF1D","TF1D","mat9",38.59999,7.25,6.074999); -TBRIK *TF1E = new TBRIK("TF1E","TF1E","mat9",1.175,.4499999,115.5998); -TBRIK *TF1F = new TBRIK("TF1F","TF1F","mat9",36.25,.4499999,1.175); -TBRIK *TF1G = new TBRIK("TF1G","TF1G","mat9",36.25,.4499999,2.25); -TBRIK *TF1I = new TBRIK("TF1I","TF1I","mat9",34.59999,3,34.59999); -TBRIK *TF1J = new TBRIK("TF1J","TF1J","mat15",4.75,3,10.3); -TBRIK *TF1K = new TBRIK("TF1K","TF1K","mat15",34.59999,1.25,9.85); -TBRIK *TF1L = new TBRIK("TF1L","TF1L","mat15",34.59999,1.25,3.349999); -TBRIK *TF1M = new TBRIK("TF1M","TF1M","mat9",4.75,.3,10.3); -TBRIK *TF1N = new TBRIK("TF1N","TF1N","mix29",.6,3,4.5); -TBRIK *VT2_ = new TBRIK("VT2_","VT2_","mix31",98.75,46.04999,128.75); -TBRIK *HV2_ = new TBRIK("HV2_","HV2_","mix29",97.25,2.8,127.25); -TBRIK *HV2I = new TBRIK("HV2I","HV2I","mat15",97,2.55,127); -TBRIK *OGB2 = new TBRIK("OGB2","OGB2","mix31",98.75,36,128.75); -TBRIK *IGB2 = new TBRIK("IGB2","IGB2","mix31",93.55,34.5,123.9); -TBRIK *FCL2 = new TBRIK("FCL2","FCL2","mix31",40.22998,34.5,120.23); -TBRIK *FCR2 = new TBRIK("FCR2","FCR2","mix31",40.22998,34.5,120.23); -TBRIK *SVL2 = new TBRIK("SVL2","SVL2","mix31",35.5,34.5,113.5); -TBRIK *SVR2 = new TBRIK("SVR2","SVR2","mix31",35.5,34.5,113.5); -TTUBE *T1R2 = new TTUBE("T1R2","T1R2","mix28",1.7,1.975,34.5); -TTUBE *T2R2 = new TTUBE("T2R2","T2R2","mix28",1.7,1.975,34.5); -TTUBE *T3R2 = new TTUBE("T3R2","T3R2","mix28",.4,.6,34.5); -TTUBE *T4R2 = new TTUBE("T4R2","T4R2","mix28",1.7,1.975,34.5); -TTUBE *T5R2 = new TTUBE("T5R2","T5R2","mix28",1.7,1.975,34.5); -TTUBE *T6R2 = new TTUBE("T6R2","T6R2","mix28",.4,.6,34.5); -TTUBE *T1L2 = new TTUBE("T1L2","T1L2","mix28",1.7,1.975,34.5); -TTUBE *T2L2 = new TTUBE("T2L2","T2L2","mix28",1.7,1.975,34.5); -TTUBE *T3L2 = new TTUBE("T3L2","T3L2","mix28",.4,.6,34.5); -TTUBE *T4L2 = new TTUBE("T4L2","T4L2","mix28",1.7,1.975,34.5); -TTUBE *T5L2 = new TTUBE("T5L2","T5L2","mix28",1.7,1.975,34.5); -TTUBE *T6L2 = new TTUBE("T6L2","T6L2","mix28",.4,.6,34.5); -TBRIK *SEC2 = new TBRIK("SEC2","SEC2","mix31",34.66889,34.5,35.39999); -TBRIK *PR2_ = new TBRIK("PR2_","PR2_","mix31",34.66889,34.5,1.4); -TBRIK *OG2A = new TBRIK("OG2A","OG2A","mix29",98.75,3.25,.3); -TBRIK *OG2B = new TBRIK("OG2B","OG2B","mix29",98.75,3.25,.3); -TBRIK *OG2C = new TBRIK("OG2C","OG2C","mix29",.3,3.25,128.1499); -TBRIK *OG2D = new TBRIK("OG2D","OG2D","mix29",.3,3.25,128.1499); -TBRIK *OG2E = new TBRIK("OG2E","OG2E","mix29",98.75,3.25,.3); -TBRIK *OG2F = new TBRIK("OG2F","OG2F","mix29",98.75,3.25,.3); -TBRIK *OG2G = new TBRIK("OG2G","OG2G","mix29",.3,3.25,128.1499); -TBRIK *OG2H = new TBRIK("OG2H","OG2H","mix29",.3,3.25,128.1499); -TBRIK *OG2I = new TBRIK("OG2I","OG2I","mix29",.3,29.5,5.65); -TBRIK *OG2J = new TBRIK("OG2J","OG2J","mix29",.3,29.5,5.65); -TBRIK *OG2K = new TBRIK("OG2K","OG2K","mix29",2.15,29.5,.3); -TBRIK *OG2L = new TBRIK("OG2L","OG2L","mix29",2.15,29.5,.3); -TBRIK *OG2M = new TBRIK("OG2M","OG2M","mix29",.3,29.5,1.85); -TBRIK *OG2N = new TBRIK("OG2N","OG2N","mix29",.3,29.5,1.85); -TBRIK *OG2O = new TBRIK("OG2O","OG2O","mix29",2.15,29.5,.3); -TBRIK *OG2P = new TBRIK("OG2P","OG2P","mix29",2.15,29.5,.3); -TBRIK *OG2Q = new TBRIK("OG2Q","OG2Q","mix29",.3,29.5,1.85); -TBRIK *OG2R = new TBRIK("OG2R","OG2R","mix29",.3,29.5,1.85); -TBRIK *OG2S = new TBRIK("OG2S","OG2S","mix22",94.44998,29.5,.00625); -TBRIK *OG2T = new TBRIK("OG2T","OG2T","mix22",.00625,29.5,59.39999); -TBRIK *OG2U = new TBRIK("OG2U","OG2U","mix22",.00625,29.5,59.39999); -TBRIK *OG2V = new TBRIK("OG2V","OG2V","mix22",94.44998,29.5,.00625); -TBRIK *OG2W = new TBRIK("OG2W","OG2W","mix22",.00625,29.5,59.39999); -TBRIK *OG2X = new TBRIK("OG2X","OG2X","mix22",.00625,29.5,59.39999); -TBRIK *IG2A = new TBRIK("IG2A","IG2A","mix29",93.55,3.25,.3); -TBRIK *IG2B = new TBRIK("IG2B","IG2B","mix29",93.55,3.25,.3); -TBRIK *IG2C = new TBRIK("IG2C","IG2C","mix29",.3,3.25,123.3); -TBRIK *IG2D = new TBRIK("IG2D","IG2D","mix29",.3,3.25,123.3); -TBRIK *IG2E = new TBRIK("IG2E","IG2E","mix29",93.55,3.25,.3); -TBRIK *IG2F = new TBRIK("IG2F","IG2F","mix29",93.55,3.25,.3); -TBRIK *IG2G = new TBRIK("IG2G","IG2G","mix29",.3,3.25,123.3); -TBRIK *IG2H = new TBRIK("IG2H","IG2H","mix29",.3,3.25,123.3); -TBRIK *IG2I = new TBRIK("IG2I","IG2I","mix29",.3,28,5.65); -TBRIK *IG2J = new TBRIK("IG2J","IG2J","mix29",.3,28,5.65); -TBRIK *IG2K = new TBRIK("IG2K","IG2K","mix29",2.15,28,.3); -TBRIK *IG2L = new TBRIK("IG2L","IG2L","mix29",2.15,28,.3); -TBRIK *IG2M = new TBRIK("IG2M","IG2M","mix29",.3,28,1.85); -TBRIK *IG2N = new TBRIK("IG2N","IG2N","mix29",.3,28,1.85); -TBRIK *IG2O = new TBRIK("IG2O","IG2O","mix29",2.15,28,.3); -TBRIK *IG2P = new TBRIK("IG2P","IG2P","mix29",2.15,28,.3); -TBRIK *IG2Q = new TBRIK("IG2Q","IG2Q","mix29",.3,28,1.85); -TBRIK *IG2R = new TBRIK("IG2R","IG2R","mix29",.3,28,1.85); -TBRIK *IG2S = new TBRIK("IG2S","IG2S","mix22",89.25,28,.00625); -TBRIK *IG2T = new TBRIK("IG2T","IG2T","mix22",.00625,28,56.97499); -TBRIK *IG2U = new TBRIK("IG2U","IG2U","mix22",.00625,28,56.97499); -TBRIK *IG2V = new TBRIK("IG2V","IG2V","mix22",89.25,28,.00625); -TBRIK *IG2W = new TBRIK("IG2W","IG2W","mix22",.00625,28,56.97499); -TBRIK *IG2X = new TBRIK("IG2X","IG2X","mix22",.00625,28,56.97499); -TBRIK *ST2A = new TBRIK("ST2A","ST2A","mix22",38.25,.6349999,.00125); -TBRIK *ST2B = new TBRIK("ST2B","ST2B","mix22",.00125,.6349999,118.25); -TBRIK *TF2A = new TBRIK("TF2A","TF2A","mat9",6.074999,7.25,127.75); -TBRIK *TF2B = new TBRIK("TF2B","TF2B","mat9",8.5,7.25,127.75); -TTUBE *TF2C = new TTUBE("TF2C","TF2C","mat15",0,2.5,127.75); -TBRIK *TF2D = new TBRIK("TF2D","TF2D","mat9",38.59999,7.25,6.074999); -TBRIK *TF2E = new TBRIK("TF2E","TF2E","mat9",1.175,.4499999,115.5998); -TBRIK *TF2F = new TBRIK("TF2F","TF2F","mat9",36.25,.4499999,1.175); -TBRIK *TF2G = new TBRIK("TF2G","TF2G","mat9",36.25,.4499999,2.25); -TBRIK *TF2I = new TBRIK("TF2I","TF2I","mat9",34.59999,3,34.59999); -TBRIK *TF2J = new TBRIK("TF2J","TF2J","mat15",4.75,3,10.3); -TBRIK *TF2K = new TBRIK("TF2K","TF2K","mat15",34.59999,1.25,9.85); -TBRIK *TF2L = new TBRIK("TF2L","TF2L","mat15",34.59999,1.25,3.349999); -TBRIK *TF2M = new TBRIK("TF2M","TF2M","mat9",4.75,.3,10.3); -TBRIK *TF2N = new TBRIK("TF2N","TF2N","mix29",.6,3,4.5); -TBRIK *MTL_ = new TBRIK("MTL_","MTL_","mix30",191.6,89,191.6); -TBRIK *HV3_ = new TBRIK("HV3_","HV3_","mix29",191.6,5.5,191.6); -TBRIK *HV3I = new TBRIK("HV3I","HV3I","mat15",191.35,5.25,191.35); -TBRIK *OGB3 = new TBRIK("OGB3","OGB3","mix30",191.6,64.5,191.6); -TBRIK *IGB3 = new TBRIK("IGB3","IGB3","mix30",188.5,63.5,188.5); -TBRIK *FC3_ = new TBRIK("FC3_","FC3_","mix30",185.3999,60,185.3999); -TBRIK *SV3_ = new TBRIK("SV3_","SV3_","mix30",182.8999,57.5,182.8999); -TTUBE *T013 = new TTUBE("T013","T013","mix28",2.13,2.474999,57.95999); -TTUBE *T023 = new TTUBE("T023","T023","mix28",1.72,1.975,57.95999); -TTUBE *T033 = new TTUBE("T033","T033","mix28",1.72,1.975,57.95999); -TTUBE *T043 = new TTUBE("T043","T043","mix28",2.13,2.474999,57.95999); -TTUBE *T053 = new TTUBE("T053","T053","mix28",1.72,1.975,57.95999); -TTUBE *T063 = new TTUBE("T063","T063","mix28",1.72,1.975,57.95999); -TTUBE *T073 = new TTUBE("T073","T073","mix28",2.13,2.474999,57.95999); -TTUBE *T083 = new TTUBE("T083","T083","mix28",1.72,1.975,57.95999); -TTUBE *T093 = new TTUBE("T093","T093","mix28",1.72,1.975,57.95999); -TTUBE *T103 = new TTUBE("T103","T103","mix28",2.13,2.474999,57.95999); -TTUBE *T113 = new TTUBE("T113","T113","mix28",1.72,1.975,57.95999); -TTUBE *T123 = new TTUBE("T123","T123","mix28",1.72,1.975,57.95999); -TBRIK *SEC3 = new TBRIK("SEC3","SEC3","mix30",34.88,57.5,35.52497); -TBRIK *PR3_ = new TBRIK("PR3_","PR3_","mix30",34.88,57.5,1.95); -TBRIK *OG3A = new TBRIK("OG3A","OG3A","mix29",191.6,3.25,.3); -TBRIK *OG3B = new TBRIK("OG3B","OG3B","mix29",.3,3.25,191); -TBRIK *OG3C = new TBRIK("OG3C","OG3C","mix29",.3,58,5.65); -TBRIK *OG3D = new TBRIK("OG3D","OG3D","mix29",5.65,58,.3); -TBRIK *OG3E = new TBRIK("OG3E","OG3E","mix29",1.85,58,.3); -TBRIK *OG3F = new TBRIK("OG3F","OG3F","mix29",.3,58,2.15); -TBRIK *OG3G = new TBRIK("OG3G","OG3G","mix22",90.82499,58,.00625); -TBRIK *OG3H = new TBRIK("OG3H","OG3H","mix22",.00625,58,90.82499); -TBRIK *IG3A = new TBRIK("IG3A","IG3A","mix29",188.5,3.25,.3); -TBRIK *IG3B = new TBRIK("IG3B","IG3B","mix29",.3,3.25,187.8999); -TBRIK *IG3C = new TBRIK("IG3C","IG3C","mix29",.3,57,5.65); -TBRIK *IG3D = new TBRIK("IG3D","IG3D","mix29",5.65,57,.3); -TBRIK *IG3E = new TBRIK("IG3E","IG3E","mix29",1.85,57,.3); -TBRIK *IG3F = new TBRIK("IG3F","IG3F","mix29",.3,57,2.15); -TBRIK *ST3A = new TBRIK("ST3A","ST3A","mix22",182.5,.6349999,.00125); -TBRIK *ST3B = new TBRIK("ST3B","ST3B","mix22",.00125,.6349999,182.5); -TBRIK *TF3A = new TBRIK("TF3A","TF3A","mat9",191,1.5,6.8); -TBRIK *TF3B = new TBRIK("TF3B","TF3B","mat9",6.8,1.5,191); -TBRIK *TF3C = new TBRIK("TF3C","TF3C","mat9",177.3999,1.5,3.099999); -TBRIK *TF3D = new TBRIK("TF3D","TF3D","mat9",3.099999,1.5,177.3999); -TBRIK *TF3E = new TBRIK("TF3E","TF3E","mat9",191,17.2,.5); -TBRIK *TF3F = new TBRIK("TF3F","TF3F","mat9",.5,17.2,191); -TTUBE *TF3G = new TTUBE("TF3G","TF3G","mat15",0,12,.5); -TTUBE *TF3H = new TTUBE("TF3H","TF3H","mat15",0,12,.5); -TBRIK *TF3I = new TBRIK("TF3I","TF3I","mat9",34.59999,3,34.59999); -TBRIK *TF3J = new TBRIK("TF3J","TF3J","mat15",4.75,3,10.3); -TBRIK *TF3K = new TBRIK("TF3K","TF3K","mat15",34.59999,1.25,9.85); -TBRIK *TF3L = new TBRIK("TF3L","TF3L","mat15",34.59999,1.25,3.349999); -TBRIK *TF3M = new TBRIK("TF3M","TF3M","mat9",4.75,.3,10.3); -TBRIK *TF3N = new TBRIK("TF3N","TF3N","mix29",.6,3,4.5); -TBRIK *TF3O = new TBRIK("TF3O","TF3O","mat9",34.59999,3,34.59999); -TBRIK *TF3P = new TBRIK("TF3P","TF3P","mat15",5.25,3,8.024999); -TBRIK *TF3Q = new TBRIK("TF3Q","TF3Q","mat15",34.59999,1.25,9.85); -TBRIK *TF3R = new TBRIK("TF3R","TF3R","mat15",34.59999,1.25,3.349999); -TBRIK *TF3S = new TBRIK("TF3S","TF3S","mat9",5.25,.3,8.024999); -TBRIK *TF3T = new TBRIK("TF3T","TF3T","mix29",.6,3,4.5); -TBRIK *MTR_ = new TBRIK("MTR_","MTR_","mix30",191.6,89,191.6); -TBRIK *HV4_ = new TBRIK("HV4_","HV4_","mix29",191.6,5.5,191.6); -TBRIK *HV4I = new TBRIK("HV4I","HV4I","mat15",191.35,5.25,191.35); -TBRIK *OGB4 = new TBRIK("OGB4","OGB4","mix30",191.6,64.5,191.6); -TBRIK *IGB4 = new TBRIK("IGB4","IGB4","mix30",188.5,63.5,188.5); -TBRIK *FC4_ = new TBRIK("FC4_","FC4_","mix30",185.3999,60,185.3999); -TBRIK *SV4_ = new TBRIK("SV4_","SV4_","mix30",182.8999,57.5,182.8999); -TTUBE *T014 = new TTUBE("T014","T014","mix28",2.13,2.474999,57.95999); -TTUBE *T024 = new TTUBE("T024","T024","mix28",1.72,1.975,57.95999); -TTUBE *T034 = new TTUBE("T034","T034","mix28",1.72,1.975,57.95999); -TTUBE *T044 = new TTUBE("T044","T044","mix28",2.13,2.474999,57.95999); -TTUBE *T054 = new TTUBE("T054","T054","mix28",1.72,1.975,57.95999); -TTUBE *T064 = new TTUBE("T064","T064","mix28",1.72,1.975,57.95999); -TTUBE *T074 = new TTUBE("T074","T074","mix28",2.13,2.474999,57.95999); -TTUBE *T084 = new TTUBE("T084","T084","mix28",1.72,1.975,57.95999); -TTUBE *T094 = new TTUBE("T094","T094","mix28",1.72,1.975,57.95999); -TTUBE *T104 = new TTUBE("T104","T104","mix28",2.13,2.474999,57.95999); -TTUBE *T114 = new TTUBE("T114","T114","mix28",1.72,1.975,57.95999); -TTUBE *T124 = new TTUBE("T124","T124","mix28",1.72,1.975,57.95999); -TBRIK *SEC4 = new TBRIK("SEC4","SEC4","mix30",34.84798,57.5,35.52497); -TBRIK *PR4_ = new TBRIK("PR4_","PR4_","mix30",34.84798,57.5,1.95); -TBRIK *OG4A = new TBRIK("OG4A","OG4A","mix29",191.6,3.25,.3); -TBRIK *OG4B = new TBRIK("OG4B","OG4B","mix29",.3,3.25,191); -TBRIK *OG4C = new TBRIK("OG4C","OG4C","mix29",.3,58,5.65); -TBRIK *OG4D = new TBRIK("OG4D","OG4D","mix29",5.65,58,.3); -TBRIK *OG4E = new TBRIK("OG4E","OG4E","mix29",1.85,58,.3); -TBRIK *OG4F = new TBRIK("OG4F","OG4F","mix29",.3,58,2.15); -TBRIK *OG4G = new TBRIK("OG4G","OG4G","mix22",90.82499,58,.00625); -TBRIK *OG4H = new TBRIK("OG4H","OG4H","mix22",.00625,58,90.82499); -TBRIK *IG4A = new TBRIK("IG4A","IG4A","mix29",188.5,3.25,.3); -TBRIK *IG4B = new TBRIK("IG4B","IG4B","mix29",.3,3.25,187.8999); -TBRIK *IG4C = new TBRIK("IG4C","IG4C","mix29",.3,57,5.65); -TBRIK *IG4D = new TBRIK("IG4D","IG4D","mix29",5.65,57,.3); -TBRIK *IG4E = new TBRIK("IG4E","IG4E","mix29",1.85,57,.3); -TBRIK *IG4F = new TBRIK("IG4F","IG4F","mix29",.3,57,2.15); -TBRIK *ST4A = new TBRIK("ST4A","ST4A","mix22",182.5,.6349999,.00125); -TBRIK *ST4B = new TBRIK("ST4B","ST4B","mix22",.00125,.6349999,182.5); -TBRIK *TF4A = new TBRIK("TF4A","TF4A","mat9",191,1.5,6.8); -TBRIK *TF4B = new TBRIK("TF4B","TF4B","mat9",6.8,1.5,191); -TBRIK *TF4C = new TBRIK("TF4C","TF4C","mat9",177.3999,1.5,3.099999); -TBRIK *TF4D = new TBRIK("TF4D","TF4D","mat9",3.099999,1.5,177.3999); -TBRIK *TF4E = new TBRIK("TF4E","TF4E","mat9",191,17.2,.5); -TBRIK *TF4F = new TBRIK("TF4F","TF4F","mat9",.5,17.2,191); -TTUBE *TF4G = new TTUBE("TF4G","TF4G","mat15",0,12,.5); -TTUBE *TF4H = new TTUBE("TF4H","TF4H","mat15",0,12,.5); -TBRIK *TF4I = new TBRIK("TF4I","TF4I","mat9",34.59999,3,34.59999); -TBRIK *TF4J = new TBRIK("TF4J","TF4J","mat15",4.75,3,10.3); -TBRIK *TF4K = new TBRIK("TF4K","TF4K","mat15",34.59999,1.25,9.85); -TBRIK *TF4L = new TBRIK("TF4L","TF4L","mat15",34.59999,1.25,3.349999); -TBRIK *TF4M = new TBRIK("TF4M","TF4M","mat9",4.75,.3,10.3); -TBRIK *TF4N = new TBRIK("TF4N","TF4N","mix29",.6,3,4.5); -TBRIK *TF4O = new TBRIK("TF4O","TF4O","mat9",34.59999,3,34.59999); -TBRIK *TF4P = new TBRIK("TF4P","TF4P","mat15",5.25,3,8.024999); -TBRIK *TF4Q = new TBRIK("TF4Q","TF4Q","mat15",34.59999,1.25,9.85); -TBRIK *TF4R = new TBRIK("TF4R","TF4R","mat15",34.59999,1.25,3.349999); -TBRIK *TF4S = new TBRIK("TF4S","TF4S","mat9",5.25,.3,8.024999); -TBRIK *TF4T = new TBRIK("TF4T","TF4T","mix29",.6,3,4.5); -TBRIK *YK01 = new TBRIK("YK01","YK01","mat10",285,45,180); -TTUBE *YK06 = new TTUBE("YK06","YK06","mat15",0,100,45); -TBRIK *YK02 = new TBRIK("YK02","YK02","mat10",57.5,101,50); -TBRIK *YK03 = new TBRIK("YK03","YK03","mat10",50,101,57.5); -TTRAP *YK04 = new TTRAP("YK04","YK04","mat10",32.5,-.769231,0,101,50,50,0,101,0,0,0); -TTRAP *YK05 = new TTRAP("YK05","YK05","mat10",32.5,.7692304,0,101,50,50,0,101,0,0,0); -TBRIK *YK07 = new TBRIK("YK07","YK07","mat10",80,75,37.5); -TBRIK *YK08 = new TBRIK("YK08","YK08","mat10",30,75,4); -TTUBE *COI1 = new TTUBE("COI1","COI1","mat10",100,102,23); -TTUBE *COI2 = new TTUBE("COI2","COI2","mat10",175,177,23); -TTUBE *COI3 = new TTUBE("COI3","COI3","mix33",110,172,23); -TTUBE *COI4 = new TTUBE("COI4","COI4","mat10",0,182,2.5); -TBRIK *TOFR = new TBRIK("TOFR","TOFR","mat24",133.6,90,12.5); -TBRIK *TSH8 = new TBRIK("TSH8","TSH8","mat24",120,1.4,12.5); -TBRIK *CS18 = new TBRIK("CS18","CS18","mat24",13.6,19.01,1.35); -TBRIK *CS28 = new TBRIK("CS28","CS28","mat24",13.1,19.01,1.35); -TBRIK *CS38 = new TBRIK("CS38","CS38","mat24",12.6,19.01,1.35); -TBRIK *WL18 = new TBRIK("WL18","WL18","mat24",.1,19.01,1.35); -TBRIK *WR18 = new TBRIK("WR18","WR18","mat9",.1,19.01,1.35); -TBRIK *WF18 = new TBRIK("WF18","WF18","mat24",13.6,19.01,.1); -TBRIK *WB18 = new TBRIK("WB18","WB18","mat9",13.6,19.01,.1); -TBRIK *WT18 = new TBRIK("WT18","WT18","mat24",13.6,.1,1.35); -TBRIK *WG18 = new TBRIK("WG18","WG18","mat24",13.6,.1,1.35); -TBRIK *WL28 = new TBRIK("WL28","WL28","mat24",.1,19.01,1.35); -TBRIK *WR28 = new TBRIK("WR28","WR28","mat9",.1,19.01,1.35); -TBRIK *WF28 = new TBRIK("WF28","WF28","mat24",13.1,19.01,.1); -TBRIK *WB28 = new TBRIK("WB28","WB28","mat9",13.1,19.01,.1); -TBRIK *WT28 = new TBRIK("WT28","WT28","mat24",13.1,.1,1.35); -TBRIK *WG28 = new TBRIK("WG28","WG28","mat24",13.1,.1,1.35); -TBRIK *WL38 = new TBRIK("WL38","WL38","mat24",.1,19.01,1.35); -TBRIK *WR38 = new TBRIK("WR38","WR38","mat9",.1,19.01,1.35); -TBRIK *WF38 = new TBRIK("WF38","WF38","mat24",12.6,19.01,.1); -TBRIK *WB38 = new TBRIK("WB38","WB38","mat9",12.6,19.01,.1); -TBRIK *WT38 = new TBRIK("WT38","WT38","mat24",12.6,.1,1.35); -TBRIK *WG38 = new TBRIK("WG38","WG38","mat24",12.6,.1,1.35); -TBRIK *SZ18 = new TBRIK("SZ18","SZ18","mix25",4,1.7,1.15); -TBRIK *SZ28 = new TBRIK("SZ28","SZ28","mix25",3.5,1.7,1.15); -TBRIK *SZ38 = new TBRIK("SZ38","SZ38","mix25",3,1.7,1.15); -TTUBE *PM08 = new TTUBE("PM08","PM08","mat10",1.55,1.63,6); - -//-----------List of Nodes-------------- - -Node1 = new TNode("CAVE1","CAVE1","CAVE"); -Node1->cd(); - Node = new TNode("TGT11","TGT11","TGT1",0,0,-580.27,""); - Node = new TNode("VETO1","VETO1","VETO",0,0,1545,""); - TNode *Node2; - Node2 = new TNode("VT1_1","VT1_1","VT1_",0,-1.05,-381.399,"rot1"); - Node2->cd(); - TNode *Node3; - Node3 = new TNode("HV1_1","HV1_1","HV1_",0,-43.25,0,""); - Node3->cd(); - Node = new TNode("HV1I1","HV1I1","HV1I",0,0,0,""); - Node2->cd(); - TNode *Node4; - Node4 = new TNode("OGB11","OGB11","OGB1",0,-4.44999,0,""); - Node4->cd(); - TNode *Node5; - Node5 = new TNode("IGB11","IGB11","IGB1",0,0,0,""); - Node5->cd(); - TNode *Node6; - Node6 = new TNode("FCL11","FCL11","FCL1",50.09999,0,0,""); - Node6->cd(); - TNode *Node7; - Node7 = new TNode("SVL11","SVL11","SVL1",-3.025,0,0,""); - Node7->cd(); - TNode *Node8; - Node8 = new TNode("SEC11","SEC11","SEC1",-.203506,.92,-77,""); - Node8->cd(); - Node = new TNode("PR1_1","PR1_1","PR1_",0,0,-34,""); - Node = new TNode("PR1_2","PR1_2","PR1_",0,0,-30.7999,""); - Node = new TNode("PR1_3","PR1_3","PR1_",0,0,-28,""); - Node = new TNode("PR1_4","PR1_4","PR1_",0,0,-25.2,""); - Node = new TNode("PR1_5","PR1_5","PR1_",0,0,-22,""); - Node = new TNode("PR1_6","PR1_6","PR1_",0,0,-19.2,""); - Node = new TNode("PR1_7","PR1_7","PR1_",0,0,-16.3999,""); - Node = new TNode("PR1_8","PR1_8","PR1_",0,0,-13.6,""); - Node = new TNode("PR1_9","PR1_9","PR1_",0,0,-10.3999,""); - Node = new TNode("PR1_10","PR1_10","PR1_",0,0,-7.59998,""); - Node = new TNode("PR1_11","PR1_11","PR1_",0,0,-4.79999,""); - Node = new TNode("PR1_12","PR1_12","PR1_",0,0,-1.59999,""); - Node = new TNode("PR1_13","PR1_13","PR1_",0,0,1.60001,""); - Node = new TNode("PR1_14","PR1_14","PR1_",0,0,4.8,""); - Node = new TNode("PR1_15","PR1_15","PR1_",0,0,7.600009,""); - Node = new TNode("PR1_16","PR1_16","PR1_",0,0,10.39999,""); - Node = new TNode("PR1_17","PR1_17","PR1_",0,0,13.6,""); - Node = new TNode("PR1_18","PR1_18","PR1_",0,0,16.39999,""); - Node = new TNode("PR1_19","PR1_19","PR1_",0,0,19.2,""); - Node = new TNode("PR1_20","PR1_20","PR1_",0,0,22,""); - Node = new TNode("PR1_21","PR1_21","PR1_",0,0,25.2,""); - Node = new TNode("PR1_22","PR1_22","PR1_",0,0,28,""); - Node = new TNode("PR1_23","PR1_23","PR1_",0,0,30.79999,""); - Node = new TNode("PR1_24","PR1_24","PR1_",0,0,34,""); - Node7->cd(); - TNode *Node9; - Node9 = new TNode("SEC12","SEC12","SEC1",-.203506,.92,-.000003,""); - Node9->cd(); - Node = new TNode("PR1_1","PR1_1","PR1_",0,0,-34,""); - Node = new TNode("PR1_2","PR1_2","PR1_",0,0,-30.7999,""); - Node = new TNode("PR1_3","PR1_3","PR1_",0,0,-28,""); - Node = new TNode("PR1_4","PR1_4","PR1_",0,0,-25.2,""); - Node = new TNode("PR1_5","PR1_5","PR1_",0,0,-22,""); - Node = new TNode("PR1_6","PR1_6","PR1_",0,0,-19.2,""); - Node = new TNode("PR1_7","PR1_7","PR1_",0,0,-16.3999,""); - Node = new TNode("PR1_8","PR1_8","PR1_",0,0,-13.6,""); - Node = new TNode("PR1_9","PR1_9","PR1_",0,0,-10.3999,""); - Node = new TNode("PR1_10","PR1_10","PR1_",0,0,-7.59998,""); - Node = new TNode("PR1_11","PR1_11","PR1_",0,0,-4.79999,""); - Node = new TNode("PR1_12","PR1_12","PR1_",0,0,-1.59999,""); - Node = new TNode("PR1_13","PR1_13","PR1_",0,0,1.60001,""); - Node = new TNode("PR1_14","PR1_14","PR1_",0,0,4.8,""); - Node = new TNode("PR1_15","PR1_15","PR1_",0,0,7.600009,""); - Node = new TNode("PR1_16","PR1_16","PR1_",0,0,10.39999,""); - Node = new TNode("PR1_17","PR1_17","PR1_",0,0,13.6,""); - Node = new TNode("PR1_18","PR1_18","PR1_",0,0,16.39999,""); - Node = new TNode("PR1_19","PR1_19","PR1_",0,0,19.2,""); - Node = new TNode("PR1_20","PR1_20","PR1_",0,0,22,""); - Node = new TNode("PR1_21","PR1_21","PR1_",0,0,25.2,""); - Node = new TNode("PR1_22","PR1_22","PR1_",0,0,28,""); - Node = new TNode("PR1_23","PR1_23","PR1_",0,0,30.79999,""); - Node = new TNode("PR1_24","PR1_24","PR1_",0,0,34,""); - Node7->cd(); - TNode *Node10; - Node10 = new TNode("SEC13","SEC13","SEC1",-.203506,.92,77,""); - Node10->cd(); - Node = new TNode("PR1_1","PR1_1","PR1_",0,0,-34,""); - Node = new TNode("PR1_2","PR1_2","PR1_",0,0,-30.7999,""); - Node = new TNode("PR1_3","PR1_3","PR1_",0,0,-28,""); - Node = new TNode("PR1_4","PR1_4","PR1_",0,0,-25.2,""); - Node = new TNode("PR1_5","PR1_5","PR1_",0,0,-22,""); - Node = new TNode("PR1_6","PR1_6","PR1_",0,0,-19.2,""); - Node = new TNode("PR1_7","PR1_7","PR1_",0,0,-16.3999,""); - Node = new TNode("PR1_8","PR1_8","PR1_",0,0,-13.6,""); - Node = new TNode("PR1_9","PR1_9","PR1_",0,0,-10.3999,""); - Node = new TNode("PR1_10","PR1_10","PR1_",0,0,-7.59998,""); - Node = new TNode("PR1_11","PR1_11","PR1_",0,0,-4.79999,""); - Node = new TNode("PR1_12","PR1_12","PR1_",0,0,-1.59999,""); - Node = new TNode("PR1_13","PR1_13","PR1_",0,0,1.60001,""); - Node = new TNode("PR1_14","PR1_14","PR1_",0,0,4.8,""); - Node = new TNode("PR1_15","PR1_15","PR1_",0,0,7.600009,""); - Node = new TNode("PR1_16","PR1_16","PR1_",0,0,10.39999,""); - Node = new TNode("PR1_17","PR1_17","PR1_",0,0,13.6,""); - Node = new TNode("PR1_18","PR1_18","PR1_",0,0,16.39999,""); - Node = new TNode("PR1_19","PR1_19","PR1_",0,0,19.2,""); - Node = new TNode("PR1_20","PR1_20","PR1_",0,0,22,""); - Node = new TNode("PR1_21","PR1_21","PR1_",0,0,25.2,""); - Node = new TNode("PR1_22","PR1_22","PR1_",0,0,28,""); - Node = new TNode("PR1_23","PR1_23","PR1_",0,0,30.79999,""); - Node = new TNode("PR1_24","PR1_24","PR1_",0,0,34,""); - Node7->cd(); - Node6->cd(); - Node = new TNode("T1L11","T1L11","T1L1",-38.25,0,-118.25,"rot3"); - Node = new TNode("T2L11","T2L11","T2L1",38.25,0,-118.25,"rot3"); - Node = new TNode("T3L11","T3L11","T3L1",40.575,0,0,"rot3"); - Node = new TNode("T4L11","T4L11","T4L1",38.25,0,118.25,"rot3"); - Node = new TNode("T5L11","T5L11","T5L1",-38.25,0,118.25,"rot3"); - Node = new TNode("T6L11","T6L11","T6L1",-40.5649,0,0,"rot3"); - Node = new TNode("ST1A1","ST1A1","ST1A",0,-32.7999,120.2261,""); - Node = new TNode("ST1A46","ST1A46","ST1A",0,-32.7999,-120.225,""); - Node = new TNode("ST1A2","ST1A2","ST1A",0,-31.3299,120.2261,""); - Node = new TNode("ST1A47","ST1A47","ST1A",0,-31.3299,-120.225,""); - Node = new TNode("ST1A3","ST1A3","ST1A",0,-29.86,120.2261,""); - Node = new TNode("ST1A48","ST1A48","ST1A",0,-29.86,-120.225,""); - Node = new TNode("ST1A4","ST1A4","ST1A",0,-28.3899,120.2261,""); - Node = new TNode("ST1A49","ST1A49","ST1A",0,-28.3899,-120.225,""); - Node = new TNode("ST1A5","ST1A5","ST1A",0,-26.92,120.2261,""); - Node = new TNode("ST1A50","ST1A50","ST1A",0,-26.92,-120.225,""); - Node = new TNode("ST1A6","ST1A6","ST1A",0,-25.45,120.2261,""); - Node = new TNode("ST1A51","ST1A51","ST1A",0,-25.45,-120.225,""); - Node = new TNode("ST1A7","ST1A7","ST1A",0,-23.9799,120.2261,""); - Node = new TNode("ST1A52","ST1A52","ST1A",0,-23.9799,-120.225,""); - Node = new TNode("ST1A8","ST1A8","ST1A",0,-22.51,120.2261,""); - Node = new TNode("ST1A53","ST1A53","ST1A",0,-22.51,-120.225,""); - Node = new TNode("ST1A9","ST1A9","ST1A",0,-21.04,120.2261,""); - Node = new TNode("ST1A54","ST1A54","ST1A",0,-21.04,-120.225,""); - Node = new TNode("ST1A10","ST1A10","ST1A",0,-19.5699,120.2261,""); - Node = new TNode("ST1A55","ST1A55","ST1A",0,-19.5699,-120.225,""); - Node = new TNode("ST1A11","ST1A11","ST1A",0,-18.1,120.2261,""); - Node = new TNode("ST1A56","ST1A56","ST1A",0,-18.1,-120.225,""); - Node = new TNode("ST1A12","ST1A12","ST1A",0,-16.6299,120.2261,""); - Node = new TNode("ST1A57","ST1A57","ST1A",0,-16.6299,-120.225,""); - Node = new TNode("ST1A13","ST1A13","ST1A",0,-15.1599,120.2261,""); - Node = new TNode("ST1A58","ST1A58","ST1A",0,-15.1599,-120.225,""); - Node = new TNode("ST1A14","ST1A14","ST1A",0,-13.6899,120.2261,""); - Node = new TNode("ST1A59","ST1A59","ST1A",0,-13.6899,-120.225,""); - Node = new TNode("ST1A15","ST1A15","ST1A",0,-12.22,120.2261,""); - Node = new TNode("ST1A60","ST1A60","ST1A",0,-12.22,-120.225,""); - Node = new TNode("ST1A16","ST1A16","ST1A",0,-10.75,120.2261,""); - Node = new TNode("ST1A61","ST1A61","ST1A",0,-10.75,-120.225,""); - Node = new TNode("ST1A17","ST1A17","ST1A",0,-9.27999,120.2261,""); - Node = new TNode("ST1A62","ST1A62","ST1A",0,-9.27999,-120.225,""); - Node = new TNode("ST1A18","ST1A18","ST1A",0,-7.80999,120.2261,""); - Node = new TNode("ST1A63","ST1A63","ST1A",0,-7.80999,-120.225,""); - Node = new TNode("ST1A19","ST1A19","ST1A",0,-6.34,120.2261,""); - Node = new TNode("ST1A64","ST1A64","ST1A",0,-6.34,-120.225,""); - Node = new TNode("ST1A20","ST1A20","ST1A",0,-4.86999,120.2261,""); - Node = new TNode("ST1A65","ST1A65","ST1A",0,-4.86999,-120.225,""); - Node = new TNode("ST1A21","ST1A21","ST1A",0,-3.4,120.2261,""); - Node = new TNode("ST1A66","ST1A66","ST1A",0,-3.4,-120.225,""); - Node = new TNode("ST1A22","ST1A22","ST1A",0,-1.92999,120.2261,""); - Node = new TNode("ST1A67","ST1A67","ST1A",0,-1.92999,-120.225,""); - Node = new TNode("ST1A23","ST1A23","ST1A",0,-.459999,120.2261,""); - Node = new TNode("ST1A68","ST1A68","ST1A",0,-.459999,-120.225,""); - Node = new TNode("ST1A24","ST1A24","ST1A",0,1.01,120.2261,""); - Node = new TNode("ST1A69","ST1A69","ST1A",0,1.01,-120.225,""); - Node = new TNode("ST1A25","ST1A25","ST1A",0,2.48,120.2261,""); - Node = new TNode("ST1A70","ST1A70","ST1A",0,2.48,-120.225,""); - Node = new TNode("ST1A26","ST1A26","ST1A",0,3.95,120.2261,""); - Node = new TNode("ST1A71","ST1A71","ST1A",0,3.95,-120.225,""); - Node = new TNode("ST1A27","ST1A27","ST1A",0,5.42,120.2261,""); - Node = new TNode("ST1A72","ST1A72","ST1A",0,5.42,-120.225,""); - Node = new TNode("ST1A28","ST1A28","ST1A",0,6.889999,120.2261,""); - Node = new TNode("ST1A73","ST1A73","ST1A",0,6.889999,-120.225,""); - Node = new TNode("ST1A29","ST1A29","ST1A",0,8.359999,120.2261,""); - Node = new TNode("ST1A74","ST1A74","ST1A",0,8.359999,-120.225,""); - Node = new TNode("ST1A30","ST1A30","ST1A",0,9.829999,120.2261,""); - Node = new TNode("ST1A75","ST1A75","ST1A",0,9.829999,-120.225,""); - Node = new TNode("ST1A31","ST1A31","ST1A",0,11.29998,120.2261,""); - Node = new TNode("ST1A76","ST1A76","ST1A",0,11.29998,-120.225,""); - Node = new TNode("ST1A32","ST1A32","ST1A",0,12.77,120.2261,""); - Node = new TNode("ST1A77","ST1A77","ST1A",0,12.77,-120.225,""); - Node = new TNode("ST1A33","ST1A33","ST1A",0,14.23999,120.2261,""); - Node = new TNode("ST1A78","ST1A78","ST1A",0,14.23999,-120.225,""); - Node = new TNode("ST1A34","ST1A34","ST1A",0,15.70998,120.2261,""); - Node = new TNode("ST1A79","ST1A79","ST1A",0,15.70998,-120.225,""); - Node = new TNode("ST1A35","ST1A35","ST1A",0,17.18,120.2261,""); - Node = new TNode("ST1A80","ST1A80","ST1A",0,17.18,-120.225,""); - Node = new TNode("ST1A36","ST1A36","ST1A",0,18.64999,120.2261,""); - Node = new TNode("ST1A81","ST1A81","ST1A",0,18.64999,-120.225,""); - Node = new TNode("ST1A37","ST1A37","ST1A",0,20.11998,120.2261,""); - Node = new TNode("ST1A82","ST1A82","ST1A",0,20.11998,-120.225,""); - Node = new TNode("ST1A38","ST1A38","ST1A",0,21.59,120.2261,""); - Node = new TNode("ST1A83","ST1A83","ST1A",0,21.59,-120.225,""); - Node = new TNode("ST1A39","ST1A39","ST1A",0,23.05999,120.2261,""); - Node = new TNode("ST1A84","ST1A84","ST1A",0,23.05999,-120.225,""); - Node = new TNode("ST1A40","ST1A40","ST1A",0,24.53,120.2261,""); - Node = new TNode("ST1A85","ST1A85","ST1A",0,24.53,-120.225,""); - Node = new TNode("ST1A41","ST1A41","ST1A",0,26,120.2261,""); - Node = new TNode("ST1A86","ST1A86","ST1A",0,26,-120.225,""); - Node = new TNode("ST1A42","ST1A42","ST1A",0,27.46999,120.2261,""); - Node = new TNode("ST1A87","ST1A87","ST1A",0,27.46999,-120.225,""); - Node = new TNode("ST1A43","ST1A43","ST1A",0,28.94,120.2261,""); - Node = new TNode("ST1A88","ST1A88","ST1A",0,28.94,-120.225,""); - Node = new TNode("ST1A44","ST1A44","ST1A",0,30.40999,120.2261,""); - Node = new TNode("ST1A89","ST1A89","ST1A",0,30.40999,-120.225,""); - Node = new TNode("ST1A45","ST1A45","ST1A",0,31.87999,120.2261,""); - Node = new TNode("ST1A90","ST1A90","ST1A",0,31.87999,-120.225,""); - Node = new TNode("ST1B1","ST1B1","ST1B",-40.2262,-32.7999,0,""); - Node = new TNode("ST1B46","ST1B46","ST1B",40.22373,-32.7999,0,""); - Node = new TNode("ST1B2","ST1B2","ST1B",-40.2262,-31.3299,0,""); - Node = new TNode("ST1B47","ST1B47","ST1B",40.22373,-31.3299,0,""); - Node = new TNode("ST1B3","ST1B3","ST1B",-40.2262,-29.86,0,""); - Node = new TNode("ST1B48","ST1B48","ST1B",40.22373,-29.86,0,""); - Node = new TNode("ST1B4","ST1B4","ST1B",-40.2262,-28.3899,0,""); - Node = new TNode("ST1B49","ST1B49","ST1B",40.22373,-28.3899,0,""); - Node = new TNode("ST1B5","ST1B5","ST1B",-40.2262,-26.92,0,""); - Node = new TNode("ST1B50","ST1B50","ST1B",40.22373,-26.92,0,""); - Node = new TNode("ST1B6","ST1B6","ST1B",-40.2262,-25.45,0,""); - Node = new TNode("ST1B51","ST1B51","ST1B",40.22373,-25.45,0,""); - Node = new TNode("ST1B7","ST1B7","ST1B",-40.2262,-23.9799,0,""); - Node = new TNode("ST1B52","ST1B52","ST1B",40.22373,-23.9799,0,""); - Node = new TNode("ST1B8","ST1B8","ST1B",-40.2262,-22.51,0,""); - Node = new TNode("ST1B53","ST1B53","ST1B",40.22373,-22.51,0,""); - Node = new TNode("ST1B9","ST1B9","ST1B",-40.2262,-21.04,0,""); - Node = new TNode("ST1B54","ST1B54","ST1B",40.22373,-21.04,0,""); - Node = new TNode("ST1B10","ST1B10","ST1B",-40.2262,-19.5699,0,""); - Node = new TNode("ST1B55","ST1B55","ST1B",40.22373,-19.5699,0,""); - Node = new TNode("ST1B11","ST1B11","ST1B",-40.2262,-18.1,0,""); - Node = new TNode("ST1B56","ST1B56","ST1B",40.22373,-18.1,0,""); - Node = new TNode("ST1B12","ST1B12","ST1B",-40.2262,-16.6299,0,""); - Node = new TNode("ST1B57","ST1B57","ST1B",40.22373,-16.6299,0,""); - Node = new TNode("ST1B13","ST1B13","ST1B",-40.2262,-15.1599,0,""); - Node = new TNode("ST1B58","ST1B58","ST1B",40.22373,-15.1599,0,""); - Node = new TNode("ST1B14","ST1B14","ST1B",-40.2262,-13.6899,0,""); - Node = new TNode("ST1B59","ST1B59","ST1B",40.22373,-13.6899,0,""); - Node = new TNode("ST1B15","ST1B15","ST1B",-40.2262,-12.22,0,""); - Node = new TNode("ST1B60","ST1B60","ST1B",40.22373,-12.22,0,""); - Node = new TNode("ST1B16","ST1B16","ST1B",-40.2262,-10.75,0,""); - Node = new TNode("ST1B61","ST1B61","ST1B",40.22373,-10.75,0,""); - Node = new TNode("ST1B17","ST1B17","ST1B",-40.2262,-9.27999,0,""); - Node = new TNode("ST1B62","ST1B62","ST1B",40.22373,-9.27999,0,""); - Node = new TNode("ST1B18","ST1B18","ST1B",-40.2262,-7.80999,0,""); - Node = new TNode("ST1B63","ST1B63","ST1B",40.22373,-7.80999,0,""); - Node = new TNode("ST1B19","ST1B19","ST1B",-40.2262,-6.34,0,""); - Node = new TNode("ST1B64","ST1B64","ST1B",40.22373,-6.34,0,""); - Node = new TNode("ST1B20","ST1B20","ST1B",-40.2262,-4.86999,0,""); - Node = new TNode("ST1B65","ST1B65","ST1B",40.22373,-4.86999,0,""); - Node = new TNode("ST1B21","ST1B21","ST1B",-40.2262,-3.4,0,""); - Node = new TNode("ST1B66","ST1B66","ST1B",40.22373,-3.4,0,""); - Node = new TNode("ST1B22","ST1B22","ST1B",-40.2262,-1.92999,0,""); - Node = new TNode("ST1B67","ST1B67","ST1B",40.22373,-1.92999,0,""); - Node = new TNode("ST1B23","ST1B23","ST1B",-40.2262,-.459999,0,""); - Node = new TNode("ST1B68","ST1B68","ST1B",40.22373,-.459999,0,""); - Node = new TNode("ST1B24","ST1B24","ST1B",-40.2262,1.01,0,""); - Node = new TNode("ST1B69","ST1B69","ST1B",40.22373,1.01,0,""); - Node = new TNode("ST1B25","ST1B25","ST1B",-40.2262,2.48,0,""); - Node = new TNode("ST1B70","ST1B70","ST1B",40.22373,2.48,0,""); - Node = new TNode("ST1B26","ST1B26","ST1B",-40.2262,3.95,0,""); - Node = new TNode("ST1B71","ST1B71","ST1B",40.22373,3.95,0,""); - Node = new TNode("ST1B27","ST1B27","ST1B",-40.2262,5.42,0,""); - Node = new TNode("ST1B72","ST1B72","ST1B",40.22373,5.42,0,""); - Node = new TNode("ST1B28","ST1B28","ST1B",-40.2262,6.889999,0,""); - Node = new TNode("ST1B73","ST1B73","ST1B",40.22373,6.889999,0,""); - Node = new TNode("ST1B29","ST1B29","ST1B",-40.2262,8.359999,0,""); - Node = new TNode("ST1B74","ST1B74","ST1B",40.22373,8.359999,0,""); - Node = new TNode("ST1B30","ST1B30","ST1B",-40.2262,9.829999,0,""); - Node = new TNode("ST1B75","ST1B75","ST1B",40.22373,9.829999,0,""); - Node = new TNode("ST1B31","ST1B31","ST1B",-40.2262,11.29998,0,""); - Node = new TNode("ST1B76","ST1B76","ST1B",40.22373,11.29998,0,""); - Node = new TNode("ST1B32","ST1B32","ST1B",-40.2262,12.77,0,""); - Node = new TNode("ST1B77","ST1B77","ST1B",40.22373,12.77,0,""); - Node = new TNode("ST1B33","ST1B33","ST1B",-40.2262,14.23999,0,""); - Node = new TNode("ST1B78","ST1B78","ST1B",40.22373,14.23999,0,""); - Node = new TNode("ST1B34","ST1B34","ST1B",-40.2262,15.70998,0,""); - Node = new TNode("ST1B79","ST1B79","ST1B",40.22373,15.70998,0,""); - Node = new TNode("ST1B35","ST1B35","ST1B",-40.2262,17.18,0,""); - Node = new TNode("ST1B80","ST1B80","ST1B",40.22373,17.18,0,""); - Node = new TNode("ST1B36","ST1B36","ST1B",-40.2262,18.64999,0,""); - Node = new TNode("ST1B81","ST1B81","ST1B",40.22373,18.64999,0,""); - Node = new TNode("ST1B37","ST1B37","ST1B",-40.2262,20.11998,0,""); - Node = new TNode("ST1B82","ST1B82","ST1B",40.22373,20.11998,0,""); - Node = new TNode("ST1B38","ST1B38","ST1B",-40.2262,21.59,0,""); - Node = new TNode("ST1B83","ST1B83","ST1B",40.22373,21.59,0,""); - Node = new TNode("ST1B39","ST1B39","ST1B",-40.2262,23.05999,0,""); - Node = new TNode("ST1B84","ST1B84","ST1B",40.22373,23.05999,0,""); - Node = new TNode("ST1B40","ST1B40","ST1B",-40.2262,24.53,0,""); - Node = new TNode("ST1B85","ST1B85","ST1B",40.22373,24.53,0,""); - Node = new TNode("ST1B41","ST1B41","ST1B",-40.2262,26,0,""); - Node = new TNode("ST1B86","ST1B86","ST1B",40.22373,26,0,""); - Node = new TNode("ST1B42","ST1B42","ST1B",-40.2262,27.46999,0,""); - Node = new TNode("ST1B87","ST1B87","ST1B",40.22373,27.46999,0,""); - Node = new TNode("ST1B43","ST1B43","ST1B",-40.2262,28.94,0,""); - Node = new TNode("ST1B88","ST1B88","ST1B",40.22373,28.94,0,""); - Node = new TNode("ST1B44","ST1B44","ST1B",-40.2262,30.40999,0,""); - Node = new TNode("ST1B89","ST1B89","ST1B",40.22373,30.40999,0,""); - Node = new TNode("ST1B45","ST1B45","ST1B",-40.2262,31.87999,0,""); - Node = new TNode("ST1B90","ST1B90","ST1B",40.22373,31.87999,0,""); - Node5->cd(); - TNode *Node11; - Node11 = new TNode("FCR11","FCR11","FCR1",-50.0999,0,0,""); - Node11->cd(); - TNode *Node12; - Node12 = new TNode("SVR11","SVR11","SVR1",3.025,0,0,""); - Node12->cd(); - TNode *Node13; - Node13 = new TNode("SEC14","SEC14","SEC1",.2034988,.92,-77,""); - Node13->cd(); - Node = new TNode("PR1_1","PR1_1","PR1_",0,0,-34,""); - Node = new TNode("PR1_2","PR1_2","PR1_",0,0,-30.7999,""); - Node = new TNode("PR1_3","PR1_3","PR1_",0,0,-28,""); - Node = new TNode("PR1_4","PR1_4","PR1_",0,0,-25.2,""); - Node = new TNode("PR1_5","PR1_5","PR1_",0,0,-22,""); - Node = new TNode("PR1_6","PR1_6","PR1_",0,0,-19.2,""); - Node = new TNode("PR1_7","PR1_7","PR1_",0,0,-16.3999,""); - Node = new TNode("PR1_8","PR1_8","PR1_",0,0,-13.6,""); - Node = new TNode("PR1_9","PR1_9","PR1_",0,0,-10.3999,""); - Node = new TNode("PR1_10","PR1_10","PR1_",0,0,-7.59998,""); - Node = new TNode("PR1_11","PR1_11","PR1_",0,0,-4.79999,""); - Node = new TNode("PR1_12","PR1_12","PR1_",0,0,-1.59999,""); - Node = new TNode("PR1_13","PR1_13","PR1_",0,0,1.60001,""); - Node = new TNode("PR1_14","PR1_14","PR1_",0,0,4.8,""); - Node = new TNode("PR1_15","PR1_15","PR1_",0,0,7.600009,""); - Node = new TNode("PR1_16","PR1_16","PR1_",0,0,10.39999,""); - Node = new TNode("PR1_17","PR1_17","PR1_",0,0,13.6,""); - Node = new TNode("PR1_18","PR1_18","PR1_",0,0,16.39999,""); - Node = new TNode("PR1_19","PR1_19","PR1_",0,0,19.2,""); - Node = new TNode("PR1_20","PR1_20","PR1_",0,0,22,""); - Node = new TNode("PR1_21","PR1_21","PR1_",0,0,25.2,""); - Node = new TNode("PR1_22","PR1_22","PR1_",0,0,28,""); - Node = new TNode("PR1_23","PR1_23","PR1_",0,0,30.79999,""); - Node = new TNode("PR1_24","PR1_24","PR1_",0,0,34,""); - Node12->cd(); - TNode *Node14; - Node14 = new TNode("SEC15","SEC15","SEC1",.2034988,.92,-.000003,""); - Node14->cd(); - Node = new TNode("PR1_1","PR1_1","PR1_",0,0,-34,""); - Node = new TNode("PR1_2","PR1_2","PR1_",0,0,-30.7999,""); - Node = new TNode("PR1_3","PR1_3","PR1_",0,0,-28,""); - Node = new TNode("PR1_4","PR1_4","PR1_",0,0,-25.2,""); - Node = new TNode("PR1_5","PR1_5","PR1_",0,0,-22,""); - Node = new TNode("PR1_6","PR1_6","PR1_",0,0,-19.2,""); - Node = new TNode("PR1_7","PR1_7","PR1_",0,0,-16.3999,""); - Node = new TNode("PR1_8","PR1_8","PR1_",0,0,-13.6,""); - Node = new TNode("PR1_9","PR1_9","PR1_",0,0,-10.3999,""); - Node = new TNode("PR1_10","PR1_10","PR1_",0,0,-7.59998,""); - Node = new TNode("PR1_11","PR1_11","PR1_",0,0,-4.79999,""); - Node = new TNode("PR1_12","PR1_12","PR1_",0,0,-1.59999,""); - Node = new TNode("PR1_13","PR1_13","PR1_",0,0,1.60001,""); - Node = new TNode("PR1_14","PR1_14","PR1_",0,0,4.8,""); - Node = new TNode("PR1_15","PR1_15","PR1_",0,0,7.600009,""); - Node = new TNode("PR1_16","PR1_16","PR1_",0,0,10.39999,""); - Node = new TNode("PR1_17","PR1_17","PR1_",0,0,13.6,""); - Node = new TNode("PR1_18","PR1_18","PR1_",0,0,16.39999,""); - Node = new TNode("PR1_19","PR1_19","PR1_",0,0,19.2,""); - Node = new TNode("PR1_20","PR1_20","PR1_",0,0,22,""); - Node = new TNode("PR1_21","PR1_21","PR1_",0,0,25.2,""); - Node = new TNode("PR1_22","PR1_22","PR1_",0,0,28,""); - Node = new TNode("PR1_23","PR1_23","PR1_",0,0,30.79999,""); - Node = new TNode("PR1_24","PR1_24","PR1_",0,0,34,""); - Node12->cd(); - TNode *Node15; - Node15 = new TNode("SEC16","SEC16","SEC1",.2034988,.92,77,""); - Node15->cd(); - Node = new TNode("PR1_1","PR1_1","PR1_",0,0,-34,""); - Node = new TNode("PR1_2","PR1_2","PR1_",0,0,-30.7999,""); - Node = new TNode("PR1_3","PR1_3","PR1_",0,0,-28,""); - Node = new TNode("PR1_4","PR1_4","PR1_",0,0,-25.2,""); - Node = new TNode("PR1_5","PR1_5","PR1_",0,0,-22,""); - Node = new TNode("PR1_6","PR1_6","PR1_",0,0,-19.2,""); - Node = new TNode("PR1_7","PR1_7","PR1_",0,0,-16.3999,""); - Node = new TNode("PR1_8","PR1_8","PR1_",0,0,-13.6,""); - Node = new TNode("PR1_9","PR1_9","PR1_",0,0,-10.3999,""); - Node = new TNode("PR1_10","PR1_10","PR1_",0,0,-7.59998,""); - Node = new TNode("PR1_11","PR1_11","PR1_",0,0,-4.79999,""); - Node = new TNode("PR1_12","PR1_12","PR1_",0,0,-1.59999,""); - Node = new TNode("PR1_13","PR1_13","PR1_",0,0,1.60001,""); - Node = new TNode("PR1_14","PR1_14","PR1_",0,0,4.8,""); - Node = new TNode("PR1_15","PR1_15","PR1_",0,0,7.600009,""); - Node = new TNode("PR1_16","PR1_16","PR1_",0,0,10.39999,""); - Node = new TNode("PR1_17","PR1_17","PR1_",0,0,13.6,""); - Node = new TNode("PR1_18","PR1_18","PR1_",0,0,16.39999,""); - Node = new TNode("PR1_19","PR1_19","PR1_",0,0,19.2,""); - Node = new TNode("PR1_20","PR1_20","PR1_",0,0,22,""); - Node = new TNode("PR1_21","PR1_21","PR1_",0,0,25.2,""); - Node = new TNode("PR1_22","PR1_22","PR1_",0,0,28,""); - Node = new TNode("PR1_23","PR1_23","PR1_",0,0,30.79999,""); - Node = new TNode("PR1_24","PR1_24","PR1_",0,0,34,""); - Node12->cd(); - Node11->cd(); - Node = new TNode("T1R11","T1R11","T1R1",-38.25,0,-118.25,"rot3"); - Node = new TNode("T2R11","T2R11","T2R1",38.25,0,-118.25,"rot3"); - Node = new TNode("T3R11","T3R11","T3R1",40.56499,0,0,"rot3"); - Node = new TNode("T4R11","T4R11","T4R1",38.25,0,118.25,"rot3"); - Node = new TNode("T5R11","T5R11","T5R1",-38.25,0,118.25,"rot3"); - Node = new TNode("T6R11","T6R11","T6R1",-40.575,0,0,"rot3"); - Node = new TNode("ST1A91","ST1A91","ST1A",0,-32.7999,120.2261,""); - Node = new TNode("ST1A136","ST1A136","ST1A",0,-32.7999,-120.225,""); - Node = new TNode("ST1A92","ST1A92","ST1A",0,-31.3299,120.2261,""); - Node = new TNode("ST1A137","ST1A137","ST1A",0,-31.3299,-120.225,""); - Node = new TNode("ST1A93","ST1A93","ST1A",0,-29.86,120.2261,""); - Node = new TNode("ST1A138","ST1A138","ST1A",0,-29.86,-120.225,""); - Node = new TNode("ST1A94","ST1A94","ST1A",0,-28.3899,120.2261,""); - Node = new TNode("ST1A139","ST1A139","ST1A",0,-28.3899,-120.225,""); - Node = new TNode("ST1A95","ST1A95","ST1A",0,-26.92,120.2261,""); - Node = new TNode("ST1A140","ST1A140","ST1A",0,-26.92,-120.225,""); - Node = new TNode("ST1A96","ST1A96","ST1A",0,-25.45,120.2261,""); - Node = new TNode("ST1A141","ST1A141","ST1A",0,-25.45,-120.225,""); - Node = new TNode("ST1A97","ST1A97","ST1A",0,-23.9799,120.2261,""); - Node = new TNode("ST1A142","ST1A142","ST1A",0,-23.9799,-120.225,""); - Node = new TNode("ST1A98","ST1A98","ST1A",0,-22.51,120.2261,""); - Node = new TNode("ST1A143","ST1A143","ST1A",0,-22.51,-120.225,""); - Node = new TNode("ST1A99","ST1A99","ST1A",0,-21.04,120.2261,""); - Node = new TNode("ST1A144","ST1A144","ST1A",0,-21.04,-120.225,""); - Node = new TNode("ST1A100","ST1A100","ST1A",0,-19.5699,120.2261,""); - Node = new TNode("ST1A145","ST1A145","ST1A",0,-19.5699,-120.225,""); - Node = new TNode("ST1A101","ST1A101","ST1A",0,-18.1,120.2261,""); - Node = new TNode("ST1A146","ST1A146","ST1A",0,-18.1,-120.225,""); - Node = new TNode("ST1A102","ST1A102","ST1A",0,-16.6299,120.2261,""); - Node = new TNode("ST1A147","ST1A147","ST1A",0,-16.6299,-120.225,""); - Node = new TNode("ST1A103","ST1A103","ST1A",0,-15.1599,120.2261,""); - Node = new TNode("ST1A148","ST1A148","ST1A",0,-15.1599,-120.225,""); - Node = new TNode("ST1A104","ST1A104","ST1A",0,-13.6899,120.2261,""); - Node = new TNode("ST1A149","ST1A149","ST1A",0,-13.6899,-120.225,""); - Node = new TNode("ST1A105","ST1A105","ST1A",0,-12.22,120.2261,""); - Node = new TNode("ST1A150","ST1A150","ST1A",0,-12.22,-120.225,""); - Node = new TNode("ST1A106","ST1A106","ST1A",0,-10.75,120.2261,""); - Node = new TNode("ST1A151","ST1A151","ST1A",0,-10.75,-120.225,""); - Node = new TNode("ST1A107","ST1A107","ST1A",0,-9.27999,120.2261,""); - Node = new TNode("ST1A152","ST1A152","ST1A",0,-9.27999,-120.225,""); - Node = new TNode("ST1A108","ST1A108","ST1A",0,-7.80999,120.2261,""); - Node = new TNode("ST1A153","ST1A153","ST1A",0,-7.80999,-120.225,""); - Node = new TNode("ST1A109","ST1A109","ST1A",0,-6.34,120.2261,""); - Node = new TNode("ST1A154","ST1A154","ST1A",0,-6.34,-120.225,""); - Node = new TNode("ST1A110","ST1A110","ST1A",0,-4.86999,120.2261,""); - Node = new TNode("ST1A155","ST1A155","ST1A",0,-4.86999,-120.225,""); - Node = new TNode("ST1A111","ST1A111","ST1A",0,-3.4,120.2261,""); - Node = new TNode("ST1A156","ST1A156","ST1A",0,-3.4,-120.225,""); - Node = new TNode("ST1A112","ST1A112","ST1A",0,-1.92999,120.2261,""); - Node = new TNode("ST1A157","ST1A157","ST1A",0,-1.92999,-120.225,""); - Node = new TNode("ST1A113","ST1A113","ST1A",0,-.459999,120.2261,""); - Node = new TNode("ST1A158","ST1A158","ST1A",0,-.459999,-120.225,""); - Node = new TNode("ST1A114","ST1A114","ST1A",0,1.01,120.2261,""); - Node = new TNode("ST1A159","ST1A159","ST1A",0,1.01,-120.225,""); - Node = new TNode("ST1A115","ST1A115","ST1A",0,2.48,120.2261,""); - Node = new TNode("ST1A160","ST1A160","ST1A",0,2.48,-120.225,""); - Node = new TNode("ST1A116","ST1A116","ST1A",0,3.95,120.2261,""); - Node = new TNode("ST1A161","ST1A161","ST1A",0,3.95,-120.225,""); - Node = new TNode("ST1A117","ST1A117","ST1A",0,5.42,120.2261,""); - Node = new TNode("ST1A162","ST1A162","ST1A",0,5.42,-120.225,""); - Node = new TNode("ST1A118","ST1A118","ST1A",0,6.889999,120.2261,""); - Node = new TNode("ST1A163","ST1A163","ST1A",0,6.889999,-120.225,""); - Node = new TNode("ST1A119","ST1A119","ST1A",0,8.359999,120.2261,""); - Node = new TNode("ST1A164","ST1A164","ST1A",0,8.359999,-120.225,""); - Node = new TNode("ST1A120","ST1A120","ST1A",0,9.829999,120.2261,""); - Node = new TNode("ST1A165","ST1A165","ST1A",0,9.829999,-120.225,""); - Node = new TNode("ST1A121","ST1A121","ST1A",0,11.29998,120.2261,""); - Node = new TNode("ST1A166","ST1A166","ST1A",0,11.29998,-120.225,""); - Node = new TNode("ST1A122","ST1A122","ST1A",0,12.77,120.2261,""); - Node = new TNode("ST1A167","ST1A167","ST1A",0,12.77,-120.225,""); - Node = new TNode("ST1A123","ST1A123","ST1A",0,14.23999,120.2261,""); - Node = new TNode("ST1A168","ST1A168","ST1A",0,14.23999,-120.225,""); - Node = new TNode("ST1A124","ST1A124","ST1A",0,15.70998,120.2261,""); - Node = new TNode("ST1A169","ST1A169","ST1A",0,15.70998,-120.225,""); - Node = new TNode("ST1A125","ST1A125","ST1A",0,17.18,120.2261,""); - Node = new TNode("ST1A170","ST1A170","ST1A",0,17.18,-120.225,""); - Node = new TNode("ST1A126","ST1A126","ST1A",0,18.64999,120.2261,""); - Node = new TNode("ST1A171","ST1A171","ST1A",0,18.64999,-120.225,""); - Node = new TNode("ST1A127","ST1A127","ST1A",0,20.11998,120.2261,""); - Node = new TNode("ST1A172","ST1A172","ST1A",0,20.11998,-120.225,""); - Node = new TNode("ST1A128","ST1A128","ST1A",0,21.59,120.2261,""); - Node = new TNode("ST1A173","ST1A173","ST1A",0,21.59,-120.225,""); - Node = new TNode("ST1A129","ST1A129","ST1A",0,23.05999,120.2261,""); - Node = new TNode("ST1A174","ST1A174","ST1A",0,23.05999,-120.225,""); - Node = new TNode("ST1A130","ST1A130","ST1A",0,24.53,120.2261,""); - Node = new TNode("ST1A175","ST1A175","ST1A",0,24.53,-120.225,""); - Node = new TNode("ST1A131","ST1A131","ST1A",0,26,120.2261,""); - Node = new TNode("ST1A176","ST1A176","ST1A",0,26,-120.225,""); - Node = new TNode("ST1A132","ST1A132","ST1A",0,27.46999,120.2261,""); - Node = new TNode("ST1A177","ST1A177","ST1A",0,27.46999,-120.225,""); - Node = new TNode("ST1A133","ST1A133","ST1A",0,28.94,120.2261,""); - Node = new TNode("ST1A178","ST1A178","ST1A",0,28.94,-120.225,""); - Node = new TNode("ST1A134","ST1A134","ST1A",0,30.40999,120.2261,""); - Node = new TNode("ST1A179","ST1A179","ST1A",0,30.40999,-120.225,""); - Node = new TNode("ST1A135","ST1A135","ST1A",0,31.87999,120.2261,""); - Node = new TNode("ST1A180","ST1A180","ST1A",0,31.87999,-120.225,""); - Node = new TNode("ST1B91","ST1B91","ST1B",40.22373,-32.7999,0,""); - Node = new TNode("ST1B136","ST1B136","ST1B",-40.2262,-32.7999,0,""); - Node = new TNode("ST1B92","ST1B92","ST1B",40.22373,-31.3299,0,""); - Node = new TNode("ST1B137","ST1B137","ST1B",-40.2262,-31.3299,0,""); - Node = new TNode("ST1B93","ST1B93","ST1B",40.22373,-29.86,0,""); - Node = new TNode("ST1B138","ST1B138","ST1B",-40.2262,-29.86,0,""); - Node = new TNode("ST1B94","ST1B94","ST1B",40.22373,-28.3899,0,""); - Node = new TNode("ST1B139","ST1B139","ST1B",-40.2262,-28.3899,0,""); - Node = new TNode("ST1B95","ST1B95","ST1B",40.22373,-26.92,0,""); - Node = new TNode("ST1B140","ST1B140","ST1B",-40.2262,-26.92,0,""); - Node = new TNode("ST1B96","ST1B96","ST1B",40.22373,-25.45,0,""); - Node = new TNode("ST1B141","ST1B141","ST1B",-40.2262,-25.45,0,""); - Node = new TNode("ST1B97","ST1B97","ST1B",40.22373,-23.9799,0,""); - Node = new TNode("ST1B142","ST1B142","ST1B",-40.2262,-23.9799,0,""); - Node = new TNode("ST1B98","ST1B98","ST1B",40.22373,-22.51,0,""); - Node = new TNode("ST1B143","ST1B143","ST1B",-40.2262,-22.51,0,""); - Node = new TNode("ST1B99","ST1B99","ST1B",40.22373,-21.04,0,""); - Node = new TNode("ST1B144","ST1B144","ST1B",-40.2262,-21.04,0,""); - Node = new TNode("ST1B100","ST1B100","ST1B",40.22373,-19.5699,0,""); - Node = new TNode("ST1B145","ST1B145","ST1B",-40.2262,-19.5699,0,""); - Node = new TNode("ST1B101","ST1B101","ST1B",40.22373,-18.1,0,""); - Node = new TNode("ST1B146","ST1B146","ST1B",-40.2262,-18.1,0,""); - Node = new TNode("ST1B102","ST1B102","ST1B",40.22373,-16.6299,0,""); - Node = new TNode("ST1B147","ST1B147","ST1B",-40.2262,-16.6299,0,""); - Node = new TNode("ST1B103","ST1B103","ST1B",40.22373,-15.1599,0,""); - Node = new TNode("ST1B148","ST1B148","ST1B",-40.2262,-15.1599,0,""); - Node = new TNode("ST1B104","ST1B104","ST1B",40.22373,-13.6899,0,""); - Node = new TNode("ST1B149","ST1B149","ST1B",-40.2262,-13.6899,0,""); - Node = new TNode("ST1B105","ST1B105","ST1B",40.22373,-12.22,0,""); - Node = new TNode("ST1B150","ST1B150","ST1B",-40.2262,-12.22,0,""); - Node = new TNode("ST1B106","ST1B106","ST1B",40.22373,-10.75,0,""); - Node = new TNode("ST1B151","ST1B151","ST1B",-40.2262,-10.75,0,""); - Node = new TNode("ST1B107","ST1B107","ST1B",40.22373,-9.27999,0,""); - Node = new TNode("ST1B152","ST1B152","ST1B",-40.2262,-9.27999,0,""); - Node = new TNode("ST1B108","ST1B108","ST1B",40.22373,-7.80999,0,""); - Node = new TNode("ST1B153","ST1B153","ST1B",-40.2262,-7.80999,0,""); - Node = new TNode("ST1B109","ST1B109","ST1B",40.22373,-6.34,0,""); - Node = new TNode("ST1B154","ST1B154","ST1B",-40.2262,-6.34,0,""); - Node = new TNode("ST1B110","ST1B110","ST1B",40.22373,-4.86999,0,""); - Node = new TNode("ST1B155","ST1B155","ST1B",-40.2262,-4.86999,0,""); - Node = new TNode("ST1B111","ST1B111","ST1B",40.22373,-3.4,0,""); - Node = new TNode("ST1B156","ST1B156","ST1B",-40.2262,-3.4,0,""); - Node = new TNode("ST1B112","ST1B112","ST1B",40.22373,-1.92999,0,""); - Node = new TNode("ST1B157","ST1B157","ST1B",-40.2262,-1.92999,0,""); - Node = new TNode("ST1B113","ST1B113","ST1B",40.22373,-.459999,0,""); - Node = new TNode("ST1B158","ST1B158","ST1B",-40.2262,-.459999,0,""); - Node = new TNode("ST1B114","ST1B114","ST1B",40.22373,1.01,0,""); - Node = new TNode("ST1B159","ST1B159","ST1B",-40.2262,1.01,0,""); - Node = new TNode("ST1B115","ST1B115","ST1B",40.22373,2.48,0,""); - Node = new TNode("ST1B160","ST1B160","ST1B",-40.2262,2.48,0,""); - Node = new TNode("ST1B116","ST1B116","ST1B",40.22373,3.95,0,""); - Node = new TNode("ST1B161","ST1B161","ST1B",-40.2262,3.95,0,""); - Node = new TNode("ST1B117","ST1B117","ST1B",40.22373,5.42,0,""); - Node = new TNode("ST1B162","ST1B162","ST1B",-40.2262,5.42,0,""); - Node = new TNode("ST1B118","ST1B118","ST1B",40.22373,6.889999,0,""); - Node = new TNode("ST1B163","ST1B163","ST1B",-40.2262,6.889999,0,""); - Node = new TNode("ST1B119","ST1B119","ST1B",40.22373,8.359999,0,""); - Node = new TNode("ST1B164","ST1B164","ST1B",-40.2262,8.359999,0,""); - Node = new TNode("ST1B120","ST1B120","ST1B",40.22373,9.829999,0,""); - Node = new TNode("ST1B165","ST1B165","ST1B",-40.2262,9.829999,0,""); - Node = new TNode("ST1B121","ST1B121","ST1B",40.22373,11.29998,0,""); - Node = new TNode("ST1B166","ST1B166","ST1B",-40.2262,11.29998,0,""); - Node = new TNode("ST1B122","ST1B122","ST1B",40.22373,12.77,0,""); - Node = new TNode("ST1B167","ST1B167","ST1B",-40.2262,12.77,0,""); - Node = new TNode("ST1B123","ST1B123","ST1B",40.22373,14.23999,0,""); - Node = new TNode("ST1B168","ST1B168","ST1B",-40.2262,14.23999,0,""); - Node = new TNode("ST1B124","ST1B124","ST1B",40.22373,15.70998,0,""); - Node = new TNode("ST1B169","ST1B169","ST1B",-40.2262,15.70998,0,""); - Node = new TNode("ST1B125","ST1B125","ST1B",40.22373,17.18,0,""); - Node = new TNode("ST1B170","ST1B170","ST1B",-40.2262,17.18,0,""); - Node = new TNode("ST1B126","ST1B126","ST1B",40.22373,18.64999,0,""); - Node = new TNode("ST1B171","ST1B171","ST1B",-40.2262,18.64999,0,""); - Node = new TNode("ST1B127","ST1B127","ST1B",40.22373,20.11998,0,""); - Node = new TNode("ST1B172","ST1B172","ST1B",-40.2262,20.11998,0,""); - Node = new TNode("ST1B128","ST1B128","ST1B",40.22373,21.59,0,""); - Node = new TNode("ST1B173","ST1B173","ST1B",-40.2262,21.59,0,""); - Node = new TNode("ST1B129","ST1B129","ST1B",40.22373,23.05999,0,""); - Node = new TNode("ST1B174","ST1B174","ST1B",-40.2262,23.05999,0,""); - Node = new TNode("ST1B130","ST1B130","ST1B",40.22373,24.53,0,""); - Node = new TNode("ST1B175","ST1B175","ST1B",-40.2262,24.53,0,""); - Node = new TNode("ST1B131","ST1B131","ST1B",40.22373,26,0,""); - Node = new TNode("ST1B176","ST1B176","ST1B",-40.2262,26,0,""); - Node = new TNode("ST1B132","ST1B132","ST1B",40.22373,27.46999,0,""); - Node = new TNode("ST1B177","ST1B177","ST1B",-40.2262,27.46999,0,""); - Node = new TNode("ST1B133","ST1B133","ST1B",40.22373,28.94,0,""); - Node = new TNode("ST1B178","ST1B178","ST1B",-40.2262,28.94,0,""); - Node = new TNode("ST1B134","ST1B134","ST1B",40.22373,30.40999,0,""); - Node = new TNode("ST1B179","ST1B179","ST1B",-40.2262,30.40999,0,""); - Node = new TNode("ST1B135","ST1B135","ST1B",40.22373,31.87999,0,""); - Node = new TNode("ST1B180","ST1B180","ST1B",-40.2262,31.87999,0,""); - Node5->cd(); - Node4->cd(); - Node = new TNode("OG1A1","OG1A1","OG1A",0,32.75,-128.449,""); - Node = new TNode("OG1B1","OG1B1","OG1B",0,-32.75,-128.449,""); - Node = new TNode("OG1C1","OG1C1","OG1C",98.44998,32.75,0,""); - Node = new TNode("OG1D1","OG1D1","OG1D",98.44998,-32.75,0,""); - Node = new TNode("OG1E1","OG1E1","OG1E",0,32.75,128.4499,""); - Node = new TNode("OG1F1","OG1F1","OG1F",0,-32.75,128.4499,""); - Node = new TNode("OG1G1","OG1G1","OG1G",-98.4499,32.75,0,""); - Node = new TNode("OG1H1","OG1H1","OG1H",-98.4499,-32.75,0,""); - Node = new TNode("OG1I1","OG1I1","OG1I",98.44998,0,0,""); - Node = new TNode("OG1J1","OG1J1","OG1J",-98.4499,0,0,""); - Node = new TNode("OG1K1","OG1K1","OG1K",-96.5999,0,-128.449,""); - Node = new TNode("OG1L1","OG1L1","OG1L",96.59999,0,-128.449,""); - Node = new TNode("OG1M1","OG1M1","OG1M",98.44998,0,-126.3,""); - Node = new TNode("OG1N1","OG1N1","OG1N",98.44998,0,126.2998,""); - Node = new TNode("OG1O1","OG1O1","OG1O",96.59999,0,128.4499,""); - Node = new TNode("OG1P1","OG1P1","OG1P",-96.5999,0,128.4499,""); - Node = new TNode("OG1Q1","OG1Q1","OG1Q",-98.4499,0,126.2998,""); - Node = new TNode("OG1R1","OG1R1","OG1R",-98.4499,0,-126.3,""); - Node = new TNode("OG1S1","OG1S1","OG1S",0,0,-128.744,""); - Node = new TNode("OG1T1","OG1T1","OG1T",98.74375,0,-65.05,""); - Node = new TNode("OG1U1","OG1U1","OG1U",98.74375,0,65.04998,""); - Node = new TNode("OG1V1","OG1V1","OG1V",0,0,128.7436,""); - Node = new TNode("OG1W1","OG1W1","OG1W",-98.7437,0,65.04998,""); - Node = new TNode("OG1X1","OG1X1","OG1X",-98.7437,0,-65.05,""); - Node = new TNode("IG1A1","IG1A1","IG1A",0,31.25,-123.599,""); - Node = new TNode("IG1B1","IG1B1","IG1B",0,-31.25,-123.599,""); - Node = new TNode("IG1C1","IG1C1","IG1C",93.25,31.25,0,""); - Node = new TNode("IG1D1","IG1D1","IG1D",93.25,-31.25,0,""); - Node = new TNode("IG1E1","IG1E1","IG1E",0,31.25,123.5998,""); - Node = new TNode("IG1F1","IG1F1","IG1F",0,-31.25,123.5998,""); - Node = new TNode("IG1G1","IG1G1","IG1G",-93.25,31.25,0,""); - Node = new TNode("IG1H1","IG1H1","IG1H",-93.25,-31.25,0,""); - Node = new TNode("IG1I1","IG1I1","IG1I",93.25,0,0,""); - Node = new TNode("IG1J1","IG1J1","IG1J",-93.25,0,0,""); - Node = new TNode("IG1K1","IG1K1","IG1K",-91.4,0,-123.599,""); - Node = new TNode("IG1L1","IG1L1","IG1L",91.4,0,-123.599,""); - Node = new TNode("IG1M1","IG1M1","IG1M",93.25,0,-121.449,""); - Node = new TNode("IG1N1","IG1N1","IG1N",93.25,0,121.4498,""); - Node = new TNode("IG1O1","IG1O1","IG1O",91.4,0,123.5998,""); - Node = new TNode("IG1P1","IG1P1","IG1P",-91.4,0,123.5998,""); - Node = new TNode("IG1Q1","IG1Q1","IG1Q",-93.25,0,121.4498,""); - Node = new TNode("IG1R1","IG1R1","IG1R",-93.25,0,-121.449,""); - Node = new TNode("IG1S1","IG1S1","IG1S",0,0,-123.893,""); - Node = new TNode("IG1T1","IG1T1","IG1T",93.54374,0,-62.625,""); - Node = new TNode("IG1U1","IG1U1","IG1U",93.54374,0,62.625,""); - Node = new TNode("IG1V1","IG1V1","IG1V",0,0,123.8936,""); - Node = new TNode("IG1W1","IG1W1","IG1W",-93.5438,0,62.625,""); - Node = new TNode("IG1X1","IG1X1","IG1X",-93.5438,0,-62.625,""); - Node2->cd(); - Node = new TNode("TF1A1","TF1A1","TF1A",-91.775,38.79999,0,""); - Node = new TNode("TF1A2","TF1A2","TF1A",91.775,38.79999,0,""); - TNode *Node16; - Node16 = new TNode("TF1B1","TF1B1","TF1B",0,38.79999,0,""); - Node16->cd(); - Node = new TNode("TF1C1","TF1C1","TF1C",0,0,0,""); - Node2->cd(); - Node = new TNode("TF1D1","TF1D1","TF1D",-47.0999,38.79999,-121.675,""); - Node = new TNode("TF1D2","TF1D2","TF1D",-47.0999,38.79999,121.675,""); - Node = new TNode("TF1D3","TF1D3","TF1D",47.09999,38.79999,-121.675,""); - Node = new TNode("TF1D4","TF1D4","TF1D",47.09999,38.79999,121.675,""); - Node = new TNode("TF1E1","TF1E1","TF1E",-84.525,32,0,""); - Node = new TNode("TF1E2","TF1E2","TF1E",84.52498,32,0,""); - Node = new TNode("TF1E3","TF1E3","TF1E",-9.675,32,0,""); - Node = new TNode("TF1E4","TF1E4","TF1E",9.675,32,0,""); - Node = new TNode("TF1F1","TF1F1","TF1F",47.09999,32,-114.425,""); - Node = new TNode("TF1F2","TF1F2","TF1F",47.09999,32,114.4248,""); - Node = new TNode("TF1F3","TF1F3","TF1F",-47.0999,32,-114.425,""); - Node = new TNode("TF1F4","TF1F4","TF1F",-47.0999,32,114.4248,""); - Node = new TNode("TF1G1","TF1G1","TF1G",47.09999,32,-38.5,""); - Node = new TNode("TF1G2","TF1G2","TF1G",47.09999,32,38.5,""); - Node = new TNode("TF1G3","TF1G3","TF1G",-47.0999,32,-38.5,""); - Node = new TNode("TF1G4","TF1G4","TF1G",-47.0999,32,38.5,""); - TNode *Node17; - Node17 = new TNode("TF1I1","TF1I1","TF1I",-47.0999,32.84999,-77,"rot2"); - Node17->cd(); - TNode *Node18; - Node18 = new TNode("TF1J1","TF1J1","TF1J",-27.75,0,-22.2,""); - Node18->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node19; - Node19 = new TNode("TF1J2","TF1J2","TF1J",-16.6499,0,-22.2,""); - Node19->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node20; - Node20 = new TNode("TF1J3","TF1J3","TF1J",-5.55,0,-22.2,""); - Node20->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node21; - Node21 = new TNode("TF1J4","TF1J4","TF1J",5.55,0,-22.2,""); - Node21->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node22; - Node22 = new TNode("TF1J5","TF1J5","TF1J",16.64999,0,-22.2,""); - Node22->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node23; - Node23 = new TNode("TF1J6","TF1J6","TF1J",27.75,0,-22.2,""); - Node23->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node24; - Node24 = new TNode("TF1J7","TF1J7","TF1J",-27.75,0,0,""); - Node24->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node25; - Node25 = new TNode("TF1J8","TF1J8","TF1J",-16.6499,0,0,""); - Node25->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node26; - Node26 = new TNode("TF1J9","TF1J9","TF1J",-5.55,0,0,""); - Node26->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node27; - Node27 = new TNode("TF1J10","TF1J10","TF1J",5.55,0,0,""); - Node27->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node28; - Node28 = new TNode("TF1J11","TF1J11","TF1J",16.64999,0,0,""); - Node28->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node29; - Node29 = new TNode("TF1J12","TF1J12","TF1J",27.75,0,0,""); - Node29->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node30; - Node30 = new TNode("TF1J13","TF1J13","TF1J",-27.75,0,22.2,""); - Node30->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node31; - Node31 = new TNode("TF1J14","TF1J14","TF1J",-16.6499,0,22.2,""); - Node31->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node32; - Node32 = new TNode("TF1J15","TF1J15","TF1J",-5.55,0,22.2,""); - Node32->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node33; - Node33 = new TNode("TF1J16","TF1J16","TF1J",5.55,0,22.2,""); - Node33->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node34; - Node34 = new TNode("TF1J17","TF1J17","TF1J",16.64999,0,22.2,""); - Node34->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - TNode *Node35; - Node35 = new TNode("TF1J18","TF1J18","TF1J",27.75,0,22.2,""); - Node35->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node17->cd(); - Node = new TNode("TF1K1","TF1K1","TF1K",0,-1.15,23.14999,""); - Node = new TNode("TF1K2","TF1K2","TF1K",0,-1.15,-23.1499,""); - Node = new TNode("TF1L3","TF1L3","TF1L",0,-1.15,5.55,""); - Node = new TNode("TF1L4","TF1L4","TF1L",0,-1.15,-5.55,""); - Node2->cd(); - TNode *Node36; - Node36 = new TNode("TF1I2","TF1I2","TF1I",-47.0999,32.84999,0,"rot2"); - Node36->cd(); - TNode *Node37; - Node37 = new TNode("TF1J1","TF1J1","TF1J",-27.75,0,-22.2,""); - Node37->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node38; - Node38 = new TNode("TF1J2","TF1J2","TF1J",-16.6499,0,-22.2,""); - Node38->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node39; - Node39 = new TNode("TF1J3","TF1J3","TF1J",-5.55,0,-22.2,""); - Node39->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node40; - Node40 = new TNode("TF1J4","TF1J4","TF1J",5.55,0,-22.2,""); - Node40->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node41; - Node41 = new TNode("TF1J5","TF1J5","TF1J",16.64999,0,-22.2,""); - Node41->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node42; - Node42 = new TNode("TF1J6","TF1J6","TF1J",27.75,0,-22.2,""); - Node42->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node43; - Node43 = new TNode("TF1J7","TF1J7","TF1J",-27.75,0,0,""); - Node43->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node44; - Node44 = new TNode("TF1J8","TF1J8","TF1J",-16.6499,0,0,""); - Node44->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node45; - Node45 = new TNode("TF1J9","TF1J9","TF1J",-5.55,0,0,""); - Node45->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node46; - Node46 = new TNode("TF1J10","TF1J10","TF1J",5.55,0,0,""); - Node46->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node47; - Node47 = new TNode("TF1J11","TF1J11","TF1J",16.64999,0,0,""); - Node47->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node48; - Node48 = new TNode("TF1J12","TF1J12","TF1J",27.75,0,0,""); - Node48->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node49; - Node49 = new TNode("TF1J13","TF1J13","TF1J",-27.75,0,22.2,""); - Node49->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node50; - Node50 = new TNode("TF1J14","TF1J14","TF1J",-16.6499,0,22.2,""); - Node50->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node51; - Node51 = new TNode("TF1J15","TF1J15","TF1J",-5.55,0,22.2,""); - Node51->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node52; - Node52 = new TNode("TF1J16","TF1J16","TF1J",5.55,0,22.2,""); - Node52->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node53; - Node53 = new TNode("TF1J17","TF1J17","TF1J",16.64999,0,22.2,""); - Node53->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - TNode *Node54; - Node54 = new TNode("TF1J18","TF1J18","TF1J",27.75,0,22.2,""); - Node54->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node36->cd(); - Node = new TNode("TF1K1","TF1K1","TF1K",0,-1.15,23.14999,""); - Node = new TNode("TF1K2","TF1K2","TF1K",0,-1.15,-23.1499,""); - Node = new TNode("TF1L3","TF1L3","TF1L",0,-1.15,5.55,""); - Node = new TNode("TF1L4","TF1L4","TF1L",0,-1.15,-5.55,""); - Node2->cd(); - TNode *Node55; - Node55 = new TNode("TF1I3","TF1I3","TF1I",-47.0999,32.84999,77,"rot2"); - Node55->cd(); - TNode *Node56; - Node56 = new TNode("TF1J1","TF1J1","TF1J",-27.75,0,-22.2,""); - Node56->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node57; - Node57 = new TNode("TF1J2","TF1J2","TF1J",-16.6499,0,-22.2,""); - Node57->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node58; - Node58 = new TNode("TF1J3","TF1J3","TF1J",-5.55,0,-22.2,""); - Node58->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node59; - Node59 = new TNode("TF1J4","TF1J4","TF1J",5.55,0,-22.2,""); - Node59->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node60; - Node60 = new TNode("TF1J5","TF1J5","TF1J",16.64999,0,-22.2,""); - Node60->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node61; - Node61 = new TNode("TF1J6","TF1J6","TF1J",27.75,0,-22.2,""); - Node61->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node62; - Node62 = new TNode("TF1J7","TF1J7","TF1J",-27.75,0,0,""); - Node62->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node63; - Node63 = new TNode("TF1J8","TF1J8","TF1J",-16.6499,0,0,""); - Node63->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node64; - Node64 = new TNode("TF1J9","TF1J9","TF1J",-5.55,0,0,""); - Node64->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node65; - Node65 = new TNode("TF1J10","TF1J10","TF1J",5.55,0,0,""); - Node65->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node66; - Node66 = new TNode("TF1J11","TF1J11","TF1J",16.64999,0,0,""); - Node66->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node67; - Node67 = new TNode("TF1J12","TF1J12","TF1J",27.75,0,0,""); - Node67->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node68; - Node68 = new TNode("TF1J13","TF1J13","TF1J",-27.75,0,22.2,""); - Node68->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node69; - Node69 = new TNode("TF1J14","TF1J14","TF1J",-16.6499,0,22.2,""); - Node69->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node70; - Node70 = new TNode("TF1J15","TF1J15","TF1J",-5.55,0,22.2,""); - Node70->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node71; - Node71 = new TNode("TF1J16","TF1J16","TF1J",5.55,0,22.2,""); - Node71->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node72; - Node72 = new TNode("TF1J17","TF1J17","TF1J",16.64999,0,22.2,""); - Node72->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - TNode *Node73; - Node73 = new TNode("TF1J18","TF1J18","TF1J",27.75,0,22.2,""); - Node73->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node55->cd(); - Node = new TNode("TF1K1","TF1K1","TF1K",0,-1.15,23.14999,""); - Node = new TNode("TF1K2","TF1K2","TF1K",0,-1.15,-23.1499,""); - Node = new TNode("TF1L3","TF1L3","TF1L",0,-1.15,5.55,""); - Node = new TNode("TF1L4","TF1L4","TF1L",0,-1.15,-5.55,""); - Node2->cd(); - TNode *Node74; - Node74 = new TNode("TF1I4","TF1I4","TF1I",47.09999,32.84999,-77,"rot2"); - Node74->cd(); - TNode *Node75; - Node75 = new TNode("TF1J1","TF1J1","TF1J",-27.75,0,-22.2,""); - Node75->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node76; - Node76 = new TNode("TF1J2","TF1J2","TF1J",-16.6499,0,-22.2,""); - Node76->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node77; - Node77 = new TNode("TF1J3","TF1J3","TF1J",-5.55,0,-22.2,""); - Node77->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node78; - Node78 = new TNode("TF1J4","TF1J4","TF1J",5.55,0,-22.2,""); - Node78->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node79; - Node79 = new TNode("TF1J5","TF1J5","TF1J",16.64999,0,-22.2,""); - Node79->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node80; - Node80 = new TNode("TF1J6","TF1J6","TF1J",27.75,0,-22.2,""); - Node80->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node81; - Node81 = new TNode("TF1J7","TF1J7","TF1J",-27.75,0,0,""); - Node81->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node82; - Node82 = new TNode("TF1J8","TF1J8","TF1J",-16.6499,0,0,""); - Node82->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node83; - Node83 = new TNode("TF1J9","TF1J9","TF1J",-5.55,0,0,""); - Node83->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node84; - Node84 = new TNode("TF1J10","TF1J10","TF1J",5.55,0,0,""); - Node84->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node85; - Node85 = new TNode("TF1J11","TF1J11","TF1J",16.64999,0,0,""); - Node85->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node86; - Node86 = new TNode("TF1J12","TF1J12","TF1J",27.75,0,0,""); - Node86->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node87; - Node87 = new TNode("TF1J13","TF1J13","TF1J",-27.75,0,22.2,""); - Node87->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node88; - Node88 = new TNode("TF1J14","TF1J14","TF1J",-16.6499,0,22.2,""); - Node88->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node89; - Node89 = new TNode("TF1J15","TF1J15","TF1J",-5.55,0,22.2,""); - Node89->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node90; - Node90 = new TNode("TF1J16","TF1J16","TF1J",5.55,0,22.2,""); - Node90->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node91; - Node91 = new TNode("TF1J17","TF1J17","TF1J",16.64999,0,22.2,""); - Node91->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - TNode *Node92; - Node92 = new TNode("TF1J18","TF1J18","TF1J",27.75,0,22.2,""); - Node92->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node74->cd(); - Node = new TNode("TF1K1","TF1K1","TF1K",0,-1.15,23.14999,""); - Node = new TNode("TF1K2","TF1K2","TF1K",0,-1.15,-23.1499,""); - Node = new TNode("TF1L3","TF1L3","TF1L",0,-1.15,5.55,""); - Node = new TNode("TF1L4","TF1L4","TF1L",0,-1.15,-5.55,""); - Node2->cd(); - TNode *Node93; - Node93 = new TNode("TF1I5","TF1I5","TF1I",47.09999,32.84999,0,"rot2"); - Node93->cd(); - TNode *Node94; - Node94 = new TNode("TF1J1","TF1J1","TF1J",-27.75,0,-22.2,""); - Node94->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node95; - Node95 = new TNode("TF1J2","TF1J2","TF1J",-16.6499,0,-22.2,""); - Node95->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node96; - Node96 = new TNode("TF1J3","TF1J3","TF1J",-5.55,0,-22.2,""); - Node96->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node97; - Node97 = new TNode("TF1J4","TF1J4","TF1J",5.55,0,-22.2,""); - Node97->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node98; - Node98 = new TNode("TF1J5","TF1J5","TF1J",16.64999,0,-22.2,""); - Node98->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node99; - Node99 = new TNode("TF1J6","TF1J6","TF1J",27.75,0,-22.2,""); - Node99->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node100; - Node100 = new TNode("TF1J7","TF1J7","TF1J",-27.75,0,0,""); - Node100->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node101; - Node101 = new TNode("TF1J8","TF1J8","TF1J",-16.6499,0,0,""); - Node101->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node102; - Node102 = new TNode("TF1J9","TF1J9","TF1J",-5.55,0,0,""); - Node102->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node103; - Node103 = new TNode("TF1J10","TF1J10","TF1J",5.55,0,0,""); - Node103->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node104; - Node104 = new TNode("TF1J11","TF1J11","TF1J",16.64999,0,0,""); - Node104->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node105; - Node105 = new TNode("TF1J12","TF1J12","TF1J",27.75,0,0,""); - Node105->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node106; - Node106 = new TNode("TF1J13","TF1J13","TF1J",-27.75,0,22.2,""); - Node106->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node107; - Node107 = new TNode("TF1J14","TF1J14","TF1J",-16.6499,0,22.2,""); - Node107->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node108; - Node108 = new TNode("TF1J15","TF1J15","TF1J",-5.55,0,22.2,""); - Node108->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node109; - Node109 = new TNode("TF1J16","TF1J16","TF1J",5.55,0,22.2,""); - Node109->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node110; - Node110 = new TNode("TF1J17","TF1J17","TF1J",16.64999,0,22.2,""); - Node110->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - TNode *Node111; - Node111 = new TNode("TF1J18","TF1J18","TF1J",27.75,0,22.2,""); - Node111->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node93->cd(); - Node = new TNode("TF1K1","TF1K1","TF1K",0,-1.15,23.14999,""); - Node = new TNode("TF1K2","TF1K2","TF1K",0,-1.15,-23.1499,""); - Node = new TNode("TF1L3","TF1L3","TF1L",0,-1.15,5.55,""); - Node = new TNode("TF1L4","TF1L4","TF1L",0,-1.15,-5.55,""); - Node2->cd(); - TNode *Node112; - Node112 = new TNode("TF1I6","TF1I6","TF1I",47.09999,32.84999,77,"rot2"); - Node112->cd(); - TNode *Node113; - Node113 = new TNode("TF1J1","TF1J1","TF1J",-27.75,0,-22.2,""); - Node113->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node114; - Node114 = new TNode("TF1J2","TF1J2","TF1J",-16.6499,0,-22.2,""); - Node114->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node115; - Node115 = new TNode("TF1J3","TF1J3","TF1J",-5.55,0,-22.2,""); - Node115->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node116; - Node116 = new TNode("TF1J4","TF1J4","TF1J",5.55,0,-22.2,""); - Node116->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node117; - Node117 = new TNode("TF1J5","TF1J5","TF1J",16.64999,0,-22.2,""); - Node117->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node118; - Node118 = new TNode("TF1J6","TF1J6","TF1J",27.75,0,-22.2,""); - Node118->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node119; - Node119 = new TNode("TF1J7","TF1J7","TF1J",-27.75,0,0,""); - Node119->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node120; - Node120 = new TNode("TF1J8","TF1J8","TF1J",-16.6499,0,0,""); - Node120->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node121; - Node121 = new TNode("TF1J9","TF1J9","TF1J",-5.55,0,0,""); - Node121->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node122; - Node122 = new TNode("TF1J10","TF1J10","TF1J",5.55,0,0,""); - Node122->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node123; - Node123 = new TNode("TF1J11","TF1J11","TF1J",16.64999,0,0,""); - Node123->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node124; - Node124 = new TNode("TF1J12","TF1J12","TF1J",27.75,0,0,""); - Node124->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node125; - Node125 = new TNode("TF1J13","TF1J13","TF1J",-27.75,0,22.2,""); - Node125->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node126; - Node126 = new TNode("TF1J14","TF1J14","TF1J",-16.6499,0,22.2,""); - Node126->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node127; - Node127 = new TNode("TF1J15","TF1J15","TF1J",-5.55,0,22.2,""); - Node127->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node128; - Node128 = new TNode("TF1J16","TF1J16","TF1J",5.55,0,22.2,""); - Node128->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node129; - Node129 = new TNode("TF1J17","TF1J17","TF1J",16.64999,0,22.2,""); - Node129->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - TNode *Node130; - Node130 = new TNode("TF1J18","TF1J18","TF1J",27.75,0,22.2,""); - Node130->cd(); - Node = new TNode("TF1M1","TF1M1","TF1M",0,-2.7,0,""); - Node = new TNode("TF1N1","TF1N1","TF1N",-3,0,-5.3,""); - Node = new TNode("TF1N2","TF1N2","TF1N",0,0,-5.3,""); - Node = new TNode("TF1N3","TF1N3","TF1N",3,0,-5.3,""); - Node = new TNode("TF1N4","TF1N4","TF1N",-3,0,5.3,""); - Node = new TNode("TF1N5","TF1N5","TF1N",0,0,5.3,""); - Node = new TNode("TF1N6","TF1N6","TF1N",3,0,5.3,""); - Node112->cd(); - Node = new TNode("TF1K1","TF1K1","TF1K",0,-1.15,23.14999,""); - Node = new TNode("TF1K2","TF1K2","TF1K",0,-1.15,-23.1499,""); - Node = new TNode("TF1L3","TF1L3","TF1L",0,-1.15,5.55,""); - Node = new TNode("TF1L4","TF1L4","TF1L",0,-1.15,-5.55,""); - Node2->cd(); -Node1->cd(); - TNode *Node131; - Node131 = new TNode("VT2_1","VT2_1","VT2_",.36,-1.247,-.29,"rot4"); - Node131->cd(); - TNode *Node132; - Node132 = new TNode("HV2_1","HV2_1","HV2_",0,-43.25,0,""); - Node132->cd(); - Node = new TNode("HV2I1","HV2I1","HV2I",0,0,0,""); - Node131->cd(); - TNode *Node133; - Node133 = new TNode("OGB21","OGB21","OGB2",0,-4.44999,0,""); - Node133->cd(); - TNode *Node134; - Node134 = new TNode("IGB21","IGB21","IGB2",0,0,0,""); - Node134->cd(); - TNode *Node135; - Node135 = new TNode("FCL21","FCL21","FCL2",50.09999,0,0,""); - Node135->cd(); - TNode *Node136; - Node136 = new TNode("SVL21","SVL21","SVL2",-3.025,0,0,""); - Node136->cd(); - TNode *Node137; - Node137 = new TNode("SEC21","SEC21","SEC2",-.203506,.92,-77,""); - Node137->cd(); - Node = new TNode("PR2_1","PR2_1","PR2_",0,0,-34,""); - Node = new TNode("PR2_2","PR2_2","PR2_",0,0,-30.7999,""); - Node = new TNode("PR2_3","PR2_3","PR2_",0,0,-28,""); - Node = new TNode("PR2_4","PR2_4","PR2_",0,0,-25.2,""); - Node = new TNode("PR2_5","PR2_5","PR2_",0,0,-22,""); - Node = new TNode("PR2_6","PR2_6","PR2_",0,0,-19.2,""); - Node = new TNode("PR2_7","PR2_7","PR2_",0,0,-16.3999,""); - Node = new TNode("PR2_8","PR2_8","PR2_",0,0,-13.6,""); - Node = new TNode("PR2_9","PR2_9","PR2_",0,0,-10.3999,""); - Node = new TNode("PR2_10","PR2_10","PR2_",0,0,-7.59998,""); - Node = new TNode("PR2_11","PR2_11","PR2_",0,0,-4.79999,""); - Node = new TNode("PR2_12","PR2_12","PR2_",0,0,-1.59999,""); - Node = new TNode("PR2_13","PR2_13","PR2_",0,0,1.60001,""); - Node = new TNode("PR2_14","PR2_14","PR2_",0,0,4.8,""); - Node = new TNode("PR2_15","PR2_15","PR2_",0,0,7.600009,""); - Node = new TNode("PR2_16","PR2_16","PR2_",0,0,10.39999,""); - Node = new TNode("PR2_17","PR2_17","PR2_",0,0,13.6,""); - Node = new TNode("PR2_18","PR2_18","PR2_",0,0,16.39999,""); - Node = new TNode("PR2_19","PR2_19","PR2_",0,0,19.2,""); - Node = new TNode("PR2_20","PR2_20","PR2_",0,0,22,""); - Node = new TNode("PR2_21","PR2_21","PR2_",0,0,25.2,""); - Node = new TNode("PR2_22","PR2_22","PR2_",0,0,28,""); - Node = new TNode("PR2_23","PR2_23","PR2_",0,0,30.79999,""); - Node = new TNode("PR2_24","PR2_24","PR2_",0,0,34,""); - Node136->cd(); - TNode *Node138; - Node138 = new TNode("SEC22","SEC22","SEC2",-.203506,.92,-.000003,""); - Node138->cd(); - Node = new TNode("PR2_1","PR2_1","PR2_",0,0,-34,""); - Node = new TNode("PR2_2","PR2_2","PR2_",0,0,-30.7999,""); - Node = new TNode("PR2_3","PR2_3","PR2_",0,0,-28,""); - Node = new TNode("PR2_4","PR2_4","PR2_",0,0,-25.2,""); - Node = new TNode("PR2_5","PR2_5","PR2_",0,0,-22,""); - Node = new TNode("PR2_6","PR2_6","PR2_",0,0,-19.2,""); - Node = new TNode("PR2_7","PR2_7","PR2_",0,0,-16.3999,""); - Node = new TNode("PR2_8","PR2_8","PR2_",0,0,-13.6,""); - Node = new TNode("PR2_9","PR2_9","PR2_",0,0,-10.3999,""); - Node = new TNode("PR2_10","PR2_10","PR2_",0,0,-7.59998,""); - Node = new TNode("PR2_11","PR2_11","PR2_",0,0,-4.79999,""); - Node = new TNode("PR2_12","PR2_12","PR2_",0,0,-1.59999,""); - Node = new TNode("PR2_13","PR2_13","PR2_",0,0,1.60001,""); - Node = new TNode("PR2_14","PR2_14","PR2_",0,0,4.8,""); - Node = new TNode("PR2_15","PR2_15","PR2_",0,0,7.600009,""); - Node = new TNode("PR2_16","PR2_16","PR2_",0,0,10.39999,""); - Node = new TNode("PR2_17","PR2_17","PR2_",0,0,13.6,""); - Node = new TNode("PR2_18","PR2_18","PR2_",0,0,16.39999,""); - Node = new TNode("PR2_19","PR2_19","PR2_",0,0,19.2,""); - Node = new TNode("PR2_20","PR2_20","PR2_",0,0,22,""); - Node = new TNode("PR2_21","PR2_21","PR2_",0,0,25.2,""); - Node = new TNode("PR2_22","PR2_22","PR2_",0,0,28,""); - Node = new TNode("PR2_23","PR2_23","PR2_",0,0,30.79999,""); - Node = new TNode("PR2_24","PR2_24","PR2_",0,0,34,""); - Node136->cd(); - TNode *Node139; - Node139 = new TNode("SEC23","SEC23","SEC2",-.203506,.92,77,""); - Node139->cd(); - Node = new TNode("PR2_1","PR2_1","PR2_",0,0,-34,""); - Node = new TNode("PR2_2","PR2_2","PR2_",0,0,-30.7999,""); - Node = new TNode("PR2_3","PR2_3","PR2_",0,0,-28,""); - Node = new TNode("PR2_4","PR2_4","PR2_",0,0,-25.2,""); - Node = new TNode("PR2_5","PR2_5","PR2_",0,0,-22,""); - Node = new TNode("PR2_6","PR2_6","PR2_",0,0,-19.2,""); - Node = new TNode("PR2_7","PR2_7","PR2_",0,0,-16.3999,""); - Node = new TNode("PR2_8","PR2_8","PR2_",0,0,-13.6,""); - Node = new TNode("PR2_9","PR2_9","PR2_",0,0,-10.3999,""); - Node = new TNode("PR2_10","PR2_10","PR2_",0,0,-7.59998,""); - Node = new TNode("PR2_11","PR2_11","PR2_",0,0,-4.79999,""); - Node = new TNode("PR2_12","PR2_12","PR2_",0,0,-1.59999,""); - Node = new TNode("PR2_13","PR2_13","PR2_",0,0,1.60001,""); - Node = new TNode("PR2_14","PR2_14","PR2_",0,0,4.8,""); - Node = new TNode("PR2_15","PR2_15","PR2_",0,0,7.600009,""); - Node = new TNode("PR2_16","PR2_16","PR2_",0,0,10.39999,""); - Node = new TNode("PR2_17","PR2_17","PR2_",0,0,13.6,""); - Node = new TNode("PR2_18","PR2_18","PR2_",0,0,16.39999,""); - Node = new TNode("PR2_19","PR2_19","PR2_",0,0,19.2,""); - Node = new TNode("PR2_20","PR2_20","PR2_",0,0,22,""); - Node = new TNode("PR2_21","PR2_21","PR2_",0,0,25.2,""); - Node = new TNode("PR2_22","PR2_22","PR2_",0,0,28,""); - Node = new TNode("PR2_23","PR2_23","PR2_",0,0,30.79999,""); - Node = new TNode("PR2_24","PR2_24","PR2_",0,0,34,""); - Node136->cd(); - Node135->cd(); - Node = new TNode("T1L21","T1L21","T1L2",-38.25,0,-118.25,"rot6"); - Node = new TNode("T2L21","T2L21","T2L2",38.25,0,-118.25,"rot6"); - Node = new TNode("T3L21","T3L21","T3L2",40.575,0,0,"rot6"); - Node = new TNode("T4L21","T4L21","T4L2",38.25,0,118.25,"rot6"); - Node = new TNode("T5L21","T5L21","T5L2",-38.25,0,118.25,"rot6"); - Node = new TNode("T6L21","T6L21","T6L2",-40.5649,0,0,"rot6"); - Node = new TNode("ST2A1","ST2A1","ST2A",0,-32.7999,120.2261,""); - Node = new TNode("ST2A46","ST2A46","ST2A",0,-32.7999,-120.225,""); - Node = new TNode("ST2A2","ST2A2","ST2A",0,-31.3299,120.2261,""); - Node = new TNode("ST2A47","ST2A47","ST2A",0,-31.3299,-120.225,""); - Node = new TNode("ST2A3","ST2A3","ST2A",0,-29.86,120.2261,""); - Node = new TNode("ST2A48","ST2A48","ST2A",0,-29.86,-120.225,""); - Node = new TNode("ST2A4","ST2A4","ST2A",0,-28.3899,120.2261,""); - Node = new TNode("ST2A49","ST2A49","ST2A",0,-28.3899,-120.225,""); - Node = new TNode("ST2A5","ST2A5","ST2A",0,-26.92,120.2261,""); - Node = new TNode("ST2A50","ST2A50","ST2A",0,-26.92,-120.225,""); - Node = new TNode("ST2A6","ST2A6","ST2A",0,-25.45,120.2261,""); - Node = new TNode("ST2A51","ST2A51","ST2A",0,-25.45,-120.225,""); - Node = new TNode("ST2A7","ST2A7","ST2A",0,-23.9799,120.2261,""); - Node = new TNode("ST2A52","ST2A52","ST2A",0,-23.9799,-120.225,""); - Node = new TNode("ST2A8","ST2A8","ST2A",0,-22.51,120.2261,""); - Node = new TNode("ST2A53","ST2A53","ST2A",0,-22.51,-120.225,""); - Node = new TNode("ST2A9","ST2A9","ST2A",0,-21.04,120.2261,""); - Node = new TNode("ST2A54","ST2A54","ST2A",0,-21.04,-120.225,""); - Node = new TNode("ST2A10","ST2A10","ST2A",0,-19.5699,120.2261,""); - Node = new TNode("ST2A55","ST2A55","ST2A",0,-19.5699,-120.225,""); - Node = new TNode("ST2A11","ST2A11","ST2A",0,-18.1,120.2261,""); - Node = new TNode("ST2A56","ST2A56","ST2A",0,-18.1,-120.225,""); - Node = new TNode("ST2A12","ST2A12","ST2A",0,-16.6299,120.2261,""); - Node = new TNode("ST2A57","ST2A57","ST2A",0,-16.6299,-120.225,""); - Node = new TNode("ST2A13","ST2A13","ST2A",0,-15.1599,120.2261,""); - Node = new TNode("ST2A58","ST2A58","ST2A",0,-15.1599,-120.225,""); - Node = new TNode("ST2A14","ST2A14","ST2A",0,-13.6899,120.2261,""); - Node = new TNode("ST2A59","ST2A59","ST2A",0,-13.6899,-120.225,""); - Node = new TNode("ST2A15","ST2A15","ST2A",0,-12.22,120.2261,""); - Node = new TNode("ST2A60","ST2A60","ST2A",0,-12.22,-120.225,""); - Node = new TNode("ST2A16","ST2A16","ST2A",0,-10.75,120.2261,""); - Node = new TNode("ST2A61","ST2A61","ST2A",0,-10.75,-120.225,""); - Node = new TNode("ST2A17","ST2A17","ST2A",0,-9.27999,120.2261,""); - Node = new TNode("ST2A62","ST2A62","ST2A",0,-9.27999,-120.225,""); - Node = new TNode("ST2A18","ST2A18","ST2A",0,-7.80999,120.2261,""); - Node = new TNode("ST2A63","ST2A63","ST2A",0,-7.80999,-120.225,""); - Node = new TNode("ST2A19","ST2A19","ST2A",0,-6.34,120.2261,""); - Node = new TNode("ST2A64","ST2A64","ST2A",0,-6.34,-120.225,""); - Node = new TNode("ST2A20","ST2A20","ST2A",0,-4.86999,120.2261,""); - Node = new TNode("ST2A65","ST2A65","ST2A",0,-4.86999,-120.225,""); - Node = new TNode("ST2A21","ST2A21","ST2A",0,-3.4,120.2261,""); - Node = new TNode("ST2A66","ST2A66","ST2A",0,-3.4,-120.225,""); - Node = new TNode("ST2A22","ST2A22","ST2A",0,-1.92999,120.2261,""); - Node = new TNode("ST2A67","ST2A67","ST2A",0,-1.92999,-120.225,""); - Node = new TNode("ST2A23","ST2A23","ST2A",0,-.459999,120.2261,""); - Node = new TNode("ST2A68","ST2A68","ST2A",0,-.459999,-120.225,""); - Node = new TNode("ST2A24","ST2A24","ST2A",0,1.01,120.2261,""); - Node = new TNode("ST2A69","ST2A69","ST2A",0,1.01,-120.225,""); - Node = new TNode("ST2A25","ST2A25","ST2A",0,2.48,120.2261,""); - Node = new TNode("ST2A70","ST2A70","ST2A",0,2.48,-120.225,""); - Node = new TNode("ST2A26","ST2A26","ST2A",0,3.95,120.2261,""); - Node = new TNode("ST2A71","ST2A71","ST2A",0,3.95,-120.225,""); - Node = new TNode("ST2A27","ST2A27","ST2A",0,5.42,120.2261,""); - Node = new TNode("ST2A72","ST2A72","ST2A",0,5.42,-120.225,""); - Node = new TNode("ST2A28","ST2A28","ST2A",0,6.889999,120.2261,""); - Node = new TNode("ST2A73","ST2A73","ST2A",0,6.889999,-120.225,""); - Node = new TNode("ST2A29","ST2A29","ST2A",0,8.359999,120.2261,""); - Node = new TNode("ST2A74","ST2A74","ST2A",0,8.359999,-120.225,""); - Node = new TNode("ST2A30","ST2A30","ST2A",0,9.829999,120.2261,""); - Node = new TNode("ST2A75","ST2A75","ST2A",0,9.829999,-120.225,""); - Node = new TNode("ST2A31","ST2A31","ST2A",0,11.29998,120.2261,""); - Node = new TNode("ST2A76","ST2A76","ST2A",0,11.29998,-120.225,""); - Node = new TNode("ST2A32","ST2A32","ST2A",0,12.77,120.2261,""); - Node = new TNode("ST2A77","ST2A77","ST2A",0,12.77,-120.225,""); - Node = new TNode("ST2A33","ST2A33","ST2A",0,14.23999,120.2261,""); - Node = new TNode("ST2A78","ST2A78","ST2A",0,14.23999,-120.225,""); - Node = new TNode("ST2A34","ST2A34","ST2A",0,15.70998,120.2261,""); - Node = new TNode("ST2A79","ST2A79","ST2A",0,15.70998,-120.225,""); - Node = new TNode("ST2A35","ST2A35","ST2A",0,17.18,120.2261,""); - Node = new TNode("ST2A80","ST2A80","ST2A",0,17.18,-120.225,""); - Node = new TNode("ST2A36","ST2A36","ST2A",0,18.64999,120.2261,""); - Node = new TNode("ST2A81","ST2A81","ST2A",0,18.64999,-120.225,""); - Node = new TNode("ST2A37","ST2A37","ST2A",0,20.11998,120.2261,""); - Node = new TNode("ST2A82","ST2A82","ST2A",0,20.11998,-120.225,""); - Node = new TNode("ST2A38","ST2A38","ST2A",0,21.59,120.2261,""); - Node = new TNode("ST2A83","ST2A83","ST2A",0,21.59,-120.225,""); - Node = new TNode("ST2A39","ST2A39","ST2A",0,23.05999,120.2261,""); - Node = new TNode("ST2A84","ST2A84","ST2A",0,23.05999,-120.225,""); - Node = new TNode("ST2A40","ST2A40","ST2A",0,24.53,120.2261,""); - Node = new TNode("ST2A85","ST2A85","ST2A",0,24.53,-120.225,""); - Node = new TNode("ST2A41","ST2A41","ST2A",0,26,120.2261,""); - Node = new TNode("ST2A86","ST2A86","ST2A",0,26,-120.225,""); - Node = new TNode("ST2A42","ST2A42","ST2A",0,27.46999,120.2261,""); - Node = new TNode("ST2A87","ST2A87","ST2A",0,27.46999,-120.225,""); - Node = new TNode("ST2A43","ST2A43","ST2A",0,28.94,120.2261,""); - Node = new TNode("ST2A88","ST2A88","ST2A",0,28.94,-120.225,""); - Node = new TNode("ST2A44","ST2A44","ST2A",0,30.40999,120.2261,""); - Node = new TNode("ST2A89","ST2A89","ST2A",0,30.40999,-120.225,""); - Node = new TNode("ST2A45","ST2A45","ST2A",0,31.87999,120.2261,""); - Node = new TNode("ST2A90","ST2A90","ST2A",0,31.87999,-120.225,""); - Node = new TNode("ST2B1","ST2B1","ST2B",-40.2262,-32.7999,0,""); - Node = new TNode("ST2B46","ST2B46","ST2B",40.22373,-32.7999,0,""); - Node = new TNode("ST2B2","ST2B2","ST2B",-40.2262,-31.3299,0,""); - Node = new TNode("ST2B47","ST2B47","ST2B",40.22373,-31.3299,0,""); - Node = new TNode("ST2B3","ST2B3","ST2B",-40.2262,-29.86,0,""); - Node = new TNode("ST2B48","ST2B48","ST2B",40.22373,-29.86,0,""); - Node = new TNode("ST2B4","ST2B4","ST2B",-40.2262,-28.3899,0,""); - Node = new TNode("ST2B49","ST2B49","ST2B",40.22373,-28.3899,0,""); - Node = new TNode("ST2B5","ST2B5","ST2B",-40.2262,-26.92,0,""); - Node = new TNode("ST2B50","ST2B50","ST2B",40.22373,-26.92,0,""); - Node = new TNode("ST2B6","ST2B6","ST2B",-40.2262,-25.45,0,""); - Node = new TNode("ST2B51","ST2B51","ST2B",40.22373,-25.45,0,""); - Node = new TNode("ST2B7","ST2B7","ST2B",-40.2262,-23.9799,0,""); - Node = new TNode("ST2B52","ST2B52","ST2B",40.22373,-23.9799,0,""); - Node = new TNode("ST2B8","ST2B8","ST2B",-40.2262,-22.51,0,""); - Node = new TNode("ST2B53","ST2B53","ST2B",40.22373,-22.51,0,""); - Node = new TNode("ST2B9","ST2B9","ST2B",-40.2262,-21.04,0,""); - Node = new TNode("ST2B54","ST2B54","ST2B",40.22373,-21.04,0,""); - Node = new TNode("ST2B10","ST2B10","ST2B",-40.2262,-19.5699,0,""); - Node = new TNode("ST2B55","ST2B55","ST2B",40.22373,-19.5699,0,""); - Node = new TNode("ST2B11","ST2B11","ST2B",-40.2262,-18.1,0,""); - Node = new TNode("ST2B56","ST2B56","ST2B",40.22373,-18.1,0,""); - Node = new TNode("ST2B12","ST2B12","ST2B",-40.2262,-16.6299,0,""); - Node = new TNode("ST2B57","ST2B57","ST2B",40.22373,-16.6299,0,""); - Node = new TNode("ST2B13","ST2B13","ST2B",-40.2262,-15.1599,0,""); - Node = new TNode("ST2B58","ST2B58","ST2B",40.22373,-15.1599,0,""); - Node = new TNode("ST2B14","ST2B14","ST2B",-40.2262,-13.6899,0,""); - Node = new TNode("ST2B59","ST2B59","ST2B",40.22373,-13.6899,0,""); - Node = new TNode("ST2B15","ST2B15","ST2B",-40.2262,-12.22,0,""); - Node = new TNode("ST2B60","ST2B60","ST2B",40.22373,-12.22,0,""); - Node = new TNode("ST2B16","ST2B16","ST2B",-40.2262,-10.75,0,""); - Node = new TNode("ST2B61","ST2B61","ST2B",40.22373,-10.75,0,""); - Node = new TNode("ST2B17","ST2B17","ST2B",-40.2262,-9.27999,0,""); - Node = new TNode("ST2B62","ST2B62","ST2B",40.22373,-9.27999,0,""); - Node = new TNode("ST2B18","ST2B18","ST2B",-40.2262,-7.80999,0,""); - Node = new TNode("ST2B63","ST2B63","ST2B",40.22373,-7.80999,0,""); - Node = new TNode("ST2B19","ST2B19","ST2B",-40.2262,-6.34,0,""); - Node = new TNode("ST2B64","ST2B64","ST2B",40.22373,-6.34,0,""); - Node = new TNode("ST2B20","ST2B20","ST2B",-40.2262,-4.86999,0,""); - Node = new TNode("ST2B65","ST2B65","ST2B",40.22373,-4.86999,0,""); - Node = new TNode("ST2B21","ST2B21","ST2B",-40.2262,-3.4,0,""); - Node = new TNode("ST2B66","ST2B66","ST2B",40.22373,-3.4,0,""); - Node = new TNode("ST2B22","ST2B22","ST2B",-40.2262,-1.92999,0,""); - Node = new TNode("ST2B67","ST2B67","ST2B",40.22373,-1.92999,0,""); - Node = new TNode("ST2B23","ST2B23","ST2B",-40.2262,-.459999,0,""); - Node = new TNode("ST2B68","ST2B68","ST2B",40.22373,-.459999,0,""); - Node = new TNode("ST2B24","ST2B24","ST2B",-40.2262,1.01,0,""); - Node = new TNode("ST2B69","ST2B69","ST2B",40.22373,1.01,0,""); - Node = new TNode("ST2B25","ST2B25","ST2B",-40.2262,2.48,0,""); - Node = new TNode("ST2B70","ST2B70","ST2B",40.22373,2.48,0,""); - Node = new TNode("ST2B26","ST2B26","ST2B",-40.2262,3.95,0,""); - Node = new TNode("ST2B71","ST2B71","ST2B",40.22373,3.95,0,""); - Node = new TNode("ST2B27","ST2B27","ST2B",-40.2262,5.42,0,""); - Node = new TNode("ST2B72","ST2B72","ST2B",40.22373,5.42,0,""); - Node = new TNode("ST2B28","ST2B28","ST2B",-40.2262,6.889999,0,""); - Node = new TNode("ST2B73","ST2B73","ST2B",40.22373,6.889999,0,""); - Node = new TNode("ST2B29","ST2B29","ST2B",-40.2262,8.359999,0,""); - Node = new TNode("ST2B74","ST2B74","ST2B",40.22373,8.359999,0,""); - Node = new TNode("ST2B30","ST2B30","ST2B",-40.2262,9.829999,0,""); - Node = new TNode("ST2B75","ST2B75","ST2B",40.22373,9.829999,0,""); - Node = new TNode("ST2B31","ST2B31","ST2B",-40.2262,11.29998,0,""); - Node = new TNode("ST2B76","ST2B76","ST2B",40.22373,11.29998,0,""); - Node = new TNode("ST2B32","ST2B32","ST2B",-40.2262,12.77,0,""); - Node = new TNode("ST2B77","ST2B77","ST2B",40.22373,12.77,0,""); - Node = new TNode("ST2B33","ST2B33","ST2B",-40.2262,14.23999,0,""); - Node = new TNode("ST2B78","ST2B78","ST2B",40.22373,14.23999,0,""); - Node = new TNode("ST2B34","ST2B34","ST2B",-40.2262,15.70998,0,""); - Node = new TNode("ST2B79","ST2B79","ST2B",40.22373,15.70998,0,""); - Node = new TNode("ST2B35","ST2B35","ST2B",-40.2262,17.18,0,""); - Node = new TNode("ST2B80","ST2B80","ST2B",40.22373,17.18,0,""); - Node = new TNode("ST2B36","ST2B36","ST2B",-40.2262,18.64999,0,""); - Node = new TNode("ST2B81","ST2B81","ST2B",40.22373,18.64999,0,""); - Node = new TNode("ST2B37","ST2B37","ST2B",-40.2262,20.11998,0,""); - Node = new TNode("ST2B82","ST2B82","ST2B",40.22373,20.11998,0,""); - Node = new TNode("ST2B38","ST2B38","ST2B",-40.2262,21.59,0,""); - Node = new TNode("ST2B83","ST2B83","ST2B",40.22373,21.59,0,""); - Node = new TNode("ST2B39","ST2B39","ST2B",-40.2262,23.05999,0,""); - Node = new TNode("ST2B84","ST2B84","ST2B",40.22373,23.05999,0,""); - Node = new TNode("ST2B40","ST2B40","ST2B",-40.2262,24.53,0,""); - Node = new TNode("ST2B85","ST2B85","ST2B",40.22373,24.53,0,""); - Node = new TNode("ST2B41","ST2B41","ST2B",-40.2262,26,0,""); - Node = new TNode("ST2B86","ST2B86","ST2B",40.22373,26,0,""); - Node = new TNode("ST2B42","ST2B42","ST2B",-40.2262,27.46999,0,""); - Node = new TNode("ST2B87","ST2B87","ST2B",40.22373,27.46999,0,""); - Node = new TNode("ST2B43","ST2B43","ST2B",-40.2262,28.94,0,""); - Node = new TNode("ST2B88","ST2B88","ST2B",40.22373,28.94,0,""); - Node = new TNode("ST2B44","ST2B44","ST2B",-40.2262,30.40999,0,""); - Node = new TNode("ST2B89","ST2B89","ST2B",40.22373,30.40999,0,""); - Node = new TNode("ST2B45","ST2B45","ST2B",-40.2262,31.87999,0,""); - Node = new TNode("ST2B90","ST2B90","ST2B",40.22373,31.87999,0,""); - Node134->cd(); - TNode *Node140; - Node140 = new TNode("FCR21","FCR21","FCR2",-50.0999,0,0,""); - Node140->cd(); - TNode *Node141; - Node141 = new TNode("SVR21","SVR21","SVR2",3.025,0,0,""); - Node141->cd(); - TNode *Node142; - Node142 = new TNode("SEC24","SEC24","SEC2",.2034988,.92,-77,""); - Node142->cd(); - Node = new TNode("PR2_1","PR2_1","PR2_",0,0,-34,""); - Node = new TNode("PR2_2","PR2_2","PR2_",0,0,-30.7999,""); - Node = new TNode("PR2_3","PR2_3","PR2_",0,0,-28,""); - Node = new TNode("PR2_4","PR2_4","PR2_",0,0,-25.2,""); - Node = new TNode("PR2_5","PR2_5","PR2_",0,0,-22,""); - Node = new TNode("PR2_6","PR2_6","PR2_",0,0,-19.2,""); - Node = new TNode("PR2_7","PR2_7","PR2_",0,0,-16.3999,""); - Node = new TNode("PR2_8","PR2_8","PR2_",0,0,-13.6,""); - Node = new TNode("PR2_9","PR2_9","PR2_",0,0,-10.3999,""); - Node = new TNode("PR2_10","PR2_10","PR2_",0,0,-7.59998,""); - Node = new TNode("PR2_11","PR2_11","PR2_",0,0,-4.79999,""); - Node = new TNode("PR2_12","PR2_12","PR2_",0,0,-1.59999,""); - Node = new TNode("PR2_13","PR2_13","PR2_",0,0,1.60001,""); - Node = new TNode("PR2_14","PR2_14","PR2_",0,0,4.8,""); - Node = new TNode("PR2_15","PR2_15","PR2_",0,0,7.600009,""); - Node = new TNode("PR2_16","PR2_16","PR2_",0,0,10.39999,""); - Node = new TNode("PR2_17","PR2_17","PR2_",0,0,13.6,""); - Node = new TNode("PR2_18","PR2_18","PR2_",0,0,16.39999,""); - Node = new TNode("PR2_19","PR2_19","PR2_",0,0,19.2,""); - Node = new TNode("PR2_20","PR2_20","PR2_",0,0,22,""); - Node = new TNode("PR2_21","PR2_21","PR2_",0,0,25.2,""); - Node = new TNode("PR2_22","PR2_22","PR2_",0,0,28,""); - Node = new TNode("PR2_23","PR2_23","PR2_",0,0,30.79999,""); - Node = new TNode("PR2_24","PR2_24","PR2_",0,0,34,""); - Node141->cd(); - TNode *Node143; - Node143 = new TNode("SEC25","SEC25","SEC2",.2034988,.92,-.000003,""); - Node143->cd(); - Node = new TNode("PR2_1","PR2_1","PR2_",0,0,-34,""); - Node = new TNode("PR2_2","PR2_2","PR2_",0,0,-30.7999,""); - Node = new TNode("PR2_3","PR2_3","PR2_",0,0,-28,""); - Node = new TNode("PR2_4","PR2_4","PR2_",0,0,-25.2,""); - Node = new TNode("PR2_5","PR2_5","PR2_",0,0,-22,""); - Node = new TNode("PR2_6","PR2_6","PR2_",0,0,-19.2,""); - Node = new TNode("PR2_7","PR2_7","PR2_",0,0,-16.3999,""); - Node = new TNode("PR2_8","PR2_8","PR2_",0,0,-13.6,""); - Node = new TNode("PR2_9","PR2_9","PR2_",0,0,-10.3999,""); - Node = new TNode("PR2_10","PR2_10","PR2_",0,0,-7.59998,""); - Node = new TNode("PR2_11","PR2_11","PR2_",0,0,-4.79999,""); - Node = new TNode("PR2_12","PR2_12","PR2_",0,0,-1.59999,""); - Node = new TNode("PR2_13","PR2_13","PR2_",0,0,1.60001,""); - Node = new TNode("PR2_14","PR2_14","PR2_",0,0,4.8,""); - Node = new TNode("PR2_15","PR2_15","PR2_",0,0,7.600009,""); - Node = new TNode("PR2_16","PR2_16","PR2_",0,0,10.39999,""); - Node = new TNode("PR2_17","PR2_17","PR2_",0,0,13.6,""); - Node = new TNode("PR2_18","PR2_18","PR2_",0,0,16.39999,""); - Node = new TNode("PR2_19","PR2_19","PR2_",0,0,19.2,""); - Node = new TNode("PR2_20","PR2_20","PR2_",0,0,22,""); - Node = new TNode("PR2_21","PR2_21","PR2_",0,0,25.2,""); - Node = new TNode("PR2_22","PR2_22","PR2_",0,0,28,""); - Node = new TNode("PR2_23","PR2_23","PR2_",0,0,30.79999,""); - Node = new TNode("PR2_24","PR2_24","PR2_",0,0,34,""); - Node141->cd(); - TNode *Node144; - Node144 = new TNode("SEC26","SEC26","SEC2",.2034988,.92,77,""); - Node144->cd(); - Node = new TNode("PR2_1","PR2_1","PR2_",0,0,-34,""); - Node = new TNode("PR2_2","PR2_2","PR2_",0,0,-30.7999,""); - Node = new TNode("PR2_3","PR2_3","PR2_",0,0,-28,""); - Node = new TNode("PR2_4","PR2_4","PR2_",0,0,-25.2,""); - Node = new TNode("PR2_5","PR2_5","PR2_",0,0,-22,""); - Node = new TNode("PR2_6","PR2_6","PR2_",0,0,-19.2,""); - Node = new TNode("PR2_7","PR2_7","PR2_",0,0,-16.3999,""); - Node = new TNode("PR2_8","PR2_8","PR2_",0,0,-13.6,""); - Node = new TNode("PR2_9","PR2_9","PR2_",0,0,-10.3999,""); - Node = new TNode("PR2_10","PR2_10","PR2_",0,0,-7.59998,""); - Node = new TNode("PR2_11","PR2_11","PR2_",0,0,-4.79999,""); - Node = new TNode("PR2_12","PR2_12","PR2_",0,0,-1.59999,""); - Node = new TNode("PR2_13","PR2_13","PR2_",0,0,1.60001,""); - Node = new TNode("PR2_14","PR2_14","PR2_",0,0,4.8,""); - Node = new TNode("PR2_15","PR2_15","PR2_",0,0,7.600009,""); - Node = new TNode("PR2_16","PR2_16","PR2_",0,0,10.39999,""); - Node = new TNode("PR2_17","PR2_17","PR2_",0,0,13.6,""); - Node = new TNode("PR2_18","PR2_18","PR2_",0,0,16.39999,""); - Node = new TNode("PR2_19","PR2_19","PR2_",0,0,19.2,""); - Node = new TNode("PR2_20","PR2_20","PR2_",0,0,22,""); - Node = new TNode("PR2_21","PR2_21","PR2_",0,0,25.2,""); - Node = new TNode("PR2_22","PR2_22","PR2_",0,0,28,""); - Node = new TNode("PR2_23","PR2_23","PR2_",0,0,30.79999,""); - Node = new TNode("PR2_24","PR2_24","PR2_",0,0,34,""); - Node141->cd(); - Node140->cd(); - Node = new TNode("T1R21","T1R21","T1R2",-38.25,0,-118.25,"rot6"); - Node = new TNode("T2R21","T2R21","T2R2",38.25,0,-118.25,"rot6"); - Node = new TNode("T3R21","T3R21","T3R2",40.56499,0,0,"rot6"); - Node = new TNode("T4R21","T4R21","T4R2",38.25,0,118.25,"rot6"); - Node = new TNode("T5R21","T5R21","T5R2",-38.25,0,118.25,"rot6"); - Node = new TNode("T6R21","T6R21","T6R2",-40.575,0,0,"rot6"); - Node = new TNode("ST2A91","ST2A91","ST2A",0,-32.7999,120.2261,""); - Node = new TNode("ST2A136","ST2A136","ST2A",0,-32.7999,-120.225,""); - Node = new TNode("ST2A92","ST2A92","ST2A",0,-31.3299,120.2261,""); - Node = new TNode("ST2A137","ST2A137","ST2A",0,-31.3299,-120.225,""); - Node = new TNode("ST2A93","ST2A93","ST2A",0,-29.86,120.2261,""); - Node = new TNode("ST2A138","ST2A138","ST2A",0,-29.86,-120.225,""); - Node = new TNode("ST2A94","ST2A94","ST2A",0,-28.3899,120.2261,""); - Node = new TNode("ST2A139","ST2A139","ST2A",0,-28.3899,-120.225,""); - Node = new TNode("ST2A95","ST2A95","ST2A",0,-26.92,120.2261,""); - Node = new TNode("ST2A140","ST2A140","ST2A",0,-26.92,-120.225,""); - Node = new TNode("ST2A96","ST2A96","ST2A",0,-25.45,120.2261,""); - Node = new TNode("ST2A141","ST2A141","ST2A",0,-25.45,-120.225,""); - Node = new TNode("ST2A97","ST2A97","ST2A",0,-23.9799,120.2261,""); - Node = new TNode("ST2A142","ST2A142","ST2A",0,-23.9799,-120.225,""); - Node = new TNode("ST2A98","ST2A98","ST2A",0,-22.51,120.2261,""); - Node = new TNode("ST2A143","ST2A143","ST2A",0,-22.51,-120.225,""); - Node = new TNode("ST2A99","ST2A99","ST2A",0,-21.04,120.2261,""); - Node = new TNode("ST2A144","ST2A144","ST2A",0,-21.04,-120.225,""); - Node = new TNode("ST2A100","ST2A100","ST2A",0,-19.5699,120.2261,""); - Node = new TNode("ST2A145","ST2A145","ST2A",0,-19.5699,-120.225,""); - Node = new TNode("ST2A101","ST2A101","ST2A",0,-18.1,120.2261,""); - Node = new TNode("ST2A146","ST2A146","ST2A",0,-18.1,-120.225,""); - Node = new TNode("ST2A102","ST2A102","ST2A",0,-16.6299,120.2261,""); - Node = new TNode("ST2A147","ST2A147","ST2A",0,-16.6299,-120.225,""); - Node = new TNode("ST2A103","ST2A103","ST2A",0,-15.1599,120.2261,""); - Node = new TNode("ST2A148","ST2A148","ST2A",0,-15.1599,-120.225,""); - Node = new TNode("ST2A104","ST2A104","ST2A",0,-13.6899,120.2261,""); - Node = new TNode("ST2A149","ST2A149","ST2A",0,-13.6899,-120.225,""); - Node = new TNode("ST2A105","ST2A105","ST2A",0,-12.22,120.2261,""); - Node = new TNode("ST2A150","ST2A150","ST2A",0,-12.22,-120.225,""); - Node = new TNode("ST2A106","ST2A106","ST2A",0,-10.75,120.2261,""); - Node = new TNode("ST2A151","ST2A151","ST2A",0,-10.75,-120.225,""); - Node = new TNode("ST2A107","ST2A107","ST2A",0,-9.27999,120.2261,""); - Node = new TNode("ST2A152","ST2A152","ST2A",0,-9.27999,-120.225,""); - Node = new TNode("ST2A108","ST2A108","ST2A",0,-7.80999,120.2261,""); - Node = new TNode("ST2A153","ST2A153","ST2A",0,-7.80999,-120.225,""); - Node = new TNode("ST2A109","ST2A109","ST2A",0,-6.34,120.2261,""); - Node = new TNode("ST2A154","ST2A154","ST2A",0,-6.34,-120.225,""); - Node = new TNode("ST2A110","ST2A110","ST2A",0,-4.86999,120.2261,""); - Node = new TNode("ST2A155","ST2A155","ST2A",0,-4.86999,-120.225,""); - Node = new TNode("ST2A111","ST2A111","ST2A",0,-3.4,120.2261,""); - Node = new TNode("ST2A156","ST2A156","ST2A",0,-3.4,-120.225,""); - Node = new TNode("ST2A112","ST2A112","ST2A",0,-1.92999,120.2261,""); - Node = new TNode("ST2A157","ST2A157","ST2A",0,-1.92999,-120.225,""); - Node = new TNode("ST2A113","ST2A113","ST2A",0,-.459999,120.2261,""); - Node = new TNode("ST2A158","ST2A158","ST2A",0,-.459999,-120.225,""); - Node = new TNode("ST2A114","ST2A114","ST2A",0,1.01,120.2261,""); - Node = new TNode("ST2A159","ST2A159","ST2A",0,1.01,-120.225,""); - Node = new TNode("ST2A115","ST2A115","ST2A",0,2.48,120.2261,""); - Node = new TNode("ST2A160","ST2A160","ST2A",0,2.48,-120.225,""); - Node = new TNode("ST2A116","ST2A116","ST2A",0,3.95,120.2261,""); - Node = new TNode("ST2A161","ST2A161","ST2A",0,3.95,-120.225,""); - Node = new TNode("ST2A117","ST2A117","ST2A",0,5.42,120.2261,""); - Node = new TNode("ST2A162","ST2A162","ST2A",0,5.42,-120.225,""); - Node = new TNode("ST2A118","ST2A118","ST2A",0,6.889999,120.2261,""); - Node = new TNode("ST2A163","ST2A163","ST2A",0,6.889999,-120.225,""); - Node = new TNode("ST2A119","ST2A119","ST2A",0,8.359999,120.2261,""); - Node = new TNode("ST2A164","ST2A164","ST2A",0,8.359999,-120.225,""); - Node = new TNode("ST2A120","ST2A120","ST2A",0,9.829999,120.2261,""); - Node = new TNode("ST2A165","ST2A165","ST2A",0,9.829999,-120.225,""); - Node = new TNode("ST2A121","ST2A121","ST2A",0,11.29998,120.2261,""); - Node = new TNode("ST2A166","ST2A166","ST2A",0,11.29998,-120.225,""); - Node = new TNode("ST2A122","ST2A122","ST2A",0,12.77,120.2261,""); - Node = new TNode("ST2A167","ST2A167","ST2A",0,12.77,-120.225,""); - Node = new TNode("ST2A123","ST2A123","ST2A",0,14.23999,120.2261,""); - Node = new TNode("ST2A168","ST2A168","ST2A",0,14.23999,-120.225,""); - Node = new TNode("ST2A124","ST2A124","ST2A",0,15.70998,120.2261,""); - Node = new TNode("ST2A169","ST2A169","ST2A",0,15.70998,-120.225,""); - Node = new TNode("ST2A125","ST2A125","ST2A",0,17.18,120.2261,""); - Node = new TNode("ST2A170","ST2A170","ST2A",0,17.18,-120.225,""); - Node = new TNode("ST2A126","ST2A126","ST2A",0,18.64999,120.2261,""); - Node = new TNode("ST2A171","ST2A171","ST2A",0,18.64999,-120.225,""); - Node = new TNode("ST2A127","ST2A127","ST2A",0,20.11998,120.2261,""); - Node = new TNode("ST2A172","ST2A172","ST2A",0,20.11998,-120.225,""); - Node = new TNode("ST2A128","ST2A128","ST2A",0,21.59,120.2261,""); - Node = new TNode("ST2A173","ST2A173","ST2A",0,21.59,-120.225,""); - Node = new TNode("ST2A129","ST2A129","ST2A",0,23.05999,120.2261,""); - Node = new TNode("ST2A174","ST2A174","ST2A",0,23.05999,-120.225,""); - Node = new TNode("ST2A130","ST2A130","ST2A",0,24.53,120.2261,""); - Node = new TNode("ST2A175","ST2A175","ST2A",0,24.53,-120.225,""); - Node = new TNode("ST2A131","ST2A131","ST2A",0,26,120.2261,""); - Node = new TNode("ST2A176","ST2A176","ST2A",0,26,-120.225,""); - Node = new TNode("ST2A132","ST2A132","ST2A",0,27.46999,120.2261,""); - Node = new TNode("ST2A177","ST2A177","ST2A",0,27.46999,-120.225,""); - Node = new TNode("ST2A133","ST2A133","ST2A",0,28.94,120.2261,""); - Node = new TNode("ST2A178","ST2A178","ST2A",0,28.94,-120.225,""); - Node = new TNode("ST2A134","ST2A134","ST2A",0,30.40999,120.2261,""); - Node = new TNode("ST2A179","ST2A179","ST2A",0,30.40999,-120.225,""); - Node = new TNode("ST2A135","ST2A135","ST2A",0,31.87999,120.2261,""); - Node = new TNode("ST2A180","ST2A180","ST2A",0,31.87999,-120.225,""); - Node = new TNode("ST2B91","ST2B91","ST2B",40.22373,-32.7999,0,""); - Node = new TNode("ST2B136","ST2B136","ST2B",-40.2262,-32.7999,0,""); - Node = new TNode("ST2B92","ST2B92","ST2B",40.22373,-31.3299,0,""); - Node = new TNode("ST2B137","ST2B137","ST2B",-40.2262,-31.3299,0,""); - Node = new TNode("ST2B93","ST2B93","ST2B",40.22373,-29.86,0,""); - Node = new TNode("ST2B138","ST2B138","ST2B",-40.2262,-29.86,0,""); - Node = new TNode("ST2B94","ST2B94","ST2B",40.22373,-28.3899,0,""); - Node = new TNode("ST2B139","ST2B139","ST2B",-40.2262,-28.3899,0,""); - Node = new TNode("ST2B95","ST2B95","ST2B",40.22373,-26.92,0,""); - Node = new TNode("ST2B140","ST2B140","ST2B",-40.2262,-26.92,0,""); - Node = new TNode("ST2B96","ST2B96","ST2B",40.22373,-25.45,0,""); - Node = new TNode("ST2B141","ST2B141","ST2B",-40.2262,-25.45,0,""); - Node = new TNode("ST2B97","ST2B97","ST2B",40.22373,-23.9799,0,""); - Node = new TNode("ST2B142","ST2B142","ST2B",-40.2262,-23.9799,0,""); - Node = new TNode("ST2B98","ST2B98","ST2B",40.22373,-22.51,0,""); - Node = new TNode("ST2B143","ST2B143","ST2B",-40.2262,-22.51,0,""); - Node = new TNode("ST2B99","ST2B99","ST2B",40.22373,-21.04,0,""); - Node = new TNode("ST2B144","ST2B144","ST2B",-40.2262,-21.04,0,""); - Node = new TNode("ST2B100","ST2B100","ST2B",40.22373,-19.5699,0,""); - Node = new TNode("ST2B145","ST2B145","ST2B",-40.2262,-19.5699,0,""); - Node = new TNode("ST2B101","ST2B101","ST2B",40.22373,-18.1,0,""); - Node = new TNode("ST2B146","ST2B146","ST2B",-40.2262,-18.1,0,""); - Node = new TNode("ST2B102","ST2B102","ST2B",40.22373,-16.6299,0,""); - Node = new TNode("ST2B147","ST2B147","ST2B",-40.2262,-16.6299,0,""); - Node = new TNode("ST2B103","ST2B103","ST2B",40.22373,-15.1599,0,""); - Node = new TNode("ST2B148","ST2B148","ST2B",-40.2262,-15.1599,0,""); - Node = new TNode("ST2B104","ST2B104","ST2B",40.22373,-13.6899,0,""); - Node = new TNode("ST2B149","ST2B149","ST2B",-40.2262,-13.6899,0,""); - Node = new TNode("ST2B105","ST2B105","ST2B",40.22373,-12.22,0,""); - Node = new TNode("ST2B150","ST2B150","ST2B",-40.2262,-12.22,0,""); - Node = new TNode("ST2B106","ST2B106","ST2B",40.22373,-10.75,0,""); - Node = new TNode("ST2B151","ST2B151","ST2B",-40.2262,-10.75,0,""); - Node = new TNode("ST2B107","ST2B107","ST2B",40.22373,-9.27999,0,""); - Node = new TNode("ST2B152","ST2B152","ST2B",-40.2262,-9.27999,0,""); - Node = new TNode("ST2B108","ST2B108","ST2B",40.22373,-7.80999,0,""); - Node = new TNode("ST2B153","ST2B153","ST2B",-40.2262,-7.80999,0,""); - Node = new TNode("ST2B109","ST2B109","ST2B",40.22373,-6.34,0,""); - Node = new TNode("ST2B154","ST2B154","ST2B",-40.2262,-6.34,0,""); - Node = new TNode("ST2B110","ST2B110","ST2B",40.22373,-4.86999,0,""); - Node = new TNode("ST2B155","ST2B155","ST2B",-40.2262,-4.86999,0,""); - Node = new TNode("ST2B111","ST2B111","ST2B",40.22373,-3.4,0,""); - Node = new TNode("ST2B156","ST2B156","ST2B",-40.2262,-3.4,0,""); - Node = new TNode("ST2B112","ST2B112","ST2B",40.22373,-1.92999,0,""); - Node = new TNode("ST2B157","ST2B157","ST2B",-40.2262,-1.92999,0,""); - Node = new TNode("ST2B113","ST2B113","ST2B",40.22373,-.459999,0,""); - Node = new TNode("ST2B158","ST2B158","ST2B",-40.2262,-.459999,0,""); - Node = new TNode("ST2B114","ST2B114","ST2B",40.22373,1.01,0,""); - Node = new TNode("ST2B159","ST2B159","ST2B",-40.2262,1.01,0,""); - Node = new TNode("ST2B115","ST2B115","ST2B",40.22373,2.48,0,""); - Node = new TNode("ST2B160","ST2B160","ST2B",-40.2262,2.48,0,""); - Node = new TNode("ST2B116","ST2B116","ST2B",40.22373,3.95,0,""); - Node = new TNode("ST2B161","ST2B161","ST2B",-40.2262,3.95,0,""); - Node = new TNode("ST2B117","ST2B117","ST2B",40.22373,5.42,0,""); - Node = new TNode("ST2B162","ST2B162","ST2B",-40.2262,5.42,0,""); - Node = new TNode("ST2B118","ST2B118","ST2B",40.22373,6.889999,0,""); - Node = new TNode("ST2B163","ST2B163","ST2B",-40.2262,6.889999,0,""); - Node = new TNode("ST2B119","ST2B119","ST2B",40.22373,8.359999,0,""); - Node = new TNode("ST2B164","ST2B164","ST2B",-40.2262,8.359999,0,""); - Node = new TNode("ST2B120","ST2B120","ST2B",40.22373,9.829999,0,""); - Node = new TNode("ST2B165","ST2B165","ST2B",-40.2262,9.829999,0,""); - Node = new TNode("ST2B121","ST2B121","ST2B",40.22373,11.29998,0,""); - Node = new TNode("ST2B166","ST2B166","ST2B",-40.2262,11.29998,0,""); - Node = new TNode("ST2B122","ST2B122","ST2B",40.22373,12.77,0,""); - Node = new TNode("ST2B167","ST2B167","ST2B",-40.2262,12.77,0,""); - Node = new TNode("ST2B123","ST2B123","ST2B",40.22373,14.23999,0,""); - Node = new TNode("ST2B168","ST2B168","ST2B",-40.2262,14.23999,0,""); - Node = new TNode("ST2B124","ST2B124","ST2B",40.22373,15.70998,0,""); - Node = new TNode("ST2B169","ST2B169","ST2B",-40.2262,15.70998,0,""); - Node = new TNode("ST2B125","ST2B125","ST2B",40.22373,17.18,0,""); - Node = new TNode("ST2B170","ST2B170","ST2B",-40.2262,17.18,0,""); - Node = new TNode("ST2B126","ST2B126","ST2B",40.22373,18.64999,0,""); - Node = new TNode("ST2B171","ST2B171","ST2B",-40.2262,18.64999,0,""); - Node = new TNode("ST2B127","ST2B127","ST2B",40.22373,20.11998,0,""); - Node = new TNode("ST2B172","ST2B172","ST2B",-40.2262,20.11998,0,""); - Node = new TNode("ST2B128","ST2B128","ST2B",40.22373,21.59,0,""); - Node = new TNode("ST2B173","ST2B173","ST2B",-40.2262,21.59,0,""); - Node = new TNode("ST2B129","ST2B129","ST2B",40.22373,23.05999,0,""); - Node = new TNode("ST2B174","ST2B174","ST2B",-40.2262,23.05999,0,""); - Node = new TNode("ST2B130","ST2B130","ST2B",40.22373,24.53,0,""); - Node = new TNode("ST2B175","ST2B175","ST2B",-40.2262,24.53,0,""); - Node = new TNode("ST2B131","ST2B131","ST2B",40.22373,26,0,""); - Node = new TNode("ST2B176","ST2B176","ST2B",-40.2262,26,0,""); - Node = new TNode("ST2B132","ST2B132","ST2B",40.22373,27.46999,0,""); - Node = new TNode("ST2B177","ST2B177","ST2B",-40.2262,27.46999,0,""); - Node = new TNode("ST2B133","ST2B133","ST2B",40.22373,28.94,0,""); - Node = new TNode("ST2B178","ST2B178","ST2B",-40.2262,28.94,0,""); - Node = new TNode("ST2B134","ST2B134","ST2B",40.22373,30.40999,0,""); - Node = new TNode("ST2B179","ST2B179","ST2B",-40.2262,30.40999,0,""); - Node = new TNode("ST2B135","ST2B135","ST2B",40.22373,31.87999,0,""); - Node = new TNode("ST2B180","ST2B180","ST2B",-40.2262,31.87999,0,""); - Node134->cd(); - Node133->cd(); - Node = new TNode("OG2A1","OG2A1","OG2A",0,32.75,-128.449,""); - Node = new TNode("OG2B1","OG2B1","OG2B",0,-32.75,-128.449,""); - Node = new TNode("OG2C1","OG2C1","OG2C",98.44998,32.75,0,""); - Node = new TNode("OG2D1","OG2D1","OG2D",98.44998,-32.75,0,""); - Node = new TNode("OG2E1","OG2E1","OG2E",0,32.75,128.4499,""); - Node = new TNode("OG2F1","OG2F1","OG2F",0,-32.75,128.4499,""); - Node = new TNode("OG2G1","OG2G1","OG2G",-98.4499,32.75,0,""); - Node = new TNode("OG2H1","OG2H1","OG2H",-98.4499,-32.75,0,""); - Node = new TNode("OG2I1","OG2I1","OG2I",98.44998,0,0,""); - Node = new TNode("OG2J1","OG2J1","OG2J",-98.4499,0,0,""); - Node = new TNode("OG2K1","OG2K1","OG2K",-96.5999,0,-128.449,""); - Node = new TNode("OG2L1","OG2L1","OG2L",96.59999,0,-128.449,""); - Node = new TNode("OG2M1","OG2M1","OG2M",98.44998,0,-126.3,""); - Node = new TNode("OG2N1","OG2N1","OG2N",98.44998,0,126.2998,""); - Node = new TNode("OG2O1","OG2O1","OG2O",96.59999,0,128.4499,""); - Node = new TNode("OG2P1","OG2P1","OG2P",-96.5999,0,128.4499,""); - Node = new TNode("OG2Q1","OG2Q1","OG2Q",-98.4499,0,126.2998,""); - Node = new TNode("OG2R1","OG2R1","OG2R",-98.4499,0,-126.3,""); - Node = new TNode("OG2S1","OG2S1","OG2S",0,0,-128.744,""); - Node = new TNode("OG2T1","OG2T1","OG2T",98.74375,0,-65.05,""); - Node = new TNode("OG2U1","OG2U1","OG2U",98.74375,0,65.04998,""); - Node = new TNode("OG2V1","OG2V1","OG2V",0,0,128.7436,""); - Node = new TNode("OG2W1","OG2W1","OG2W",-98.7437,0,65.04998,""); - Node = new TNode("OG2X1","OG2X1","OG2X",-98.7437,0,-65.05,""); - Node = new TNode("IG2A1","IG2A1","IG2A",0,31.25,-123.599,""); - Node = new TNode("IG2B1","IG2B1","IG2B",0,-31.25,-123.599,""); - Node = new TNode("IG2C1","IG2C1","IG2C",93.25,31.25,0,""); - Node = new TNode("IG2D1","IG2D1","IG2D",93.25,-31.25,0,""); - Node = new TNode("IG2E1","IG2E1","IG2E",0,31.25,123.5998,""); - Node = new TNode("IG2F1","IG2F1","IG2F",0,-31.25,123.5998,""); - Node = new TNode("IG2G1","IG2G1","IG2G",-93.25,31.25,0,""); - Node = new TNode("IG2H1","IG2H1","IG2H",-93.25,-31.25,0,""); - Node = new TNode("IG2I1","IG2I1","IG2I",93.25,0,0,""); - Node = new TNode("IG2J1","IG2J1","IG2J",-93.25,0,0,""); - Node = new TNode("IG2K1","IG2K1","IG2K",-91.4,0,-123.599,""); - Node = new TNode("IG2L1","IG2L1","IG2L",91.4,0,-123.599,""); - Node = new TNode("IG2M1","IG2M1","IG2M",93.25,0,-121.449,""); - Node = new TNode("IG2N1","IG2N1","IG2N",93.25,0,121.4498,""); - Node = new TNode("IG2O1","IG2O1","IG2O",91.4,0,123.5998,""); - Node = new TNode("IG2P1","IG2P1","IG2P",-91.4,0,123.5998,""); - Node = new TNode("IG2Q1","IG2Q1","IG2Q",-93.25,0,121.4498,""); - Node = new TNode("IG2R1","IG2R1","IG2R",-93.25,0,-121.449,""); - Node = new TNode("IG2S1","IG2S1","IG2S",0,0,-123.893,""); - Node = new TNode("IG2T1","IG2T1","IG2T",93.54374,0,-62.625,""); - Node = new TNode("IG2U1","IG2U1","IG2U",93.54374,0,62.625,""); - Node = new TNode("IG2V1","IG2V1","IG2V",0,0,123.8936,""); - Node = new TNode("IG2W1","IG2W1","IG2W",-93.5438,0,62.625,""); - Node = new TNode("IG2X1","IG2X1","IG2X",-93.5438,0,-62.625,""); - Node131->cd(); - Node = new TNode("TF2A1","TF2A1","TF2A",-91.775,38.79999,0,""); - Node = new TNode("TF2A2","TF2A2","TF2A",91.775,38.79999,0,""); - TNode *Node145; - Node145 = new TNode("TF2B1","TF2B1","TF2B",0,38.79999,0,""); - Node145->cd(); - Node = new TNode("TF2C1","TF2C1","TF2C",0,0,0,""); - Node131->cd(); - Node = new TNode("TF2D1","TF2D1","TF2D",-47.0999,38.79999,-121.675,""); - Node = new TNode("TF2D2","TF2D2","TF2D",-47.0999,38.79999,121.675,""); - Node = new TNode("TF2D3","TF2D3","TF2D",47.09999,38.79999,-121.675,""); - Node = new TNode("TF2D4","TF2D4","TF2D",47.09999,38.79999,121.675,""); - Node = new TNode("TF2E1","TF2E1","TF2E",-84.525,32,0,""); - Node = new TNode("TF2E2","TF2E2","TF2E",84.52498,32,0,""); - Node = new TNode("TF2E3","TF2E3","TF2E",-9.675,32,0,""); - Node = new TNode("TF2E4","TF2E4","TF2E",9.675,32,0,""); - Node = new TNode("TF2F1","TF2F1","TF2F",47.09999,32,-114.425,""); - Node = new TNode("TF2F2","TF2F2","TF2F",47.09999,32,114.4248,""); - Node = new TNode("TF2F3","TF2F3","TF2F",-47.0999,32,-114.425,""); - Node = new TNode("TF2F4","TF2F4","TF2F",-47.0999,32,114.4248,""); - Node = new TNode("TF2G1","TF2G1","TF2G",47.09999,32,-38.5,""); - Node = new TNode("TF2G2","TF2G2","TF2G",47.09999,32,38.5,""); - Node = new TNode("TF2G3","TF2G3","TF2G",-47.0999,32,-38.5,""); - Node = new TNode("TF2G4","TF2G4","TF2G",-47.0999,32,38.5,""); - TNode *Node146; - Node146 = new TNode("TF2I1","TF2I1","TF2I",-47.0999,32.84999,-77,"rot5"); - Node146->cd(); - TNode *Node147; - Node147 = new TNode("TF2J1","TF2J1","TF2J",-27.75,0,-22.2,""); - Node147->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node148; - Node148 = new TNode("TF2J2","TF2J2","TF2J",-16.6499,0,-22.2,""); - Node148->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node149; - Node149 = new TNode("TF2J3","TF2J3","TF2J",-5.55,0,-22.2,""); - Node149->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node150; - Node150 = new TNode("TF2J4","TF2J4","TF2J",5.55,0,-22.2,""); - Node150->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node151; - Node151 = new TNode("TF2J5","TF2J5","TF2J",16.64999,0,-22.2,""); - Node151->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node152; - Node152 = new TNode("TF2J6","TF2J6","TF2J",27.75,0,-22.2,""); - Node152->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node153; - Node153 = new TNode("TF2J7","TF2J7","TF2J",-27.75,0,0,""); - Node153->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node154; - Node154 = new TNode("TF2J8","TF2J8","TF2J",-16.6499,0,0,""); - Node154->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node155; - Node155 = new TNode("TF2J9","TF2J9","TF2J",-5.55,0,0,""); - Node155->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node156; - Node156 = new TNode("TF2J10","TF2J10","TF2J",5.55,0,0,""); - Node156->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node157; - Node157 = new TNode("TF2J11","TF2J11","TF2J",16.64999,0,0,""); - Node157->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node158; - Node158 = new TNode("TF2J12","TF2J12","TF2J",27.75,0,0,""); - Node158->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node159; - Node159 = new TNode("TF2J13","TF2J13","TF2J",-27.75,0,22.2,""); - Node159->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node160; - Node160 = new TNode("TF2J14","TF2J14","TF2J",-16.6499,0,22.2,""); - Node160->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node161; - Node161 = new TNode("TF2J15","TF2J15","TF2J",-5.55,0,22.2,""); - Node161->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node162; - Node162 = new TNode("TF2J16","TF2J16","TF2J",5.55,0,22.2,""); - Node162->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node163; - Node163 = new TNode("TF2J17","TF2J17","TF2J",16.64999,0,22.2,""); - Node163->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - TNode *Node164; - Node164 = new TNode("TF2J18","TF2J18","TF2J",27.75,0,22.2,""); - Node164->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node146->cd(); - Node = new TNode("TF2K1","TF2K1","TF2K",0,-1.15,23.14999,""); - Node = new TNode("TF2K2","TF2K2","TF2K",0,-1.15,-23.1499,""); - Node = new TNode("TF2L3","TF2L3","TF2L",0,-1.15,5.55,""); - Node = new TNode("TF2L4","TF2L4","TF2L",0,-1.15,-5.55,""); - Node131->cd(); - TNode *Node165; - Node165 = new TNode("TF2I2","TF2I2","TF2I",-47.0999,32.84999,0,"rot5"); - Node165->cd(); - TNode *Node166; - Node166 = new TNode("TF2J1","TF2J1","TF2J",-27.75,0,-22.2,""); - Node166->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node167; - Node167 = new TNode("TF2J2","TF2J2","TF2J",-16.6499,0,-22.2,""); - Node167->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node168; - Node168 = new TNode("TF2J3","TF2J3","TF2J",-5.55,0,-22.2,""); - Node168->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node169; - Node169 = new TNode("TF2J4","TF2J4","TF2J",5.55,0,-22.2,""); - Node169->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node170; - Node170 = new TNode("TF2J5","TF2J5","TF2J",16.64999,0,-22.2,""); - Node170->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node171; - Node171 = new TNode("TF2J6","TF2J6","TF2J",27.75,0,-22.2,""); - Node171->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node172; - Node172 = new TNode("TF2J7","TF2J7","TF2J",-27.75,0,0,""); - Node172->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node173; - Node173 = new TNode("TF2J8","TF2J8","TF2J",-16.6499,0,0,""); - Node173->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node174; - Node174 = new TNode("TF2J9","TF2J9","TF2J",-5.55,0,0,""); - Node174->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node175; - Node175 = new TNode("TF2J10","TF2J10","TF2J",5.55,0,0,""); - Node175->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node176; - Node176 = new TNode("TF2J11","TF2J11","TF2J",16.64999,0,0,""); - Node176->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node177; - Node177 = new TNode("TF2J12","TF2J12","TF2J",27.75,0,0,""); - Node177->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node178; - Node178 = new TNode("TF2J13","TF2J13","TF2J",-27.75,0,22.2,""); - Node178->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node179; - Node179 = new TNode("TF2J14","TF2J14","TF2J",-16.6499,0,22.2,""); - Node179->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node180; - Node180 = new TNode("TF2J15","TF2J15","TF2J",-5.55,0,22.2,""); - Node180->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node181; - Node181 = new TNode("TF2J16","TF2J16","TF2J",5.55,0,22.2,""); - Node181->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node182; - Node182 = new TNode("TF2J17","TF2J17","TF2J",16.64999,0,22.2,""); - Node182->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - TNode *Node183; - Node183 = new TNode("TF2J18","TF2J18","TF2J",27.75,0,22.2,""); - Node183->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node165->cd(); - Node = new TNode("TF2K1","TF2K1","TF2K",0,-1.15,23.14999,""); - Node = new TNode("TF2K2","TF2K2","TF2K",0,-1.15,-23.1499,""); - Node = new TNode("TF2L3","TF2L3","TF2L",0,-1.15,5.55,""); - Node = new TNode("TF2L4","TF2L4","TF2L",0,-1.15,-5.55,""); - Node131->cd(); - TNode *Node184; - Node184 = new TNode("TF2I3","TF2I3","TF2I",-47.0999,32.84999,77,"rot5"); - Node184->cd(); - TNode *Node185; - Node185 = new TNode("TF2J1","TF2J1","TF2J",-27.75,0,-22.2,""); - Node185->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node186; - Node186 = new TNode("TF2J2","TF2J2","TF2J",-16.6499,0,-22.2,""); - Node186->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node187; - Node187 = new TNode("TF2J3","TF2J3","TF2J",-5.55,0,-22.2,""); - Node187->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node188; - Node188 = new TNode("TF2J4","TF2J4","TF2J",5.55,0,-22.2,""); - Node188->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node189; - Node189 = new TNode("TF2J5","TF2J5","TF2J",16.64999,0,-22.2,""); - Node189->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node190; - Node190 = new TNode("TF2J6","TF2J6","TF2J",27.75,0,-22.2,""); - Node190->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node191; - Node191 = new TNode("TF2J7","TF2J7","TF2J",-27.75,0,0,""); - Node191->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node192; - Node192 = new TNode("TF2J8","TF2J8","TF2J",-16.6499,0,0,""); - Node192->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node193; - Node193 = new TNode("TF2J9","TF2J9","TF2J",-5.55,0,0,""); - Node193->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node194; - Node194 = new TNode("TF2J10","TF2J10","TF2J",5.55,0,0,""); - Node194->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node195; - Node195 = new TNode("TF2J11","TF2J11","TF2J",16.64999,0,0,""); - Node195->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node196; - Node196 = new TNode("TF2J12","TF2J12","TF2J",27.75,0,0,""); - Node196->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node197; - Node197 = new TNode("TF2J13","TF2J13","TF2J",-27.75,0,22.2,""); - Node197->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node198; - Node198 = new TNode("TF2J14","TF2J14","TF2J",-16.6499,0,22.2,""); - Node198->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node199; - Node199 = new TNode("TF2J15","TF2J15","TF2J",-5.55,0,22.2,""); - Node199->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node200; - Node200 = new TNode("TF2J16","TF2J16","TF2J",5.55,0,22.2,""); - Node200->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node201; - Node201 = new TNode("TF2J17","TF2J17","TF2J",16.64999,0,22.2,""); - Node201->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - TNode *Node202; - Node202 = new TNode("TF2J18","TF2J18","TF2J",27.75,0,22.2,""); - Node202->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node184->cd(); - Node = new TNode("TF2K1","TF2K1","TF2K",0,-1.15,23.14999,""); - Node = new TNode("TF2K2","TF2K2","TF2K",0,-1.15,-23.1499,""); - Node = new TNode("TF2L3","TF2L3","TF2L",0,-1.15,5.55,""); - Node = new TNode("TF2L4","TF2L4","TF2L",0,-1.15,-5.55,""); - Node131->cd(); - TNode *Node203; - Node203 = new TNode("TF2I4","TF2I4","TF2I",47.09999,32.84999,-77,"rot5"); - Node203->cd(); - TNode *Node204; - Node204 = new TNode("TF2J1","TF2J1","TF2J",-27.75,0,-22.2,""); - Node204->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node205; - Node205 = new TNode("TF2J2","TF2J2","TF2J",-16.6499,0,-22.2,""); - Node205->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node206; - Node206 = new TNode("TF2J3","TF2J3","TF2J",-5.55,0,-22.2,""); - Node206->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node207; - Node207 = new TNode("TF2J4","TF2J4","TF2J",5.55,0,-22.2,""); - Node207->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node208; - Node208 = new TNode("TF2J5","TF2J5","TF2J",16.64999,0,-22.2,""); - Node208->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node209; - Node209 = new TNode("TF2J6","TF2J6","TF2J",27.75,0,-22.2,""); - Node209->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node210; - Node210 = new TNode("TF2J7","TF2J7","TF2J",-27.75,0,0,""); - Node210->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node211; - Node211 = new TNode("TF2J8","TF2J8","TF2J",-16.6499,0,0,""); - Node211->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node212; - Node212 = new TNode("TF2J9","TF2J9","TF2J",-5.55,0,0,""); - Node212->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node213; - Node213 = new TNode("TF2J10","TF2J10","TF2J",5.55,0,0,""); - Node213->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node214; - Node214 = new TNode("TF2J11","TF2J11","TF2J",16.64999,0,0,""); - Node214->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node215; - Node215 = new TNode("TF2J12","TF2J12","TF2J",27.75,0,0,""); - Node215->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node216; - Node216 = new TNode("TF2J13","TF2J13","TF2J",-27.75,0,22.2,""); - Node216->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node217; - Node217 = new TNode("TF2J14","TF2J14","TF2J",-16.6499,0,22.2,""); - Node217->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node218; - Node218 = new TNode("TF2J15","TF2J15","TF2J",-5.55,0,22.2,""); - Node218->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node219; - Node219 = new TNode("TF2J16","TF2J16","TF2J",5.55,0,22.2,""); - Node219->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node220; - Node220 = new TNode("TF2J17","TF2J17","TF2J",16.64999,0,22.2,""); - Node220->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - TNode *Node221; - Node221 = new TNode("TF2J18","TF2J18","TF2J",27.75,0,22.2,""); - Node221->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node203->cd(); - Node = new TNode("TF2K1","TF2K1","TF2K",0,-1.15,23.14999,""); - Node = new TNode("TF2K2","TF2K2","TF2K",0,-1.15,-23.1499,""); - Node = new TNode("TF2L3","TF2L3","TF2L",0,-1.15,5.55,""); - Node = new TNode("TF2L4","TF2L4","TF2L",0,-1.15,-5.55,""); - Node131->cd(); - TNode *Node222; - Node222 = new TNode("TF2I5","TF2I5","TF2I",47.09999,32.84999,0,"rot5"); - Node222->cd(); - TNode *Node223; - Node223 = new TNode("TF2J1","TF2J1","TF2J",-27.75,0,-22.2,""); - Node223->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node224; - Node224 = new TNode("TF2J2","TF2J2","TF2J",-16.6499,0,-22.2,""); - Node224->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node225; - Node225 = new TNode("TF2J3","TF2J3","TF2J",-5.55,0,-22.2,""); - Node225->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node226; - Node226 = new TNode("TF2J4","TF2J4","TF2J",5.55,0,-22.2,""); - Node226->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node227; - Node227 = new TNode("TF2J5","TF2J5","TF2J",16.64999,0,-22.2,""); - Node227->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node228; - Node228 = new TNode("TF2J6","TF2J6","TF2J",27.75,0,-22.2,""); - Node228->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node229; - Node229 = new TNode("TF2J7","TF2J7","TF2J",-27.75,0,0,""); - Node229->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node230; - Node230 = new TNode("TF2J8","TF2J8","TF2J",-16.6499,0,0,""); - Node230->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node231; - Node231 = new TNode("TF2J9","TF2J9","TF2J",-5.55,0,0,""); - Node231->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node232; - Node232 = new TNode("TF2J10","TF2J10","TF2J",5.55,0,0,""); - Node232->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node233; - Node233 = new TNode("TF2J11","TF2J11","TF2J",16.64999,0,0,""); - Node233->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node234; - Node234 = new TNode("TF2J12","TF2J12","TF2J",27.75,0,0,""); - Node234->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node235; - Node235 = new TNode("TF2J13","TF2J13","TF2J",-27.75,0,22.2,""); - Node235->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node236; - Node236 = new TNode("TF2J14","TF2J14","TF2J",-16.6499,0,22.2,""); - Node236->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node237; - Node237 = new TNode("TF2J15","TF2J15","TF2J",-5.55,0,22.2,""); - Node237->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node238; - Node238 = new TNode("TF2J16","TF2J16","TF2J",5.55,0,22.2,""); - Node238->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node239; - Node239 = new TNode("TF2J17","TF2J17","TF2J",16.64999,0,22.2,""); - Node239->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - TNode *Node240; - Node240 = new TNode("TF2J18","TF2J18","TF2J",27.75,0,22.2,""); - Node240->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node222->cd(); - Node = new TNode("TF2K1","TF2K1","TF2K",0,-1.15,23.14999,""); - Node = new TNode("TF2K2","TF2K2","TF2K",0,-1.15,-23.1499,""); - Node = new TNode("TF2L3","TF2L3","TF2L",0,-1.15,5.55,""); - Node = new TNode("TF2L4","TF2L4","TF2L",0,-1.15,-5.55,""); - Node131->cd(); - TNode *Node241; - Node241 = new TNode("TF2I6","TF2I6","TF2I",47.09999,32.84999,77,"rot5"); - Node241->cd(); - TNode *Node242; - Node242 = new TNode("TF2J1","TF2J1","TF2J",-27.75,0,-22.2,""); - Node242->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node243; - Node243 = new TNode("TF2J2","TF2J2","TF2J",-16.6499,0,-22.2,""); - Node243->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node244; - Node244 = new TNode("TF2J3","TF2J3","TF2J",-5.55,0,-22.2,""); - Node244->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node245; - Node245 = new TNode("TF2J4","TF2J4","TF2J",5.55,0,-22.2,""); - Node245->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node246; - Node246 = new TNode("TF2J5","TF2J5","TF2J",16.64999,0,-22.2,""); - Node246->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node247; - Node247 = new TNode("TF2J6","TF2J6","TF2J",27.75,0,-22.2,""); - Node247->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node248; - Node248 = new TNode("TF2J7","TF2J7","TF2J",-27.75,0,0,""); - Node248->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node249; - Node249 = new TNode("TF2J8","TF2J8","TF2J",-16.6499,0,0,""); - Node249->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node250; - Node250 = new TNode("TF2J9","TF2J9","TF2J",-5.55,0,0,""); - Node250->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node251; - Node251 = new TNode("TF2J10","TF2J10","TF2J",5.55,0,0,""); - Node251->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node252; - Node252 = new TNode("TF2J11","TF2J11","TF2J",16.64999,0,0,""); - Node252->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node253; - Node253 = new TNode("TF2J12","TF2J12","TF2J",27.75,0,0,""); - Node253->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node254; - Node254 = new TNode("TF2J13","TF2J13","TF2J",-27.75,0,22.2,""); - Node254->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node255; - Node255 = new TNode("TF2J14","TF2J14","TF2J",-16.6499,0,22.2,""); - Node255->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node256; - Node256 = new TNode("TF2J15","TF2J15","TF2J",-5.55,0,22.2,""); - Node256->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node257; - Node257 = new TNode("TF2J16","TF2J16","TF2J",5.55,0,22.2,""); - Node257->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node258; - Node258 = new TNode("TF2J17","TF2J17","TF2J",16.64999,0,22.2,""); - Node258->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - TNode *Node259; - Node259 = new TNode("TF2J18","TF2J18","TF2J",27.75,0,22.2,""); - Node259->cd(); - Node = new TNode("TF2M1","TF2M1","TF2M",0,-2.7,0,""); - Node = new TNode("TF2N1","TF2N1","TF2N",-3,0,-5.3,""); - Node = new TNode("TF2N2","TF2N2","TF2N",0,0,-5.3,""); - Node = new TNode("TF2N3","TF2N3","TF2N",3,0,-5.3,""); - Node = new TNode("TF2N4","TF2N4","TF2N",-3,0,5.3,""); - Node = new TNode("TF2N5","TF2N5","TF2N",0,0,5.3,""); - Node = new TNode("TF2N6","TF2N6","TF2N",3,0,5.3,""); - Node241->cd(); - Node = new TNode("TF2K1","TF2K1","TF2K",0,-1.15,23.14999,""); - Node = new TNode("TF2K2","TF2K2","TF2K",0,-1.15,-23.1499,""); - Node = new TNode("TF2L3","TF2L3","TF2L",0,-1.15,5.55,""); - Node = new TNode("TF2L4","TF2L4","TF2L",0,-1.15,-5.55,""); - Node131->cd(); -Node1->cd(); - TNode *Node260; - Node260 = new TNode("MTL_1","MTL_1","MTL_",198.5599,17.09999,546.8189,"rot7"); - Node260->cd(); - TNode *Node261; - Node261 = new TNode("HV3_1","HV3_1","HV3_",0,-83.5,0,""); - Node261->cd(); - Node = new TNode("HV3I1","HV3I1","HV3I",0,0,0,""); - Node260->cd(); - TNode *Node262; - Node262 = new TNode("OGB31","OGB31","OGB3",0,-14.6,0,""); - Node262->cd(); - TNode *Node263; - Node263 = new TNode("IGB31","IGB31","IGB3",0,0,0,""); - Node263->cd(); - TNode *Node264; - Node264 = new TNode("FC3_1","FC3_1","FC3_",0,-2.5,0,""); - Node264->cd(); - TNode *Node265; - Node265 = new TNode("SV3_1","SV3_1","SV3_",0,0,0,""); - Node265->cd(); - TNode *Node266; - Node266 = new TNode("SEC31","SEC31","SEC3",144.3999,1.929999,-144.399,""); - Node266->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node267; - Node267 = new TNode("SEC32","SEC32","SEC3",144.3999,1.929999,-72.1999,""); - Node267->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node268; - Node268 = new TNode("SEC33","SEC33","SEC3",144.3999,1.929999,-.000026,""); - Node268->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node269; - Node269 = new TNode("SEC34","SEC34","SEC3",144.3999,1.929999,72.19996,""); - Node269->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node270; - Node270 = new TNode("SEC35","SEC35","SEC3",144.3999,1.929999,144.3999,""); - Node270->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node271; - Node271 = new TNode("SEC36","SEC36","SEC3",72.19998,1.85,-144.399,""); - Node271->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node272; - Node272 = new TNode("SEC37","SEC37","SEC3",72.19998,1.85,-72.1999,""); - Node272->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node273; - Node273 = new TNode("SEC38","SEC38","SEC3",72.19998,1.85,-.000026,""); - Node273->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node274; - Node274 = new TNode("SEC39","SEC39","SEC3",72.19998,1.85,72.19996,""); - Node274->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node275; - Node275 = new TNode("SEC310","SEC310","SEC3",72.19998,1.85,144.3999,""); - Node275->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node276; - Node276 = new TNode("SEC311","SEC311","SEC3",.0000038,1.85,-144.399,""); - Node276->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node277; - Node277 = new TNode("SEC312","SEC312","SEC3",.0000038,1.85,-72.1999,""); - Node277->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node278; - Node278 = new TNode("SEC313","SEC313","SEC3",.0000038,1.85,-.000026,""); - Node278->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node279; - Node279 = new TNode("SEC314","SEC314","SEC3",.0000038,1.85,72.19996,""); - Node279->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node280; - Node280 = new TNode("SEC315","SEC315","SEC3",.0000038,1.85,144.3999,""); - Node280->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node281; - Node281 = new TNode("SEC316","SEC316","SEC3",-72.1999,1.85,-144.399,""); - Node281->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node282; - Node282 = new TNode("SEC317","SEC317","SEC3",-72.1999,1.85,-72.1999,""); - Node282->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node283; - Node283 = new TNode("SEC318","SEC318","SEC3",-72.1999,1.85,-.000026,""); - Node283->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node284; - Node284 = new TNode("SEC319","SEC319","SEC3",-72.1999,1.85,72.19996,""); - Node284->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node285; - Node285 = new TNode("SEC320","SEC320","SEC3",-72.1999,1.85,144.3999,""); - Node285->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node286; - Node286 = new TNode("SEC321","SEC321","SEC3",-144.367,1.85,-144.399,""); - Node286->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node287; - Node287 = new TNode("SEC322","SEC322","SEC3",-144.367,1.85,-72.1999,""); - Node287->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node288; - Node288 = new TNode("SEC323","SEC323","SEC3",-144.367,1.85,-.000026,""); - Node288->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node289; - Node289 = new TNode("SEC324","SEC324","SEC3",-144.367,1.85,72.19996,""); - Node289->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - TNode *Node290; - Node290 = new TNode("SEC325","SEC325","SEC3",-144.367,1.85,144.3999,""); - Node290->cd(); - Node = new TNode("PR3_1","PR3_1","PR3_",0,0,-33.575,""); - Node = new TNode("PR3_2","PR3_2","PR3_",0,0,-29.625,""); - Node = new TNode("PR3_3","PR3_3","PR3_",0,0,-25.6749,""); - Node = new TNode("PR3_4","PR3_4","PR3_",0,0,-21.725,""); - Node = new TNode("PR3_5","PR3_5","PR3_",0,0,-17.7749,""); - Node = new TNode("PR3_6","PR3_6","PR3_",0,0,-13.8249,""); - Node = new TNode("PR3_7","PR3_7","PR3_",0,0,-9.875,""); - Node = new TNode("PR3_8","PR3_8","PR3_",0,0,-5.925,""); - Node = new TNode("PR3_9","PR3_9","PR3_",0,0,-1.97501,""); - Node = new TNode("PR3_10","PR3_10","PR3_",0,0,1.97499,""); - Node = new TNode("PR3_11","PR3_11","PR3_",0,0,5.92499,""); - Node = new TNode("PR3_12","PR3_12","PR3_",0,0,9.87498,""); - Node = new TNode("PR3_13","PR3_13","PR3_",0,0,13.82497,""); - Node = new TNode("PR3_14","PR3_14","PR3_",0,0,17.77496,""); - Node = new TNode("PR3_15","PR3_15","PR3_",0,0,21.72496,""); - Node = new TNode("PR3_16","PR3_16","PR3_",0,0,25.67497,""); - Node = new TNode("PR3_17","PR3_17","PR3_",0,0,29.62495,""); - Node = new TNode("PR3_18","PR3_18","PR3_",0,0,33.57495,""); - Node265->cd(); - Node264->cd(); - Node = new TNode("T0131","T0131","T013",-182.5,0,-182.5,"rot9"); - Node = new TNode("T0231","T0231","T023",-62,0,-183,"rot9"); - Node = new TNode("T0331","T0331","T033",62,0,-183,"rot9"); - Node = new TNode("T0431","T0431","T043",182.5,0,-182.5,"rot9"); - Node = new TNode("T0531","T0531","T053",183,0,-62,"rot9"); - Node = new TNode("T0631","T0631","T063",183,0,62,"rot9"); - Node = new TNode("T0731","T0731","T073",182.5,0,182.5,"rot9"); - Node = new TNode("T0831","T0831","T083",62,0,183,"rot9"); - Node = new TNode("T0931","T0931","T093",-62,0,183,"rot9"); - Node = new TNode("T1031","T1031","T103",-182.5,0,182.5,"rot9"); - Node = new TNode("T1131","T1131","T113",-183,0,62,"rot9"); - Node = new TNode("T1231","T1231","T123",-183,0,-62,"rot9"); - Node = new TNode("ST3A1","ST3A1","ST3A",0,-56.2599,-184.973,""); - Node = new TNode("ST3A77","ST3A77","ST3A",0,-56.2599,184.9736,""); - Node = new TNode("ST3A2","ST3A2","ST3A",0,-54.79,-184.973,""); - Node = new TNode("ST3A78","ST3A78","ST3A",0,-54.79,184.9736,""); - Node = new TNode("ST3A3","ST3A3","ST3A",0,-53.3199,-184.973,""); - Node = new TNode("ST3A79","ST3A79","ST3A",0,-53.3199,184.9736,""); - Node = new TNode("ST3A4","ST3A4","ST3A",0,-51.8499,-184.973,""); - Node = new TNode("ST3A80","ST3A80","ST3A",0,-51.8499,184.9736,""); - Node = new TNode("ST3A5","ST3A5","ST3A",0,-50.38,-184.973,""); - Node = new TNode("ST3A81","ST3A81","ST3A",0,-50.38,184.9736,""); - Node = new TNode("ST3A6","ST3A6","ST3A",0,-48.9099,-184.973,""); - Node = new TNode("ST3A82","ST3A82","ST3A",0,-48.9099,184.9736,""); - Node = new TNode("ST3A7","ST3A7","ST3A",0,-47.4399,-184.973,""); - Node = new TNode("ST3A83","ST3A83","ST3A",0,-47.4399,184.9736,""); - Node = new TNode("ST3A8","ST3A8","ST3A",0,-45.97,-184.973,""); - Node = new TNode("ST3A84","ST3A84","ST3A",0,-45.97,184.9736,""); - Node = new TNode("ST3A9","ST3A9","ST3A",0,-44.5,-184.973,""); - Node = new TNode("ST3A85","ST3A85","ST3A",0,-44.5,184.9736,""); - Node = new TNode("ST3A10","ST3A10","ST3A",0,-43.0299,-184.973,""); - Node = new TNode("ST3A86","ST3A86","ST3A",0,-43.0299,184.9736,""); - Node = new TNode("ST3A11","ST3A11","ST3A",0,-41.56,-184.973,""); - Node = new TNode("ST3A87","ST3A87","ST3A",0,-41.56,184.9736,""); - Node = new TNode("ST3A12","ST3A12","ST3A",0,-40.09,-184.973,""); - Node = new TNode("ST3A88","ST3A88","ST3A",0,-40.09,184.9736,""); - Node = new TNode("ST3A13","ST3A13","ST3A",0,-38.6199,-184.973,""); - Node = new TNode("ST3A89","ST3A89","ST3A",0,-38.6199,184.9736,""); - Node = new TNode("ST3A14","ST3A14","ST3A",0,-37.15,-184.973,""); - Node = new TNode("ST3A90","ST3A90","ST3A",0,-37.15,184.9736,""); - Node = new TNode("ST3A15","ST3A15","ST3A",0,-35.68,-184.973,""); - Node = new TNode("ST3A91","ST3A91","ST3A",0,-35.68,184.9736,""); - Node = new TNode("ST3A16","ST3A16","ST3A",0,-34.2099,-184.973,""); - Node = new TNode("ST3A92","ST3A92","ST3A",0,-34.2099,184.9736,""); - Node = new TNode("ST3A17","ST3A17","ST3A",0,-32.74,-184.973,""); - Node = new TNode("ST3A93","ST3A93","ST3A",0,-32.74,184.9736,""); - Node = new TNode("ST3A18","ST3A18","ST3A",0,-31.27,-184.973,""); - Node = new TNode("ST3A94","ST3A94","ST3A",0,-31.27,184.9736,""); - Node = new TNode("ST3A19","ST3A19","ST3A",0,-29.7999,-184.973,""); - Node = new TNode("ST3A95","ST3A95","ST3A",0,-29.7999,184.9736,""); - Node = new TNode("ST3A20","ST3A20","ST3A",0,-28.3299,-184.973,""); - Node = new TNode("ST3A96","ST3A96","ST3A",0,-28.3299,184.9736,""); - Node = new TNode("ST3A21","ST3A21","ST3A",0,-26.86,-184.973,""); - Node = new TNode("ST3A97","ST3A97","ST3A",0,-26.86,184.9736,""); - Node = new TNode("ST3A22","ST3A22","ST3A",0,-25.3899,-184.973,""); - Node = new TNode("ST3A98","ST3A98","ST3A",0,-25.3899,184.9736,""); - Node = new TNode("ST3A23","ST3A23","ST3A",0,-23.92,-184.973,""); - Node = new TNode("ST3A99","ST3A99","ST3A",0,-23.92,184.9736,""); - Node = new TNode("ST3A24","ST3A24","ST3A",0,-22.45,-184.973,""); - Node = new TNode("ST3A100","ST3A100","ST3A",0,-22.45,184.9736,""); - Node = new TNode("ST3A25","ST3A25","ST3A",0,-20.9799,-184.973,""); - Node = new TNode("ST3A101","ST3A101","ST3A",0,-20.9799,184.9736,""); - Node = new TNode("ST3A26","ST3A26","ST3A",0,-19.51,-184.973,""); - Node = new TNode("ST3A102","ST3A102","ST3A",0,-19.51,184.9736,""); - Node = new TNode("ST3A27","ST3A27","ST3A",0,-18.04,-184.973,""); - Node = new TNode("ST3A103","ST3A103","ST3A",0,-18.04,184.9736,""); - Node = new TNode("ST3A28","ST3A28","ST3A",0,-16.5699,-184.973,""); - Node = new TNode("ST3A104","ST3A104","ST3A",0,-16.5699,184.9736,""); - Node = new TNode("ST3A29","ST3A29","ST3A",0,-15.1,-184.973,""); - Node = new TNode("ST3A105","ST3A105","ST3A",0,-15.1,184.9736,""); - Node = new TNode("ST3A30","ST3A30","ST3A",0,-13.63,-184.973,""); - Node = new TNode("ST3A106","ST3A106","ST3A",0,-13.63,184.9736,""); - Node = new TNode("ST3A31","ST3A31","ST3A",0,-12.1599,-184.973,""); - Node = new TNode("ST3A107","ST3A107","ST3A",0,-12.1599,184.9736,""); - Node = new TNode("ST3A32","ST3A32","ST3A",0,-10.6899,-184.973,""); - Node = new TNode("ST3A108","ST3A108","ST3A",0,-10.6899,184.9736,""); - Node = new TNode("ST3A33","ST3A33","ST3A",0,-9.22,-184.973,""); - Node = new TNode("ST3A109","ST3A109","ST3A",0,-9.22,184.9736,""); - Node = new TNode("ST3A34","ST3A34","ST3A",0,-7.75,-184.973,""); - Node = new TNode("ST3A110","ST3A110","ST3A",0,-7.75,184.9736,""); - Node = new TNode("ST3A35","ST3A35","ST3A",0,-6.28,-184.973,""); - Node = new TNode("ST3A111","ST3A111","ST3A",0,-6.28,184.9736,""); - Node = new TNode("ST3A36","ST3A36","ST3A",0,-4.80999,-184.973,""); - Node = new TNode("ST3A112","ST3A112","ST3A",0,-4.80999,184.9736,""); - Node = new TNode("ST3A37","ST3A37","ST3A",0,-3.33999,-184.973,""); - Node = new TNode("ST3A113","ST3A113","ST3A",0,-3.33999,184.9736,""); - Node = new TNode("ST3A38","ST3A38","ST3A",0,-1.87,-184.973,""); - Node = new TNode("ST3A114","ST3A114","ST3A",0,-1.87,184.9736,""); - Node = new TNode("ST3A39","ST3A39","ST3A",0,-.399997,-184.973,""); - Node = new TNode("ST3A115","ST3A115","ST3A",0,-.399997,184.9736,""); - Node = new TNode("ST3A40","ST3A40","ST3A",0,1.07,-184.973,""); - Node = new TNode("ST3A116","ST3A116","ST3A",0,1.07,184.9736,""); - Node = new TNode("ST3A41","ST3A41","ST3A",0,2.54,-184.973,""); - Node = new TNode("ST3A117","ST3A117","ST3A",0,2.54,184.9736,""); - Node = new TNode("ST3A42","ST3A42","ST3A",0,4.01,-184.973,""); - Node = new TNode("ST3A118","ST3A118","ST3A",0,4.01,184.9736,""); - Node = new TNode("ST3A43","ST3A43","ST3A",0,5.48,-184.973,""); - Node = new TNode("ST3A119","ST3A119","ST3A",0,5.48,184.9736,""); - Node = new TNode("ST3A44","ST3A44","ST3A",0,6.949999,-184.973,""); - Node = new TNode("ST3A120","ST3A120","ST3A",0,6.949999,184.9736,""); - Node = new TNode("ST3A45","ST3A45","ST3A",0,8.42,-184.973,""); - Node = new TNode("ST3A121","ST3A121","ST3A",0,8.42,184.9736,""); - Node = new TNode("ST3A46","ST3A46","ST3A",0,9.89,-184.973,""); - Node = new TNode("ST3A122","ST3A122","ST3A",0,9.89,184.9736,""); - Node = new TNode("ST3A47","ST3A47","ST3A",0,11.35999,-184.973,""); - Node = new TNode("ST3A123","ST3A123","ST3A",0,11.35999,184.9736,""); - Node = new TNode("ST3A48","ST3A48","ST3A",0,12.82999,-184.973,""); - Node = new TNode("ST3A124","ST3A124","ST3A",0,12.82999,184.9736,""); - Node = new TNode("ST3A49","ST3A49","ST3A",0,14.29998,-184.973,""); - Node = new TNode("ST3A125","ST3A125","ST3A",0,14.29998,184.9736,""); - Node = new TNode("ST3A50","ST3A50","ST3A",0,15.77,-184.973,""); - Node = new TNode("ST3A126","ST3A126","ST3A",0,15.77,184.9736,""); - Node = new TNode("ST3A51","ST3A51","ST3A",0,17.23999,-184.973,""); - Node = new TNode("ST3A127","ST3A127","ST3A",0,17.23999,184.9736,""); - Node = new TNode("ST3A52","ST3A52","ST3A",0,18.70999,-184.973,""); - Node = new TNode("ST3A128","ST3A128","ST3A",0,18.70999,184.9736,""); - Node = new TNode("ST3A53","ST3A53","ST3A",0,20.18,-184.973,""); - Node = new TNode("ST3A129","ST3A129","ST3A",0,20.18,184.9736,""); - Node = new TNode("ST3A54","ST3A54","ST3A",0,21.64999,-184.973,""); - Node = new TNode("ST3A130","ST3A130","ST3A",0,21.64999,184.9736,""); - Node = new TNode("ST3A55","ST3A55","ST3A",0,23.11998,-184.973,""); - Node = new TNode("ST3A131","ST3A131","ST3A",0,23.11998,184.9736,""); - Node = new TNode("ST3A56","ST3A56","ST3A",0,24.59,-184.973,""); - Node = new TNode("ST3A132","ST3A132","ST3A",0,24.59,184.9736,""); - Node = new TNode("ST3A57","ST3A57","ST3A",0,26.05999,-184.973,""); - Node = new TNode("ST3A133","ST3A133","ST3A",0,26.05999,184.9736,""); - Node = new TNode("ST3A58","ST3A58","ST3A",0,27.53,-184.973,""); - Node = new TNode("ST3A134","ST3A134","ST3A",0,27.53,184.9736,""); - Node = new TNode("ST3A59","ST3A59","ST3A",0,29,-184.973,""); - Node = new TNode("ST3A135","ST3A135","ST3A",0,29,184.9736,""); - Node = new TNode("ST3A60","ST3A60","ST3A",0,30.46999,-184.973,""); - Node = new TNode("ST3A136","ST3A136","ST3A",0,30.46999,184.9736,""); - Node = new TNode("ST3A61","ST3A61","ST3A",0,31.93998,-184.973,""); - Node = new TNode("ST3A137","ST3A137","ST3A",0,31.93998,184.9736,""); - Node = new TNode("ST3A62","ST3A62","ST3A",0,33.40998,-184.973,""); - Node = new TNode("ST3A138","ST3A138","ST3A",0,33.40998,184.9736,""); - Node = new TNode("ST3A63","ST3A63","ST3A",0,34.88,-184.973,""); - Node = new TNode("ST3A139","ST3A139","ST3A",0,34.88,184.9736,""); - Node = new TNode("ST3A64","ST3A64","ST3A",0,36.34999,-184.973,""); - Node = new TNode("ST3A140","ST3A140","ST3A",0,36.34999,184.9736,""); - Node = new TNode("ST3A65","ST3A65","ST3A",0,37.81999,-184.973,""); - Node = new TNode("ST3A141","ST3A141","ST3A",0,37.81999,184.9736,""); - Node = new TNode("ST3A66","ST3A66","ST3A",0,39.29,-184.973,""); - Node = new TNode("ST3A142","ST3A142","ST3A",0,39.29,184.9736,""); - Node = new TNode("ST3A67","ST3A67","ST3A",0,40.75999,-184.973,""); - Node = new TNode("ST3A143","ST3A143","ST3A",0,40.75999,184.9736,""); - Node = new TNode("ST3A68","ST3A68","ST3A",0,42.22998,-184.973,""); - Node = new TNode("ST3A144","ST3A144","ST3A",0,42.22998,184.9736,""); - Node = new TNode("ST3A69","ST3A69","ST3A",0,43.7,-184.973,""); - Node = new TNode("ST3A145","ST3A145","ST3A",0,43.7,184.9736,""); - Node = new TNode("ST3A70","ST3A70","ST3A",0,45.16999,-184.973,""); - Node = new TNode("ST3A146","ST3A146","ST3A",0,45.16999,184.9736,""); - Node = new TNode("ST3A71","ST3A71","ST3A",0,46.63999,-184.973,""); - Node = new TNode("ST3A147","ST3A147","ST3A",0,46.63999,184.9736,""); - Node = new TNode("ST3A72","ST3A72","ST3A",0,48.11,-184.973,""); - Node = new TNode("ST3A148","ST3A148","ST3A",0,48.11,184.9736,""); - Node = new TNode("ST3A73","ST3A73","ST3A",0,49.58,-184.973,""); - Node = new TNode("ST3A149","ST3A149","ST3A",0,49.58,184.9736,""); - Node = new TNode("ST3A74","ST3A74","ST3A",0,51.04999,-184.973,""); - Node = new TNode("ST3A150","ST3A150","ST3A",0,51.04999,184.9736,""); - Node = new TNode("ST3A75","ST3A75","ST3A",0,52.52,-184.973,""); - Node = new TNode("ST3A151","ST3A151","ST3A",0,52.52,184.9736,""); - Node = new TNode("ST3A76","ST3A76","ST3A",0,53.99,-184.973,""); - Node = new TNode("ST3A152","ST3A152","ST3A",0,53.99,184.9736,""); - Node = new TNode("ST3B1","ST3B1","ST3B",184.9736,-56.2599,0,""); - Node = new TNode("ST3B77","ST3B77","ST3B",-184.973,-56.2599,0,""); - Node = new TNode("ST3B2","ST3B2","ST3B",184.9736,-54.79,0,""); - Node = new TNode("ST3B78","ST3B78","ST3B",-184.973,-54.79,0,""); - Node = new TNode("ST3B3","ST3B3","ST3B",184.9736,-53.3199,0,""); - Node = new TNode("ST3B79","ST3B79","ST3B",-184.973,-53.3199,0,""); - Node = new TNode("ST3B4","ST3B4","ST3B",184.9736,-51.8499,0,""); - Node = new TNode("ST3B80","ST3B80","ST3B",-184.973,-51.8499,0,""); - Node = new TNode("ST3B5","ST3B5","ST3B",184.9736,-50.38,0,""); - Node = new TNode("ST3B81","ST3B81","ST3B",-184.973,-50.38,0,""); - Node = new TNode("ST3B6","ST3B6","ST3B",184.9736,-48.9099,0,""); - Node = new TNode("ST3B82","ST3B82","ST3B",-184.973,-48.9099,0,""); - Node = new TNode("ST3B7","ST3B7","ST3B",184.9736,-47.4399,0,""); - Node = new TNode("ST3B83","ST3B83","ST3B",-184.973,-47.4399,0,""); - Node = new TNode("ST3B8","ST3B8","ST3B",184.9736,-45.97,0,""); - Node = new TNode("ST3B84","ST3B84","ST3B",-184.973,-45.97,0,""); - Node = new TNode("ST3B9","ST3B9","ST3B",184.9736,-44.5,0,""); - Node = new TNode("ST3B85","ST3B85","ST3B",-184.973,-44.5,0,""); - Node = new TNode("ST3B10","ST3B10","ST3B",184.9736,-43.0299,0,""); - Node = new TNode("ST3B86","ST3B86","ST3B",-184.973,-43.0299,0,""); - Node = new TNode("ST3B11","ST3B11","ST3B",184.9736,-41.56,0,""); - Node = new TNode("ST3B87","ST3B87","ST3B",-184.973,-41.56,0,""); - Node = new TNode("ST3B12","ST3B12","ST3B",184.9736,-40.09,0,""); - Node = new TNode("ST3B88","ST3B88","ST3B",-184.973,-40.09,0,""); - Node = new TNode("ST3B13","ST3B13","ST3B",184.9736,-38.6199,0,""); - Node = new TNode("ST3B89","ST3B89","ST3B",-184.973,-38.6199,0,""); - Node = new TNode("ST3B14","ST3B14","ST3B",184.9736,-37.15,0,""); - Node = new TNode("ST3B90","ST3B90","ST3B",-184.973,-37.15,0,""); - Node = new TNode("ST3B15","ST3B15","ST3B",184.9736,-35.68,0,""); - Node = new TNode("ST3B91","ST3B91","ST3B",-184.973,-35.68,0,""); - Node = new TNode("ST3B16","ST3B16","ST3B",184.9736,-34.2099,0,""); - Node = new TNode("ST3B92","ST3B92","ST3B",-184.973,-34.2099,0,""); - Node = new TNode("ST3B17","ST3B17","ST3B",184.9736,-32.74,0,""); - Node = new TNode("ST3B93","ST3B93","ST3B",-184.973,-32.74,0,""); - Node = new TNode("ST3B18","ST3B18","ST3B",184.9736,-31.27,0,""); - Node = new TNode("ST3B94","ST3B94","ST3B",-184.973,-31.27,0,""); - Node = new TNode("ST3B19","ST3B19","ST3B",184.9736,-29.7999,0,""); - Node = new TNode("ST3B95","ST3B95","ST3B",-184.973,-29.7999,0,""); - Node = new TNode("ST3B20","ST3B20","ST3B",184.9736,-28.3299,0,""); - Node = new TNode("ST3B96","ST3B96","ST3B",-184.973,-28.3299,0,""); - Node = new TNode("ST3B21","ST3B21","ST3B",184.9736,-26.86,0,""); - Node = new TNode("ST3B97","ST3B97","ST3B",-184.973,-26.86,0,""); - Node = new TNode("ST3B22","ST3B22","ST3B",184.9736,-25.3899,0,""); - Node = new TNode("ST3B98","ST3B98","ST3B",-184.973,-25.3899,0,""); - Node = new TNode("ST3B23","ST3B23","ST3B",184.9736,-23.92,0,""); - Node = new TNode("ST3B99","ST3B99","ST3B",-184.973,-23.92,0,""); - Node = new TNode("ST3B24","ST3B24","ST3B",184.9736,-22.45,0,""); - Node = new TNode("ST3B100","ST3B100","ST3B",-184.973,-22.45,0,""); - Node = new TNode("ST3B25","ST3B25","ST3B",184.9736,-20.9799,0,""); - Node = new TNode("ST3B101","ST3B101","ST3B",-184.973,-20.9799,0,""); - Node = new TNode("ST3B26","ST3B26","ST3B",184.9736,-19.51,0,""); - Node = new TNode("ST3B102","ST3B102","ST3B",-184.973,-19.51,0,""); - Node = new TNode("ST3B27","ST3B27","ST3B",184.9736,-18.04,0,""); - Node = new TNode("ST3B103","ST3B103","ST3B",-184.973,-18.04,0,""); - Node = new TNode("ST3B28","ST3B28","ST3B",184.9736,-16.5699,0,""); - Node = new TNode("ST3B104","ST3B104","ST3B",-184.973,-16.5699,0,""); - Node = new TNode("ST3B29","ST3B29","ST3B",184.9736,-15.1,0,""); - Node = new TNode("ST3B105","ST3B105","ST3B",-184.973,-15.1,0,""); - Node = new TNode("ST3B30","ST3B30","ST3B",184.9736,-13.63,0,""); - Node = new TNode("ST3B106","ST3B106","ST3B",-184.973,-13.63,0,""); - Node = new TNode("ST3B31","ST3B31","ST3B",184.9736,-12.1599,0,""); - Node = new TNode("ST3B107","ST3B107","ST3B",-184.973,-12.1599,0,""); - Node = new TNode("ST3B32","ST3B32","ST3B",184.9736,-10.6899,0,""); - Node = new TNode("ST3B108","ST3B108","ST3B",-184.973,-10.6899,0,""); - Node = new TNode("ST3B33","ST3B33","ST3B",184.9736,-9.22,0,""); - Node = new TNode("ST3B109","ST3B109","ST3B",-184.973,-9.22,0,""); - Node = new TNode("ST3B34","ST3B34","ST3B",184.9736,-7.75,0,""); - Node = new TNode("ST3B110","ST3B110","ST3B",-184.973,-7.75,0,""); - Node = new TNode("ST3B35","ST3B35","ST3B",184.9736,-6.28,0,""); - Node = new TNode("ST3B111","ST3B111","ST3B",-184.973,-6.28,0,""); - Node = new TNode("ST3B36","ST3B36","ST3B",184.9736,-4.80999,0,""); - Node = new TNode("ST3B112","ST3B112","ST3B",-184.973,-4.80999,0,""); - Node = new TNode("ST3B37","ST3B37","ST3B",184.9736,-3.33999,0,""); - Node = new TNode("ST3B113","ST3B113","ST3B",-184.973,-3.33999,0,""); - Node = new TNode("ST3B38","ST3B38","ST3B",184.9736,-1.87,0,""); - Node = new TNode("ST3B114","ST3B114","ST3B",-184.973,-1.87,0,""); - Node = new TNode("ST3B39","ST3B39","ST3B",184.9736,-.399997,0,""); - Node = new TNode("ST3B115","ST3B115","ST3B",-184.973,-.399997,0,""); - Node = new TNode("ST3B40","ST3B40","ST3B",184.9736,1.07,0,""); - Node = new TNode("ST3B116","ST3B116","ST3B",-184.973,1.07,0,""); - Node = new TNode("ST3B41","ST3B41","ST3B",184.9736,2.54,0,""); - Node = new TNode("ST3B117","ST3B117","ST3B",-184.973,2.54,0,""); - Node = new TNode("ST3B42","ST3B42","ST3B",184.9736,4.01,0,""); - Node = new TNode("ST3B118","ST3B118","ST3B",-184.973,4.01,0,""); - Node = new TNode("ST3B43","ST3B43","ST3B",184.9736,5.48,0,""); - Node = new TNode("ST3B119","ST3B119","ST3B",-184.973,5.48,0,""); - Node = new TNode("ST3B44","ST3B44","ST3B",184.9736,6.949999,0,""); - Node = new TNode("ST3B120","ST3B120","ST3B",-184.973,6.949999,0,""); - Node = new TNode("ST3B45","ST3B45","ST3B",184.9736,8.42,0,""); - Node = new TNode("ST3B121","ST3B121","ST3B",-184.973,8.42,0,""); - Node = new TNode("ST3B46","ST3B46","ST3B",184.9736,9.89,0,""); - Node = new TNode("ST3B122","ST3B122","ST3B",-184.973,9.89,0,""); - Node = new TNode("ST3B47","ST3B47","ST3B",184.9736,11.35999,0,""); - Node = new TNode("ST3B123","ST3B123","ST3B",-184.973,11.35999,0,""); - Node = new TNode("ST3B48","ST3B48","ST3B",184.9736,12.82999,0,""); - Node = new TNode("ST3B124","ST3B124","ST3B",-184.973,12.82999,0,""); - Node = new TNode("ST3B49","ST3B49","ST3B",184.9736,14.29998,0,""); - Node = new TNode("ST3B125","ST3B125","ST3B",-184.973,14.29998,0,""); - Node = new TNode("ST3B50","ST3B50","ST3B",184.9736,15.77,0,""); - Node = new TNode("ST3B126","ST3B126","ST3B",-184.973,15.77,0,""); - Node = new TNode("ST3B51","ST3B51","ST3B",184.9736,17.23999,0,""); - Node = new TNode("ST3B127","ST3B127","ST3B",-184.973,17.23999,0,""); - Node = new TNode("ST3B52","ST3B52","ST3B",184.9736,18.70999,0,""); - Node = new TNode("ST3B128","ST3B128","ST3B",-184.973,18.70999,0,""); - Node = new TNode("ST3B53","ST3B53","ST3B",184.9736,20.18,0,""); - Node = new TNode("ST3B129","ST3B129","ST3B",-184.973,20.18,0,""); - Node = new TNode("ST3B54","ST3B54","ST3B",184.9736,21.64999,0,""); - Node = new TNode("ST3B130","ST3B130","ST3B",-184.973,21.64999,0,""); - Node = new TNode("ST3B55","ST3B55","ST3B",184.9736,23.11998,0,""); - Node = new TNode("ST3B131","ST3B131","ST3B",-184.973,23.11998,0,""); - Node = new TNode("ST3B56","ST3B56","ST3B",184.9736,24.59,0,""); - Node = new TNode("ST3B132","ST3B132","ST3B",-184.973,24.59,0,""); - Node = new TNode("ST3B57","ST3B57","ST3B",184.9736,26.05999,0,""); - Node = new TNode("ST3B133","ST3B133","ST3B",-184.973,26.05999,0,""); - Node = new TNode("ST3B58","ST3B58","ST3B",184.9736,27.53,0,""); - Node = new TNode("ST3B134","ST3B134","ST3B",-184.973,27.53,0,""); - Node = new TNode("ST3B59","ST3B59","ST3B",184.9736,29,0,""); - Node = new TNode("ST3B135","ST3B135","ST3B",-184.973,29,0,""); - Node = new TNode("ST3B60","ST3B60","ST3B",184.9736,30.46999,0,""); - Node = new TNode("ST3B136","ST3B136","ST3B",-184.973,30.46999,0,""); - Node = new TNode("ST3B61","ST3B61","ST3B",184.9736,31.93998,0,""); - Node = new TNode("ST3B137","ST3B137","ST3B",-184.973,31.93998,0,""); - Node = new TNode("ST3B62","ST3B62","ST3B",184.9736,33.40998,0,""); - Node = new TNode("ST3B138","ST3B138","ST3B",-184.973,33.40998,0,""); - Node = new TNode("ST3B63","ST3B63","ST3B",184.9736,34.88,0,""); - Node = new TNode("ST3B139","ST3B139","ST3B",-184.973,34.88,0,""); - Node = new TNode("ST3B64","ST3B64","ST3B",184.9736,36.34999,0,""); - Node = new TNode("ST3B140","ST3B140","ST3B",-184.973,36.34999,0,""); - Node = new TNode("ST3B65","ST3B65","ST3B",184.9736,37.81999,0,""); - Node = new TNode("ST3B141","ST3B141","ST3B",-184.973,37.81999,0,""); - Node = new TNode("ST3B66","ST3B66","ST3B",184.9736,39.29,0,""); - Node = new TNode("ST3B142","ST3B142","ST3B",-184.973,39.29,0,""); - Node = new TNode("ST3B67","ST3B67","ST3B",184.9736,40.75999,0,""); - Node = new TNode("ST3B143","ST3B143","ST3B",-184.973,40.75999,0,""); - Node = new TNode("ST3B68","ST3B68","ST3B",184.9736,42.22998,0,""); - Node = new TNode("ST3B144","ST3B144","ST3B",-184.973,42.22998,0,""); - Node = new TNode("ST3B69","ST3B69","ST3B",184.9736,43.7,0,""); - Node = new TNode("ST3B145","ST3B145","ST3B",-184.973,43.7,0,""); - Node = new TNode("ST3B70","ST3B70","ST3B",184.9736,45.16999,0,""); - Node = new TNode("ST3B146","ST3B146","ST3B",-184.973,45.16999,0,""); - Node = new TNode("ST3B71","ST3B71","ST3B",184.9736,46.63999,0,""); - Node = new TNode("ST3B147","ST3B147","ST3B",-184.973,46.63999,0,""); - Node = new TNode("ST3B72","ST3B72","ST3B",184.9736,48.11,0,""); - Node = new TNode("ST3B148","ST3B148","ST3B",-184.973,48.11,0,""); - Node = new TNode("ST3B73","ST3B73","ST3B",184.9736,49.58,0,""); - Node = new TNode("ST3B149","ST3B149","ST3B",-184.973,49.58,0,""); - Node = new TNode("ST3B74","ST3B74","ST3B",184.9736,51.04999,0,""); - Node = new TNode("ST3B150","ST3B150","ST3B",-184.973,51.04999,0,""); - Node = new TNode("ST3B75","ST3B75","ST3B",184.9736,52.52,0,""); - Node = new TNode("ST3B151","ST3B151","ST3B",-184.973,52.52,0,""); - Node = new TNode("ST3B76","ST3B76","ST3B",184.9736,53.99,0,""); - Node = new TNode("ST3B152","ST3B152","ST3B",-184.973,53.99,0,""); - Node263->cd(); - Node262->cd(); - Node = new TNode("OG3A1","OG3A1","OG3A",0,61.25,-191.3,""); - Node = new TNode("OG3A2","OG3A2","OG3A",0,-61.25,-191.3,""); - Node = new TNode("OG3A3","OG3A3","OG3A",0,61.25,191.3,""); - Node = new TNode("OG3A4","OG3A4","OG3A",0,-61.25,191.3,""); - Node = new TNode("OG3B1","OG3B1","OG3B",191.3,61.25,0,""); - Node = new TNode("OG3B2","OG3B2","OG3B",191.3,-61.25,0,""); - Node = new TNode("OG3B3","OG3B3","OG3B",-191.3,61.25,0,""); - Node = new TNode("OG3B4","OG3B4","OG3B",-191.3,-61.25,0,""); - Node = new TNode("OG3C1","OG3C1","OG3C",191.3,0,0,""); - Node = new TNode("OG3C2","OG3C2","OG3C",-191.3,0,0,""); - Node = new TNode("OG3D1","OG3D1","OG3D",0,0,-191.3,""); - Node = new TNode("OG3D2","OG3D2","OG3D",0,0,191.3,""); - Node = new TNode("OG3E1","OG3E1","OG3E",-189.149,0,-191.3,""); - Node = new TNode("OG3E2","OG3E2","OG3E",189.1499,0,-191.3,""); - Node = new TNode("OG3E3","OG3E3","OG3E",189.1499,0,191.3,""); - Node = new TNode("OG3E4","OG3E4","OG3E",-189.149,0,191.3,""); - Node = new TNode("OG3F1","OG3F1","OG3F",191.3,0,-189.449,""); - Node = new TNode("OG3F2","OG3F2","OG3F",191.3,0,189.4499,""); - Node = new TNode("OG3F3","OG3F3","OG3F",-191.3,0,189.4499,""); - Node = new TNode("OG3F4","OG3F4","OG3F",-191.3,0,-189.449,""); - Node = new TNode("OG3G1","OG3G1","OG3G",96.47499,0,-191.593,""); - Node = new TNode("OG3G2","OG3G2","OG3G",96.47499,0,191.5937,""); - Node = new TNode("OG3G3","OG3G3","OG3G",-96.4749,0,191.5937,""); - Node = new TNode("OG3G4","OG3G4","OG3G",-96.4749,0,-191.593,""); - Node = new TNode("OG3H1","OG3H1","OG3H",191.5937,0,-96.4749,""); - Node = new TNode("OG3H2","OG3H2","OG3H",191.5937,0,96.47499,""); - Node = new TNode("OG3H3","OG3H3","OG3H",-191.593,0,96.47499,""); - Node = new TNode("OG3H4","OG3H4","OG3H",-191.593,0,-96.4749,""); - Node = new TNode("IG3A1","IG3A1","IG3A",0,60.25,-191.3,""); - Node = new TNode("IG3A2","IG3A2","IG3A",0,-60.25,-188.199,""); - Node = new TNode("IG3A3","IG3A3","IG3A",0,60.25,188.1999,""); - Node = new TNode("IG3A4","IG3A4","IG3A",0,-60.25,188.1999,""); - Node = new TNode("IG3B1","IG3B1","IG3B",188.1999,60.25,0,""); - Node = new TNode("IG3B2","IG3B2","IG3B",188.1999,-60.25,0,""); - Node = new TNode("IG3B3","IG3B3","IG3B",-188.199,60.25,0,""); - Node = new TNode("IG3B4","IG3B4","IG3B",-188.199,-60.25,0,""); - Node = new TNode("IG3C1","IG3C1","IG3C",188.1999,0,0,""); - Node = new TNode("IG3C2","IG3C2","IG3C",-188.199,0,0,""); - Node = new TNode("IG3D1","IG3D1","IG3D",0,0,-188.199,""); - Node = new TNode("IG3D2","IG3D2","IG3D",0,0,188.1999,""); - Node = new TNode("IG3E1","IG3E1","IG3E",-186.05,0,-188.199,""); - Node = new TNode("IG3E2","IG3E2","IG3E",186.05,0,-188.199,""); - Node = new TNode("IG3E3","IG3E3","IG3E",186.05,0,188.1999,""); - Node = new TNode("IG3E4","IG3E4","IG3E",-186.05,0,188.1999,""); - Node = new TNode("IG3F1","IG3F1","IG3F",188.1999,0,-186.35,""); - Node = new TNode("IG3F2","IG3F2","IG3F",188.1999,0,186.35,""); - Node = new TNode("IG3F3","IG3F3","IG3F",-188.199,0,186.35,""); - Node = new TNode("IG3F4","IG3F4","IG3F",-188.199,0,-186.35,""); - Node260->cd(); - Node = new TNode("TF3A1","TF3A1","TF3A",0,51.4,-184.199,""); - Node = new TNode("TF3A2","TF3A2","TF3A",0,51.4,184.1999,""); - Node = new TNode("TF3A3","TF3A3","TF3A",0,88.8,-184.199,""); - Node = new TNode("TF3A4","TF3A4","TF3A",0,87.3,184.1999,""); - Node = new TNode("TF3B1","TF3B1","TF3B",184.1999,51.4,0,""); - Node = new TNode("TF3B2","TF3B2","TF3B",-184.199,51.4,0,""); - Node = new TNode("TF3B3","TF3B3","TF3B",184.1999,88.8,0,""); - Node = new TNode("TF3B4","TF3B4","TF3B",-184.199,88.8,0,""); - Node = new TNode("TF3C1","TF3C1","TF3C",0,51.4,-108.3,""); - Node = new TNode("TF3C2","TF3C2","TF3C",0,51.4,-36.0999,""); - Node = new TNode("TF3C3","TF3C3","TF3C",0,51.4,36.09999,""); - Node = new TNode("TF3C4","TF3C4","TF3C",0,51.4,108.2998,""); - Node = new TNode("TF3C5","TF3C5","TF3C",0,88.8,-108.3,""); - Node = new TNode("TF3C6","TF3C6","TF3C",0,88.8,-36.0999,""); - Node = new TNode("TF3C7","TF3C7","TF3C",0,88.8,36.09999,""); - Node = new TNode("TF3C8","TF3C8","TF3C",0,88.8,108.2998,""); - Node = new TNode("TF3D1","TF3D1","TF3D",-108.3,51.4,0,""); - Node = new TNode("TF3D2","TF3D2","TF3D",-36.0999,51.4,0,""); - Node = new TNode("TF3D3","TF3D3","TF3D",36.09999,51.4,0,""); - Node = new TNode("TF3D4","TF3D4","TF3D",108.2998,51.4,0,""); - Node = new TNode("TF3D5","TF3D5","TF3D",-108.3,88.8,0,""); - Node = new TNode("TF3D6","TF3D6","TF3D",-36.0999,88.8,0,""); - Node = new TNode("TF3D7","TF3D7","TF3D",36.09999,88.8,0,""); - Node = new TNode("TF3D8","TF3D8","TF3D",108.2998,88.8,0,""); - TNode *Node291; - Node291 = new TNode("TF3E1","TF3E1","TF3E",0,70.09999,-180.5,""); - Node291->cd(); - Node = new TNode("TF3H1","TF3H1","TF3H",-159,0,0,""); - Node = new TNode("TF3H2","TF3H2","TF3H",-86.8,0,0,""); - Node = new TNode("TF3H3","TF3H3","TF3H",-14.6,0,0,""); - Node = new TNode("TF3H4","TF3H4","TF3H",57.59999,0,0,""); - Node = new TNode("TF3H5","TF3H5","TF3H",129.7998,0,0,""); - Node = new TNode("TF3H6","TF3H6","TF3H",-130,0,0,""); - Node = new TNode("TF3H7","TF3H7","TF3H",-57.7999,0,0,""); - Node = new TNode("TF3H8","TF3H8","TF3H",14.39999,0,0,""); - Node = new TNode("TF3H9","TF3H9","TF3H",86.59999,0,0,""); - Node = new TNode("TF3H10","TF3H10","TF3H",158.7998,0,0,""); - Node260->cd(); - TNode *Node292; - Node292 = new TNode("TF3E2","TF3E2","TF3E",0,70.09999,-108.3,""); - Node292->cd(); - Node = new TNode("TF3H1","TF3H1","TF3H",-159,0,0,""); - Node = new TNode("TF3H2","TF3H2","TF3H",-86.8,0,0,""); - Node = new TNode("TF3H3","TF3H3","TF3H",-14.6,0,0,""); - Node = new TNode("TF3H4","TF3H4","TF3H",57.59999,0,0,""); - Node = new TNode("TF3H5","TF3H5","TF3H",129.7998,0,0,""); - Node = new TNode("TF3H6","TF3H6","TF3H",-130,0,0,""); - Node = new TNode("TF3H7","TF3H7","TF3H",-57.7999,0,0,""); - Node = new TNode("TF3H8","TF3H8","TF3H",14.39999,0,0,""); - Node = new TNode("TF3H9","TF3H9","TF3H",86.59999,0,0,""); - Node = new TNode("TF3H10","TF3H10","TF3H",158.7998,0,0,""); - Node260->cd(); - TNode *Node293; - Node293 = new TNode("TF3E3","TF3E3","TF3E",0,70.09999,-36.0999,""); - Node293->cd(); - Node = new TNode("TF3H1","TF3H1","TF3H",-159,0,0,""); - Node = new TNode("TF3H2","TF3H2","TF3H",-86.8,0,0,""); - Node = new TNode("TF3H3","TF3H3","TF3H",-14.6,0,0,""); - Node = new TNode("TF3H4","TF3H4","TF3H",57.59999,0,0,""); - Node = new TNode("TF3H5","TF3H5","TF3H",129.7998,0,0,""); - Node = new TNode("TF3H6","TF3H6","TF3H",-130,0,0,""); - Node = new TNode("TF3H7","TF3H7","TF3H",-57.7999,0,0,""); - Node = new TNode("TF3H8","TF3H8","TF3H",14.39999,0,0,""); - Node = new TNode("TF3H9","TF3H9","TF3H",86.59999,0,0,""); - Node = new TNode("TF3H10","TF3H10","TF3H",158.7998,0,0,""); - Node260->cd(); - TNode *Node294; - Node294 = new TNode("TF3E4","TF3E4","TF3E",0,70.09999,36.09999,""); - Node294->cd(); - Node = new TNode("TF3H1","TF3H1","TF3H",-159,0,0,""); - Node = new TNode("TF3H2","TF3H2","TF3H",-86.8,0,0,""); - Node = new TNode("TF3H3","TF3H3","TF3H",-14.6,0,0,""); - Node = new TNode("TF3H4","TF3H4","TF3H",57.59999,0,0,""); - Node = new TNode("TF3H5","TF3H5","TF3H",129.7998,0,0,""); - Node = new TNode("TF3H6","TF3H6","TF3H",-130,0,0,""); - Node = new TNode("TF3H7","TF3H7","TF3H",-57.7999,0,0,""); - Node = new TNode("TF3H8","TF3H8","TF3H",14.39999,0,0,""); - Node = new TNode("TF3H9","TF3H9","TF3H",86.59999,0,0,""); - Node = new TNode("TF3H10","TF3H10","TF3H",158.7998,0,0,""); - Node260->cd(); - TNode *Node295; - Node295 = new TNode("TF3E5","TF3E5","TF3E",0,70.09999,108.2998,""); - Node295->cd(); - Node = new TNode("TF3H1","TF3H1","TF3H",-159,0,0,""); - Node = new TNode("TF3H2","TF3H2","TF3H",-86.8,0,0,""); - Node = new TNode("TF3H3","TF3H3","TF3H",-14.6,0,0,""); - Node = new TNode("TF3H4","TF3H4","TF3H",57.59999,0,0,""); - Node = new TNode("TF3H5","TF3H5","TF3H",129.7998,0,0,""); - Node = new TNode("TF3H6","TF3H6","TF3H",-130,0,0,""); - Node = new TNode("TF3H7","TF3H7","TF3H",-57.7999,0,0,""); - Node = new TNode("TF3H8","TF3H8","TF3H",14.39999,0,0,""); - Node = new TNode("TF3H9","TF3H9","TF3H",86.59999,0,0,""); - Node = new TNode("TF3H10","TF3H10","TF3H",158.7998,0,0,""); - Node260->cd(); - TNode *Node296; - Node296 = new TNode("TF3E6","TF3E6","TF3E",0,70.09999,180.5,""); - Node296->cd(); - Node = new TNode("TF3H1","TF3H1","TF3H",-159,0,0,""); - Node = new TNode("TF3H2","TF3H2","TF3H",-86.8,0,0,""); - Node = new TNode("TF3H3","TF3H3","TF3H",-14.6,0,0,""); - Node = new TNode("TF3H4","TF3H4","TF3H",57.59999,0,0,""); - Node = new TNode("TF3H5","TF3H5","TF3H",129.7998,0,0,""); - Node = new TNode("TF3H6","TF3H6","TF3H",-130,0,0,""); - Node = new TNode("TF3H7","TF3H7","TF3H",-57.7999,0,0,""); - Node = new TNode("TF3H8","TF3H8","TF3H",14.39999,0,0,""); - Node = new TNode("TF3H9","TF3H9","TF3H",86.59999,0,0,""); - Node = new TNode("TF3H10","TF3H10","TF3H",158.7998,0,0,""); - Node260->cd(); - TNode *Node297; - Node297 = new TNode("TF3F1","TF3F1","TF3F",-180.5,70.09999,0,""); - Node297->cd(); - Node = new TNode("TF3G1","TF3G1","TF3G",0,0,-159,"rot8"); - Node = new TNode("TF3G2","TF3G2","TF3G",0,0,-86.8,"rot8"); - Node = new TNode("TF3G3","TF3G3","TF3G",0,0,-14.6,"rot8"); - Node = new TNode("TF3G4","TF3G4","TF3G",0,0,57.59999,"rot8"); - Node = new TNode("TF3G5","TF3G5","TF3G",0,0,129.7998,"rot8"); - Node = new TNode("TF3G6","TF3G6","TF3G",0,0,-130,"rot8"); - Node = new TNode("TF3G7","TF3G7","TF3G",0,0,-57.7999,"rot8"); - Node = new TNode("TF3G8","TF3G8","TF3G",0,0,14.39999,"rot8"); - Node = new TNode("TF3G9","TF3G9","TF3G",0,0,86.59999,"rot8"); - Node = new TNode("TF3G10","TF3G10","TF3G",0,0,158.7998,"rot8"); - Node260->cd(); - TNode *Node298; - Node298 = new TNode("TF3F2","TF3F2","TF3F",-108.3,70.09999,0,""); - Node298->cd(); - Node = new TNode("TF3G1","TF3G1","TF3G",0,0,-159,"rot8"); - Node = new TNode("TF3G2","TF3G2","TF3G",0,0,-86.8,"rot8"); - Node = new TNode("TF3G3","TF3G3","TF3G",0,0,-14.6,"rot8"); - Node = new TNode("TF3G4","TF3G4","TF3G",0,0,57.59999,"rot8"); - Node = new TNode("TF3G5","TF3G5","TF3G",0,0,129.7998,"rot8"); - Node = new TNode("TF3G6","TF3G6","TF3G",0,0,-130,"rot8"); - Node = new TNode("TF3G7","TF3G7","TF3G",0,0,-57.7999,"rot8"); - Node = new TNode("TF3G8","TF3G8","TF3G",0,0,14.39999,"rot8"); - Node = new TNode("TF3G9","TF3G9","TF3G",0,0,86.59999,"rot8"); - Node = new TNode("TF3G10","TF3G10","TF3G",0,0,158.7998,"rot8"); - Node260->cd(); - TNode *Node299; - Node299 = new TNode("TF3F3","TF3F3","TF3F",-36.0999,70.09999,0,""); - Node299->cd(); - Node = new TNode("TF3G1","TF3G1","TF3G",0,0,-159,"rot8"); - Node = new TNode("TF3G2","TF3G2","TF3G",0,0,-86.8,"rot8"); - Node = new TNode("TF3G3","TF3G3","TF3G",0,0,-14.6,"rot8"); - Node = new TNode("TF3G4","TF3G4","TF3G",0,0,57.59999,"rot8"); - Node = new TNode("TF3G5","TF3G5","TF3G",0,0,129.7998,"rot8"); - Node = new TNode("TF3G6","TF3G6","TF3G",0,0,-130,"rot8"); - Node = new TNode("TF3G7","TF3G7","TF3G",0,0,-57.7999,"rot8"); - Node = new TNode("TF3G8","TF3G8","TF3G",0,0,14.39999,"rot8"); - Node = new TNode("TF3G9","TF3G9","TF3G",0,0,86.59999,"rot8"); - Node = new TNode("TF3G10","TF3G10","TF3G",0,0,158.7998,"rot8"); - Node260->cd(); - TNode *Node300; - Node300 = new TNode("TF3F4","TF3F4","TF3F",36.09999,70.09999,0,""); - Node300->cd(); - Node = new TNode("TF3G1","TF3G1","TF3G",0,0,-159,"rot8"); - Node = new TNode("TF3G2","TF3G2","TF3G",0,0,-86.8,"rot8"); - Node = new TNode("TF3G3","TF3G3","TF3G",0,0,-14.6,"rot8"); - Node = new TNode("TF3G4","TF3G4","TF3G",0,0,57.59999,"rot8"); - Node = new TNode("TF3G5","TF3G5","TF3G",0,0,129.7998,"rot8"); - Node = new TNode("TF3G6","TF3G6","TF3G",0,0,-130,"rot8"); - Node = new TNode("TF3G7","TF3G7","TF3G",0,0,-57.7999,"rot8"); - Node = new TNode("TF3G8","TF3G8","TF3G",0,0,14.39999,"rot8"); - Node = new TNode("TF3G9","TF3G9","TF3G",0,0,86.59999,"rot8"); - Node = new TNode("TF3G10","TF3G10","TF3G",0,0,158.7998,"rot8"); - Node260->cd(); - TNode *Node301; - Node301 = new TNode("TF3F5","TF3F5","TF3F",108.2998,70.09999,0,""); - Node301->cd(); - Node = new TNode("TF3G1","TF3G1","TF3G",0,0,-159,"rot8"); - Node = new TNode("TF3G2","TF3G2","TF3G",0,0,-86.8,"rot8"); - Node = new TNode("TF3G3","TF3G3","TF3G",0,0,-14.6,"rot8"); - Node = new TNode("TF3G4","TF3G4","TF3G",0,0,57.59999,"rot8"); - Node = new TNode("TF3G5","TF3G5","TF3G",0,0,129.7998,"rot8"); - Node = new TNode("TF3G6","TF3G6","TF3G",0,0,-130,"rot8"); - Node = new TNode("TF3G7","TF3G7","TF3G",0,0,-57.7999,"rot8"); - Node = new TNode("TF3G8","TF3G8","TF3G",0,0,14.39999,"rot8"); - Node = new TNode("TF3G9","TF3G9","TF3G",0,0,86.59999,"rot8"); - Node = new TNode("TF3G10","TF3G10","TF3G",0,0,158.7998,"rot8"); - Node260->cd(); - TNode *Node302; - Node302 = new TNode("TF3F6","TF3F6","TF3F",180.5,70.09999,0,""); - Node302->cd(); - Node = new TNode("TF3G1","TF3G1","TF3G",0,0,-159,"rot8"); - Node = new TNode("TF3G2","TF3G2","TF3G",0,0,-86.8,"rot8"); - Node = new TNode("TF3G3","TF3G3","TF3G",0,0,-14.6,"rot8"); - Node = new TNode("TF3G4","TF3G4","TF3G",0,0,57.59999,"rot8"); - Node = new TNode("TF3G5","TF3G5","TF3G",0,0,129.7998,"rot8"); - Node = new TNode("TF3G6","TF3G6","TF3G",0,0,-130,"rot8"); - Node = new TNode("TF3G7","TF3G7","TF3G",0,0,-57.7999,"rot8"); - Node = new TNode("TF3G8","TF3G8","TF3G",0,0,14.39999,"rot8"); - Node = new TNode("TF3G9","TF3G9","TF3G",0,0,86.59999,"rot8"); - Node = new TNode("TF3G10","TF3G10","TF3G",0,0,158.7998,"rot8"); - Node260->cd(); - TNode *Node303; - Node303 = new TNode("TF3I1","TF3I1","TF3I",144.4499,51.2,-144.35,"rot8"); - Node303->cd(); - TNode *Node304; - Node304 = new TNode("TF3J1","TF3J1","TF3J",-27.75,0,-22.2,""); - Node304->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node305; - Node305 = new TNode("TF3J2","TF3J2","TF3J",-16.6499,0,-22.2,""); - Node305->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node306; - Node306 = new TNode("TF3J3","TF3J3","TF3J",-5.55,0,-22.2,""); - Node306->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node307; - Node307 = new TNode("TF3J4","TF3J4","TF3J",5.55,0,-22.2,""); - Node307->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node308; - Node308 = new TNode("TF3J5","TF3J5","TF3J",16.64999,0,-22.2,""); - Node308->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node309; - Node309 = new TNode("TF3J6","TF3J6","TF3J",27.75,0,-22.2,""); - Node309->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node310; - Node310 = new TNode("TF3J7","TF3J7","TF3J",-27.75,0,0,""); - Node310->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node311; - Node311 = new TNode("TF3J8","TF3J8","TF3J",-16.6499,0,0,""); - Node311->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node312; - Node312 = new TNode("TF3J9","TF3J9","TF3J",-5.55,0,0,""); - Node312->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node313; - Node313 = new TNode("TF3J10","TF3J10","TF3J",5.55,0,0,""); - Node313->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node314; - Node314 = new TNode("TF3J11","TF3J11","TF3J",16.64999,0,0,""); - Node314->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node315; - Node315 = new TNode("TF3J12","TF3J12","TF3J",27.75,0,0,""); - Node315->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node316; - Node316 = new TNode("TF3J13","TF3J13","TF3J",-27.75,0,22.2,""); - Node316->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node317; - Node317 = new TNode("TF3J14","TF3J14","TF3J",-16.6499,0,22.2,""); - Node317->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node318; - Node318 = new TNode("TF3J15","TF3J15","TF3J",-5.55,0,22.2,""); - Node318->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node319; - Node319 = new TNode("TF3J16","TF3J16","TF3J",5.55,0,22.2,""); - Node319->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node320; - Node320 = new TNode("TF3J17","TF3J17","TF3J",16.64999,0,22.2,""); - Node320->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - TNode *Node321; - Node321 = new TNode("TF3J18","TF3J18","TF3J",27.75,0,22.2,""); - Node321->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node303->cd(); - Node = new TNode("TF3K1","TF3K1","TF3K",0,-1.15,23.14999,""); - Node = new TNode("TF3K2","TF3K2","TF3K",0,-1.15,-23.1499,""); - Node = new TNode("TF3L3","TF3L3","TF3L",0,-1.15,5.55,""); - Node = new TNode("TF3L4","TF3L4","TF3L",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node322; - Node322 = new TNode("TF3I2","TF3I2","TF3I",144.4499,51.2,-72.15,"rot8"); - Node322->cd(); - TNode *Node323; - Node323 = new TNode("TF3J1","TF3J1","TF3J",-27.75,0,-22.2,""); - Node323->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node324; - Node324 = new TNode("TF3J2","TF3J2","TF3J",-16.6499,0,-22.2,""); - Node324->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node325; - Node325 = new TNode("TF3J3","TF3J3","TF3J",-5.55,0,-22.2,""); - Node325->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node326; - Node326 = new TNode("TF3J4","TF3J4","TF3J",5.55,0,-22.2,""); - Node326->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node327; - Node327 = new TNode("TF3J5","TF3J5","TF3J",16.64999,0,-22.2,""); - Node327->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node328; - Node328 = new TNode("TF3J6","TF3J6","TF3J",27.75,0,-22.2,""); - Node328->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node329; - Node329 = new TNode("TF3J7","TF3J7","TF3J",-27.75,0,0,""); - Node329->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node330; - Node330 = new TNode("TF3J8","TF3J8","TF3J",-16.6499,0,0,""); - Node330->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node331; - Node331 = new TNode("TF3J9","TF3J9","TF3J",-5.55,0,0,""); - Node331->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node332; - Node332 = new TNode("TF3J10","TF3J10","TF3J",5.55,0,0,""); - Node332->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node333; - Node333 = new TNode("TF3J11","TF3J11","TF3J",16.64999,0,0,""); - Node333->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node334; - Node334 = new TNode("TF3J12","TF3J12","TF3J",27.75,0,0,""); - Node334->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node335; - Node335 = new TNode("TF3J13","TF3J13","TF3J",-27.75,0,22.2,""); - Node335->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node336; - Node336 = new TNode("TF3J14","TF3J14","TF3J",-16.6499,0,22.2,""); - Node336->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node337; - Node337 = new TNode("TF3J15","TF3J15","TF3J",-5.55,0,22.2,""); - Node337->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node338; - Node338 = new TNode("TF3J16","TF3J16","TF3J",5.55,0,22.2,""); - Node338->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node339; - Node339 = new TNode("TF3J17","TF3J17","TF3J",16.64999,0,22.2,""); - Node339->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - TNode *Node340; - Node340 = new TNode("TF3J18","TF3J18","TF3J",27.75,0,22.2,""); - Node340->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node322->cd(); - Node = new TNode("TF3K1","TF3K1","TF3K",0,-1.15,23.14999,""); - Node = new TNode("TF3K2","TF3K2","TF3K",0,-1.15,-23.1499,""); - Node = new TNode("TF3L3","TF3L3","TF3L",0,-1.15,5.55,""); - Node = new TNode("TF3L4","TF3L4","TF3L",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node341; - Node341 = new TNode("TF3I3","TF3I3","TF3I",144.4499,51.2,.05,"rot8"); - Node341->cd(); - TNode *Node342; - Node342 = new TNode("TF3J1","TF3J1","TF3J",-27.75,0,-22.2,""); - Node342->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node343; - Node343 = new TNode("TF3J2","TF3J2","TF3J",-16.6499,0,-22.2,""); - Node343->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node344; - Node344 = new TNode("TF3J3","TF3J3","TF3J",-5.55,0,-22.2,""); - Node344->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node345; - Node345 = new TNode("TF3J4","TF3J4","TF3J",5.55,0,-22.2,""); - Node345->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node346; - Node346 = new TNode("TF3J5","TF3J5","TF3J",16.64999,0,-22.2,""); - Node346->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node347; - Node347 = new TNode("TF3J6","TF3J6","TF3J",27.75,0,-22.2,""); - Node347->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node348; - Node348 = new TNode("TF3J7","TF3J7","TF3J",-27.75,0,0,""); - Node348->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node349; - Node349 = new TNode("TF3J8","TF3J8","TF3J",-16.6499,0,0,""); - Node349->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node350; - Node350 = new TNode("TF3J9","TF3J9","TF3J",-5.55,0,0,""); - Node350->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node351; - Node351 = new TNode("TF3J10","TF3J10","TF3J",5.55,0,0,""); - Node351->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node352; - Node352 = new TNode("TF3J11","TF3J11","TF3J",16.64999,0,0,""); - Node352->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node353; - Node353 = new TNode("TF3J12","TF3J12","TF3J",27.75,0,0,""); - Node353->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node354; - Node354 = new TNode("TF3J13","TF3J13","TF3J",-27.75,0,22.2,""); - Node354->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node355; - Node355 = new TNode("TF3J14","TF3J14","TF3J",-16.6499,0,22.2,""); - Node355->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node356; - Node356 = new TNode("TF3J15","TF3J15","TF3J",-5.55,0,22.2,""); - Node356->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node357; - Node357 = new TNode("TF3J16","TF3J16","TF3J",5.55,0,22.2,""); - Node357->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node358; - Node358 = new TNode("TF3J17","TF3J17","TF3J",16.64999,0,22.2,""); - Node358->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - TNode *Node359; - Node359 = new TNode("TF3J18","TF3J18","TF3J",27.75,0,22.2,""); - Node359->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node341->cd(); - Node = new TNode("TF3K1","TF3K1","TF3K",0,-1.15,23.14999,""); - Node = new TNode("TF3K2","TF3K2","TF3K",0,-1.15,-23.1499,""); - Node = new TNode("TF3L3","TF3L3","TF3L",0,-1.15,5.55,""); - Node = new TNode("TF3L4","TF3L4","TF3L",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node360; - Node360 = new TNode("TF3I4","TF3I4","TF3I",144.4499,51.2,72.25,"rot8"); - Node360->cd(); - TNode *Node361; - Node361 = new TNode("TF3J1","TF3J1","TF3J",-27.75,0,-22.2,""); - Node361->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node362; - Node362 = new TNode("TF3J2","TF3J2","TF3J",-16.6499,0,-22.2,""); - Node362->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node363; - Node363 = new TNode("TF3J3","TF3J3","TF3J",-5.55,0,-22.2,""); - Node363->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node364; - Node364 = new TNode("TF3J4","TF3J4","TF3J",5.55,0,-22.2,""); - Node364->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node365; - Node365 = new TNode("TF3J5","TF3J5","TF3J",16.64999,0,-22.2,""); - Node365->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node366; - Node366 = new TNode("TF3J6","TF3J6","TF3J",27.75,0,-22.2,""); - Node366->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node367; - Node367 = new TNode("TF3J7","TF3J7","TF3J",-27.75,0,0,""); - Node367->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node368; - Node368 = new TNode("TF3J8","TF3J8","TF3J",-16.6499,0,0,""); - Node368->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node369; - Node369 = new TNode("TF3J9","TF3J9","TF3J",-5.55,0,0,""); - Node369->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node370; - Node370 = new TNode("TF3J10","TF3J10","TF3J",5.55,0,0,""); - Node370->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node371; - Node371 = new TNode("TF3J11","TF3J11","TF3J",16.64999,0,0,""); - Node371->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node372; - Node372 = new TNode("TF3J12","TF3J12","TF3J",27.75,0,0,""); - Node372->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node373; - Node373 = new TNode("TF3J13","TF3J13","TF3J",-27.75,0,22.2,""); - Node373->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node374; - Node374 = new TNode("TF3J14","TF3J14","TF3J",-16.6499,0,22.2,""); - Node374->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node375; - Node375 = new TNode("TF3J15","TF3J15","TF3J",-5.55,0,22.2,""); - Node375->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node376; - Node376 = new TNode("TF3J16","TF3J16","TF3J",5.55,0,22.2,""); - Node376->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node377; - Node377 = new TNode("TF3J17","TF3J17","TF3J",16.64999,0,22.2,""); - Node377->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - TNode *Node378; - Node378 = new TNode("TF3J18","TF3J18","TF3J",27.75,0,22.2,""); - Node378->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node360->cd(); - Node = new TNode("TF3K1","TF3K1","TF3K",0,-1.15,23.14999,""); - Node = new TNode("TF3K2","TF3K2","TF3K",0,-1.15,-23.1499,""); - Node = new TNode("TF3L3","TF3L3","TF3L",0,-1.15,5.55,""); - Node = new TNode("TF3L4","TF3L4","TF3L",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node379; - Node379 = new TNode("TF3I5","TF3I5","TF3I",144.4499,51.2,144.4499,"rot8"); - Node379->cd(); - TNode *Node380; - Node380 = new TNode("TF3J1","TF3J1","TF3J",-27.75,0,-22.2,""); - Node380->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node381; - Node381 = new TNode("TF3J2","TF3J2","TF3J",-16.6499,0,-22.2,""); - Node381->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node382; - Node382 = new TNode("TF3J3","TF3J3","TF3J",-5.55,0,-22.2,""); - Node382->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node383; - Node383 = new TNode("TF3J4","TF3J4","TF3J",5.55,0,-22.2,""); - Node383->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node384; - Node384 = new TNode("TF3J5","TF3J5","TF3J",16.64999,0,-22.2,""); - Node384->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node385; - Node385 = new TNode("TF3J6","TF3J6","TF3J",27.75,0,-22.2,""); - Node385->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node386; - Node386 = new TNode("TF3J7","TF3J7","TF3J",-27.75,0,0,""); - Node386->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node387; - Node387 = new TNode("TF3J8","TF3J8","TF3J",-16.6499,0,0,""); - Node387->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node388; - Node388 = new TNode("TF3J9","TF3J9","TF3J",-5.55,0,0,""); - Node388->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node389; - Node389 = new TNode("TF3J10","TF3J10","TF3J",5.55,0,0,""); - Node389->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node390; - Node390 = new TNode("TF3J11","TF3J11","TF3J",16.64999,0,0,""); - Node390->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node391; - Node391 = new TNode("TF3J12","TF3J12","TF3J",27.75,0,0,""); - Node391->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node392; - Node392 = new TNode("TF3J13","TF3J13","TF3J",-27.75,0,22.2,""); - Node392->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node393; - Node393 = new TNode("TF3J14","TF3J14","TF3J",-16.6499,0,22.2,""); - Node393->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node394; - Node394 = new TNode("TF3J15","TF3J15","TF3J",-5.55,0,22.2,""); - Node394->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node395; - Node395 = new TNode("TF3J16","TF3J16","TF3J",5.55,0,22.2,""); - Node395->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node396; - Node396 = new TNode("TF3J17","TF3J17","TF3J",16.64999,0,22.2,""); - Node396->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - TNode *Node397; - Node397 = new TNode("TF3J18","TF3J18","TF3J",27.75,0,22.2,""); - Node397->cd(); - Node = new TNode("TF3M1","TF3M1","TF3M",0,-2.7,0,""); - Node = new TNode("TF3N1","TF3N1","TF3N",-3,0,-5.3,""); - Node = new TNode("TF3N2","TF3N2","TF3N",0,0,-5.3,""); - Node = new TNode("TF3N3","TF3N3","TF3N",3,0,-5.3,""); - Node = new TNode("TF3N4","TF3N4","TF3N",-3,0,5.3,""); - Node = new TNode("TF3N5","TF3N5","TF3N",0,0,5.3,""); - Node = new TNode("TF3N6","TF3N6","TF3N",3,0,5.3,""); - Node379->cd(); - Node = new TNode("TF3K1","TF3K1","TF3K",0,-1.15,23.14999,""); - Node = new TNode("TF3K2","TF3K2","TF3K",0,-1.15,-23.1499,""); - Node = new TNode("TF3L3","TF3L3","TF3L",0,-1.15,5.55,""); - Node = new TNode("TF3L4","TF3L4","TF3L",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node398; - Node398 = new TNode("TF3O1","TF3O1","TF3O",-144.35,51.2,-144.35,"rot8"); - Node398->cd(); - TNode *Node399; - Node399 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node399->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node400; - Node400 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node400->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node401; - Node401 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node401->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node402; - Node402 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node402->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node403; - Node403 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node403->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node404; - Node404 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node404->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node405; - Node405 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node405->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node406; - Node406 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node406->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node407; - Node407 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node407->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node408; - Node408 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node408->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node409; - Node409 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node409->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node410; - Node410 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node410->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node411; - Node411 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node411->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node412; - Node412 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node412->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node413; - Node413 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node413->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node414; - Node414 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node414->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node415; - Node415 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node415->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node416; - Node416 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node416->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node417; - Node417 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node417->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node418; - Node418 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node418->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node419; - Node419 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node419->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node420; - Node420 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node420->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node421; - Node421 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node421->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - TNode *Node422; - Node422 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node422->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node398->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node423; - Node423 = new TNode("TF3O2","TF3O2","TF3O",-144.35,51.2,-72.15,"rot8"); - Node423->cd(); - TNode *Node424; - Node424 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node424->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node425; - Node425 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node425->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node426; - Node426 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node426->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node427; - Node427 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node427->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node428; - Node428 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node428->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node429; - Node429 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node429->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node430; - Node430 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node430->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node431; - Node431 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node431->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node432; - Node432 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node432->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node433; - Node433 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node433->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node434; - Node434 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node434->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node435; - Node435 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node435->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node436; - Node436 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node436->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node437; - Node437 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node437->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node438; - Node438 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node438->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node439; - Node439 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node439->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node440; - Node440 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node440->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node441; - Node441 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node441->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node442; - Node442 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node442->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node443; - Node443 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node443->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node444; - Node444 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node444->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node445; - Node445 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node445->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node446; - Node446 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node446->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - TNode *Node447; - Node447 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node447->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node423->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node448; - Node448 = new TNode("TF3O3","TF3O3","TF3O",-144.35,51.2,.05,"rot8"); - Node448->cd(); - TNode *Node449; - Node449 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node449->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node450; - Node450 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node450->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node451; - Node451 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node451->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node452; - Node452 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node452->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node453; - Node453 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node453->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node454; - Node454 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node454->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node455; - Node455 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node455->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node456; - Node456 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node456->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node457; - Node457 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node457->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node458; - Node458 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node458->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node459; - Node459 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node459->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node460; - Node460 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node460->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node461; - Node461 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node461->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node462; - Node462 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node462->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node463; - Node463 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node463->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node464; - Node464 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node464->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node465; - Node465 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node465->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node466; - Node466 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node466->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node467; - Node467 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node467->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node468; - Node468 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node468->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node469; - Node469 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node469->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node470; - Node470 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node470->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node471; - Node471 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node471->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - TNode *Node472; - Node472 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node472->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node448->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node473; - Node473 = new TNode("TF3O4","TF3O4","TF3O",-144.35,51.2,72.25,"rot8"); - Node473->cd(); - TNode *Node474; - Node474 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node474->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node475; - Node475 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node475->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node476; - Node476 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node476->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node477; - Node477 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node477->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node478; - Node478 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node478->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node479; - Node479 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node479->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node480; - Node480 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node480->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node481; - Node481 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node481->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node482; - Node482 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node482->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node483; - Node483 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node483->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node484; - Node484 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node484->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node485; - Node485 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node485->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node486; - Node486 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node486->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node487; - Node487 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node487->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node488; - Node488 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node488->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node489; - Node489 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node489->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node490; - Node490 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node490->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node491; - Node491 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node491->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node492; - Node492 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node492->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node493; - Node493 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node493->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node494; - Node494 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node494->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node495; - Node495 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node495->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node496; - Node496 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node496->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - TNode *Node497; - Node497 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node497->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node473->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node498; - Node498 = new TNode("TF3O5","TF3O5","TF3O",-144.35,51.2,144.4499,"rot8"); - Node498->cd(); - TNode *Node499; - Node499 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node499->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node500; - Node500 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node500->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node501; - Node501 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node501->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node502; - Node502 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node502->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node503; - Node503 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node503->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node504; - Node504 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node504->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node505; - Node505 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node505->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node506; - Node506 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node506->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node507; - Node507 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node507->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node508; - Node508 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node508->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node509; - Node509 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node509->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node510; - Node510 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node510->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node511; - Node511 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node511->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node512; - Node512 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node512->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node513; - Node513 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node513->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node514; - Node514 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node514->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node515; - Node515 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node515->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node516; - Node516 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node516->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node517; - Node517 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node517->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node518; - Node518 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node518->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node519; - Node519 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node519->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node520; - Node520 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node520->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node521; - Node521 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node521->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - TNode *Node522; - Node522 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node522->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node498->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node523; - Node523 = new TNode("TF3O6","TF3O6","TF3O",-72.15,51.2,-144.35,"rot8"); - Node523->cd(); - TNode *Node524; - Node524 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node524->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node525; - Node525 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node525->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node526; - Node526 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node526->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node527; - Node527 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node527->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node528; - Node528 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node528->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node529; - Node529 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node529->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node530; - Node530 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node530->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node531; - Node531 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node531->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node532; - Node532 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node532->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node533; - Node533 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node533->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node534; - Node534 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node534->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node535; - Node535 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node535->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node536; - Node536 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node536->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node537; - Node537 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node537->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node538; - Node538 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node538->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node539; - Node539 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node539->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node540; - Node540 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node540->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node541; - Node541 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node541->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node542; - Node542 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node542->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node543; - Node543 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node543->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node544; - Node544 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node544->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node545; - Node545 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node545->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node546; - Node546 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node546->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - TNode *Node547; - Node547 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node547->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node523->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node548; - Node548 = new TNode("TF3O7","TF3O7","TF3O",-72.15,51.2,-72.15,"rot8"); - Node548->cd(); - TNode *Node549; - Node549 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node549->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node550; - Node550 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node550->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node551; - Node551 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node551->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node552; - Node552 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node552->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node553; - Node553 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node553->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node554; - Node554 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node554->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node555; - Node555 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node555->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node556; - Node556 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node556->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node557; - Node557 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node557->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node558; - Node558 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node558->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node559; - Node559 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node559->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node560; - Node560 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node560->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node561; - Node561 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node561->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node562; - Node562 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node562->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node563; - Node563 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node563->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node564; - Node564 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node564->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node565; - Node565 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node565->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node566; - Node566 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node566->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node567; - Node567 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node567->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node568; - Node568 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node568->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node569; - Node569 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node569->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node570; - Node570 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node570->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node571; - Node571 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node571->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - TNode *Node572; - Node572 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node572->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node548->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node573; - Node573 = new TNode("TF3O8","TF3O8","TF3O",-72.15,51.2,.05,"rot8"); - Node573->cd(); - TNode *Node574; - Node574 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node574->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node575; - Node575 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node575->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node576; - Node576 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node576->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node577; - Node577 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node577->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node578; - Node578 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node578->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node579; - Node579 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node579->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node580; - Node580 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node580->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node581; - Node581 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node581->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node582; - Node582 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node582->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node583; - Node583 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node583->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node584; - Node584 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node584->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node585; - Node585 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node585->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node586; - Node586 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node586->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node587; - Node587 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node587->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node588; - Node588 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node588->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node589; - Node589 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node589->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node590; - Node590 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node590->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node591; - Node591 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node591->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node592; - Node592 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node592->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node593; - Node593 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node593->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node594; - Node594 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node594->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node595; - Node595 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node595->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node596; - Node596 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node596->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - TNode *Node597; - Node597 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node597->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node573->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node598; - Node598 = new TNode("TF3O9","TF3O9","TF3O",-72.15,51.2,72.25,"rot8"); - Node598->cd(); - TNode *Node599; - Node599 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node599->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node600; - Node600 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node600->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node601; - Node601 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node601->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node602; - Node602 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node602->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node603; - Node603 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node603->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node604; - Node604 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node604->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node605; - Node605 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node605->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node606; - Node606 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node606->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node607; - Node607 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node607->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node608; - Node608 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node608->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node609; - Node609 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node609->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node610; - Node610 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node610->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node611; - Node611 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node611->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node612; - Node612 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node612->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node613; - Node613 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node613->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node614; - Node614 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node614->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node615; - Node615 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node615->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node616; - Node616 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node616->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node617; - Node617 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node617->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node618; - Node618 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node618->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node619; - Node619 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node619->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node620; - Node620 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node620->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node621; - Node621 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node621->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - TNode *Node622; - Node622 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node622->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node598->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node623; - Node623 = new TNode("TF3O10","TF3O10","TF3O",-72.15,51.2,144.4499,"rot8"); - Node623->cd(); - TNode *Node624; - Node624 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node624->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node625; - Node625 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node625->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node626; - Node626 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node626->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node627; - Node627 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node627->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node628; - Node628 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node628->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node629; - Node629 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node629->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node630; - Node630 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node630->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node631; - Node631 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node631->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node632; - Node632 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node632->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node633; - Node633 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node633->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node634; - Node634 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node634->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node635; - Node635 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node635->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node636; - Node636 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node636->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node637; - Node637 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node637->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node638; - Node638 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node638->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node639; - Node639 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node639->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node640; - Node640 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node640->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node641; - Node641 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node641->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node642; - Node642 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node642->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node643; - Node643 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node643->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node644; - Node644 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node644->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node645; - Node645 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node645->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node646; - Node646 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node646->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - TNode *Node647; - Node647 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node647->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node623->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node648; - Node648 = new TNode("TF3O11","TF3O11","TF3O",.05,51.2,-144.35,"rot8"); - Node648->cd(); - TNode *Node649; - Node649 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node649->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node650; - Node650 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node650->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node651; - Node651 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node651->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node652; - Node652 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node652->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node653; - Node653 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node653->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node654; - Node654 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node654->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node655; - Node655 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node655->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node656; - Node656 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node656->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node657; - Node657 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node657->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node658; - Node658 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node658->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node659; - Node659 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node659->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node660; - Node660 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node660->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node661; - Node661 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node661->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node662; - Node662 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node662->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node663; - Node663 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node663->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node664; - Node664 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node664->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node665; - Node665 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node665->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node666; - Node666 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node666->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node667; - Node667 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node667->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node668; - Node668 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node668->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node669; - Node669 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node669->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node670; - Node670 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node670->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node671; - Node671 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node671->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - TNode *Node672; - Node672 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node672->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node648->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node673; - Node673 = new TNode("TF3O12","TF3O12","TF3O",.05,51.2,-72.15,"rot8"); - Node673->cd(); - TNode *Node674; - Node674 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node674->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node675; - Node675 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node675->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node676; - Node676 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node676->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node677; - Node677 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node677->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node678; - Node678 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node678->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node679; - Node679 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node679->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node680; - Node680 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node680->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node681; - Node681 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node681->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node682; - Node682 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node682->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node683; - Node683 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node683->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node684; - Node684 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node684->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node685; - Node685 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node685->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node686; - Node686 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node686->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node687; - Node687 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node687->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node688; - Node688 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node688->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node689; - Node689 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node689->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node690; - Node690 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node690->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node691; - Node691 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node691->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node692; - Node692 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node692->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node693; - Node693 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node693->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node694; - Node694 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node694->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node695; - Node695 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node695->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node696; - Node696 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node696->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - TNode *Node697; - Node697 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node697->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node673->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node698; - Node698 = new TNode("TF3O13","TF3O13","TF3O",.05,51.2,.05,"rot8"); - Node698->cd(); - TNode *Node699; - Node699 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node699->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node700; - Node700 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node700->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node701; - Node701 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node701->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node702; - Node702 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node702->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node703; - Node703 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node703->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node704; - Node704 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node704->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node705; - Node705 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node705->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node706; - Node706 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node706->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node707; - Node707 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node707->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node708; - Node708 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node708->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node709; - Node709 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node709->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node710; - Node710 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node710->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node711; - Node711 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node711->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node712; - Node712 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node712->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node713; - Node713 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node713->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node714; - Node714 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node714->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node715; - Node715 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node715->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node716; - Node716 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node716->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node717; - Node717 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node717->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node718; - Node718 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node718->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node719; - Node719 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node719->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node720; - Node720 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node720->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node721; - Node721 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node721->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - TNode *Node722; - Node722 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node722->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node698->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node723; - Node723 = new TNode("TF3O14","TF3O14","TF3O",.05,51.2,72.25,"rot8"); - Node723->cd(); - TNode *Node724; - Node724 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node724->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node725; - Node725 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node725->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node726; - Node726 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node726->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node727; - Node727 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node727->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node728; - Node728 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node728->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node729; - Node729 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node729->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node730; - Node730 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node730->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node731; - Node731 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node731->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node732; - Node732 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node732->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node733; - Node733 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node733->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node734; - Node734 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node734->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node735; - Node735 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node735->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node736; - Node736 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node736->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node737; - Node737 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node737->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node738; - Node738 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node738->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node739; - Node739 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node739->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node740; - Node740 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node740->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node741; - Node741 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node741->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node742; - Node742 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node742->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node743; - Node743 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node743->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node744; - Node744 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node744->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node745; - Node745 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node745->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node746; - Node746 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node746->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - TNode *Node747; - Node747 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node747->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node723->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node748; - Node748 = new TNode("TF3O15","TF3O15","TF3O",.05,51.2,144.4499,"rot8"); - Node748->cd(); - TNode *Node749; - Node749 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node749->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node750; - Node750 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node750->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node751; - Node751 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node751->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node752; - Node752 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node752->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node753; - Node753 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node753->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node754; - Node754 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node754->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node755; - Node755 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node755->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node756; - Node756 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node756->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node757; - Node757 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node757->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node758; - Node758 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node758->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node759; - Node759 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node759->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node760; - Node760 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node760->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node761; - Node761 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node761->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node762; - Node762 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node762->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node763; - Node763 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node763->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node764; - Node764 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node764->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node765; - Node765 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node765->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node766; - Node766 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node766->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node767; - Node767 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node767->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node768; - Node768 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node768->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node769; - Node769 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node769->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node770; - Node770 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node770->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node771; - Node771 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node771->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - TNode *Node772; - Node772 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node772->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node748->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node773; - Node773 = new TNode("TF3O16","TF3O16","TF3O",72.25,51.2,-144.35,"rot8"); - Node773->cd(); - TNode *Node774; - Node774 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node774->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node775; - Node775 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node775->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node776; - Node776 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node776->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node777; - Node777 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node777->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node778; - Node778 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node778->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node779; - Node779 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node779->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node780; - Node780 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node780->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node781; - Node781 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node781->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node782; - Node782 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node782->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node783; - Node783 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node783->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node784; - Node784 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node784->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node785; - Node785 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node785->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node786; - Node786 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node786->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node787; - Node787 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node787->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node788; - Node788 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node788->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node789; - Node789 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node789->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node790; - Node790 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node790->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node791; - Node791 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node791->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node792; - Node792 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node792->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node793; - Node793 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node793->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node794; - Node794 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node794->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node795; - Node795 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node795->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node796; - Node796 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node796->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - TNode *Node797; - Node797 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node797->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node773->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node798; - Node798 = new TNode("TF3O17","TF3O17","TF3O",72.25,51.2,-72.15,"rot8"); - Node798->cd(); - TNode *Node799; - Node799 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node799->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node800; - Node800 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node800->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node801; - Node801 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node801->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node802; - Node802 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node802->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node803; - Node803 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node803->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node804; - Node804 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node804->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node805; - Node805 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node805->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node806; - Node806 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node806->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node807; - Node807 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node807->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node808; - Node808 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node808->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node809; - Node809 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node809->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node810; - Node810 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node810->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node811; - Node811 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node811->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node812; - Node812 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node812->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node813; - Node813 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node813->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node814; - Node814 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node814->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node815; - Node815 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node815->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node816; - Node816 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node816->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node817; - Node817 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node817->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node818; - Node818 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node818->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node819; - Node819 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node819->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node820; - Node820 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node820->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node821; - Node821 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node821->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - TNode *Node822; - Node822 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node822->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node798->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node823; - Node823 = new TNode("TF3O18","TF3O18","TF3O",72.25,51.2,.05,"rot8"); - Node823->cd(); - TNode *Node824; - Node824 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node824->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node825; - Node825 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node825->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node826; - Node826 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node826->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node827; - Node827 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node827->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node828; - Node828 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node828->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node829; - Node829 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node829->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node830; - Node830 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node830->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node831; - Node831 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node831->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node832; - Node832 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node832->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node833; - Node833 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node833->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node834; - Node834 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node834->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node835; - Node835 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node835->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node836; - Node836 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node836->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node837; - Node837 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node837->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node838; - Node838 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node838->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node839; - Node839 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node839->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node840; - Node840 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node840->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node841; - Node841 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node841->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node842; - Node842 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node842->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node843; - Node843 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node843->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node844; - Node844 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node844->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node845; - Node845 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node845->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node846; - Node846 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node846->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - TNode *Node847; - Node847 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node847->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node823->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node848; - Node848 = new TNode("TF3O19","TF3O19","TF3O",72.25,51.2,72.25,"rot8"); - Node848->cd(); - TNode *Node849; - Node849 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node849->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node850; - Node850 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node850->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node851; - Node851 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node851->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node852; - Node852 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node852->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node853; - Node853 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node853->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node854; - Node854 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node854->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node855; - Node855 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node855->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node856; - Node856 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node856->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node857; - Node857 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node857->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node858; - Node858 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node858->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node859; - Node859 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node859->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node860; - Node860 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node860->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node861; - Node861 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node861->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node862; - Node862 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node862->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node863; - Node863 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node863->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node864; - Node864 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node864->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node865; - Node865 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node865->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node866; - Node866 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node866->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node867; - Node867 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node867->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node868; - Node868 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node868->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node869; - Node869 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node869->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node870; - Node870 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node870->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node871; - Node871 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node871->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - TNode *Node872; - Node872 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node872->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node848->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); - TNode *Node873; - Node873 = new TNode("TF3O20","TF3O20","TF3O",72.25,51.2,144.4499,"rot8"); - Node873->cd(); - TNode *Node874; - Node874 = new TNode("TF3P1","TF3P1","TF3P",-27.75,0,-24.975,""); - Node874->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node875; - Node875 = new TNode("TF3P2","TF3P2","TF3P",-16.6499,0,-24.975,""); - Node875->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node876; - Node876 = new TNode("TF3P3","TF3P3","TF3P",-5.55,0,-24.975,""); - Node876->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node877; - Node877 = new TNode("TF3P4","TF3P4","TF3P",5.55,0,-24.975,""); - Node877->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node878; - Node878 = new TNode("TF3P5","TF3P5","TF3P",16.64999,0,-24.975,""); - Node878->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node879; - Node879 = new TNode("TF3P6","TF3P6","TF3P",27.75,0,-24.975,""); - Node879->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node880; - Node880 = new TNode("TF3P7","TF3P7","TF3P",-27.75,0,-8.32499,""); - Node880->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node881; - Node881 = new TNode("TF3P8","TF3P8","TF3P",-16.6499,0,-8.32499,""); - Node881->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node882; - Node882 = new TNode("TF3P9","TF3P9","TF3P",-5.55,0,-8.32499,""); - Node882->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node883; - Node883 = new TNode("TF3P10","TF3P10","TF3P",5.55,0,-8.32499,""); - Node883->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node884; - Node884 = new TNode("TF3P11","TF3P11","TF3P",16.64999,0,-8.32499,""); - Node884->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node885; - Node885 = new TNode("TF3P12","TF3P12","TF3P",27.75,0,-8.32499,""); - Node885->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node886; - Node886 = new TNode("TF3P13","TF3P13","TF3P",-27.75,0,8.324999,""); - Node886->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node887; - Node887 = new TNode("TF3P14","TF3P14","TF3P",-16.6499,0,8.324999,""); - Node887->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node888; - Node888 = new TNode("TF3P15","TF3P15","TF3P",-5.55,0,8.324999,""); - Node888->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node889; - Node889 = new TNode("TF3P16","TF3P16","TF3P",5.55,0,8.324999,""); - Node889->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node890; - Node890 = new TNode("TF3P17","TF3P17","TF3P",16.64999,0,8.324999,""); - Node890->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node891; - Node891 = new TNode("TF3P18","TF3P18","TF3P",27.75,0,8.324999,""); - Node891->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node892; - Node892 = new TNode("TF3P19","TF3P19","TF3P",-27.75,0,24.97499,""); - Node892->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node893; - Node893 = new TNode("TF3P20","TF3P20","TF3P",-16.6499,0,24.97499,""); - Node893->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node894; - Node894 = new TNode("TF3P21","TF3P21","TF3P",-5.55,0,24.97499,""); - Node894->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node895; - Node895 = new TNode("TF3P22","TF3P22","TF3P",5.55,0,24.97499,""); - Node895->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node896; - Node896 = new TNode("TF3P23","TF3P23","TF3P",16.64999,0,24.97499,""); - Node896->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - TNode *Node897; - Node897 = new TNode("TF3P24","TF3P24","TF3P",27.75,0,24.97499,""); - Node897->cd(); - Node = new TNode("TF3S1","TF3S1","TF3S",0,-2.7,0,""); - Node = new TNode("TF3T1","TF3T1","TF3T",-3,0,0,""); - Node = new TNode("TF3T2","TF3T2","TF3T",0,0,0,""); - Node = new TNode("TF3T3","TF3T3","TF3T",3,0,0,""); - Node873->cd(); - Node = new TNode("TF3Q1","TF3Q1","TF3Q",0,-1.15,23.14999,""); - Node = new TNode("TF3Q2","TF3Q2","TF3Q",0,-1.15,-23.1499,""); - Node = new TNode("TF3R3","TF3R3","TF3R",0,-1.15,5.55,""); - Node = new TNode("TF3R4","TF3R4","TF3R",0,-1.15,-5.55,""); - Node260->cd(); -Node1->cd(); - TNode *Node898; - Node898 = new TNode("MTR_1","MTR_1","MTR_",-198.57,17.09999,545.69,"rot10"); - Node898->cd(); - TNode *Node899; - Node899 = new TNode("HV4_1","HV4_1","HV4_",0,-83.5,0,""); - Node899->cd(); - Node = new TNode("HV4I1","HV4I1","HV4I",0,0,0,""); - Node898->cd(); - TNode *Node900; - Node900 = new TNode("OGB41","OGB41","OGB4",0,-14.6,0,""); - Node900->cd(); - TNode *Node901; - Node901 = new TNode("IGB41","IGB41","IGB4",0,0,0,""); - Node901->cd(); - TNode *Node902; - Node902 = new TNode("FC4_1","FC4_1","FC4_",0,-2.5,0,""); - Node902->cd(); - TNode *Node903; - Node903 = new TNode("SV4_1","SV4_1","SV4_",0,0,0,""); - Node903->cd(); - TNode *Node904; - Node904 = new TNode("SEC41","SEC41","SEC4",144.3999,1.929999,-144.399,""); - Node904->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node905; - Node905 = new TNode("SEC42","SEC42","SEC4",144.3999,1.929999,-72.1999,""); - Node905->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node906; - Node906 = new TNode("SEC43","SEC43","SEC4",144.3999,1.929999,-.000026,""); - Node906->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node907; - Node907 = new TNode("SEC44","SEC44","SEC4",144.3999,1.929999,72.19996,""); - Node907->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node908; - Node908 = new TNode("SEC45","SEC45","SEC4",144.3999,1.929999,144.3999,""); - Node908->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node909; - Node909 = new TNode("SEC46","SEC46","SEC4",72.16799,1.85,-144.399,""); - Node909->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node910; - Node910 = new TNode("SEC47","SEC47","SEC4",72.16799,1.85,-72.1999,""); - Node910->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node911; - Node911 = new TNode("SEC48","SEC48","SEC4",72.16799,1.85,-.000026,""); - Node911->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node912; - Node912 = new TNode("SEC49","SEC49","SEC4",72.16799,1.85,72.19996,""); - Node912->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node913; - Node913 = new TNode("SEC410","SEC410","SEC4",72.16799,1.85,144.3999,""); - Node913->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node914; - Node914 = new TNode("SEC411","SEC411","SEC4",-.031997,1.85,-144.399,""); - Node914->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node915; - Node915 = new TNode("SEC412","SEC412","SEC4",-.031997,1.85,-72.1999,""); - Node915->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node916; - Node916 = new TNode("SEC413","SEC413","SEC4",-.031997,1.85,-.000026,""); - Node916->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node917; - Node917 = new TNode("SEC414","SEC414","SEC4",-.031997,1.85,72.19996,""); - Node917->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node918; - Node918 = new TNode("SEC415","SEC415","SEC4",-.031997,1.85,144.3999,""); - Node918->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node919; - Node919 = new TNode("SEC416","SEC416","SEC4",-72.232,1.85,-144.399,""); - Node919->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node920; - Node920 = new TNode("SEC417","SEC417","SEC4",-72.232,1.85,-72.1999,""); - Node920->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node921; - Node921 = new TNode("SEC418","SEC418","SEC4",-72.232,1.85,-.000026,""); - Node921->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node922; - Node922 = new TNode("SEC419","SEC419","SEC4",-72.232,1.85,72.19996,""); - Node922->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node923; - Node923 = new TNode("SEC420","SEC420","SEC4",-72.232,1.85,144.3999,""); - Node923->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node924; - Node924 = new TNode("SEC421","SEC421","SEC4",-144.432,1.85,-144.399,""); - Node924->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node925; - Node925 = new TNode("SEC422","SEC422","SEC4",-144.432,1.85,-72.1999,""); - Node925->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node926; - Node926 = new TNode("SEC423","SEC423","SEC4",-144.432,1.85,-.000026,""); - Node926->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node927; - Node927 = new TNode("SEC424","SEC424","SEC4",-144.432,1.85,72.19996,""); - Node927->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - TNode *Node928; - Node928 = new TNode("SEC425","SEC425","SEC4",-144.432,1.85,144.3999,""); - Node928->cd(); - Node = new TNode("PR4_1","PR4_1","PR4_",0,0,-33.575,""); - Node = new TNode("PR4_2","PR4_2","PR4_",0,0,-29.625,""); - Node = new TNode("PR4_3","PR4_3","PR4_",0,0,-25.6749,""); - Node = new TNode("PR4_4","PR4_4","PR4_",0,0,-21.725,""); - Node = new TNode("PR4_5","PR4_5","PR4_",0,0,-17.7749,""); - Node = new TNode("PR4_6","PR4_6","PR4_",0,0,-13.8249,""); - Node = new TNode("PR4_7","PR4_7","PR4_",0,0,-9.875,""); - Node = new TNode("PR4_8","PR4_8","PR4_",0,0,-5.925,""); - Node = new TNode("PR4_9","PR4_9","PR4_",0,0,-1.97501,""); - Node = new TNode("PR4_10","PR4_10","PR4_",0,0,1.97499,""); - Node = new TNode("PR4_11","PR4_11","PR4_",0,0,5.92499,""); - Node = new TNode("PR4_12","PR4_12","PR4_",0,0,9.87498,""); - Node = new TNode("PR4_13","PR4_13","PR4_",0,0,13.82497,""); - Node = new TNode("PR4_14","PR4_14","PR4_",0,0,17.77496,""); - Node = new TNode("PR4_15","PR4_15","PR4_",0,0,21.72496,""); - Node = new TNode("PR4_16","PR4_16","PR4_",0,0,25.67497,""); - Node = new TNode("PR4_17","PR4_17","PR4_",0,0,29.62495,""); - Node = new TNode("PR4_18","PR4_18","PR4_",0,0,33.57495,""); - Node903->cd(); - Node902->cd(); - Node = new TNode("T0141","T0141","T014",-182.5,0,-182.5,"rot12"); - Node = new TNode("T0241","T0241","T024",-62,0,-183,"rot12"); - Node = new TNode("T0341","T0341","T034",62,0,-183,"rot12"); - Node = new TNode("T0441","T0441","T044",182.5,0,-182.5,"rot12"); - Node = new TNode("T0541","T0541","T054",183,0,-62,"rot12"); - Node = new TNode("T0641","T0641","T064",183,0,62,"rot12"); - Node = new TNode("T0741","T0741","T074",182.5,0,182.5,"rot12"); - Node = new TNode("T0841","T0841","T084",62,0,183,"rot12"); - Node = new TNode("T0941","T0941","T094",-62,0,183,"rot12"); - Node = new TNode("T1041","T1041","T104",-182.5,0,182.5,"rot12"); - Node = new TNode("T1141","T1141","T114",-183,0,62,"rot12"); - Node = new TNode("T1241","T1241","T124",-183,0,-62,"rot12"); - Node = new TNode("ST4A1","ST4A1","ST4A",0,-56.2599,-184.973,""); - Node = new TNode("ST4A77","ST4A77","ST4A",0,-56.2599,184.9736,""); - Node = new TNode("ST4A2","ST4A2","ST4A",0,-54.79,-184.973,""); - Node = new TNode("ST4A78","ST4A78","ST4A",0,-54.79,184.9736,""); - Node = new TNode("ST4A3","ST4A3","ST4A",0,-53.3199,-184.973,""); - Node = new TNode("ST4A79","ST4A79","ST4A",0,-53.3199,184.9736,""); - Node = new TNode("ST4A4","ST4A4","ST4A",0,-51.8499,-184.973,""); - Node = new TNode("ST4A80","ST4A80","ST4A",0,-51.8499,184.9736,""); - Node = new TNode("ST4A5","ST4A5","ST4A",0,-50.38,-184.973,""); - Node = new TNode("ST4A81","ST4A81","ST4A",0,-50.38,184.9736,""); - Node = new TNode("ST4A6","ST4A6","ST4A",0,-48.9099,-184.973,""); - Node = new TNode("ST4A82","ST4A82","ST4A",0,-48.9099,184.9736,""); - Node = new TNode("ST4A7","ST4A7","ST4A",0,-47.4399,-184.973,""); - Node = new TNode("ST4A83","ST4A83","ST4A",0,-47.4399,184.9736,""); - Node = new TNode("ST4A8","ST4A8","ST4A",0,-45.97,-184.973,""); - Node = new TNode("ST4A84","ST4A84","ST4A",0,-45.97,184.9736,""); - Node = new TNode("ST4A9","ST4A9","ST4A",0,-44.5,-184.973,""); - Node = new TNode("ST4A85","ST4A85","ST4A",0,-44.5,184.9736,""); - Node = new TNode("ST4A10","ST4A10","ST4A",0,-43.0299,-184.973,""); - Node = new TNode("ST4A86","ST4A86","ST4A",0,-43.0299,184.9736,""); - Node = new TNode("ST4A11","ST4A11","ST4A",0,-41.56,-184.973,""); - Node = new TNode("ST4A87","ST4A87","ST4A",0,-41.56,184.9736,""); - Node = new TNode("ST4A12","ST4A12","ST4A",0,-40.09,-184.973,""); - Node = new TNode("ST4A88","ST4A88","ST4A",0,-40.09,184.9736,""); - Node = new TNode("ST4A13","ST4A13","ST4A",0,-38.6199,-184.973,""); - Node = new TNode("ST4A89","ST4A89","ST4A",0,-38.6199,184.9736,""); - Node = new TNode("ST4A14","ST4A14","ST4A",0,-37.15,-184.973,""); - Node = new TNode("ST4A90","ST4A90","ST4A",0,-37.15,184.9736,""); - Node = new TNode("ST4A15","ST4A15","ST4A",0,-35.68,-184.973,""); - Node = new TNode("ST4A91","ST4A91","ST4A",0,-35.68,184.9736,""); - Node = new TNode("ST4A16","ST4A16","ST4A",0,-34.2099,-184.973,""); - Node = new TNode("ST4A92","ST4A92","ST4A",0,-34.2099,184.9736,""); - Node = new TNode("ST4A17","ST4A17","ST4A",0,-32.74,-184.973,""); - Node = new TNode("ST4A93","ST4A93","ST4A",0,-32.74,184.9736,""); - Node = new TNode("ST4A18","ST4A18","ST4A",0,-31.27,-184.973,""); - Node = new TNode("ST4A94","ST4A94","ST4A",0,-31.27,184.9736,""); - Node = new TNode("ST4A19","ST4A19","ST4A",0,-29.7999,-184.973,""); - Node = new TNode("ST4A95","ST4A95","ST4A",0,-29.7999,184.9736,""); - Node = new TNode("ST4A20","ST4A20","ST4A",0,-28.3299,-184.973,""); - Node = new TNode("ST4A96","ST4A96","ST4A",0,-28.3299,184.9736,""); - Node = new TNode("ST4A21","ST4A21","ST4A",0,-26.86,-184.973,""); - Node = new TNode("ST4A97","ST4A97","ST4A",0,-26.86,184.9736,""); - Node = new TNode("ST4A22","ST4A22","ST4A",0,-25.3899,-184.973,""); - Node = new TNode("ST4A98","ST4A98","ST4A",0,-25.3899,184.9736,""); - Node = new TNode("ST4A23","ST4A23","ST4A",0,-23.92,-184.973,""); - Node = new TNode("ST4A99","ST4A99","ST4A",0,-23.92,184.9736,""); - Node = new TNode("ST4A24","ST4A24","ST4A",0,-22.45,-184.973,""); - Node = new TNode("ST4A100","ST4A100","ST4A",0,-22.45,184.9736,""); - Node = new TNode("ST4A25","ST4A25","ST4A",0,-20.9799,-184.973,""); - Node = new TNode("ST4A101","ST4A101","ST4A",0,-20.9799,184.9736,""); - Node = new TNode("ST4A26","ST4A26","ST4A",0,-19.51,-184.973,""); - Node = new TNode("ST4A102","ST4A102","ST4A",0,-19.51,184.9736,""); - Node = new TNode("ST4A27","ST4A27","ST4A",0,-18.04,-184.973,""); - Node = new TNode("ST4A103","ST4A103","ST4A",0,-18.04,184.9736,""); - Node = new TNode("ST4A28","ST4A28","ST4A",0,-16.5699,-184.973,""); - Node = new TNode("ST4A104","ST4A104","ST4A",0,-16.5699,184.9736,""); - Node = new TNode("ST4A29","ST4A29","ST4A",0,-15.1,-184.973,""); - Node = new TNode("ST4A105","ST4A105","ST4A",0,-15.1,184.9736,""); - Node = new TNode("ST4A30","ST4A30","ST4A",0,-13.63,-184.973,""); - Node = new TNode("ST4A106","ST4A106","ST4A",0,-13.63,184.9736,""); - Node = new TNode("ST4A31","ST4A31","ST4A",0,-12.1599,-184.973,""); - Node = new TNode("ST4A107","ST4A107","ST4A",0,-12.1599,184.9736,""); - Node = new TNode("ST4A32","ST4A32","ST4A",0,-10.6899,-184.973,""); - Node = new TNode("ST4A108","ST4A108","ST4A",0,-10.6899,184.9736,""); - Node = new TNode("ST4A33","ST4A33","ST4A",0,-9.22,-184.973,""); - Node = new TNode("ST4A109","ST4A109","ST4A",0,-9.22,184.9736,""); - Node = new TNode("ST4A34","ST4A34","ST4A",0,-7.75,-184.973,""); - Node = new TNode("ST4A110","ST4A110","ST4A",0,-7.75,184.9736,""); - Node = new TNode("ST4A35","ST4A35","ST4A",0,-6.28,-184.973,""); - Node = new TNode("ST4A111","ST4A111","ST4A",0,-6.28,184.9736,""); - Node = new TNode("ST4A36","ST4A36","ST4A",0,-4.80999,-184.973,""); - Node = new TNode("ST4A112","ST4A112","ST4A",0,-4.80999,184.9736,""); - Node = new TNode("ST4A37","ST4A37","ST4A",0,-3.33999,-184.973,""); - Node = new TNode("ST4A113","ST4A113","ST4A",0,-3.33999,184.9736,""); - Node = new TNode("ST4A38","ST4A38","ST4A",0,-1.87,-184.973,""); - Node = new TNode("ST4A114","ST4A114","ST4A",0,-1.87,184.9736,""); - Node = new TNode("ST4A39","ST4A39","ST4A",0,-.399997,-184.973,""); - Node = new TNode("ST4A115","ST4A115","ST4A",0,-.399997,184.9736,""); - Node = new TNode("ST4A40","ST4A40","ST4A",0,1.07,-184.973,""); - Node = new TNode("ST4A116","ST4A116","ST4A",0,1.07,184.9736,""); - Node = new TNode("ST4A41","ST4A41","ST4A",0,2.54,-184.973,""); - Node = new TNode("ST4A117","ST4A117","ST4A",0,2.54,184.9736,""); - Node = new TNode("ST4A42","ST4A42","ST4A",0,4.01,-184.973,""); - Node = new TNode("ST4A118","ST4A118","ST4A",0,4.01,184.9736,""); - Node = new TNode("ST4A43","ST4A43","ST4A",0,5.48,-184.973,""); - Node = new TNode("ST4A119","ST4A119","ST4A",0,5.48,184.9736,""); - Node = new TNode("ST4A44","ST4A44","ST4A",0,6.949999,-184.973,""); - Node = new TNode("ST4A120","ST4A120","ST4A",0,6.949999,184.9736,""); - Node = new TNode("ST4A45","ST4A45","ST4A",0,8.42,-184.973,""); - Node = new TNode("ST4A121","ST4A121","ST4A",0,8.42,184.9736,""); - Node = new TNode("ST4A46","ST4A46","ST4A",0,9.89,-184.973,""); - Node = new TNode("ST4A122","ST4A122","ST4A",0,9.89,184.9736,""); - Node = new TNode("ST4A47","ST4A47","ST4A",0,11.35999,-184.973,""); - Node = new TNode("ST4A123","ST4A123","ST4A",0,11.35999,184.9736,""); - Node = new TNode("ST4A48","ST4A48","ST4A",0,12.82999,-184.973,""); - Node = new TNode("ST4A124","ST4A124","ST4A",0,12.82999,184.9736,""); - Node = new TNode("ST4A49","ST4A49","ST4A",0,14.29998,-184.973,""); - Node = new TNode("ST4A125","ST4A125","ST4A",0,14.29998,184.9736,""); - Node = new TNode("ST4A50","ST4A50","ST4A",0,15.77,-184.973,""); - Node = new TNode("ST4A126","ST4A126","ST4A",0,15.77,184.9736,""); - Node = new TNode("ST4A51","ST4A51","ST4A",0,17.23999,-184.973,""); - Node = new TNode("ST4A127","ST4A127","ST4A",0,17.23999,184.9736,""); - Node = new TNode("ST4A52","ST4A52","ST4A",0,18.70999,-184.973,""); - Node = new TNode("ST4A128","ST4A128","ST4A",0,18.70999,184.9736,""); - Node = new TNode("ST4A53","ST4A53","ST4A",0,20.18,-184.973,""); - Node = new TNode("ST4A129","ST4A129","ST4A",0,20.18,184.9736,""); - Node = new TNode("ST4A54","ST4A54","ST4A",0,21.64999,-184.973,""); - Node = new TNode("ST4A130","ST4A130","ST4A",0,21.64999,184.9736,""); - Node = new TNode("ST4A55","ST4A55","ST4A",0,23.11998,-184.973,""); - Node = new TNode("ST4A131","ST4A131","ST4A",0,23.11998,184.9736,""); - Node = new TNode("ST4A56","ST4A56","ST4A",0,24.59,-184.973,""); - Node = new TNode("ST4A132","ST4A132","ST4A",0,24.59,184.9736,""); - Node = new TNode("ST4A57","ST4A57","ST4A",0,26.05999,-184.973,""); - Node = new TNode("ST4A133","ST4A133","ST4A",0,26.05999,184.9736,""); - Node = new TNode("ST4A58","ST4A58","ST4A",0,27.53,-184.973,""); - Node = new TNode("ST4A134","ST4A134","ST4A",0,27.53,184.9736,""); - Node = new TNode("ST4A59","ST4A59","ST4A",0,29,-184.973,""); - Node = new TNode("ST4A135","ST4A135","ST4A",0,29,184.9736,""); - Node = new TNode("ST4A60","ST4A60","ST4A",0,30.46999,-184.973,""); - Node = new TNode("ST4A136","ST4A136","ST4A",0,30.46999,184.9736,""); - Node = new TNode("ST4A61","ST4A61","ST4A",0,31.93998,-184.973,""); - Node = new TNode("ST4A137","ST4A137","ST4A",0,31.93998,184.9736,""); - Node = new TNode("ST4A62","ST4A62","ST4A",0,33.40998,-184.973,""); - Node = new TNode("ST4A138","ST4A138","ST4A",0,33.40998,184.9736,""); - Node = new TNode("ST4A63","ST4A63","ST4A",0,34.88,-184.973,""); - Node = new TNode("ST4A139","ST4A139","ST4A",0,34.88,184.9736,""); - Node = new TNode("ST4A64","ST4A64","ST4A",0,36.34999,-184.973,""); - Node = new TNode("ST4A140","ST4A140","ST4A",0,36.34999,184.9736,""); - Node = new TNode("ST4A65","ST4A65","ST4A",0,37.81999,-184.973,""); - Node = new TNode("ST4A141","ST4A141","ST4A",0,37.81999,184.9736,""); - Node = new TNode("ST4A66","ST4A66","ST4A",0,39.29,-184.973,""); - Node = new TNode("ST4A142","ST4A142","ST4A",0,39.29,184.9736,""); - Node = new TNode("ST4A67","ST4A67","ST4A",0,40.75999,-184.973,""); - Node = new TNode("ST4A143","ST4A143","ST4A",0,40.75999,184.9736,""); - Node = new TNode("ST4A68","ST4A68","ST4A",0,42.22998,-184.973,""); - Node = new TNode("ST4A144","ST4A144","ST4A",0,42.22998,184.9736,""); - Node = new TNode("ST4A69","ST4A69","ST4A",0,43.7,-184.973,""); - Node = new TNode("ST4A145","ST4A145","ST4A",0,43.7,184.9736,""); - Node = new TNode("ST4A70","ST4A70","ST4A",0,45.16999,-184.973,""); - Node = new TNode("ST4A146","ST4A146","ST4A",0,45.16999,184.9736,""); - Node = new TNode("ST4A71","ST4A71","ST4A",0,46.63999,-184.973,""); - Node = new TNode("ST4A147","ST4A147","ST4A",0,46.63999,184.9736,""); - Node = new TNode("ST4A72","ST4A72","ST4A",0,48.11,-184.973,""); - Node = new TNode("ST4A148","ST4A148","ST4A",0,48.11,184.9736,""); - Node = new TNode("ST4A73","ST4A73","ST4A",0,49.58,-184.973,""); - Node = new TNode("ST4A149","ST4A149","ST4A",0,49.58,184.9736,""); - Node = new TNode("ST4A74","ST4A74","ST4A",0,51.04999,-184.973,""); - Node = new TNode("ST4A150","ST4A150","ST4A",0,51.04999,184.9736,""); - Node = new TNode("ST4A75","ST4A75","ST4A",0,52.52,-184.973,""); - Node = new TNode("ST4A151","ST4A151","ST4A",0,52.52,184.9736,""); - Node = new TNode("ST4A76","ST4A76","ST4A",0,53.99,-184.973,""); - Node = new TNode("ST4A152","ST4A152","ST4A",0,53.99,184.9736,""); - Node = new TNode("ST4B1","ST4B1","ST4B",184.9736,-56.2599,0,""); - Node = new TNode("ST4B77","ST4B77","ST4B",-184.973,-56.2599,0,""); - Node = new TNode("ST4B2","ST4B2","ST4B",184.9736,-54.79,0,""); - Node = new TNode("ST4B78","ST4B78","ST4B",-184.973,-54.79,0,""); - Node = new TNode("ST4B3","ST4B3","ST4B",184.9736,-53.3199,0,""); - Node = new TNode("ST4B79","ST4B79","ST4B",-184.973,-53.3199,0,""); - Node = new TNode("ST4B4","ST4B4","ST4B",184.9736,-51.8499,0,""); - Node = new TNode("ST4B80","ST4B80","ST4B",-184.973,-51.8499,0,""); - Node = new TNode("ST4B5","ST4B5","ST4B",184.9736,-50.38,0,""); - Node = new TNode("ST4B81","ST4B81","ST4B",-184.973,-50.38,0,""); - Node = new TNode("ST4B6","ST4B6","ST4B",184.9736,-48.9099,0,""); - Node = new TNode("ST4B82","ST4B82","ST4B",-184.973,-48.9099,0,""); - Node = new TNode("ST4B7","ST4B7","ST4B",184.9736,-47.4399,0,""); - Node = new TNode("ST4B83","ST4B83","ST4B",-184.973,-47.4399,0,""); - Node = new TNode("ST4B8","ST4B8","ST4B",184.9736,-45.97,0,""); - Node = new TNode("ST4B84","ST4B84","ST4B",-184.973,-45.97,0,""); - Node = new TNode("ST4B9","ST4B9","ST4B",184.9736,-44.5,0,""); - Node = new TNode("ST4B85","ST4B85","ST4B",-184.973,-44.5,0,""); - Node = new TNode("ST4B10","ST4B10","ST4B",184.9736,-43.0299,0,""); - Node = new TNode("ST4B86","ST4B86","ST4B",-184.973,-43.0299,0,""); - Node = new TNode("ST4B11","ST4B11","ST4B",184.9736,-41.56,0,""); - Node = new TNode("ST4B87","ST4B87","ST4B",-184.973,-41.56,0,""); - Node = new TNode("ST4B12","ST4B12","ST4B",184.9736,-40.09,0,""); - Node = new TNode("ST4B88","ST4B88","ST4B",-184.973,-40.09,0,""); - Node = new TNode("ST4B13","ST4B13","ST4B",184.9736,-38.6199,0,""); - Node = new TNode("ST4B89","ST4B89","ST4B",-184.973,-38.6199,0,""); - Node = new TNode("ST4B14","ST4B14","ST4B",184.9736,-37.15,0,""); - Node = new TNode("ST4B90","ST4B90","ST4B",-184.973,-37.15,0,""); - Node = new TNode("ST4B15","ST4B15","ST4B",184.9736,-35.68,0,""); - Node = new TNode("ST4B91","ST4B91","ST4B",-184.973,-35.68,0,""); - Node = new TNode("ST4B16","ST4B16","ST4B",184.9736,-34.2099,0,""); - Node = new TNode("ST4B92","ST4B92","ST4B",-184.973,-34.2099,0,""); - Node = new TNode("ST4B17","ST4B17","ST4B",184.9736,-32.74,0,""); - Node = new TNode("ST4B93","ST4B93","ST4B",-184.973,-32.74,0,""); - Node = new TNode("ST4B18","ST4B18","ST4B",184.9736,-31.27,0,""); - Node = new TNode("ST4B94","ST4B94","ST4B",-184.973,-31.27,0,""); - Node = new TNode("ST4B19","ST4B19","ST4B",184.9736,-29.7999,0,""); - Node = new TNode("ST4B95","ST4B95","ST4B",-184.973,-29.7999,0,""); - Node = new TNode("ST4B20","ST4B20","ST4B",184.9736,-28.3299,0,""); - Node = new TNode("ST4B96","ST4B96","ST4B",-184.973,-28.3299,0,""); - Node = new TNode("ST4B21","ST4B21","ST4B",184.9736,-26.86,0,""); - Node = new TNode("ST4B97","ST4B97","ST4B",-184.973,-26.86,0,""); - Node = new TNode("ST4B22","ST4B22","ST4B",184.9736,-25.3899,0,""); - Node = new TNode("ST4B98","ST4B98","ST4B",-184.973,-25.3899,0,""); - Node = new TNode("ST4B23","ST4B23","ST4B",184.9736,-23.92,0,""); - Node = new TNode("ST4B99","ST4B99","ST4B",-184.973,-23.92,0,""); - Node = new TNode("ST4B24","ST4B24","ST4B",184.9736,-22.45,0,""); - Node = new TNode("ST4B100","ST4B100","ST4B",-184.973,-22.45,0,""); - Node = new TNode("ST4B25","ST4B25","ST4B",184.9736,-20.9799,0,""); - Node = new TNode("ST4B101","ST4B101","ST4B",-184.973,-20.9799,0,""); - Node = new TNode("ST4B26","ST4B26","ST4B",184.9736,-19.51,0,""); - Node = new TNode("ST4B102","ST4B102","ST4B",-184.973,-19.51,0,""); - Node = new TNode("ST4B27","ST4B27","ST4B",184.9736,-18.04,0,""); - Node = new TNode("ST4B103","ST4B103","ST4B",-184.973,-18.04,0,""); - Node = new TNode("ST4B28","ST4B28","ST4B",184.9736,-16.5699,0,""); - Node = new TNode("ST4B104","ST4B104","ST4B",-184.973,-16.5699,0,""); - Node = new TNode("ST4B29","ST4B29","ST4B",184.9736,-15.1,0,""); - Node = new TNode("ST4B105","ST4B105","ST4B",-184.973,-15.1,0,""); - Node = new TNode("ST4B30","ST4B30","ST4B",184.9736,-13.63,0,""); - Node = new TNode("ST4B106","ST4B106","ST4B",-184.973,-13.63,0,""); - Node = new TNode("ST4B31","ST4B31","ST4B",184.9736,-12.1599,0,""); - Node = new TNode("ST4B107","ST4B107","ST4B",-184.973,-12.1599,0,""); - Node = new TNode("ST4B32","ST4B32","ST4B",184.9736,-10.6899,0,""); - Node = new TNode("ST4B108","ST4B108","ST4B",-184.973,-10.6899,0,""); - Node = new TNode("ST4B33","ST4B33","ST4B",184.9736,-9.22,0,""); - Node = new TNode("ST4B109","ST4B109","ST4B",-184.973,-9.22,0,""); - Node = new TNode("ST4B34","ST4B34","ST4B",184.9736,-7.75,0,""); - Node = new TNode("ST4B110","ST4B110","ST4B",-184.973,-7.75,0,""); - Node = new TNode("ST4B35","ST4B35","ST4B",184.9736,-6.28,0,""); - Node = new TNode("ST4B111","ST4B111","ST4B",-184.973,-6.28,0,""); - Node = new TNode("ST4B36","ST4B36","ST4B",184.9736,-4.80999,0,""); - Node = new TNode("ST4B112","ST4B112","ST4B",-184.973,-4.80999,0,""); - Node = new TNode("ST4B37","ST4B37","ST4B",184.9736,-3.33999,0,""); - Node = new TNode("ST4B113","ST4B113","ST4B",-184.973,-3.33999,0,""); - Node = new TNode("ST4B38","ST4B38","ST4B",184.9736,-1.87,0,""); - Node = new TNode("ST4B114","ST4B114","ST4B",-184.973,-1.87,0,""); - Node = new TNode("ST4B39","ST4B39","ST4B",184.9736,-.399997,0,""); - Node = new TNode("ST4B115","ST4B115","ST4B",-184.973,-.399997,0,""); - Node = new TNode("ST4B40","ST4B40","ST4B",184.9736,1.07,0,""); - Node = new TNode("ST4B116","ST4B116","ST4B",-184.973,1.07,0,""); - Node = new TNode("ST4B41","ST4B41","ST4B",184.9736,2.54,0,""); - Node = new TNode("ST4B117","ST4B117","ST4B",-184.973,2.54,0,""); - Node = new TNode("ST4B42","ST4B42","ST4B",184.9736,4.01,0,""); - Node = new TNode("ST4B118","ST4B118","ST4B",-184.973,4.01,0,""); - Node = new TNode("ST4B43","ST4B43","ST4B",184.9736,5.48,0,""); - Node = new TNode("ST4B119","ST4B119","ST4B",-184.973,5.48,0,""); - Node = new TNode("ST4B44","ST4B44","ST4B",184.9736,6.949999,0,""); - Node = new TNode("ST4B120","ST4B120","ST4B",-184.973,6.949999,0,""); - Node = new TNode("ST4B45","ST4B45","ST4B",184.9736,8.42,0,""); - Node = new TNode("ST4B121","ST4B121","ST4B",-184.973,8.42,0,""); - Node = new TNode("ST4B46","ST4B46","ST4B",184.9736,9.89,0,""); - Node = new TNode("ST4B122","ST4B122","ST4B",-184.973,9.89,0,""); - Node = new TNode("ST4B47","ST4B47","ST4B",184.9736,11.35999,0,""); - Node = new TNode("ST4B123","ST4B123","ST4B",-184.973,11.35999,0,""); - Node = new TNode("ST4B48","ST4B48","ST4B",184.9736,12.82999,0,""); - Node = new TNode("ST4B124","ST4B124","ST4B",-184.973,12.82999,0,""); - Node = new TNode("ST4B49","ST4B49","ST4B",184.9736,14.29998,0,""); - Node = new TNode("ST4B125","ST4B125","ST4B",-184.973,14.29998,0,""); - Node = new TNode("ST4B50","ST4B50","ST4B",184.9736,15.77,0,""); - Node = new TNode("ST4B126","ST4B126","ST4B",-184.973,15.77,0,""); - Node = new TNode("ST4B51","ST4B51","ST4B",184.9736,17.23999,0,""); - Node = new TNode("ST4B127","ST4B127","ST4B",-184.973,17.23999,0,""); - Node = new TNode("ST4B52","ST4B52","ST4B",184.9736,18.70999,0,""); - Node = new TNode("ST4B128","ST4B128","ST4B",-184.973,18.70999,0,""); - Node = new TNode("ST4B53","ST4B53","ST4B",184.9736,20.18,0,""); - Node = new TNode("ST4B129","ST4B129","ST4B",-184.973,20.18,0,""); - Node = new TNode("ST4B54","ST4B54","ST4B",184.9736,21.64999,0,""); - Node = new TNode("ST4B130","ST4B130","ST4B",-184.973,21.64999,0,""); - Node = new TNode("ST4B55","ST4B55","ST4B",184.9736,23.11998,0,""); - Node = new TNode("ST4B131","ST4B131","ST4B",-184.973,23.11998,0,""); - Node = new TNode("ST4B56","ST4B56","ST4B",184.9736,24.59,0,""); - Node = new TNode("ST4B132","ST4B132","ST4B",-184.973,24.59,0,""); - Node = new TNode("ST4B57","ST4B57","ST4B",184.9736,26.05999,0,""); - Node = new TNode("ST4B133","ST4B133","ST4B",-184.973,26.05999,0,""); - Node = new TNode("ST4B58","ST4B58","ST4B",184.9736,27.53,0,""); - Node = new TNode("ST4B134","ST4B134","ST4B",-184.973,27.53,0,""); - Node = new TNode("ST4B59","ST4B59","ST4B",184.9736,29,0,""); - Node = new TNode("ST4B135","ST4B135","ST4B",-184.973,29,0,""); - Node = new TNode("ST4B60","ST4B60","ST4B",184.9736,30.46999,0,""); - Node = new TNode("ST4B136","ST4B136","ST4B",-184.973,30.46999,0,""); - Node = new TNode("ST4B61","ST4B61","ST4B",184.9736,31.93998,0,""); - Node = new TNode("ST4B137","ST4B137","ST4B",-184.973,31.93998,0,""); - Node = new TNode("ST4B62","ST4B62","ST4B",184.9736,33.40998,0,""); - Node = new TNode("ST4B138","ST4B138","ST4B",-184.973,33.40998,0,""); - Node = new TNode("ST4B63","ST4B63","ST4B",184.9736,34.88,0,""); - Node = new TNode("ST4B139","ST4B139","ST4B",-184.973,34.88,0,""); - Node = new TNode("ST4B64","ST4B64","ST4B",184.9736,36.34999,0,""); - Node = new TNode("ST4B140","ST4B140","ST4B",-184.973,36.34999,0,""); - Node = new TNode("ST4B65","ST4B65","ST4B",184.9736,37.81999,0,""); - Node = new TNode("ST4B141","ST4B141","ST4B",-184.973,37.81999,0,""); - Node = new TNode("ST4B66","ST4B66","ST4B",184.9736,39.29,0,""); - Node = new TNode("ST4B142","ST4B142","ST4B",-184.973,39.29,0,""); - Node = new TNode("ST4B67","ST4B67","ST4B",184.9736,40.75999,0,""); - Node = new TNode("ST4B143","ST4B143","ST4B",-184.973,40.75999,0,""); - Node = new TNode("ST4B68","ST4B68","ST4B",184.9736,42.22998,0,""); - Node = new TNode("ST4B144","ST4B144","ST4B",-184.973,42.22998,0,""); - Node = new TNode("ST4B69","ST4B69","ST4B",184.9736,43.7,0,""); - Node = new TNode("ST4B145","ST4B145","ST4B",-184.973,43.7,0,""); - Node = new TNode("ST4B70","ST4B70","ST4B",184.9736,45.16999,0,""); - Node = new TNode("ST4B146","ST4B146","ST4B",-184.973,45.16999,0,""); - Node = new TNode("ST4B71","ST4B71","ST4B",184.9736,46.63999,0,""); - Node = new TNode("ST4B147","ST4B147","ST4B",-184.973,46.63999,0,""); - Node = new TNode("ST4B72","ST4B72","ST4B",184.9736,48.11,0,""); - Node = new TNode("ST4B148","ST4B148","ST4B",-184.973,48.11,0,""); - Node = new TNode("ST4B73","ST4B73","ST4B",184.9736,49.58,0,""); - Node = new TNode("ST4B149","ST4B149","ST4B",-184.973,49.58,0,""); - Node = new TNode("ST4B74","ST4B74","ST4B",184.9736,51.04999,0,""); - Node = new TNode("ST4B150","ST4B150","ST4B",-184.973,51.04999,0,""); - Node = new TNode("ST4B75","ST4B75","ST4B",184.9736,52.52,0,""); - Node = new TNode("ST4B151","ST4B151","ST4B",-184.973,52.52,0,""); - Node = new TNode("ST4B76","ST4B76","ST4B",184.9736,53.99,0,""); - Node = new TNode("ST4B152","ST4B152","ST4B",-184.973,53.99,0,""); - Node901->cd(); - Node900->cd(); - Node = new TNode("OG4A1","OG4A1","OG4A",0,61.25,-191.3,""); - Node = new TNode("OG4A2","OG4A2","OG4A",0,-61.25,-191.3,""); - Node = new TNode("OG4A3","OG4A3","OG4A",0,61.25,191.3,""); - Node = new TNode("OG4A4","OG4A4","OG4A",0,-61.25,191.3,""); - Node = new TNode("OG4B1","OG4B1","OG4B",191.3,61.25,0,""); - Node = new TNode("OG4B2","OG4B2","OG4B",191.3,-61.25,0,""); - Node = new TNode("OG4B3","OG4B3","OG4B",-191.3,61.25,0,""); - Node = new TNode("OG4B4","OG4B4","OG4B",-191.3,-61.25,0,""); - Node = new TNode("OG4C1","OG4C1","OG4C",191.3,0,0,""); - Node = new TNode("OG4C2","OG4C2","OG4C",-191.3,0,0,""); - Node = new TNode("OG4D1","OG4D1","OG4D",0,0,-191.3,""); - Node = new TNode("OG4D2","OG4D2","OG4D",0,0,191.3,""); - Node = new TNode("OG4E1","OG4E1","OG4E",-189.149,0,-191.3,""); - Node = new TNode("OG4E2","OG4E2","OG4E",189.1499,0,-191.3,""); - Node = new TNode("OG4E3","OG4E3","OG4E",189.1499,0,191.3,""); - Node = new TNode("OG4E4","OG4E4","OG4E",-189.149,0,191.3,""); - Node = new TNode("OG4F1","OG4F1","OG4F",191.3,0,-189.449,""); - Node = new TNode("OG4F2","OG4F2","OG4F",191.3,0,189.4499,""); - Node = new TNode("OG4F3","OG4F3","OG4F",-191.3,0,189.4499,""); - Node = new TNode("OG4F4","OG4F4","OG4F",-191.3,0,-189.449,""); - Node = new TNode("OG4G1","OG4G1","OG4G",96.47499,0,-191.593,""); - Node = new TNode("OG4G2","OG4G2","OG4G",96.47499,0,191.5937,""); - Node = new TNode("OG4G3","OG4G3","OG4G",-96.4749,0,191.5937,""); - Node = new TNode("OG4G4","OG4G4","OG4G",-96.4749,0,-191.593,""); - Node = new TNode("OG4H1","OG4H1","OG4H",191.5937,0,-96.4749,""); - Node = new TNode("OG4H2","OG4H2","OG4H",191.5937,0,96.47499,""); - Node = new TNode("OG4H3","OG4H3","OG4H",-191.593,0,96.47499,""); - Node = new TNode("OG4H4","OG4H4","OG4H",-191.593,0,-96.4749,""); - Node = new TNode("IG4A1","IG4A1","IG4A",0,60.25,-191.3,""); - Node = new TNode("IG4A2","IG4A2","IG4A",0,-60.25,-188.199,""); - Node = new TNode("IG4A3","IG4A3","IG4A",0,60.25,188.1999,""); - Node = new TNode("IG4A4","IG4A4","IG4A",0,-60.25,188.1999,""); - Node = new TNode("IG4B1","IG4B1","IG4B",188.1999,60.25,0,""); - Node = new TNode("IG4B2","IG4B2","IG4B",188.1999,-60.25,0,""); - Node = new TNode("IG4B3","IG4B3","IG4B",-188.199,60.25,0,""); - Node = new TNode("IG4B4","IG4B4","IG4B",-188.199,-60.25,0,""); - Node = new TNode("IG4C1","IG4C1","IG4C",188.1999,0,0,""); - Node = new TNode("IG4C2","IG4C2","IG4C",-188.199,0,0,""); - Node = new TNode("IG4D1","IG4D1","IG4D",0,0,-188.199,""); - Node = new TNode("IG4D2","IG4D2","IG4D",0,0,188.1999,""); - Node = new TNode("IG4E1","IG4E1","IG4E",-186.05,0,-188.199,""); - Node = new TNode("IG4E2","IG4E2","IG4E",186.05,0,-188.199,""); - Node = new TNode("IG4E3","IG4E3","IG4E",186.05,0,188.1999,""); - Node = new TNode("IG4E4","IG4E4","IG4E",-186.05,0,188.1999,""); - Node = new TNode("IG4F1","IG4F1","IG4F",188.1999,0,-186.35,""); - Node = new TNode("IG4F2","IG4F2","IG4F",188.1999,0,186.35,""); - Node = new TNode("IG4F3","IG4F3","IG4F",-188.199,0,186.35,""); - Node = new TNode("IG4F4","IG4F4","IG4F",-188.199,0,-186.35,""); - Node898->cd(); - Node = new TNode("TF4A1","TF4A1","TF4A",0,51.4,-184.199,""); - Node = new TNode("TF4A2","TF4A2","TF4A",0,51.4,184.1999,""); - Node = new TNode("TF4A3","TF4A3","TF4A",0,88.8,-184.199,""); - Node = new TNode("TF4A4","TF4A4","TF4A",0,87.3,184.1999,""); - Node = new TNode("TF4B1","TF4B1","TF4B",184.1999,51.4,0,""); - Node = new TNode("TF4B2","TF4B2","TF4B",-184.199,51.4,0,""); - Node = new TNode("TF4B3","TF4B3","TF4B",184.1999,88.8,0,""); - Node = new TNode("TF4B4","TF4B4","TF4B",-184.199,88.8,0,""); - Node = new TNode("TF4C1","TF4C1","TF4C",0,51.4,-108.3,""); - Node = new TNode("TF4C2","TF4C2","TF4C",0,51.4,-36.0999,""); - Node = new TNode("TF4C3","TF4C3","TF4C",0,51.4,36.09999,""); - Node = new TNode("TF4C4","TF4C4","TF4C",0,51.4,108.2998,""); - Node = new TNode("TF4C5","TF4C5","TF4C",0,88.8,-108.3,""); - Node = new TNode("TF4C6","TF4C6","TF4C",0,88.8,-36.0999,""); - Node = new TNode("TF4C7","TF4C7","TF4C",0,88.8,36.09999,""); - Node = new TNode("TF4C8","TF4C8","TF4C",0,88.8,108.2998,""); - Node = new TNode("TF4D1","TF4D1","TF4D",-108.3,51.4,0,""); - Node = new TNode("TF4D2","TF4D2","TF4D",-36.0999,51.4,0,""); - Node = new TNode("TF4D3","TF4D3","TF4D",36.09999,51.4,0,""); - Node = new TNode("TF4D4","TF4D4","TF4D",108.2998,51.4,0,""); - Node = new TNode("TF4D5","TF4D5","TF4D",-108.3,88.8,0,""); - Node = new TNode("TF4D6","TF4D6","TF4D",-36.0999,88.8,0,""); - Node = new TNode("TF4D7","TF4D7","TF4D",36.09999,88.8,0,""); - Node = new TNode("TF4D8","TF4D8","TF4D",108.2998,88.8,0,""); - TNode *Node929; - Node929 = new TNode("TF4E1","TF4E1","TF4E",0,70.09999,-180.5,""); - Node929->cd(); - Node = new TNode("TF4H1","TF4H1","TF4H",-159,0,0,""); - Node = new TNode("TF4H2","TF4H2","TF4H",-86.8,0,0,""); - Node = new TNode("TF4H3","TF4H3","TF4H",-14.6,0,0,""); - Node = new TNode("TF4H4","TF4H4","TF4H",57.59999,0,0,""); - Node = new TNode("TF4H5","TF4H5","TF4H",129.7998,0,0,""); - Node = new TNode("TF4H6","TF4H6","TF4H",-130,0,0,""); - Node = new TNode("TF4H7","TF4H7","TF4H",-57.7999,0,0,""); - Node = new TNode("TF4H8","TF4H8","TF4H",14.39999,0,0,""); - Node = new TNode("TF4H9","TF4H9","TF4H",86.59999,0,0,""); - Node = new TNode("TF4H10","TF4H10","TF4H",158.7998,0,0,""); - Node898->cd(); - TNode *Node930; - Node930 = new TNode("TF4E2","TF4E2","TF4E",0,70.09999,-108.3,""); - Node930->cd(); - Node = new TNode("TF4H1","TF4H1","TF4H",-159,0,0,""); - Node = new TNode("TF4H2","TF4H2","TF4H",-86.8,0,0,""); - Node = new TNode("TF4H3","TF4H3","TF4H",-14.6,0,0,""); - Node = new TNode("TF4H4","TF4H4","TF4H",57.59999,0,0,""); - Node = new TNode("TF4H5","TF4H5","TF4H",129.7998,0,0,""); - Node = new TNode("TF4H6","TF4H6","TF4H",-130,0,0,""); - Node = new TNode("TF4H7","TF4H7","TF4H",-57.7999,0,0,""); - Node = new TNode("TF4H8","TF4H8","TF4H",14.39999,0,0,""); - Node = new TNode("TF4H9","TF4H9","TF4H",86.59999,0,0,""); - Node = new TNode("TF4H10","TF4H10","TF4H",158.7998,0,0,""); - Node898->cd(); - TNode *Node931; - Node931 = new TNode("TF4E3","TF4E3","TF4E",0,70.09999,-36.0999,""); - Node931->cd(); - Node = new TNode("TF4H1","TF4H1","TF4H",-159,0,0,""); - Node = new TNode("TF4H2","TF4H2","TF4H",-86.8,0,0,""); - Node = new TNode("TF4H3","TF4H3","TF4H",-14.6,0,0,""); - Node = new TNode("TF4H4","TF4H4","TF4H",57.59999,0,0,""); - Node = new TNode("TF4H5","TF4H5","TF4H",129.7998,0,0,""); - Node = new TNode("TF4H6","TF4H6","TF4H",-130,0,0,""); - Node = new TNode("TF4H7","TF4H7","TF4H",-57.7999,0,0,""); - Node = new TNode("TF4H8","TF4H8","TF4H",14.39999,0,0,""); - Node = new TNode("TF4H9","TF4H9","TF4H",86.59999,0,0,""); - Node = new TNode("TF4H10","TF4H10","TF4H",158.7998,0,0,""); - Node898->cd(); - TNode *Node932; - Node932 = new TNode("TF4E4","TF4E4","TF4E",0,70.09999,36.09999,""); - Node932->cd(); - Node = new TNode("TF4H1","TF4H1","TF4H",-159,0,0,""); - Node = new TNode("TF4H2","TF4H2","TF4H",-86.8,0,0,""); - Node = new TNode("TF4H3","TF4H3","TF4H",-14.6,0,0,""); - Node = new TNode("TF4H4","TF4H4","TF4H",57.59999,0,0,""); - Node = new TNode("TF4H5","TF4H5","TF4H",129.7998,0,0,""); - Node = new TNode("TF4H6","TF4H6","TF4H",-130,0,0,""); - Node = new TNode("TF4H7","TF4H7","TF4H",-57.7999,0,0,""); - Node = new TNode("TF4H8","TF4H8","TF4H",14.39999,0,0,""); - Node = new TNode("TF4H9","TF4H9","TF4H",86.59999,0,0,""); - Node = new TNode("TF4H10","TF4H10","TF4H",158.7998,0,0,""); - Node898->cd(); - TNode *Node933; - Node933 = new TNode("TF4E5","TF4E5","TF4E",0,70.09999,108.2998,""); - Node933->cd(); - Node = new TNode("TF4H1","TF4H1","TF4H",-159,0,0,""); - Node = new TNode("TF4H2","TF4H2","TF4H",-86.8,0,0,""); - Node = new TNode("TF4H3","TF4H3","TF4H",-14.6,0,0,""); - Node = new TNode("TF4H4","TF4H4","TF4H",57.59999,0,0,""); - Node = new TNode("TF4H5","TF4H5","TF4H",129.7998,0,0,""); - Node = new TNode("TF4H6","TF4H6","TF4H",-130,0,0,""); - Node = new TNode("TF4H7","TF4H7","TF4H",-57.7999,0,0,""); - Node = new TNode("TF4H8","TF4H8","TF4H",14.39999,0,0,""); - Node = new TNode("TF4H9","TF4H9","TF4H",86.59999,0,0,""); - Node = new TNode("TF4H10","TF4H10","TF4H",158.7998,0,0,""); - Node898->cd(); - TNode *Node934; - Node934 = new TNode("TF4E6","TF4E6","TF4E",0,70.09999,180.5,""); - Node934->cd(); - Node = new TNode("TF4H1","TF4H1","TF4H",-159,0,0,""); - Node = new TNode("TF4H2","TF4H2","TF4H",-86.8,0,0,""); - Node = new TNode("TF4H3","TF4H3","TF4H",-14.6,0,0,""); - Node = new TNode("TF4H4","TF4H4","TF4H",57.59999,0,0,""); - Node = new TNode("TF4H5","TF4H5","TF4H",129.7998,0,0,""); - Node = new TNode("TF4H6","TF4H6","TF4H",-130,0,0,""); - Node = new TNode("TF4H7","TF4H7","TF4H",-57.7999,0,0,""); - Node = new TNode("TF4H8","TF4H8","TF4H",14.39999,0,0,""); - Node = new TNode("TF4H9","TF4H9","TF4H",86.59999,0,0,""); - Node = new TNode("TF4H10","TF4H10","TF4H",158.7998,0,0,""); - Node898->cd(); - TNode *Node935; - Node935 = new TNode("TF4F1","TF4F1","TF4F",-180.5,70.09999,0,""); - Node935->cd(); - Node = new TNode("TF4G1","TF4G1","TF4G",0,0,-159,"rot11"); - Node = new TNode("TF4G2","TF4G2","TF4G",0,0,-86.8,"rot11"); - Node = new TNode("TF4G3","TF4G3","TF4G",0,0,-14.6,"rot11"); - Node = new TNode("TF4G4","TF4G4","TF4G",0,0,57.59999,"rot11"); - Node = new TNode("TF4G5","TF4G5","TF4G",0,0,129.7998,"rot11"); - Node = new TNode("TF4G6","TF4G6","TF4G",0,0,-130,"rot11"); - Node = new TNode("TF4G7","TF4G7","TF4G",0,0,-57.7999,"rot11"); - Node = new TNode("TF4G8","TF4G8","TF4G",0,0,14.39999,"rot11"); - Node = new TNode("TF4G9","TF4G9","TF4G",0,0,86.59999,"rot11"); - Node = new TNode("TF4G10","TF4G10","TF4G",0,0,158.7998,"rot11"); - Node898->cd(); - TNode *Node936; - Node936 = new TNode("TF4F2","TF4F2","TF4F",-108.3,70.09999,0,""); - Node936->cd(); - Node = new TNode("TF4G1","TF4G1","TF4G",0,0,-159,"rot11"); - Node = new TNode("TF4G2","TF4G2","TF4G",0,0,-86.8,"rot11"); - Node = new TNode("TF4G3","TF4G3","TF4G",0,0,-14.6,"rot11"); - Node = new TNode("TF4G4","TF4G4","TF4G",0,0,57.59999,"rot11"); - Node = new TNode("TF4G5","TF4G5","TF4G",0,0,129.7998,"rot11"); - Node = new TNode("TF4G6","TF4G6","TF4G",0,0,-130,"rot11"); - Node = new TNode("TF4G7","TF4G7","TF4G",0,0,-57.7999,"rot11"); - Node = new TNode("TF4G8","TF4G8","TF4G",0,0,14.39999,"rot11"); - Node = new TNode("TF4G9","TF4G9","TF4G",0,0,86.59999,"rot11"); - Node = new TNode("TF4G10","TF4G10","TF4G",0,0,158.7998,"rot11"); - Node898->cd(); - TNode *Node937; - Node937 = new TNode("TF4F3","TF4F3","TF4F",-36.0999,70.09999,0,""); - Node937->cd(); - Node = new TNode("TF4G1","TF4G1","TF4G",0,0,-159,"rot11"); - Node = new TNode("TF4G2","TF4G2","TF4G",0,0,-86.8,"rot11"); - Node = new TNode("TF4G3","TF4G3","TF4G",0,0,-14.6,"rot11"); - Node = new TNode("TF4G4","TF4G4","TF4G",0,0,57.59999,"rot11"); - Node = new TNode("TF4G5","TF4G5","TF4G",0,0,129.7998,"rot11"); - Node = new TNode("TF4G6","TF4G6","TF4G",0,0,-130,"rot11"); - Node = new TNode("TF4G7","TF4G7","TF4G",0,0,-57.7999,"rot11"); - Node = new TNode("TF4G8","TF4G8","TF4G",0,0,14.39999,"rot11"); - Node = new TNode("TF4G9","TF4G9","TF4G",0,0,86.59999,"rot11"); - Node = new TNode("TF4G10","TF4G10","TF4G",0,0,158.7998,"rot11"); - Node898->cd(); - TNode *Node938; - Node938 = new TNode("TF4F4","TF4F4","TF4F",36.09999,70.09999,0,""); - Node938->cd(); - Node = new TNode("TF4G1","TF4G1","TF4G",0,0,-159,"rot11"); - Node = new TNode("TF4G2","TF4G2","TF4G",0,0,-86.8,"rot11"); - Node = new TNode("TF4G3","TF4G3","TF4G",0,0,-14.6,"rot11"); - Node = new TNode("TF4G4","TF4G4","TF4G",0,0,57.59999,"rot11"); - Node = new TNode("TF4G5","TF4G5","TF4G",0,0,129.7998,"rot11"); - Node = new TNode("TF4G6","TF4G6","TF4G",0,0,-130,"rot11"); - Node = new TNode("TF4G7","TF4G7","TF4G",0,0,-57.7999,"rot11"); - Node = new TNode("TF4G8","TF4G8","TF4G",0,0,14.39999,"rot11"); - Node = new TNode("TF4G9","TF4G9","TF4G",0,0,86.59999,"rot11"); - Node = new TNode("TF4G10","TF4G10","TF4G",0,0,158.7998,"rot11"); - Node898->cd(); - TNode *Node939; - Node939 = new TNode("TF4F5","TF4F5","TF4F",108.2998,70.09999,0,""); - Node939->cd(); - Node = new TNode("TF4G1","TF4G1","TF4G",0,0,-159,"rot11"); - Node = new TNode("TF4G2","TF4G2","TF4G",0,0,-86.8,"rot11"); - Node = new TNode("TF4G3","TF4G3","TF4G",0,0,-14.6,"rot11"); - Node = new TNode("TF4G4","TF4G4","TF4G",0,0,57.59999,"rot11"); - Node = new TNode("TF4G5","TF4G5","TF4G",0,0,129.7998,"rot11"); - Node = new TNode("TF4G6","TF4G6","TF4G",0,0,-130,"rot11"); - Node = new TNode("TF4G7","TF4G7","TF4G",0,0,-57.7999,"rot11"); - Node = new TNode("TF4G8","TF4G8","TF4G",0,0,14.39999,"rot11"); - Node = new TNode("TF4G9","TF4G9","TF4G",0,0,86.59999,"rot11"); - Node = new TNode("TF4G10","TF4G10","TF4G",0,0,158.7998,"rot11"); - Node898->cd(); - TNode *Node940; - Node940 = new TNode("TF4F6","TF4F6","TF4F",180.5,70.09999,0,""); - Node940->cd(); - Node = new TNode("TF4G1","TF4G1","TF4G",0,0,-159,"rot11"); - Node = new TNode("TF4G2","TF4G2","TF4G",0,0,-86.8,"rot11"); - Node = new TNode("TF4G3","TF4G3","TF4G",0,0,-14.6,"rot11"); - Node = new TNode("TF4G4","TF4G4","TF4G",0,0,57.59999,"rot11"); - Node = new TNode("TF4G5","TF4G5","TF4G",0,0,129.7998,"rot11"); - Node = new TNode("TF4G6","TF4G6","TF4G",0,0,-130,"rot11"); - Node = new TNode("TF4G7","TF4G7","TF4G",0,0,-57.7999,"rot11"); - Node = new TNode("TF4G8","TF4G8","TF4G",0,0,14.39999,"rot11"); - Node = new TNode("TF4G9","TF4G9","TF4G",0,0,86.59999,"rot11"); - Node = new TNode("TF4G10","TF4G10","TF4G",0,0,158.7998,"rot11"); - Node898->cd(); - TNode *Node941; - Node941 = new TNode("TF4I1","TF4I1","TF4I",144.4499,51.2,-144.35,"rot11"); - Node941->cd(); - TNode *Node942; - Node942 = new TNode("TF4J1","TF4J1","TF4J",-27.75,0,-22.2,""); - Node942->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node943; - Node943 = new TNode("TF4J2","TF4J2","TF4J",-16.6499,0,-22.2,""); - Node943->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node944; - Node944 = new TNode("TF4J3","TF4J3","TF4J",-5.55,0,-22.2,""); - Node944->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node945; - Node945 = new TNode("TF4J4","TF4J4","TF4J",5.55,0,-22.2,""); - Node945->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node946; - Node946 = new TNode("TF4J5","TF4J5","TF4J",16.64999,0,-22.2,""); - Node946->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node947; - Node947 = new TNode("TF4J6","TF4J6","TF4J",27.75,0,-22.2,""); - Node947->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node948; - Node948 = new TNode("TF4J7","TF4J7","TF4J",-27.75,0,0,""); - Node948->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node949; - Node949 = new TNode("TF4J8","TF4J8","TF4J",-16.6499,0,0,""); - Node949->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node950; - Node950 = new TNode("TF4J9","TF4J9","TF4J",-5.55,0,0,""); - Node950->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node951; - Node951 = new TNode("TF4J10","TF4J10","TF4J",5.55,0,0,""); - Node951->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node952; - Node952 = new TNode("TF4J11","TF4J11","TF4J",16.64999,0,0,""); - Node952->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node953; - Node953 = new TNode("TF4J12","TF4J12","TF4J",27.75,0,0,""); - Node953->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node954; - Node954 = new TNode("TF4J13","TF4J13","TF4J",-27.75,0,22.2,""); - Node954->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node955; - Node955 = new TNode("TF4J14","TF4J14","TF4J",-16.6499,0,22.2,""); - Node955->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node956; - Node956 = new TNode("TF4J15","TF4J15","TF4J",-5.55,0,22.2,""); - Node956->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node957; - Node957 = new TNode("TF4J16","TF4J16","TF4J",5.55,0,22.2,""); - Node957->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node958; - Node958 = new TNode("TF4J17","TF4J17","TF4J",16.64999,0,22.2,""); - Node958->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - TNode *Node959; - Node959 = new TNode("TF4J18","TF4J18","TF4J",27.75,0,22.2,""); - Node959->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node941->cd(); - Node = new TNode("TF4K1","TF4K1","TF4K",0,-1.15,23.14999,""); - Node = new TNode("TF4K2","TF4K2","TF4K",0,-1.15,-23.1499,""); - Node = new TNode("TF4L3","TF4L3","TF4L",0,-1.15,5.55,""); - Node = new TNode("TF4L4","TF4L4","TF4L",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node960; - Node960 = new TNode("TF4I2","TF4I2","TF4I",144.4499,51.2,-72.15,"rot11"); - Node960->cd(); - TNode *Node961; - Node961 = new TNode("TF4J1","TF4J1","TF4J",-27.75,0,-22.2,""); - Node961->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node962; - Node962 = new TNode("TF4J2","TF4J2","TF4J",-16.6499,0,-22.2,""); - Node962->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node963; - Node963 = new TNode("TF4J3","TF4J3","TF4J",-5.55,0,-22.2,""); - Node963->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node964; - Node964 = new TNode("TF4J4","TF4J4","TF4J",5.55,0,-22.2,""); - Node964->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node965; - Node965 = new TNode("TF4J5","TF4J5","TF4J",16.64999,0,-22.2,""); - Node965->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node966; - Node966 = new TNode("TF4J6","TF4J6","TF4J",27.75,0,-22.2,""); - Node966->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node967; - Node967 = new TNode("TF4J7","TF4J7","TF4J",-27.75,0,0,""); - Node967->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node968; - Node968 = new TNode("TF4J8","TF4J8","TF4J",-16.6499,0,0,""); - Node968->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node969; - Node969 = new TNode("TF4J9","TF4J9","TF4J",-5.55,0,0,""); - Node969->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node970; - Node970 = new TNode("TF4J10","TF4J10","TF4J",5.55,0,0,""); - Node970->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node971; - Node971 = new TNode("TF4J11","TF4J11","TF4J",16.64999,0,0,""); - Node971->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node972; - Node972 = new TNode("TF4J12","TF4J12","TF4J",27.75,0,0,""); - Node972->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node973; - Node973 = new TNode("TF4J13","TF4J13","TF4J",-27.75,0,22.2,""); - Node973->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node974; - Node974 = new TNode("TF4J14","TF4J14","TF4J",-16.6499,0,22.2,""); - Node974->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node975; - Node975 = new TNode("TF4J15","TF4J15","TF4J",-5.55,0,22.2,""); - Node975->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node976; - Node976 = new TNode("TF4J16","TF4J16","TF4J",5.55,0,22.2,""); - Node976->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node977; - Node977 = new TNode("TF4J17","TF4J17","TF4J",16.64999,0,22.2,""); - Node977->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - TNode *Node978; - Node978 = new TNode("TF4J18","TF4J18","TF4J",27.75,0,22.2,""); - Node978->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node960->cd(); - Node = new TNode("TF4K1","TF4K1","TF4K",0,-1.15,23.14999,""); - Node = new TNode("TF4K2","TF4K2","TF4K",0,-1.15,-23.1499,""); - Node = new TNode("TF4L3","TF4L3","TF4L",0,-1.15,5.55,""); - Node = new TNode("TF4L4","TF4L4","TF4L",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node979; - Node979 = new TNode("TF4I3","TF4I3","TF4I",144.4499,51.2,.05,"rot11"); - Node979->cd(); - TNode *Node980; - Node980 = new TNode("TF4J1","TF4J1","TF4J",-27.75,0,-22.2,""); - Node980->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node981; - Node981 = new TNode("TF4J2","TF4J2","TF4J",-16.6499,0,-22.2,""); - Node981->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node982; - Node982 = new TNode("TF4J3","TF4J3","TF4J",-5.55,0,-22.2,""); - Node982->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node983; - Node983 = new TNode("TF4J4","TF4J4","TF4J",5.55,0,-22.2,""); - Node983->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node984; - Node984 = new TNode("TF4J5","TF4J5","TF4J",16.64999,0,-22.2,""); - Node984->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node985; - Node985 = new TNode("TF4J6","TF4J6","TF4J",27.75,0,-22.2,""); - Node985->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node986; - Node986 = new TNode("TF4J7","TF4J7","TF4J",-27.75,0,0,""); - Node986->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node987; - Node987 = new TNode("TF4J8","TF4J8","TF4J",-16.6499,0,0,""); - Node987->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node988; - Node988 = new TNode("TF4J9","TF4J9","TF4J",-5.55,0,0,""); - Node988->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node989; - Node989 = new TNode("TF4J10","TF4J10","TF4J",5.55,0,0,""); - Node989->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node990; - Node990 = new TNode("TF4J11","TF4J11","TF4J",16.64999,0,0,""); - Node990->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node991; - Node991 = new TNode("TF4J12","TF4J12","TF4J",27.75,0,0,""); - Node991->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node992; - Node992 = new TNode("TF4J13","TF4J13","TF4J",-27.75,0,22.2,""); - Node992->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node993; - Node993 = new TNode("TF4J14","TF4J14","TF4J",-16.6499,0,22.2,""); - Node993->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node994; - Node994 = new TNode("TF4J15","TF4J15","TF4J",-5.55,0,22.2,""); - Node994->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node995; - Node995 = new TNode("TF4J16","TF4J16","TF4J",5.55,0,22.2,""); - Node995->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node996; - Node996 = new TNode("TF4J17","TF4J17","TF4J",16.64999,0,22.2,""); - Node996->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - TNode *Node997; - Node997 = new TNode("TF4J18","TF4J18","TF4J",27.75,0,22.2,""); - Node997->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node979->cd(); - Node = new TNode("TF4K1","TF4K1","TF4K",0,-1.15,23.14999,""); - Node = new TNode("TF4K2","TF4K2","TF4K",0,-1.15,-23.1499,""); - Node = new TNode("TF4L3","TF4L3","TF4L",0,-1.15,5.55,""); - Node = new TNode("TF4L4","TF4L4","TF4L",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node998; - Node998 = new TNode("TF4I4","TF4I4","TF4I",144.4499,51.2,72.25,"rot11"); - Node998->cd(); - TNode *Node999; - Node999 = new TNode("TF4J1","TF4J1","TF4J",-27.75,0,-22.2,""); - Node999->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1000; - Node1000 = new TNode("TF4J2","TF4J2","TF4J",-16.6499,0,-22.2,""); - Node1000->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1001; - Node1001 = new TNode("TF4J3","TF4J3","TF4J",-5.55,0,-22.2,""); - Node1001->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1002; - Node1002 = new TNode("TF4J4","TF4J4","TF4J",5.55,0,-22.2,""); - Node1002->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1003; - Node1003 = new TNode("TF4J5","TF4J5","TF4J",16.64999,0,-22.2,""); - Node1003->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1004; - Node1004 = new TNode("TF4J6","TF4J6","TF4J",27.75,0,-22.2,""); - Node1004->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1005; - Node1005 = new TNode("TF4J7","TF4J7","TF4J",-27.75,0,0,""); - Node1005->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1006; - Node1006 = new TNode("TF4J8","TF4J8","TF4J",-16.6499,0,0,""); - Node1006->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1007; - Node1007 = new TNode("TF4J9","TF4J9","TF4J",-5.55,0,0,""); - Node1007->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1008; - Node1008 = new TNode("TF4J10","TF4J10","TF4J",5.55,0,0,""); - Node1008->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1009; - Node1009 = new TNode("TF4J11","TF4J11","TF4J",16.64999,0,0,""); - Node1009->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1010; - Node1010 = new TNode("TF4J12","TF4J12","TF4J",27.75,0,0,""); - Node1010->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1011; - Node1011 = new TNode("TF4J13","TF4J13","TF4J",-27.75,0,22.2,""); - Node1011->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1012; - Node1012 = new TNode("TF4J14","TF4J14","TF4J",-16.6499,0,22.2,""); - Node1012->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1013; - Node1013 = new TNode("TF4J15","TF4J15","TF4J",-5.55,0,22.2,""); - Node1013->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1014; - Node1014 = new TNode("TF4J16","TF4J16","TF4J",5.55,0,22.2,""); - Node1014->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1015; - Node1015 = new TNode("TF4J17","TF4J17","TF4J",16.64999,0,22.2,""); - Node1015->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - TNode *Node1016; - Node1016 = new TNode("TF4J18","TF4J18","TF4J",27.75,0,22.2,""); - Node1016->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node998->cd(); - Node = new TNode("TF4K1","TF4K1","TF4K",0,-1.15,23.14999,""); - Node = new TNode("TF4K2","TF4K2","TF4K",0,-1.15,-23.1499,""); - Node = new TNode("TF4L3","TF4L3","TF4L",0,-1.15,5.55,""); - Node = new TNode("TF4L4","TF4L4","TF4L",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1017; - Node1017 = new TNode("TF4I5","TF4I5","TF4I",144.4499,51.2,144.4499,"rot11"); - Node1017->cd(); - TNode *Node1018; - Node1018 = new TNode("TF4J1","TF4J1","TF4J",-27.75,0,-22.2,""); - Node1018->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1019; - Node1019 = new TNode("TF4J2","TF4J2","TF4J",-16.6499,0,-22.2,""); - Node1019->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1020; - Node1020 = new TNode("TF4J3","TF4J3","TF4J",-5.55,0,-22.2,""); - Node1020->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1021; - Node1021 = new TNode("TF4J4","TF4J4","TF4J",5.55,0,-22.2,""); - Node1021->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1022; - Node1022 = new TNode("TF4J5","TF4J5","TF4J",16.64999,0,-22.2,""); - Node1022->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1023; - Node1023 = new TNode("TF4J6","TF4J6","TF4J",27.75,0,-22.2,""); - Node1023->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1024; - Node1024 = new TNode("TF4J7","TF4J7","TF4J",-27.75,0,0,""); - Node1024->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1025; - Node1025 = new TNode("TF4J8","TF4J8","TF4J",-16.6499,0,0,""); - Node1025->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1026; - Node1026 = new TNode("TF4J9","TF4J9","TF4J",-5.55,0,0,""); - Node1026->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1027; - Node1027 = new TNode("TF4J10","TF4J10","TF4J",5.55,0,0,""); - Node1027->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1028; - Node1028 = new TNode("TF4J11","TF4J11","TF4J",16.64999,0,0,""); - Node1028->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1029; - Node1029 = new TNode("TF4J12","TF4J12","TF4J",27.75,0,0,""); - Node1029->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1030; - Node1030 = new TNode("TF4J13","TF4J13","TF4J",-27.75,0,22.2,""); - Node1030->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1031; - Node1031 = new TNode("TF4J14","TF4J14","TF4J",-16.6499,0,22.2,""); - Node1031->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1032; - Node1032 = new TNode("TF4J15","TF4J15","TF4J",-5.55,0,22.2,""); - Node1032->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1033; - Node1033 = new TNode("TF4J16","TF4J16","TF4J",5.55,0,22.2,""); - Node1033->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1034; - Node1034 = new TNode("TF4J17","TF4J17","TF4J",16.64999,0,22.2,""); - Node1034->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - TNode *Node1035; - Node1035 = new TNode("TF4J18","TF4J18","TF4J",27.75,0,22.2,""); - Node1035->cd(); - Node = new TNode("TF4M1","TF4M1","TF4M",0,-2.7,0,""); - Node = new TNode("TF4N1","TF4N1","TF4N",-3,0,-5.3,""); - Node = new TNode("TF4N2","TF4N2","TF4N",0,0,-5.3,""); - Node = new TNode("TF4N3","TF4N3","TF4N",3,0,-5.3,""); - Node = new TNode("TF4N4","TF4N4","TF4N",-3,0,5.3,""); - Node = new TNode("TF4N5","TF4N5","TF4N",0,0,5.3,""); - Node = new TNode("TF4N6","TF4N6","TF4N",3,0,5.3,""); - Node1017->cd(); - Node = new TNode("TF4K1","TF4K1","TF4K",0,-1.15,23.14999,""); - Node = new TNode("TF4K2","TF4K2","TF4K",0,-1.15,-23.1499,""); - Node = new TNode("TF4L3","TF4L3","TF4L",0,-1.15,5.55,""); - Node = new TNode("TF4L4","TF4L4","TF4L",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1036; - Node1036 = new TNode("TF4O1","TF4O1","TF4O",-144.35,51.2,-144.35,"rot11"); - Node1036->cd(); - TNode *Node1037; - Node1037 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1037->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1038; - Node1038 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1038->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1039; - Node1039 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1039->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1040; - Node1040 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1040->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1041; - Node1041 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1041->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1042; - Node1042 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1042->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1043; - Node1043 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1043->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1044; - Node1044 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1044->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1045; - Node1045 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1045->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1046; - Node1046 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1046->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1047; - Node1047 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1047->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1048; - Node1048 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1048->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1049; - Node1049 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1049->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1050; - Node1050 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1050->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1051; - Node1051 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1051->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1052; - Node1052 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1052->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1053; - Node1053 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1053->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1054; - Node1054 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1054->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1055; - Node1055 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1055->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1056; - Node1056 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1056->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1057; - Node1057 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1057->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1058; - Node1058 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1058->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1059; - Node1059 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1059->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - TNode *Node1060; - Node1060 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1060->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1036->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1061; - Node1061 = new TNode("TF4O2","TF4O2","TF4O",-144.35,51.2,-72.15,"rot11"); - Node1061->cd(); - TNode *Node1062; - Node1062 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1062->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1063; - Node1063 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1063->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1064; - Node1064 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1064->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1065; - Node1065 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1065->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1066; - Node1066 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1066->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1067; - Node1067 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1067->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1068; - Node1068 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1068->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1069; - Node1069 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1069->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1070; - Node1070 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1070->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1071; - Node1071 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1071->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1072; - Node1072 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1072->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1073; - Node1073 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1073->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1074; - Node1074 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1074->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1075; - Node1075 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1075->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1076; - Node1076 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1076->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1077; - Node1077 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1077->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1078; - Node1078 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1078->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1079; - Node1079 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1079->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1080; - Node1080 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1080->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1081; - Node1081 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1081->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1082; - Node1082 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1082->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1083; - Node1083 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1083->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1084; - Node1084 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1084->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - TNode *Node1085; - Node1085 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1085->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1061->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1086; - Node1086 = new TNode("TF4O3","TF4O3","TF4O",-144.35,51.2,.05,"rot11"); - Node1086->cd(); - TNode *Node1087; - Node1087 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1087->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1088; - Node1088 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1088->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1089; - Node1089 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1089->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1090; - Node1090 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1090->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1091; - Node1091 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1091->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1092; - Node1092 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1092->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1093; - Node1093 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1093->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1094; - Node1094 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1094->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1095; - Node1095 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1095->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1096; - Node1096 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1096->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1097; - Node1097 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1097->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1098; - Node1098 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1098->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1099; - Node1099 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1099->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1100; - Node1100 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1100->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1101; - Node1101 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1101->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1102; - Node1102 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1102->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1103; - Node1103 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1103->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1104; - Node1104 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1104->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1105; - Node1105 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1105->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1106; - Node1106 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1106->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1107; - Node1107 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1107->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1108; - Node1108 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1108->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1109; - Node1109 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1109->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - TNode *Node1110; - Node1110 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1110->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1086->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1111; - Node1111 = new TNode("TF4O4","TF4O4","TF4O",-144.35,51.2,72.25,"rot11"); - Node1111->cd(); - TNode *Node1112; - Node1112 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1112->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1113; - Node1113 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1113->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1114; - Node1114 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1114->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1115; - Node1115 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1115->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1116; - Node1116 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1116->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1117; - Node1117 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1117->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1118; - Node1118 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1118->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1119; - Node1119 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1119->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1120; - Node1120 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1120->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1121; - Node1121 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1121->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1122; - Node1122 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1122->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1123; - Node1123 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1123->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1124; - Node1124 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1124->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1125; - Node1125 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1125->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1126; - Node1126 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1126->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1127; - Node1127 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1127->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1128; - Node1128 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1128->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1129; - Node1129 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1129->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1130; - Node1130 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1130->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1131; - Node1131 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1131->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1132; - Node1132 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1132->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1133; - Node1133 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1133->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1134; - Node1134 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1134->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - TNode *Node1135; - Node1135 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1135->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1111->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1136; - Node1136 = new TNode("TF4O5","TF4O5","TF4O",-144.35,51.2,144.4499,"rot11"); - Node1136->cd(); - TNode *Node1137; - Node1137 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1137->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1138; - Node1138 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1138->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1139; - Node1139 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1139->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1140; - Node1140 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1140->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1141; - Node1141 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1141->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1142; - Node1142 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1142->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1143; - Node1143 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1143->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1144; - Node1144 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1144->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1145; - Node1145 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1145->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1146; - Node1146 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1146->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1147; - Node1147 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1147->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1148; - Node1148 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1148->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1149; - Node1149 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1149->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1150; - Node1150 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1150->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1151; - Node1151 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1151->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1152; - Node1152 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1152->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1153; - Node1153 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1153->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1154; - Node1154 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1154->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1155; - Node1155 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1155->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1156; - Node1156 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1156->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1157; - Node1157 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1157->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1158; - Node1158 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1158->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1159; - Node1159 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1159->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - TNode *Node1160; - Node1160 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1160->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1136->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1161; - Node1161 = new TNode("TF4O6","TF4O6","TF4O",-72.15,51.2,-144.35,"rot11"); - Node1161->cd(); - TNode *Node1162; - Node1162 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1162->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1163; - Node1163 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1163->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1164; - Node1164 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1164->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1165; - Node1165 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1165->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1166; - Node1166 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1166->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1167; - Node1167 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1167->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1168; - Node1168 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1168->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1169; - Node1169 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1169->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1170; - Node1170 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1170->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1171; - Node1171 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1171->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1172; - Node1172 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1172->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1173; - Node1173 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1173->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1174; - Node1174 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1174->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1175; - Node1175 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1175->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1176; - Node1176 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1176->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1177; - Node1177 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1177->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1178; - Node1178 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1178->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1179; - Node1179 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1179->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1180; - Node1180 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1180->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1181; - Node1181 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1181->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1182; - Node1182 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1182->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1183; - Node1183 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1183->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1184; - Node1184 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1184->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - TNode *Node1185; - Node1185 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1185->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1161->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1186; - Node1186 = new TNode("TF4O7","TF4O7","TF4O",-72.15,51.2,-72.15,"rot11"); - Node1186->cd(); - TNode *Node1187; - Node1187 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1187->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1188; - Node1188 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1188->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1189; - Node1189 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1189->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1190; - Node1190 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1190->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1191; - Node1191 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1191->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1192; - Node1192 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1192->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1193; - Node1193 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1193->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1194; - Node1194 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1194->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1195; - Node1195 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1195->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1196; - Node1196 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1196->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1197; - Node1197 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1197->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1198; - Node1198 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1198->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1199; - Node1199 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1199->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1200; - Node1200 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1200->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1201; - Node1201 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1201->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1202; - Node1202 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1202->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1203; - Node1203 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1203->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1204; - Node1204 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1204->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1205; - Node1205 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1205->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1206; - Node1206 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1206->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1207; - Node1207 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1207->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1208; - Node1208 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1208->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1209; - Node1209 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1209->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - TNode *Node1210; - Node1210 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1210->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1186->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1211; - Node1211 = new TNode("TF4O8","TF4O8","TF4O",-72.15,51.2,.05,"rot11"); - Node1211->cd(); - TNode *Node1212; - Node1212 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1212->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1213; - Node1213 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1213->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1214; - Node1214 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1214->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1215; - Node1215 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1215->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1216; - Node1216 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1216->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1217; - Node1217 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1217->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1218; - Node1218 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1218->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1219; - Node1219 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1219->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1220; - Node1220 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1220->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1221; - Node1221 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1221->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1222; - Node1222 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1222->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1223; - Node1223 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1223->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1224; - Node1224 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1224->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1225; - Node1225 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1225->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1226; - Node1226 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1226->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1227; - Node1227 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1227->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1228; - Node1228 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1228->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1229; - Node1229 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1229->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1230; - Node1230 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1230->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1231; - Node1231 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1231->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1232; - Node1232 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1232->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1233; - Node1233 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1233->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1234; - Node1234 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1234->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - TNode *Node1235; - Node1235 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1235->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1211->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1236; - Node1236 = new TNode("TF4O9","TF4O9","TF4O",-72.15,51.2,72.25,"rot11"); - Node1236->cd(); - TNode *Node1237; - Node1237 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1237->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1238; - Node1238 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1238->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1239; - Node1239 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1239->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1240; - Node1240 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1240->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1241; - Node1241 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1241->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1242; - Node1242 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1242->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1243; - Node1243 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1243->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1244; - Node1244 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1244->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1245; - Node1245 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1245->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1246; - Node1246 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1246->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1247; - Node1247 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1247->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1248; - Node1248 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1248->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1249; - Node1249 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1249->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1250; - Node1250 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1250->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1251; - Node1251 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1251->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1252; - Node1252 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1252->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1253; - Node1253 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1253->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1254; - Node1254 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1254->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1255; - Node1255 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1255->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1256; - Node1256 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1256->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1257; - Node1257 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1257->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1258; - Node1258 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1258->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1259; - Node1259 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1259->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - TNode *Node1260; - Node1260 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1260->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1236->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1261; - Node1261 = new TNode("TF4O10","TF4O10","TF4O",-72.15,51.2,144.4499,"rot11"); - Node1261->cd(); - TNode *Node1262; - Node1262 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1262->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1263; - Node1263 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1263->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1264; - Node1264 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1264->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1265; - Node1265 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1265->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1266; - Node1266 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1266->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1267; - Node1267 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1267->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1268; - Node1268 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1268->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1269; - Node1269 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1269->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1270; - Node1270 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1270->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1271; - Node1271 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1271->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1272; - Node1272 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1272->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1273; - Node1273 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1273->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1274; - Node1274 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1274->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1275; - Node1275 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1275->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1276; - Node1276 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1276->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1277; - Node1277 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1277->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1278; - Node1278 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1278->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1279; - Node1279 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1279->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1280; - Node1280 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1280->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1281; - Node1281 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1281->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1282; - Node1282 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1282->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1283; - Node1283 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1283->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1284; - Node1284 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1284->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - TNode *Node1285; - Node1285 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1285->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1261->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1286; - Node1286 = new TNode("TF4O11","TF4O11","TF4O",.05,51.2,-144.35,"rot11"); - Node1286->cd(); - TNode *Node1287; - Node1287 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1287->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1288; - Node1288 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1288->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1289; - Node1289 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1289->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1290; - Node1290 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1290->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1291; - Node1291 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1291->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1292; - Node1292 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1292->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1293; - Node1293 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1293->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1294; - Node1294 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1294->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1295; - Node1295 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1295->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1296; - Node1296 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1296->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1297; - Node1297 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1297->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1298; - Node1298 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1298->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1299; - Node1299 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1299->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1300; - Node1300 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1300->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1301; - Node1301 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1301->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1302; - Node1302 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1302->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1303; - Node1303 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1303->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1304; - Node1304 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1304->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1305; - Node1305 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1305->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1306; - Node1306 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1306->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1307; - Node1307 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1307->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1308; - Node1308 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1308->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1309; - Node1309 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1309->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - TNode *Node1310; - Node1310 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1310->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1286->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1311; - Node1311 = new TNode("TF4O12","TF4O12","TF4O",.05,51.2,-72.15,"rot11"); - Node1311->cd(); - TNode *Node1312; - Node1312 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1312->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1313; - Node1313 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1313->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1314; - Node1314 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1314->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1315; - Node1315 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1315->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1316; - Node1316 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1316->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1317; - Node1317 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1317->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1318; - Node1318 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1318->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1319; - Node1319 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1319->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1320; - Node1320 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1320->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1321; - Node1321 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1321->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1322; - Node1322 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1322->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1323; - Node1323 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1323->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1324; - Node1324 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1324->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1325; - Node1325 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1325->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1326; - Node1326 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1326->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1327; - Node1327 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1327->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1328; - Node1328 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1328->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1329; - Node1329 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1329->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1330; - Node1330 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1330->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1331; - Node1331 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1331->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1332; - Node1332 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1332->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1333; - Node1333 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1333->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1334; - Node1334 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1334->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - TNode *Node1335; - Node1335 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1335->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1311->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1336; - Node1336 = new TNode("TF4O13","TF4O13","TF4O",.05,51.2,.05,"rot11"); - Node1336->cd(); - TNode *Node1337; - Node1337 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1337->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1338; - Node1338 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1338->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1339; - Node1339 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1339->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1340; - Node1340 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1340->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1341; - Node1341 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1341->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1342; - Node1342 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1342->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1343; - Node1343 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1343->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1344; - Node1344 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1344->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1345; - Node1345 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1345->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1346; - Node1346 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1346->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1347; - Node1347 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1347->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1348; - Node1348 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1348->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1349; - Node1349 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1349->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1350; - Node1350 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1350->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1351; - Node1351 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1351->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1352; - Node1352 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1352->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1353; - Node1353 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1353->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1354; - Node1354 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1354->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1355; - Node1355 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1355->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1356; - Node1356 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1356->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1357; - Node1357 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1357->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1358; - Node1358 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1358->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1359; - Node1359 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1359->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - TNode *Node1360; - Node1360 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1360->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1336->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1361; - Node1361 = new TNode("TF4O14","TF4O14","TF4O",.05,51.2,72.25,"rot11"); - Node1361->cd(); - TNode *Node1362; - Node1362 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1362->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1363; - Node1363 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1363->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1364; - Node1364 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1364->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1365; - Node1365 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1365->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1366; - Node1366 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1366->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1367; - Node1367 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1367->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1368; - Node1368 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1368->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1369; - Node1369 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1369->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1370; - Node1370 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1370->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1371; - Node1371 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1371->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1372; - Node1372 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1372->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1373; - Node1373 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1373->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1374; - Node1374 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1374->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1375; - Node1375 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1375->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1376; - Node1376 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1376->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1377; - Node1377 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1377->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1378; - Node1378 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1378->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1379; - Node1379 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1379->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1380; - Node1380 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1380->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1381; - Node1381 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1381->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1382; - Node1382 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1382->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1383; - Node1383 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1383->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1384; - Node1384 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1384->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - TNode *Node1385; - Node1385 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1385->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1361->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1386; - Node1386 = new TNode("TF4O15","TF4O15","TF4O",.05,51.2,144.4499,"rot11"); - Node1386->cd(); - TNode *Node1387; - Node1387 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1387->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1388; - Node1388 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1388->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1389; - Node1389 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1389->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1390; - Node1390 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1390->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1391; - Node1391 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1391->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1392; - Node1392 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1392->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1393; - Node1393 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1393->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1394; - Node1394 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1394->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1395; - Node1395 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1395->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1396; - Node1396 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1396->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1397; - Node1397 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1397->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1398; - Node1398 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1398->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1399; - Node1399 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1399->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1400; - Node1400 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1400->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1401; - Node1401 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1401->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1402; - Node1402 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1402->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1403; - Node1403 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1403->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1404; - Node1404 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1404->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1405; - Node1405 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1405->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1406; - Node1406 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1406->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1407; - Node1407 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1407->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1408; - Node1408 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1408->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1409; - Node1409 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1409->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - TNode *Node1410; - Node1410 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1410->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1386->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1411; - Node1411 = new TNode("TF4O16","TF4O16","TF4O",72.25,51.2,-144.35,"rot11"); - Node1411->cd(); - TNode *Node1412; - Node1412 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1412->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1413; - Node1413 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1413->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1414; - Node1414 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1414->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1415; - Node1415 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1415->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1416; - Node1416 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1416->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1417; - Node1417 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1417->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1418; - Node1418 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1418->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1419; - Node1419 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1419->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1420; - Node1420 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1420->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1421; - Node1421 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1421->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1422; - Node1422 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1422->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1423; - Node1423 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1423->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1424; - Node1424 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1424->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1425; - Node1425 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1425->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1426; - Node1426 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1426->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1427; - Node1427 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1427->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1428; - Node1428 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1428->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1429; - Node1429 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1429->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1430; - Node1430 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1430->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1431; - Node1431 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1431->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1432; - Node1432 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1432->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1433; - Node1433 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1433->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1434; - Node1434 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1434->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - TNode *Node1435; - Node1435 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1435->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1411->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1436; - Node1436 = new TNode("TF4O17","TF4O17","TF4O",72.25,51.2,-72.15,"rot11"); - Node1436->cd(); - TNode *Node1437; - Node1437 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1437->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1438; - Node1438 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1438->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1439; - Node1439 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1439->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1440; - Node1440 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1440->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1441; - Node1441 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1441->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1442; - Node1442 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1442->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1443; - Node1443 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1443->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1444; - Node1444 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1444->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1445; - Node1445 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1445->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1446; - Node1446 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1446->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1447; - Node1447 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1447->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1448; - Node1448 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1448->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1449; - Node1449 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1449->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1450; - Node1450 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1450->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1451; - Node1451 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1451->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1452; - Node1452 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1452->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1453; - Node1453 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1453->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1454; - Node1454 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1454->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1455; - Node1455 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1455->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1456; - Node1456 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1456->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1457; - Node1457 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1457->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1458; - Node1458 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1458->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1459; - Node1459 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1459->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - TNode *Node1460; - Node1460 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1460->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1436->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1461; - Node1461 = new TNode("TF4O18","TF4O18","TF4O",72.25,51.2,.05,"rot11"); - Node1461->cd(); - TNode *Node1462; - Node1462 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1462->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1463; - Node1463 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1463->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1464; - Node1464 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1464->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1465; - Node1465 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1465->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1466; - Node1466 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1466->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1467; - Node1467 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1467->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1468; - Node1468 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1468->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1469; - Node1469 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1469->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1470; - Node1470 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1470->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1471; - Node1471 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1471->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1472; - Node1472 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1472->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1473; - Node1473 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1473->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1474; - Node1474 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1474->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1475; - Node1475 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1475->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1476; - Node1476 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1476->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1477; - Node1477 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1477->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1478; - Node1478 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1478->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1479; - Node1479 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1479->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1480; - Node1480 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1480->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1481; - Node1481 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1481->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1482; - Node1482 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1482->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1483; - Node1483 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1483->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1484; - Node1484 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1484->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - TNode *Node1485; - Node1485 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1485->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1461->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1486; - Node1486 = new TNode("TF4O19","TF4O19","TF4O",72.25,51.2,72.25,"rot11"); - Node1486->cd(); - TNode *Node1487; - Node1487 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1487->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1488; - Node1488 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1488->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1489; - Node1489 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1489->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1490; - Node1490 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1490->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1491; - Node1491 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1491->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1492; - Node1492 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1492->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1493; - Node1493 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1493->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1494; - Node1494 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1494->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1495; - Node1495 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1495->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1496; - Node1496 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1496->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1497; - Node1497 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1497->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1498; - Node1498 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1498->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1499; - Node1499 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1499->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1500; - Node1500 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1500->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1501; - Node1501 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1501->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1502; - Node1502 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1502->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1503; - Node1503 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1503->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1504; - Node1504 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1504->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1505; - Node1505 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1505->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1506; - Node1506 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1506->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1507; - Node1507 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1507->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1508; - Node1508 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1508->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1509; - Node1509 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1509->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - TNode *Node1510; - Node1510 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1510->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1486->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); - TNode *Node1511; - Node1511 = new TNode("TF4O20","TF4O20","TF4O",72.25,51.2,144.4499,"rot11"); - Node1511->cd(); - TNode *Node1512; - Node1512 = new TNode("TF4P1","TF4P1","TF4P",-27.75,0,-24.975,""); - Node1512->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1513; - Node1513 = new TNode("TF4P2","TF4P2","TF4P",-16.6499,0,-24.975,""); - Node1513->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1514; - Node1514 = new TNode("TF4P3","TF4P3","TF4P",-5.55,0,-24.975,""); - Node1514->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1515; - Node1515 = new TNode("TF4P4","TF4P4","TF4P",5.55,0,-24.975,""); - Node1515->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1516; - Node1516 = new TNode("TF4P5","TF4P5","TF4P",16.64999,0,-24.975,""); - Node1516->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1517; - Node1517 = new TNode("TF4P6","TF4P6","TF4P",27.75,0,-24.975,""); - Node1517->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1518; - Node1518 = new TNode("TF4P7","TF4P7","TF4P",-27.75,0,-8.32499,""); - Node1518->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1519; - Node1519 = new TNode("TF4P8","TF4P8","TF4P",-16.6499,0,-8.32499,""); - Node1519->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1520; - Node1520 = new TNode("TF4P9","TF4P9","TF4P",-5.55,0,-8.32499,""); - Node1520->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1521; - Node1521 = new TNode("TF4P10","TF4P10","TF4P",5.55,0,-8.32499,""); - Node1521->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1522; - Node1522 = new TNode("TF4P11","TF4P11","TF4P",16.64999,0,-8.32499,""); - Node1522->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1523; - Node1523 = new TNode("TF4P12","TF4P12","TF4P",27.75,0,-8.32499,""); - Node1523->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1524; - Node1524 = new TNode("TF4P13","TF4P13","TF4P",-27.75,0,8.324999,""); - Node1524->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1525; - Node1525 = new TNode("TF4P14","TF4P14","TF4P",-16.6499,0,8.324999,""); - Node1525->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1526; - Node1526 = new TNode("TF4P15","TF4P15","TF4P",-5.55,0,8.324999,""); - Node1526->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1527; - Node1527 = new TNode("TF4P16","TF4P16","TF4P",5.55,0,8.324999,""); - Node1527->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1528; - Node1528 = new TNode("TF4P17","TF4P17","TF4P",16.64999,0,8.324999,""); - Node1528->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1529; - Node1529 = new TNode("TF4P18","TF4P18","TF4P",27.75,0,8.324999,""); - Node1529->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1530; - Node1530 = new TNode("TF4P19","TF4P19","TF4P",-27.75,0,24.97499,""); - Node1530->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1531; - Node1531 = new TNode("TF4P20","TF4P20","TF4P",-16.6499,0,24.97499,""); - Node1531->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1532; - Node1532 = new TNode("TF4P21","TF4P21","TF4P",-5.55,0,24.97499,""); - Node1532->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1533; - Node1533 = new TNode("TF4P22","TF4P22","TF4P",5.55,0,24.97499,""); - Node1533->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1534; - Node1534 = new TNode("TF4P23","TF4P23","TF4P",16.64999,0,24.97499,""); - Node1534->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - TNode *Node1535; - Node1535 = new TNode("TF4P24","TF4P24","TF4P",27.75,0,24.97499,""); - Node1535->cd(); - Node = new TNode("TF4S1","TF4S1","TF4S",0,-2.7,0,""); - Node = new TNode("TF4T1","TF4T1","TF4T",-3,0,0,""); - Node = new TNode("TF4T2","TF4T2","TF4T",0,0,0,""); - Node = new TNode("TF4T3","TF4T3","TF4T",3,0,0,""); - Node1511->cd(); - Node = new TNode("TF4Q1","TF4Q1","TF4Q",0,-1.15,23.14999,""); - Node = new TNode("TF4Q2","TF4Q2","TF4Q",0,-1.15,-23.1499,""); - Node = new TNode("TF4R3","TF4R3","TF4R",0,-1.15,5.55,""); - Node = new TNode("TF4R4","TF4R4","TF4R",0,-1.15,-5.55,""); - Node898->cd(); -Node1->cd(); - Node = new TNode("YK011","YK011","YK01",0,146,-381.399,"rot13"); - Node = new TNode("YK012","YK012","YK01",0,-146,-381.399,"rot13"); - Node = new TNode("YK013","YK013","YK01",0,146,0,"rot13"); - Node = new TNode("YK014","YK014","YK01",0,-146,0,"rot13"); - Node = new TNode("YK061","YK061","YK06",0,146,-381.399,"rot16"); - Node = new TNode("YK062","YK062","YK06",0,-146,-381.399,"rot16"); - Node = new TNode("YK063","YK063","YK06",0,146,0,"rot16"); - Node = new TNode("YK064","YK064","YK06",0,-146,0,"rot16"); - Node = new TNode("YK021","YK021","YK02",227.5,0,-511.399,"rot13"); - Node = new TNode("YK022","YK022","YK02",-227.5,0,-511.399,"rot13"); - Node = new TNode("YK023","YK023","YK02",227.5,0,-130,"rot13"); - Node = new TNode("YK024","YK024","YK02",-227.5,0,-130,"rot13"); - Node = new TNode("YK031","YK031","YK03",235,0,-381.399,"rot13"); - Node = new TNode("YK032","YK032","YK03",-235,0,-381.399,"rot13"); - Node = new TNode("YK033","YK033","YK03",235,0,0,"rot13"); - Node = new TNode("YK034","YK034","YK03",-235,0,0,"rot13"); - Node = new TNode("YK041","YK041","YK04",-260.109,0,-291.399,"rot13"); - Node = new TNode("YK042","YK042","YK04",-260.109,0,90,"rot13"); - Node = new TNode("YK043","YK043","YK04",-137.5,0,-536.508,"rot14"); - Node = new TNode("YK044","YK044","YK04",-137.5,0,-155.108,"rot14"); - Node = new TNode("YK045","YK045","YK04",137.5,0,-536.508,"rot15"); - Node = new TNode("YK046","YK046","YK04",137.5,0,-155.108,"rot15"); - Node = new TNode("YK051","YK051","YK05",260.109,0,-291.399,"rot13"); - Node = new TNode("YK052","YK052","YK05",260.109,0,90,"rot13"); - Node = new TNode("YK071","YK071","YK07",0,126,-598.9,"rot13"); - Node = new TNode("YK072","YK072","YK07",0,-126,-598.9,"rot13"); - Node = new TNode("YK073","YK073","YK07",0,126,217.5,"rot13"); - Node = new TNode("YK074","YK074","YK07",0,-126,217.5,"rot13"); - Node = new TNode("YK081","YK081","YK08",0,135,-190.5,"rot13"); - Node = new TNode("YK082","YK082","YK08",0,-135,-190.5,"rot13"); - Node = new TNode("COI11","COI11","COI1",0,-78,-381.399,"rot16"); - Node = new TNode("COI12","COI12","COI1",0,78,-381.399,"rot16"); - Node = new TNode("COI13","COI13","COI1",0,-78,0,"rot16"); - Node = new TNode("COI14","COI14","COI1",0,78,0,"rot16"); - Node = new TNode("COI21","COI21","COI2",0,-78,-381.399,"rot16"); - Node = new TNode("COI22","COI22","COI2",0,78,-381.399,"rot16"); - Node = new TNode("COI23","COI23","COI2",0,-78,0,"rot16"); - Node = new TNode("COI24","COI24","COI2",0,78,0,"rot16"); - Node = new TNode("COI31","COI31","COI3",0,-78,-381.399,"rot16"); - Node = new TNode("COI32","COI32","COI3",0,78,-381.399,"rot16"); - Node = new TNode("COI33","COI33","COI3",0,-78,0,"rot16"); - Node = new TNode("COI34","COI34","COI3",0,78,0,"rot16"); - Node = new TNode("COI41","COI41","COI4",0,-52.5,-381.399,"rot16"); - Node = new TNode("COI42","COI42","COI4",0,-52.5,0,"rot16"); - TNode *Node1536; - Node1536 = new TNode("TOFR1","TOFR1","TOFR",-324.776,.1088535,795.9348,"rot19"); - Node1536->cd(); - Node = new TNode("TSH81","TSH81","TSH8",0,61.22998,0,"rot17"); - Node = new TNode("TSH82","TSH82","TSH8",0,20.40999,0,"rot17"); - Node = new TNode("TSH83","TSH83","TSH8",0,-20.4099,0,"rot17"); - Node = new TNode("TSH84","TSH84","TSH8",0,-61.2299,0,"rot17"); - TNode *Node1537; - Node1537 = new TNode("CS181","CS181","CS18",-103.168,-40.7694,-3.44423,"rot20"); - Node1537->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1538; - Node1538 = new TNode("CS182","CS182","CS18",-95.4051,-40.7696,-2.64921,"rot21"); - Node1538->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1539; - Node1539 = new TNode("CS183","CS183","CS18",-87.6397,-40.77,-1.89632,"rot22"); - Node1539->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1540; - Node1540 = new TNode("CS184","CS184","CS18",-79.8683,-40.7701,-1.18584,"rot23"); - Node1540->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1541; - Node1541 = new TNode("CS185","CS185","CS18",-72.0926,-40.7704,-.514062,"rot24"); - Node1541->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1542; - Node1542 = new TNode("CS186","CS186","CS18",-64.3131,-40.7705,.1140971,"rot25"); - Node1542->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1543; - Node1543 = new TNode("CS187","CS187","CS18",-56.532,-40.7708,.7020263,"rot26"); - Node1543->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1544; - Node1544 = new TNode("CS188","CS188","CS18",-48.7484,-40.7709,1.24895,"rot27"); - Node1544->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1545; - Node1545 = new TNode("CS189","CS189","CS18",-40.959,-40.771,1.75451,"rot28"); - Node1545->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1546; - Node1546 = new TNode("CS1810","CS1810","CS18",-33.1694,-40.771,2.22057,"rot29"); - Node1546->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1547; - Node1547 = new TNode("CS1811","CS1811","CS18",-25.3764,-40.7711,2.645999,"rot30"); - Node1547->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1548; - Node1548 = new TNode("CS281","CS281","CS28",-18.0202,-40.771,2.794179,"rot31"); - Node1548->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1549; - Node1549 = new TNode("CS282","CS282","CS28",-11.1007,-40.7709,2.66957,"rot32"); - Node1549->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1550; - Node1550 = new TNode("CS283","CS283","CS28",-4.1827,-40.7705,2.51015,"rot33"); - Node1550->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1551; - Node1551 = new TNode("CS284","CS284","CS28",2.73476,-40.7704,2.31609,"rot34"); - Node1551->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1552; - Node1552 = new TNode("CS285","CS285","CS28",9.651869,-40.77,2.08657,"rot35"); - Node1552->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1553; - Node1553 = new TNode("CS286","CS286","CS28",16.56529,-40.7697,1.8229,"rot36"); - Node1553->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1554; - Node1554 = new TNode("CS287","CS287","CS28",23.47841,-40.7694,1.52381,"rot37"); - Node1554->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1555; - Node1555 = new TNode("CS288","CS288","CS28",30.3888,-40.7691,1.1908,"rot38"); - Node1555->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1556; - Node1556 = new TNode("CS289","CS289","CS28",37.29859,-40.7686,.8241362,"rot39"); - Node1556->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1557; - Node1557 = new TNode("CS2810","CS2810","CS28",44.20587,-40.7682,.4225945,"rot40"); - Node1557->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1558; - Node1558 = new TNode("CS381","CS381","CS38",50.66109,-40.7677,-.226868,"rot41"); - Node1558->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1559; - Node1559 = new TNode("CS382","CS382","CS38",56.6646,-40.7669,-1.12007,"rot42"); - Node1559->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1560; - Node1560 = new TNode("CS383","CS383","CS38",62.66056,-40.7663,-2.04222,"rot43"); - Node1560->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1561; - Node1561 = new TNode("CS384","CS384","CS38",68.65219,-40.7657,-2.99459,"rot44"); - Node1561->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1562; - Node1562 = new TNode("CS385","CS385","CS38",75.81973,-40.7653,-3.44408,"rot45"); - Node1562->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1563; - Node1563 = new TNode("CS386","CS386","CS38",80.62146,-40.7641,-4.98243,"rot46"); - Node1563->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1564; - Node1564 = new TNode("CS1812","CS1812","CS18",-97.2416,-.002302,.168385,"rot47"); - Node1564->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1565; - Node1565 = new TNode("CS1813","CS1813","CS18",-95.4058,-.000551,-2.67456,"rot48"); - Node1565->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1566; - Node1566 = new TNode("CS1814","CS1814","CS18",-87.6368,-.000589,-1.92194,"rot49"); - Node1566->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1567; - Node1567 = new TNode("CS1815","CS1815","CS18",-79.8649,-.000716,-1.21218,"rot50"); - Node1567->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1568; - Node1568 = new TNode("CS1816","CS1816","CS18",-72.0889,-.000771,-.541087,"rot51"); - Node1568->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1569; - Node1569 = new TNode("CS1817","CS1817","CS18",-64.3098,-.000817,.0859427,"rot52"); - Node1569->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1570; - Node1570 = new TNode("CS1818","CS1818","CS18",-56.5275,-.000811,.6733851,"rot53"); - Node1570->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1571; - Node1571 = new TNode("CS1819","CS1819","CS18",-48.7436,-.00077,1.21988,"rot54"); - Node1571->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1572; - Node1572 = new TNode("CS1820","CS1820","CS18",-40.9552,-.000692,1.72491,"rot55"); - Node1572->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1573; - Node1573 = new TNode("CS1821","CS1821","CS18",-33.1643,-.000561,2.19085,"rot56"); - Node1573->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1574; - Node1574 = new TNode("CS1822","CS1822","CS18",-25.3731,-.000499,2.6155,"rot57"); - Node1574->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1575; - Node1575 = new TNode("CS2811","CS2811","CS28",-18.0149,-.000203,2.76386,"rot58"); - Node1575->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1576; - Node1576 = new TNode("CS2812","CS2812","CS28",-11.0953,.0001422,2.63905,"rot59"); - Node1576->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1577; - Node1577 = new TNode("CS2813","CS2813","CS28",-4.17745,.0004743,2.47963,"rot60"); - Node1577->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1578; - Node1578 = new TNode("CS2814","CS2814","CS28",2.73893,.0009912,2.28547,"rot61"); - Node1578->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1579; - Node1579 = new TNode("CS2815","CS2815","CS28",9.65596,.0013922,2.05599,"rot62"); - Node1579->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1580; - Node1580 = new TNode("CS2816","CS2816","CS28",21.90389,.0005711,4.476429,"rot63"); - Node1580->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1581; - Node1581 = new TNode("CS2817","CS2817","CS28",23.48118,.0023368,1.49352,"rot64"); - Node1581->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1582; - Node1582 = new TNode("CS2818","CS2818","CS28",30.39337,.0029028,1.16105,"rot65"); - Node1582->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1583; - Node1583 = new TNode("CS2819","CS2819","CS28",37.30189,.0034573,.7947311,"rot66"); - Node1583->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1584; - Node1584 = new TNode("CS2820","CS2820","CS28",44.20787,.0039942,.3936395,"rot67"); - Node1584->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1585; - Node1585 = new TNode("CS387","CS387","CS38",50.66376,.0046699,-.254992,"rot68"); - Node1585->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1586; - Node1586 = new TNode("CS388","CS388","CS38",56.66593,.0054444,-1.14784,"rot69"); - Node1586->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1587; - Node1587 = new TNode("CS389","CS389","CS38",62.66249,.0062529,-2.06901,"rot70"); - Node1587->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1588; - Node1588 = new TNode("CS3810","CS3810","CS38",73.1885,.0060392,-.959662,"rot71"); - Node1588->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1589; - Node1589 = new TNode("CS3811","CS3811","CS38",74.63921,.0078356,-3.99949,"rot72"); - Node1589->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1590; - Node1590 = new TNode("CS3812","CS3812","CS38",80.62107,.0086336,-5.00652,"rot73"); - Node1590->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1591; - Node1591 = new TNode("CS1823","CS1823","CS18",-103.169,40.76858,-3.49074,"rot74"); - Node1591->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1592; - Node1592 = new TNode("CS1824","CS1824","CS18",-95.4057,40.76871,-2.69566,"rot75"); - Node1592->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1593; - Node1593 = new TNode("CS1825","CS1825","CS18",-87.6391,40.76876,-1.94261,"rot76"); - Node1593->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1594; - Node1594 = new TNode("CS1826","CS1826","CS18",-79.8678,40.76884,-1.23213,"rot77"); - Node1594->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1595; - Node1595 = new TNode("CS1827","CS1827","CS18",-72.0913,40.769,-.560201,"rot78"); - Node1595->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1596; - Node1596 = new TNode("CS1828","CS1828","CS18",-64.3125,40.76914,.0677361,"rot79"); - Node1596->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1597; - Node1597 = new TNode("CS1829","CS1829","CS18",-56.5306,40.76927,.655879,"rot80"); - Node1597->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1598; - Node1598 = new TNode("CS1830","CS1830","CS18",-48.7468,40.76948,1.20262,"rot81"); - Node1598->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1599; - Node1599 = new TNode("CS1831","CS1831","CS18",-40.9595,40.76966,1.70792,"rot82"); - Node1599->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1600; - Node1600 = new TNode("CS1832","CS1832","CS18",-33.1699,40.7699,2.17397,"rot83"); - Node1600->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1601; - Node1601 = new TNode("CS1833","CS1833","CS18",-25.3759,40.77027,2.59962,"rot84"); - Node1601->cd(); - Node = new TNode("WL181","WL181","WL18",13.5,0,0,"rot17"); - Node = new TNode("WR181","WR181","WR18",-13.5,0,0,"rot17"); - Node = new TNode("WF181","WF181","WF18",0,0,1.25,"rot17"); - Node = new TNode("WB181","WB181","WB18",0,0,-1.25,"rot17"); - Node = new TNode("WT181","WT181","WT18",0,18.90999,0,"rot17"); - Node = new TNode("WG181","WG181","WG18",0,-18.9099,0,"rot17"); - Node = new TNode("SZ181","SZ181","SZ18",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ182","SZ182","SZ18",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ183","SZ183","SZ18",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ184","SZ184","SZ18",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ185","SZ185","SZ18",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ186","SZ186","SZ18",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ187","SZ187","SZ18",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ188","SZ188","SZ18",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ189","SZ189","SZ18",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ1810","SZ1810","SZ18",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ1811","SZ1811","SZ18",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.5999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.5999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.5999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.5999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.5999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.5999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.5999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.5999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.5999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.5999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.5999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1602; - Node1602 = new TNode("CS2821","CS2821","CS28",-18.0196,40.77056,2.74786,"rot85"); - Node1602->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1603; - Node1603 = new TNode("CS2822","CS2822","CS28",-11.1001,40.77119,2.62313,"rot86"); - Node1603->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1604; - Node1604 = new TNode("CS2823","CS2823","CS28",-4.18222,40.77164,2.4637,"rot87"); - Node1604->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1605; - Node1605 = new TNode("CS2824","CS2824","CS28",2.73423,40.77225,2.26954,"rot88"); - Node1605->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1606; - Node1606 = new TNode("CS2825","CS2825","CS28",9.650329,40.77294,2.039969,"rot89"); - Node1606->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1607; - Node1607 = new TNode("CS2826","CS2826","CS28",16.56575,40.77342,1.77657,"rot90"); - Node1607->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1608; - Node1608 = new TNode("CS2827","CS2827","CS28",23.47784,40.77399,1.4773,"rot91"); - Node1608->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1609; - Node1609 = new TNode("CS2828","CS2828","CS28",30.39027,40.77476,1.1445,"rot92"); - Node1609->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1610; - Node1610 = new TNode("CS2829","CS2829","CS28",37.29706,40.7754,.7774105,"rot93"); - Node1610->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1611; - Node1611 = new TNode("CS2830","CS2830","CS28",44.20631,40.77605,.3763642,"rot94"); - Node1611->cd(); - Node = new TNode("WL281","WL281","WL28",13,0,0,"rot17"); - Node = new TNode("WR281","WR281","WR28",-13,0,0,"rot17"); - Node = new TNode("WF281","WF281","WF28",0,0,1.25,"rot17"); - Node = new TNode("WB281","WB281","WB28",0,0,-1.25,"rot17"); - Node = new TNode("WT281","WT281","WT28",0,18.90999,0,"rot17"); - Node = new TNode("WG281","WG281","WG28",0,-18.9099,0,"rot17"); - Node = new TNode("SZ281","SZ281","SZ28",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ282","SZ282","SZ28",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ283","SZ283","SZ28",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ284","SZ284","SZ28",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ285","SZ285","SZ28",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ286","SZ286","SZ28",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ287","SZ287","SZ28",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ288","SZ288","SZ28",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ289","SZ289","SZ28",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ2810","SZ2810","SZ28",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ2811","SZ2811","SZ28",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",.0999994,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",.0999994,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",.0999994,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",.0999994,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",.0999994,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",.0999994,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",.0999994,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",.0999994,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",.0999994,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",.0999994,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",.0999994,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1612; - Node1612 = new TNode("CS3813","CS3813","CS38",50.66054,40.77684,-.273262,"rot95"); - Node1612->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1613; - Node1613 = new TNode("CS3814","CS3814","CS38",56.66305,40.77769,-1.16673,"rot96"); - Node1613->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1614; - Node1614 = new TNode("CS3815","CS3815","CS38",62.65906,40.77882,-2.08901,"rot97"); - Node1614->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1615; - Node1615 = new TNode("CS3816","CS3816","CS38",68.65167,40.77973,-3.04116,"rot98"); - Node1615->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1616; - Node1616 = new TNode("CS3817","CS3817","CS38",74.63858,40.78079,-4.02078,"rot99"); - Node1616->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); - TNode *Node1617; - Node1617 = new TNode("CS3818","CS3818","CS38",80.62191,40.78171,-5.02879,"rot100"); - Node1617->cd(); - Node = new TNode("WL381","WL381","WL38",12.5,0,0,"rot17"); - Node = new TNode("WR381","WR381","WR38",-12.5,0,0,"rot17"); - Node = new TNode("WF381","WF381","WF38",0,0,1.25,"rot17"); - Node = new TNode("WB381","WB381","WB38",0,0,-1.25,"rot17"); - Node = new TNode("WT381","WT381","WT38",0,18.90999,0,"rot17"); - Node = new TNode("WG381","WG381","WG38",0,-18.9099,0,"rot17"); - Node = new TNode("SZ381","SZ381","SZ38",-9.39999,17.11,0,"rot17"); - Node = new TNode("SZ382","SZ382","SZ38",-9.39999,13.71,0,"rot17"); - Node = new TNode("SZ383","SZ383","SZ38",-9.39999,10.30998,0,"rot17"); - Node = new TNode("SZ384","SZ384","SZ38",-9.39999,6.909999,0,"rot17"); - Node = new TNode("SZ385","SZ385","SZ38",-9.39999,3.51,0,"rot17"); - Node = new TNode("SZ386","SZ386","SZ38",-9.39999,.1100006,0,"rot17"); - Node = new TNode("SZ387","SZ387","SZ38",-9.39999,-3.29,0,"rot17"); - Node = new TNode("SZ388","SZ388","SZ38",-9.39999,-6.69,0,"rot17"); - Node = new TNode("SZ389","SZ389","SZ38",-9.39999,-10.09,0,"rot17"); - Node = new TNode("SZ3810","SZ3810","SZ38",-9.39999,-13.4899,0,"rot17"); - Node = new TNode("SZ3811","SZ3811","SZ38",-9.39999,-16.8899,0,"rot17"); - Node = new TNode("PM081","PM081","PM08",-.400001,17.11,0,"rot18"); - Node = new TNode("PM082","PM082","PM08",-.400001,13.71,0,"rot18"); - Node = new TNode("PM083","PM083","PM08",-.400001,10.30998,0,"rot18"); - Node = new TNode("PM084","PM084","PM08",-.400001,6.909999,0,"rot18"); - Node = new TNode("PM085","PM085","PM08",-.400001,3.51,0,"rot18"); - Node = new TNode("PM086","PM086","PM08",-.400001,.1100006,0,"rot18"); - Node = new TNode("PM087","PM087","PM08",-.400001,-3.29,0,"rot18"); - Node = new TNode("PM088","PM088","PM08",-.400001,-6.69,0,"rot18"); - Node = new TNode("PM089","PM089","PM08",-.400001,-10.09,0,"rot18"); - Node = new TNode("PM0810","PM0810","PM08",-.400001,-13.4899,0,"rot18"); - Node = new TNode("PM0811","PM0811","PM08",-.400001,-16.8899,0,"rot18"); - Node1536->cd(); -Node1->cd(); - gBenchmark->Show("na49"); -} diff --git a/tutorials/na49geomfile.C b/tutorials/na49geomfile.C deleted file mode 100644 index 29ec7ed167119d596b5fbc0baa457528382e7e64..0000000000000000000000000000000000000000 --- a/tutorials/na49geomfile.C +++ /dev/null @@ -1,12 +0,0 @@ -{ -// Before executing this macro, the file makegeometry.C must have been executed -// - gBenchmark->Start("geometry"); - TFile na("na49.root","RECREATE"); - TGeometry *n49 =(TGeometry*)gROOT->FindObject("na49"); - n49->Write(); - na.Write(); - na.Close(); - gBenchmark->Show("geometry"); - //gROOT->Reset(); -} diff --git a/tutorials/na49geomfile.py b/tutorials/na49geomfile.py deleted file mode 100644 index f84e07313df39984aa4a643b0a5d05d48d3c0807..0000000000000000000000000000000000000000 --- a/tutorials/na49geomfile.py +++ /dev/null @@ -1,14 +0,0 @@ -# Before executing this macro, the file makegeometry.C must have been executed -# - -import ROOT - -ROOT.gBenchmark.Start( 'geometry' ) -na = ROOT.TFile( 'na49.root', 'RECREATE' ) -n49 = ROOT.gROOT.FindObject( 'na49' ) -n49.Write() -na.Write() -na.Close() -ROOT.gBenchmark.Show( 'geometry' ) -#gROOT.Reset(); - diff --git a/tutorials/na49view.C b/tutorials/na49view.C deleted file mode 100644 index 22cce5717edd58fdcb9e3ebe90e8b95c6250899d..0000000000000000000000000000000000000000 --- a/tutorials/na49view.C +++ /dev/null @@ -1,44 +0,0 @@ -{ - // - // This macro generates - // a begin_html <a href="gif/na49canvas.gif">Canvas</a> end_html - // with 2 views of the NA49 detector. - // - gROOT->Reset(); - c1 = new TCanvas("c1","The NA49 canvas",200,10,700,780); - - gBenchmark->Start("na49view"); - - all = new TPad("all","A Global view of NA49",0.02,0.02,0.48,0.82,28); - tof = new TPad("tof","One Time Of Flight element",0.52,0.02,0.98,0.82,28); - all->Draw(); - tof->Draw(); - na49title = new TPaveLabel(0.04,0.86,0.96,0.98,"Two views of the NA49 detector"); - na49title->SetFillColor(32); - na49title->Draw(); - // - TFile *nageom = new TFile("na49.root"); - TGeometry *n49 =(TGeometry*)gROOT->FindObject("na49"); - n49->SetBomb(1.2); - n49->cd(); //Set current geometry - all->cd(); //Set current pad - n49->Draw(); - c1->Update(); - tof->cd(); - TNode *TOFR1 = n49->GetNode("TOFR1"); - TOFR1->Draw(); - c1->Update(); - - gBenchmark->Show("na49view"); - - // To have a better and dynamic view of any of these pads, - // you can click with the middle button of your mouse to select it. - // Then select "View with x3d" in the VIEW menu of the Canvas. - // Once in x3d, you are in wireframe mode by default. - // You can switch to: - // - Hidden Line mode by typing E - // - Solid mode by typing R - // - Wireframe mode by typing W - // - Stereo mode by clicking S (and you need special glasses) - // - To leave x3d type Q -} diff --git a/tutorials/na49view.py b/tutorials/na49view.py deleted file mode 100644 index 6d7eba9864f3e1e49d62208d293edf0812c2226d..0000000000000000000000000000000000000000 --- a/tutorials/na49view.py +++ /dev/null @@ -1,45 +0,0 @@ -# -# This macro generates -# a begin_html <a href="gif/na49canvas.gif">Canvas</a> end_html -# with 2 views of the NA49 detector. -# - -import ROOT - -ROOT.gROOT.Reset(); -c1 = ROOT.TCanvas( 'c1', 'The NA49 canvas', 200, 10, 700, 780 ) - -ROOT.gBenchmark.Start( 'na49view' ) - -all = ROOT.TPad( 'all', 'A Global view of NA49', 0.02, 0.02, 0.48, 0.82, 28 ) -tof = ROOT.TPad( 'tof', 'One Time Of Flight element', 0.52, 0.02, 0.98, 0.82, 28 ) -all.Draw(); -tof.Draw(); -na49title = ROOT.TPaveLabel( 0.04, 0.86, 0.96, 0.98, 'Two views of the NA49 detector' ) -na49title.SetFillColor( 32 ) -na49title.Draw() -# -nageom = ROOT.TFile( 'na49.root' ) -n49 = ROOT.gROOT.FindObject( 'na49' ) -n49.SetBomb( 1.2 ) -n49.cd() # Set current geometry -all.cd() # Set current pad -n49.Draw() -c1.Update() -tof.cd() -TOFR1 = n49.GetNode( 'TOFR1' ) -TOFR1.Draw() -c1.Update() - -ROOT.gBenchmark.Show( 'na49view' ) - -# To have a better and dynamic view of any of these pads, -# you can click with the middle button of your mouse to select it. -# Then select "View with x3d" in the VIEW menu of the Canvas. -# Once in x3d, you are in wireframe mode by default. -# You can switch to: -# - Hidden Line mode by typing E -# - Solid mode by typing R -# - Wireframe mode by typing W -# - Stereo mode by clicking S (and you need special glasses) -# - To leave x3d type Q diff --git a/tutorials/na49visible.C b/tutorials/na49visible.C deleted file mode 100644 index 0fc07211ca1ed8610e08645a7375def975894ae3..0000000000000000000000000000000000000000 --- a/tutorials/na49visible.C +++ /dev/null @@ -1,38 +0,0 @@ -{ -// Set visibility attributes for the NA49 geometry -// Set Shape attributes -YK01->SetVisibility(0); -YK03->SetLineColor(2); -YK04->SetLineColor(5); -SEC1->SetLineColor(6); -SEC2->SetLineColor(6); -SEC3->SetLineColor(3); -SEC4->SetLineColor(3); -TOFR->SetLineColor(5); -COI1->SetLineColor(4); -COI2->SetLineColor(4); -COI3->SetLineColor(4); -COI4->SetLineColor(4); -CS38->SetLineColor(5); -CS28->SetLineColor(5); -CS18->SetLineColor(5); -TF4D->SetLineColor(3); -OGB4->SetLineColor(3); -TF3D->SetLineColor(3); -OGB3->SetLineColor(3); -TF4A->SetLineColor(3); -OGB4->SetLineColor(3); -TF3A->SetLineColor(3); -OGB3->SetLineColor(3); - -// Copy shape attributes (colors,etc) in nodes referencing the shapse -CAVE1->ImportShapeAttributes(); - -// Set Node attributes -CAVE1->SetVisibility(2); //node is not drawn but its sons are drawn -VT1_1->SetVisibility(-4); //Node is not drawn. Its immediate sons are drawn -VT2_1->SetVisibility(-4); -MTL_1->SetVisibility(-4); -MTR_1->SetVisibility(-4); -TOFR1->SetVisibility(-4); -} diff --git a/tutorials/na49visible.py b/tutorials/na49visible.py deleted file mode 100644 index dcc6af006d20549b65674cdcf2b77de7c3924933..0000000000000000000000000000000000000000 --- a/tutorials/na49visible.py +++ /dev/null @@ -1,42 +0,0 @@ -# Set visibility attributes for the NA49 geometry -# Set Shape attributes - -import ROOT - -ROOT.YK01.SetVisibility( 0 ) -ROOT.YK03.SetLineColor( 2 ) -ROOT.YK04.SetLineColor( 5 ) -ROOT.SEC1.SetLineColor( 6 ) -ROOT.SEC2.SetLineColor( 6 ) -ROOT.SEC3.SetLineColor( 3 ) -ROOT.SEC4.SetLineColor( 3 ) -ROOT.TOFR.SetLineColor( 5 ) -ROOT.COI1.SetLineColor( 4 ) -ROOT.COI2.SetLineColor( 4 ) -ROOT.COI3.SetLineColor( 4 ) -ROOT.COI4.SetLineColor( 4 ) -ROOT.CS38.SetLineColor( 5 ) -ROOT.CS28.SetLineColor( 5 ) -ROOT.CS18.SetLineColor( 5 ) -ROOT.TF4D.SetLineColor( 3 ) -ROOT.OGB4.SetLineColor( 3 ) -ROOT.TF3D.SetLineColor( 3 ) -ROOT.OGB3.SetLineColor( 3 ) -ROOT.TF4A.SetLineColor( 3 ) -ROOT.OGB4.SetLineColor( 3 ) -ROOT.TF3A.SetLineColor( 3 ) -ROOT.OGB3.SetLineColor( 3 ) - -# Copy shape attributes (colors,etc) in nodes referencing the shapse -CAVE1 = ROOT.gGeometry.FindObject( 'CAVE1' ) -CAVE1.ImportShapeAttributes( ) - -# Set Node attributes -CAVE1.SetVisibility( 2 ) # node is not drawn but its sons are drawn -ROOT.gGeometry.FindObject( 'VT1_1' ).SetVisibility( -4 ) # Node is not drawn. - # Its immediate sons are drawn -ROOT.gGeometry.FindObject( 'VT2_1' ).SetVisibility( -4 ) -ROOT.gGeometry.FindObject( 'MTL_1' ).SetVisibility( -4 ) -ROOT.gGeometry.FindObject( 'MTR_1' ).SetVisibility( -4 ) -ROOT.gGeometry.FindObject( 'TOFR1' ).SetVisibility( -4 ) - diff --git a/tutorials/ntuple1.C b/tutorials/ntuple1.C deleted file mode 100644 index 64f554849f56e1196a94c20a0823ee7b01106d8f..0000000000000000000000000000000000000000 --- a/tutorials/ntuple1.C +++ /dev/null @@ -1,106 +0,0 @@ -#include "TCanvas.h" -#include "TFile.h" -#include "TNtuple.h" -#include "TProfile.h" -#include "TBenchmark.h" -#include "TStyle.h" -#include "TPaveText.h" -#include "TFrame.h" -#include "TF1.h" - -void ntuple1() { - // - // To see the output of this macro, click begin_html <a href="gif/ntuple1.gif">here</a> end_html - // - - //just in case this script is executed multiple times - delete gROOT->GetListOfFiles()->FindObject("hsimple.root"); - delete gROOT->GetListOfCanvases()->FindObject("c1"); - - gBenchmark->Start("ntuple1"); - // - // Connect ROOT histogram/ntuple demonstration file - // generated by example hsimple.C. - TFile *f1 = new TFile("hsimple.root"); - // - // Create a canvas, with 4 pads - // - TCanvas *c1 = new TCanvas("c1","The Ntuple canvas",200,10,700,780); - TPad *pad1 = new TPad("pad1","This is pad1",0.02,0.52,0.48,0.98,21); - TPad *pad2 = new TPad("pad2","This is pad2",0.52,0.52,0.98,0.98,21); - TPad *pad3 = new TPad("pad3","This is pad3",0.02,0.02,0.48,0.48,21); - TPad *pad4 = new TPad("pad4","This is pad4",0.52,0.02,0.98,0.48,1); - pad1->Draw(); - pad2->Draw(); - pad3->Draw(); - pad4->Draw(); - // - // Change default style for the statistics box - gStyle->SetStatW(0.30); - gStyle->SetStatH(0.20); - gStyle->SetStatColor(42); - // - // Display a function of one ntuple column imposing a condition - // on another column. - pad1->cd(); - pad1->SetGrid(); - pad1->SetLogy(); - pad1->GetFrame()->SetFillColor(15); - TNtuple *ntuple = (TNtuple*)f1->Get("ntuple"); - ntuple->SetLineColor(1); - ntuple->SetFillStyle(1001); - ntuple->SetFillColor(45); - ntuple->Draw("3*px+2","px**2+py**2>1"); - ntuple->SetFillColor(38); - ntuple->Draw("2*px+2","pz>2","same"); - ntuple->SetFillColor(5); - ntuple->Draw("1.3*px+2","(px^2+py^2>4) && py>0","same"); - pad1->RedrawAxis(); - // - // Display the profile of two columns - // The profile histogram produced is saved in the current directory with - // the name hprofs - pad2->cd(); - pad2->SetGrid(); - pad2->GetFrame()->SetFillColor(32); - ntuple->Draw("pz:px>>hprofs","","goffprofs"); - TProfile *hprofs = (TProfile*)gDirectory->Get("hprofs"); - hprofs->SetMarkerColor(5); - hprofs->SetMarkerSize(0.7); - hprofs->SetMarkerStyle(21); - hprofs->Fit("pol2"); - // Get pointer to fitted function and modify its attributes - TF1 *fpol2 = hprofs->GetFunction("pol2"); - fpol2->SetLineWidth(4); - fpol2->SetLineColor(2); - // - // Display a scatter plot of two columns with a selection. - // Superimpose the result of another cut with a different marker color - pad3->cd(); - pad3->GetFrame()->SetFillColor(38); - pad3->GetFrame()->SetBorderSize(8); - ntuple->SetMarkerColor(1); - ntuple->Draw("py:px","pz>1"); - ntuple->SetMarkerColor(2); - ntuple->Draw("py:px","pz<1","same"); - // - // Display a 3-D scatter plot of 3 columns. Superimpose a different selection. - pad4->cd(); - ntuple->Draw("pz:py:px","(pz<10 && pz>6)+(pz<4 && pz>3)"); - ntuple->SetMarkerColor(4); - ntuple->Draw("pz:py:px","pz<6 && pz>4","same"); - ntuple->SetMarkerColor(5); - ntuple->Draw("pz:py:px","pz<4 && pz>3","same"); - TPaveText *l4 = new TPaveText(-0.9,0.5,0.9,0.95); - l4->SetFillColor(42); - l4->SetTextAlign(12); - l4->AddText("You can interactively rotate this view in 2 ways:"); - l4->AddText(" - With the RotateCube in clicking in this pad"); - l4->AddText(" - Selecting View with x3d in the View menu"); - l4->Draw(); - // - c1->cd(); - c1->Update(); - gStyle->SetStatColor(19); - gBenchmark->Show("ntuple1"); -} diff --git a/tutorials/ntuple1.py b/tutorials/ntuple1.py deleted file mode 100755 index c9c2fa244c66d1899067e6eb4c76059106b81ebc..0000000000000000000000000000000000000000 --- a/tutorials/ntuple1.py +++ /dev/null @@ -1,105 +0,0 @@ - -from ROOT import TCanvas, TPad, TFile, TPaveText -from ROOT import gBenchmark, gStyle, gROOT - -#gROOT.Reset() - -c1 = TCanvas('c1','The Ntuple canvas',200,10,700,780) - -gBenchmark.Start('ntuple1') - -# -# Connect ROOT histogram/ntuple demonstration file -# generated by example hsimple.C. -f1 = TFile('hsimple.root') - -# -# Inside this canvas, we create 4 pads -pad1 = TPad('pad1','This is pad1',0.02,0.52,0.48,0.98,21) -pad2 = TPad('pad2','This is pad2',0.52,0.52,0.98,0.98,21) -pad3 = TPad('pad3','This is pad3',0.02,0.02,0.48,0.48,21) -pad4 = TPad('pad4','This is pad4',0.52,0.02,0.98,0.48,1) -pad1.Draw() -pad2.Draw() -pad3.Draw() -pad4.Draw() - -# -# Change default style for the statistics box -gStyle.SetStatW(0.30) -gStyle.SetStatH(0.20) -gStyle.SetStatColor(42) - -# -# Display a function of one ntuple column imposing a condition -# on another column. -pad1.cd() -pad1.SetGrid() -pad1.SetLogy() -pad1.GetFrame().SetFillColor(15) -ntuple = gROOT.FindObject('ntuple') -ntuple.SetLineColor(1) -ntuple.SetFillStyle(1001) -ntuple.SetFillColor(45) -ntuple.Draw('3*px+2','px**2+py**2>1') -ntuple.SetFillColor(38) -ntuple.Draw('2*px+2','pz>2','same') -ntuple.SetFillColor(5) -ntuple.Draw('1.3*px+2','(px^2+py^2>4) && py>0','same') -c1.Update() - -# -# Display the profile of two columns -# The profile histogram produced is saved in the current directory with -# the name hprofs -pad2.cd() -pad2.SetGrid() -pad2.GetFrame().SetFillColor(32) -ntuple.Draw('pz:px>>hprofs','','goffprofs') -hprofs = gROOT.FindObject('hprofs') -hprofs.SetMarkerColor(5) -hprofs.SetMarkerSize(0.7) -hprofs.SetMarkerStyle(21) -hprofs.Fit('pol2') - -# -# Get pointer to fitted function and modify its attributes -fpol2 = hprofs.GetFunction('pol2') -fpol2.SetLineWidth(4) -fpol2.SetLineColor(2) -c1.Update() - -# -# Display a scatter plot of two columns with a selection. -# Superimpose the result of another cut with a different marker color -pad3.cd() -pad3.GetFrame().SetFillColor(38) -pad3.GetFrame().SetBorderSize(8) -ntuple.SetMarkerColor(1) -ntuple.Draw('py:px','pz>1') -ntuple.SetMarkerColor(2) -ntuple.Draw('py:px','pz<1','same') -c1.Update() - -# -# Display a 3-D scatter plot of 3 columns. Superimpose a different selection. -pad4.cd() -ntuple.Draw('pz:py:px','(pz<10 && pz>6)+(pz<4 && pz>3)') -ntuple.SetMarkerColor(4) -ntuple.Draw('pz:py:px','pz<6 && pz>4','same') -ntuple.SetMarkerColor(5) -ntuple.Draw('pz:py:px','pz<4 && pz>3','same') -l4 = TPaveText(-0.9,0.5,0.9,0.95) -l4.SetFillColor(42) -l4.SetTextAlign(12) -l4.AddText('You can interactively rotate this view in 2 ways:') -l4.AddText(' - With the RotateCube in clicking in this pad') -l4.AddText(' - Selecting View with x3d in the View menu') -l4.Draw() - -# -# done -c1.cd() -c1.Update() -gStyle.SetStatColor(19) -gBenchmark.Show('ntuple1') diff --git a/tutorials/ntuple1.rb b/tutorials/ntuple1.rb deleted file mode 100644 index 6b48bbc7b9ae803d65d0c9a9e8a09445cb394752..0000000000000000000000000000000000000000 --- a/tutorials/ntuple1.rb +++ /dev/null @@ -1,108 +0,0 @@ - -# ruby-root testsuite -# port of the original $ROOT/ntuple.C tutorial -# (20/01/2004) --elathan <elathan@phys.uoa.gr> - -gBenchmark = TBenchmark.new.Start("ntuple1") - -# Connect ROOT histogram/ntuple demonstration file -# generated by example hsimple.C. - -f1 = TFile.new("hsimple.root") - -# Create a canvas, with 4 pads -c1 = TCanvas.new("c1","The Ntuple canvas",200,10,700,780) -pad1 = TPad.new("pad1","This is pad1",0.02,0.52,0.48,0.98,21) -pad2 = TPad.new("pad2","This is pad2",0.52,0.52,0.98,0.98,21) -pad3 = TPad.new("pad3","This is pad3",0.02,0.02,0.48,0.48,21) -pad4 = TPad.new("pad4","This is pad4",0.52,0.02,0.98,0.48,1) - - pad1.Draw - pad2.Draw - pad3.Draw - pad4.Draw - - # Change default style for the statistics box - gStyle.SetStatW(0.30) - gStyle.SetStatH(0.20) - gStyle.SetStatColor(42) - - # Display a function of one ntuple column imposing a condition - # on another column. - - pad1.cd - pad1.SetGrid - pad1.SetLogy - pad1.GetFrame.SetFillColor(15) - -ntuple = f1.Get("ntuple").as("TNtuple") - ntuple.SetLineColor(1) - ntuple.SetFillStyle(1001) - ntuple.SetFillColor(45) - ntuple.Draw("3*px+2","px**2+py**2>1") - ntuple.SetFillColor(38) - ntuple.Draw("2*px+2","pz>2","same") - ntuple.SetFillColor(5) - ntuple.Draw("1.3*px+2","(px^2+py^2>4) && py>0","same") - - pad1.RedrawAxis - - # Display the profile of two columns - # The profile histogram produced is saved in the current directory with - # the name hprofs - pad2.cd - pad2.SetGrid - pad2.GetFrame.SetFillColor(32) - -ntuple.Draw("pz:px>>hprofs","","goffprofs") - -hprofs = gDirectory.Get("hprofs").as("TProfile") - hprofs.SetMarkerColor(5) - hprofs.SetMarkerSize(0.7) - hprofs.SetMarkerStyle(21) - hprofs.Fit("pol2") - -# Get pointer to fitted function and modify its attributes -fpol2 = hprofs.GetFunction("pol2") - fpol2.SetLineWidth(4) - fpol2.SetLineColor(2) - -# Display a scatter plot of two columns with a selection. -# Superimpose the result of another cut with a different marker color - - pad3.cd - pad3.GetFrame.SetFillColor(38) - pad3.GetFrame.SetBorderSize(8) - - ntuple.SetMarkerColor(1) - ntuple.Draw("py:px","pz>1") - ntuple.SetMarkerColor(2) - ntuple.Draw("py:px","pz<1","same") - -# Display a 3-D scatter plot of 3 columns. Superimpose a different selection. - - pad4.cd - - ntuple.Draw("pz:py:px","(pz<10 && pz>6)+(pz<4 && pz>3)") - ntuple.SetMarkerColor(4) - ntuple.Draw("pz:py:px","pz<6 && pz>4","same") - ntuple.SetMarkerColor(5) - ntuple.Draw("pz:py:px","pz<4 && pz>3","same") - -l4 = TPaveText.new(-0.9,0.5,0.9,0.95) - l4.SetFillColor(42) - l4.SetTextAlign(12) - l4.AddText("You can interactively rotate this view in 2 ways:") - l4.AddText(" - With the RotateCube in clicking in this pad") - l4.AddText(" - Selecting View with x3d in the View menu") - l4.Draw - - c1.cd - c1.Update - -gStyle.SetStatColor(19) - -gBenchmark.Show("ntuple1") - -gApplication.Run - diff --git a/tutorials/nucleus.C b/tutorials/nucleus.C deleted file mode 100755 index 4a80249afe5fc9e58a8979a105ea110e4e5e0294..0000000000000000000000000000000000000000 --- a/tutorials/nucleus.C +++ /dev/null @@ -1,69 +0,0 @@ -// use TGeo classes to draw a model of a nucleus -// -// Author: Otto Schaile - -void nucleus(Int_t nProtons = 40,Int_t nNeutrons = 60) -{ - Double_t NeutronRadius = 60, - ProtonRadius = 60, - NucleusRadius, - distance = 60; - Double_t vol = nProtons + nNeutrons; - vol = 3 * vol / (4 * TMath::Pi()); - - NucleusRadius = distance * TMath::Power(vol, 1./3.); -// cout << "NucleusRadius: " << NucleusRadius << endl; - - TGeoManager * geom = new TGeoManager("nucleus", "Model of a nucleus"); - geom->SetNsegments(40); - TGeoMaterial *matEmptySpace = new TGeoMaterial("EmptySpace", 0, 0, 0); - TGeoMaterial *matProton = new TGeoMaterial("Proton" , .938, 1., 10000.); - TGeoMaterial *matNeutron = new TGeoMaterial("Neutron" , .935, 0., 10000.); - - TGeoMedium *EmptySpace = new TGeoMedium("Empty", 1, matEmptySpace); - TGeoMedium *Proton = new TGeoMedium("Proton", 1, matProton); - TGeoMedium *Neutron = new TGeoMedium("Neutron",1, matNeutron); - -// the space where the nucleus lives (top container volume) - - Double_t worldx = 200.; - Double_t worldy = 200.; - Double_t worldz = 200.; - - TGeoVolume *top = geom->MakeBox("WORLD", EmptySpace, worldx, worldy, worldz); - geom->SetTopVolume(top); - - TGeoVolume * proton = geom->MakeSphere("proton", Proton, 0., ProtonRadius); - TGeoVolume * neutron = geom->MakeSphere("neutron", Neutron, 0., NeutronRadius); - proton->SetLineColor(kRed); - neutron->SetLineColor(kBlue); - - Double_t x, y, z, dummy; - Int_t i = 0; - while ( i< nProtons) { - gRandom->Rannor(x, y); - gRandom->Rannor(z,dummy); - if ( TMath::Sqrt(x*x + y*y + z*z) < 1) { - x = (2 * x - 1) * NucleusRadius; - y = (2 * y - 1) * NucleusRadius; - z = (2 * z - 1) * NucleusRadius; - top->AddNode(proton, i, new TGeoTranslation(x, y, z)); - i++; - } - } - i = 0; - while ( i < nNeutrons) { - gRandom->Rannor(x, y); - gRandom->Rannor(z,dummy); - if ( TMath::Sqrt(x*x + y*y + z*z) < 1) { - x = (2 * x - 1) * NucleusRadius; - y = (2 * y - 1) * NucleusRadius; - z = (2 * z - 1) * NucleusRadius; - top->AddNode(neutron, i + nProtons, new TGeoTranslation(x, y, z)); - i++; - } - } - geom->CloseGeometry(); - geom->SetVisLevel(4); - top->Draw("ogl"); -} diff --git a/tutorials/oldbenchmarks.C b/tutorials/oldbenchmarks.C deleted file mode 100644 index 8533afe39bf99ac7185aa1feaa19e0b565933333..0000000000000000000000000000000000000000 --- a/tutorials/oldbenchmarks.C +++ /dev/null @@ -1,16 +0,0 @@ -.x framework.C -.x hsimple.C -.x hsum.C -.x formula1.C -.x fillrandom.C -.x fit1.C -.x h1draw.C -.x graph.C -.x tornado.C -.x geometry.C -.x na49view.C -.x na49view.C -.x file.C -.x ntuple1.C -.x rootmarks.C -.x cleanup.C diff --git a/tutorials/pad2png.C b/tutorials/pad2png.C deleted file mode 100644 index ddc071623fce42f058b57c1b16ff826d80d4c5a5..0000000000000000000000000000000000000000 --- a/tutorials/pad2png.C +++ /dev/null @@ -1,22 +0,0 @@ -void pad2png() -{ - // Create a canvas and save as png. - - TCanvas *c = new TCanvas; - TH1F *h = new TH1F("gaus", "gaus", 100, -5, 5); - h->FillRandom("gaus", 10000); - h->Draw(); - - gSystem->ProcessEvents(); - - TImage *img = TImage::Create(); - - //img->FromPad(c, 10, 10, 300, 200); - img->FromPad(c); - - img->WriteImage("canvas.png"); - - delete h; - delete c; - delete img; -} diff --git a/tutorials/pclient.C b/tutorials/pclient.C deleted file mode 100644 index bfa47bed46613d1304b9bb64efa1de246c4eaee4..0000000000000000000000000000000000000000 --- a/tutorials/pclient.C +++ /dev/null @@ -1,33 +0,0 @@ -void pclient(int niter = 100, int bsize = 500000, int nsocks = 5) -{ - // Client program to test parallel sockets. - // - // To run this demo do the following: - // - Open two windows - // - Start ROOT in all two windows - // - Execute in the first window: .x pserv.C - // - Execute in the second window: .x pclient.C - // If you want to run the pserv.C on a different host, just change - // "localhost" in the TPSocket ctor below to the desried hostname. - - // Open connection to server - TPSocket *sock = new TPSocket("localhost", 9090, nsocks); - //TPSocket *sock = new TPSocket("pcroot2", 9090, nsocks); - - char *buf = new char[bsize]; - memset(buf, 65, bsize); - - sock->Send(niter, bsize); - - // send data to server - for (int i = 0; i < niter; i++) { - int ret = sock->SendRaw(buf, bsize); - if (ret < 0) { - printf("error sending\n"); - break; - } - } - - delete sock; - delete [] buf; -} diff --git a/tutorials/peaks.C b/tutorials/peaks.C deleted file mode 100644 index 5d520e376cf5720c38d44f28e69c59995da45696..0000000000000000000000000000000000000000 --- a/tutorials/peaks.C +++ /dev/null @@ -1,93 +0,0 @@ -// This script generates a random number of gaussian peaks -// on top of a linear background. -// The position of the peaks is found via TSpectrum and injected -// as initial values of parameters to make a global fit. -// The background is computed and drawn on top of the original histogram. -// -// To execute this example, do -// root > .x peaks.C (generate 10 peaks by default) -// root > .x peaks.C++ (use the compiler) -// root > .x peaks.C++(30) (generates 30 peaks) -// -// To execute only the first part of teh script (without fitting) -// specify a negative value for the number of peaks, eg -// root > .x peaks.C(-20) -// -// Author: Rene Brun - -#include "TCanvas.h" -#include "TH1.h" -#include "TF1.h" -#include "TRandom.h" -#include "TSpectrum.h" -#include "TVirtualFitter.h" - -Int_t npeaks = 30; -Double_t fpeaks(Double_t *x, Double_t *par) { - Double_t result = par[0] + par[1]*x[0]; - for (Int_t p=0;p<npeaks;p++) { - Double_t norm = par[3*p+2]; - Double_t mean = par[3*p+3]; - Double_t sigma = par[3*p+4]; - result += norm*TMath::Gaus(x[0],mean,sigma); - } - return result; -} -void peaks(Int_t np=10) { - npeaks = TMath::Abs(np); - TH1F *h = new TH1F("h","test",500,0,1000); - //generate n peaks at random - Double_t par[3000]; - par[0] = 0.8; - par[1] = -0.6/1000; - Int_t p; - for (p=0;p<npeaks;p++) { - par[3*p+2] = 1; - par[3*p+3] = 10+gRandom->Rndm()*980; - par[3*p+4] = 3+2*gRandom->Rndm(); - } - TF1 *f = new TF1("f",fpeaks,0,1000,2+3*npeaks); - f->SetNpx(1000); - f->SetParameters(par); - TCanvas *c1 = new TCanvas("c1","c1",10,10,1000,900); - c1->Divide(1,2); - c1->cd(1); - h->FillRandom("f",200000); - h->Draw(); - TH1F *h2 = (TH1F*)h->Clone("h2"); - //Use TSpectrum to find the peak candidates - TSpectrum *s = new TSpectrum(2*npeaks); - Int_t nfound = s->Search(h,2,"",0.10); - printf("Found %d candidate peaks to fit\n",nfound); - //Estimate background using TSpectrum::Background - TH1 *hb = s->Background(h,20,"same"); - c1->Update(); - if (np <0) return; - - //estimate linear background using a fitting method - c1->cd(2); - TF1 *fline = new TF1("fline","pol1",0,1000); - h->Fit("fline","qn"); - //Loop on all found peaks. Eliminate peaks at the background level - par[0] = fline->GetParameter(0); - par[1] = fline->GetParameter(1); - npeaks = 0; - Float_t *xpeaks = s->GetPositionX(); - for (p=0;p<nfound;p++) { - Float_t xp = xpeaks[p]; - Int_t bin = h->GetXaxis()->FindBin(xp); - Float_t yp = h->GetBinContent(bin); - if (yp-TMath::Sqrt(yp) < fline->Eval(xp)) continue; - par[3*npeaks+2] = yp; - par[3*npeaks+3] = xp; - par[3*npeaks+4] = 3; - npeaks++; - } - printf("Found %d useful peaks to fit\n",npeaks); - printf("Now fitting: Be patient\n"); - TF1 *fit = new TF1("fit",fpeaks,0,1000,2+3*npeaks); - TVirtualFitter::Fitter(h2,10+3*npeaks); //we may have more than the default 25 parameters - fit->SetParameters(par); - fit->SetNpx(1000); - h2->Fit("fit"); -} diff --git a/tutorials/peaks2.C b/tutorials/peaks2.C deleted file mode 100644 index 8b99f9b06b7c466f13f87e473d8d97d6c2d1f686..0000000000000000000000000000000000000000 --- a/tutorials/peaks2.C +++ /dev/null @@ -1,109 +0,0 @@ -// Example to illustrate the 2-d peak finder (class TSpectrum2). -// This script generates a random number of 2-d gaussian peaks -// The position of the peaks is found via TSpectrum2 -// To execute this example, do -// root > .x peaks2.C (generate up to 50 peaks by default) -// root > .x peaks2.C(10) (generate up to 10 peaks) -// root > .x peaks2.C+(200) (generate up to 200 peaks via ACLIC) -// -// The script will iterate generating a new histogram having -// between 5 and the maximun number of peaks specified. -// Double Click on the bottom right corner of the pad to go to a new spectrum -// To Quit, select the "quit" item in the canvas "File" menu -// -// Author: Rene Brun - -#include "TSpectrum2.h" -#include "TCanvas.h" -#include "TRandom.h" -#include "TH2.h" -#include "TF2.h" - -TSpectrum2 *s; -TH2F *h2 = 0; -Int_t npeaks = 30; -Double_t fpeaks2(Double_t *x, Double_t *par) { - Double_t result = 0.1; - for (Int_t p=0;p<npeaks;p++) { - Double_t norm = par[5*p+0]; - Double_t mean1 = par[5*p+1]; - Double_t sigma1 = par[5*p+2]; - Double_t mean2 = par[5*p+3]; - Double_t sigma2 = par[5*p+4]; - result += norm*TMath::Gaus(x[0],mean1,sigma1)*TMath::Gaus(x[1],mean2,sigma2); - } - return result; -} -void findPeak2() { - printf("Generating histogram with %d peaks\n",npeaks); - Int_t nbinsx = 200; - Int_t nbinsy = 200; - Double_t xmin = 0; - Double_t xmax = (Double_t)nbinsx; - Double_t ymin = 0; - Double_t ymax = (Double_t)nbinsy; - Double_t dx = (xmax-xmin)/nbinsx; - Double_t dy = (ymax-ymin)/nbinsy; - delete h2; - h2 = new TH2F("h2","test",nbinsx,xmin,xmax,nbinsy,ymin,ymax); - h2->SetStats(0); - //generate n peaks at random - Double_t par[3000]; - Int_t p; - for (p=0;p<npeaks;p++) { - par[5*p+0] = gRandom->Uniform(0.2,1); - par[5*p+1] = gRandom->Uniform(xmin,xmax); - par[5*p+2] = gRandom->Uniform(dx,5*dx); - par[5*p+3] = gRandom->Uniform(ymin,ymax); - par[5*p+4] = gRandom->Uniform(dy,5*dy); - } - TF2 *f2 = new TF2("f2",fpeaks2,xmin,xmax,ymin,ymax,5*npeaks); - f2->SetNpx(100); - f2->SetNpy(100); - f2->SetParameters(par); - TCanvas *c1 = (TCanvas*)gROOT->GetListOfCanvases()->FindObject("c1"); - if (!c1) c1 = new TCanvas("c1","c1",10,10,1000,700); - h2->FillRandom("f2",500000); - - //now the real stuff: Finding the peaks - Int_t nfound = s->Search(h2,2,"col"); - - //searching good and ghost peaks (approximation) - Int_t pf,ngood = 0; - Float_t *xpeaks = s->GetPositionX(); - Float_t *ypeaks = s->GetPositionY(); - for (p=0;p<npeaks;p++) { - for (Int_t pf=0;pf<nfound;pf++) { - Double_t diffx = TMath::Abs(xpeaks[pf] - par[5*p+1]); - Double_t diffy = TMath::Abs(ypeaks[pf] - par[5*p+3]); - if (diffx < 2*dx && diffy < 2*dy) ngood++; - } - } - if (ngood > nfound) ngood = nfound; - //Search ghost peaks (approximation) - Int_t nghost = 0; - for (pf=0;pf<nfound;pf++) { - Int_t nf=0; - for (Int_t p=0;p<npeaks;p++) { - Double_t diffx = TMath::Abs(xpeaks[pf] - par[5*p+1]); - Double_t diffy = TMath::Abs(ypeaks[pf] - par[5*p+3]); - if (diffx < 2*dx && diffy < 2*dy) nf++; - } - if (nf == 0) nghost++; - } - c1->Update(); - - s->Print(); - printf("Gener=%d, Found=%d, Good=%d, Ghost=%d\n",npeaks,nfound,ngood,nghost); - printf("\nDouble click in the bottom right corner of the pad to continue\n"); - c1->WaitPrimitive(); -} -void peaks2(Int_t maxpeaks=50) { - s = new TSpectrum2(2*maxpeaks); - while (1) { - npeaks = (Int_t)gRandom->Uniform(5,maxpeaks); - findPeak2(); - } -} - - diff --git a/tutorials/permute.C b/tutorials/permute.C deleted file mode 100644 index 11c43080d5cf0c90466fc66f30ed60bd9c477a9a..0000000000000000000000000000000000000000 --- a/tutorials/permute.C +++ /dev/null @@ -1,79 +0,0 @@ -// tutorial illustrating the use of TMath::Permute -// can be run with: -// root > .x permute.C -// root > .x permute.C+ with ACLIC - -#include <TMath.h> - -int permuteSimple1 () -{ - printf("\nTMath::Permute simple test\n"); - printf("==========================\n"); - char aa='a'; - Int_t a[4]; - Int_t i; - Int_t icount=0; - for(i=0; i<4; i++) a[i]=i; - do { - icount++; - for(Int_t i=0;i<4;printf("%c",static_cast<char>(aa+a[i++]))); printf("\n"); - } while(TMath::Permute(4,a)); - printf("Found %d permutations = 4!\n",icount); - return 0; -} - -int permuteSimple2 () -{ - printf("\nTMath::Permute simple test with repetition\n"); - printf("==========================================\n"); - char aa='a'-1; - Int_t a[6]; - Int_t i; - Int_t icount=0; - for(i=0; i<6; i++) a[i]=(i+2)/2; - do { - icount++; - for(Int_t i=0;i<5;printf("%c",static_cast<char>(aa+a[i++]))); printf("\n"); - } while(TMath::Permute(5,a)); - printf("Found %d permutations = 5!/(2! 2!)\n",icount); - return 0; -} - -Int_t permuteFancy() -{ - Int_t a[10]; - Int_t &n=a[0], &i=a[1]; - Int_t &e=a[2], &t=a[3]; - Int_t &h=a[4], &r=a[5]; - Int_t &f=a[6], &o=a[7]; - Int_t &s=a[8], &u=a[9]; - Int_t nine, three, neuf, trois; - - printf("\nTMath::Permute fancy test\n"); - printf("=========================\n"); - printf("This is a program to calculate the solution to the following problem\n"); - printf("Find the equivalence between letters and numbers so that\n\n"); - printf(" NINE*THREE = NEUF*TROIS\n\n"); - for(Int_t ii=0; ii<10; ii++) a[ii]=ii; - do { - nine=((n*10+i)*10+n)*10+e; - neuf=((n*10+e)*10+u)*10+f; - three=(((t*10+h)*10+r)*10+e)*10+e; - trois=(((t*10+r)*10+o)*10+i)*10+s; - if(nine*three==neuf*trois) { - printf("Solution found!\n\n"); - printf("T=%d N=%d E=%d S=%d F=%d H=%d R=%d I=%d O=%d U=%d\n",t,n,e,s,f,h,r,i,o,u); - printf("NINE=%d THREE=%d NEUF=%d TROIS=%d\n",nine,three,neuf,trois); - printf("NINE*THREE = NEUF*TROIS = %d\n",neuf*trois); - return 0; - } - } while(TMath::Permute(10,a)); - printf("No solutions found -- something is wrong here!\n"); - return 0; -} - -void permute() { - permuteSimple1(); - permuteSimple2(); - permuteFancy(); -} diff --git a/tutorials/person.dtd b/tutorials/person.dtd deleted file mode 100644 index f19c33bcdbcd3a195d0818e75342fc4e7c24e4d4..0000000000000000000000000000000000000000 --- a/tutorials/person.dtd +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> - - -<!ELEMENT PersonList (Person)+ > -<!ELEMENT Person (FirstName,LastName,Gender,DateOfBirth,Address) > -<!ATTLIST Person - ID CDATA #REQUIRED -> - -<!ELEMENT FirstName (#PCDATA) > -<!ELEMENT LastName (#PCDATA) > -<!ELEMENT Gender (#PCDATA) > - -<!ELEMENT DateOfBirth (Day,Month,Year) > -<!ELEMENT Day (#PCDATA) > -<!ELEMENT Month (#PCDATA) > -<!ELEMENT Year (#PCDATA) > - -<!ELEMENT Address (Street,PostalCode,Country) > -<!ELEMENT Street (#PCDATA) > -<!ELEMENT PostalCode (#PCDATA) > -<!ELEMENT Country (#PCDATA) > diff --git a/tutorials/person.xml b/tutorials/person.xml deleted file mode 100644 index 139360b65bdc30404c724c2a8d3ffc89bd9e5a97..0000000000000000000000000000000000000000 --- a/tutorials/person.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE PersonList PUBLIC "" "person.dtd" [ -]> -<PersonList> -<!-- - This is an example... ---> - <Person ID="1"> - <FirstName>Alicia</FirstName> - <LastName>Smith</LastName> - <Gender>F</Gender> - <DateOfBirth> - <Day>13</Day> - <Month>10</Month> - <Year>1978</Year> - </DateOfBirth> - <Address> - <Street>Grand Avenue, 143</Street> - <PostalCode>Toronto 2283</PostalCode> - <Country>Canada</Country> - </Address> - </Person> - <Person ID="2"> - <FirstName>Maria</FirstName> - <LastName>White</LastName> - <Gender>F</Gender> - <DateOfBirth> - <Day>29</Day> - <Month>5</Month> - <Year>1980</Year> - </DateOfBirth> - <Address> - <Street>Green Land Park, 143</Street> - <PostalCode>Vancouver BC V6C 2C2</PostalCode> - <Country>Canada</Country> - </Address> - </Person> -</PersonList> diff --git a/tutorials/piechart.C b/tutorials/piechart.C deleted file mode 100644 index 591150065f40eb8619be91e76e824105a52bb03f..0000000000000000000000000000000000000000 --- a/tutorials/piechart.C +++ /dev/null @@ -1,42 +0,0 @@ -void piechart() -{ - // Pie chart example. - - Float_t vals[] = {.2,1.1,.6,.9,2.3}; - Int_t colors[] = {2,3,4,5,6}; - Int_t nvals = sizeof(vals)/sizeof(vals[0]); - - TCanvas *cpie = new TCanvas("cpie","TPie test",700,700); - cpie->Divide(2,2); - - TPie *pie1 = new TPie("pie1","Pie with offset and no colors",nvals,vals); - TPie *pie2 = new TPie("pie2","Pie with radial labels",nvals,vals,colors); - TPie *pie3 = new TPie("pie3","Pie with tangential labels",nvals,vals,colors); - TPie *pie4 = new TPie("pie4","Pie with verbose labels",nvals,vals,colors); - - cpie->cd(1); - pie1->SetAngularOffset(30.); - pie1->SetEntryRadiusOffset( 4, 0.1); - pie1->SetRadius(.35); - pie1->Draw("3d"); - - cpie->cd(2); - pie2->SetEntryRadiusOffset(2,.05); - pie2->SetEntryLineColor(2,2); - pie2->SetEntryLineWidth(2,5); - pie2->SetEntryLineStyle(2,2); - pie2->SetEntryFillStyle(1,3030); - pie2->SetCircle(.5,.45,.3); - pie2->Draw("r"); - - cpie->cd(3); - pie3->SetEntryVal(0,.8); - pie3->SetLabelsOffset(-.1); - pie3->Draw("3d t"); - - cpie->cd(4); - pie4->SetRadius(.2); - pie4->SetLabelsOffset(.01); - pie4->SetLabelFormat("#splitline{%val (%perc)}{%txt}"); - pie4->Draw(); -} diff --git a/tutorials/portfolio.C b/tutorials/portfolio.C deleted file mode 100644 index 5e495f2cebc7aeeff774d193b8aac0f32ccf9d20..0000000000000000000000000000000000000000 --- a/tutorials/portfolio.C +++ /dev/null @@ -1,362 +0,0 @@ -#include "Riostream.h" -#include "TCanvas.h" -#include "TFile.h" -#include "TTree.h" -#include "TArrayF.h" -#include "TH1.h" -#include "TF1.h" -#include "TLegend.h" -#include "TSystem.h" - -#include "TMatrixD.h" -#include "TMatrixDSym.h" -#include "TVectorD.h" -#include "TQpProbDens.h" -#include "TGondzioSolver.h" - -// Running this macro : -// .x portfolio.C+ -// or gSystem->Load("libQuadp"); .L portFolio.C+; portfolio() -// -// This macro shows in detail the use of the quadratic programming package quadp . -// Let's first review what we exactly mean by "quadratic programming" : -// -// We want to minimize the following objective function : -// -// c^T x + ( 1/2 ) x^T Q x wrt. the vector x -// -// c is a vector and Q a symmetric positive definite matrix -// -// You might wonder what is so special about this objective which is quadratic in -// the unknowns, that can not be done by Minuit/Fumili . Well, we have in addition -// the following boundary conditions on x: -// -// A x = b -// clo <= C x <= cup -// xlo <= x <= xup , where A and C are arbitray matrices and the rest are vectors -// -// Not all these constraints have to be defined . Our example will only use xlo, A and b -// Still, this could be handled by a general non-linear minimizer like Minuit by introducing -// so-called "slack" variables . However, quadp is tailored to objective functions not more -// complex than being quadratic . This allows usage of solving techniques which are even -// stable for problems involving for instance 500 variables, 100 inequality conditions -// and 50 equality conditions . -// -// Enough said about quadratic programming, let's return to our example . -// Suppose, after a long day of doing physics, you have a look at your investments and -// realize that an early retirement is not possible, given the returns of your stocks . -// So what now ? ROOT to the rescue ...... -// -// In 1990 Harry Markowitz was awarded the Noble prize for economics : " his work provided new tools -// for weighing the risks and rewards of different investments and for valuing corporate stocks and bonds" . -// In plain English, he developed the tools to balance greed and fear, we want the maximum return -// with the minimum amount of risk. Our stock portfolio should be at the "Efficient Frontier", -// see http://www.riskglossary.com/articles/efficient_frontier.htm . -// To quantify better the risk we are willing to take, we define a utility function U(x) . It describes -// as a function of our total assets x, our "satisfaction" . A common choice is 1-exp(-k*x) (the reason for -// the exponent will be clear later) . The parameter k is the risk-aversion factor . For small values of k -// the satisfaction is small for small values of x; by increasing x the satisfaction can still be increased -// significantly . For large values of k, U(x) increases rapidly to 1, there is no increase in satisfaction -// for additional dollars earned . -// -// In summary : small k ==> risk-loving investor -// large k ==> risk-averse investor -// -// Suppose we have for nrStocks the historical daily returns r = closing_price(n) - closing_price(n-1) . -// Define a vector x of length of nrStocks, which contains the fraction of our money invested in -// each stock . We can calculate the average daily return z of our portfolio and its variance using -// the portfolio covariance Covar : -// -// z = r^T x and var = x^T Covar x -// -// Assuming that the daily returns have a Normal distribution, N(x), so will z with mean r^T x -// and variance x^T Covar x -// -// The expected value of the utility function is : E(u(x)) = Int (1-exp(-k*x) N(x) dx -// = 1-exp(-k (r^T x - 0.5 k x^T Covar x) ) -// -// Its value is maximized by maximizing r^T x -0.5 k x^T Covar x -// under the condition sum (x_i) = 1, meaning we want all our money invested and -// x_i >= 0 , we can not "short" a stock -// -// For 10 stocks we got the historical daily data for Sep-2000 to Jun-2004: -// -// GE : General Electric Co -// SUNW : Sun Microsystems Inc -// QCOM : Qualcomm Inc -// BRCM : Broadcom Corp -// TYC : Tyco International Ltd -// IBM : International Business Machines Corp -// AMAT : Applied Materials Inc -// C : Citigroup Inc -// PFE : Pfizer Inc -// HD : Home Depot Inc -// -// We calculate the optimal portfolio for 2.0 and 10.0 . -// -// Food for thought : -// - We assumed that the stock returns have a Normal distribution . Check this assumption by -// histogramming the stock returns ! -// - We used for the expected return in the objective function, the flat average over a time -// period . Investment firms will put significant resources in improving the return predicton . -// - If you want to trade significant number of shares, several other considerations have -// to be taken into account : -// + If you are going to buy, you will drive the price up (so-called "slippage") . -// This can be taken into account by adding terms to the objective -// (Google for "slippage optimization") -// + FTC regulations might have to be added to the inequality constraints -// - Investment firms do not want to be exposed to the "market" as defined by a broad -// index like the S&P and "hedge" this exposure away . A perfect hedge this can be added -// as an equality constrain, otherwise add an inequality constrain . - -const Int_t nrStocks = 10; -static const Char_t *stocks[] = - {"GE","SUNW","QCOM","BRCM","TYC","IBM","AMAT","C","PFE","HD"}; - -class TStockDaily { -public: - Int_t fDate; - Int_t fOpen; // 100*open_price - Int_t fHigh; // 100*high_price - Int_t fLow; // 100*low_price - Int_t fClose; // 100*close_price - Int_t fVol; - Int_t fCloseAdj; // 100*close_price adjusted for splits and dividend - - TStockDaily() { - fDate = fVol = fOpen = fHigh = fLow = fClose = fCloseAdj = 0; - } - virtual ~TStockDaily() {} - - ClassDef(TStockDaily,1) -}; - -//--------------------------------------------------------------------------- -Double_t RiskProfile(Double_t *x, Double_t *par) { - Double_t riskFactor = par[0]; - return 1-TMath::Exp(-riskFactor*x[0]); -} - -//--------------------------------------------------------------------------- -TArrayF &StockReturn(TFile *f,const TString &name,Int_t sDay,Int_t eDay) -{ - TTree *tDaily = (TTree*)f->Get(name); - TStockDaily *data = 0; - tDaily->SetBranchAddress("daily",&data); - TBranch *b_closeAdj = tDaily->GetBranch("fCloseAdj"); - TBranch *b_date = tDaily->GetBranch("fDate"); - - //read only the "adjusted close" branch for all entries - const Int_t nrEntries = (Int_t)tDaily->GetEntries(); - TArrayF closeAdj(nrEntries); - for (Int_t i = 0; i < nrEntries; i++) { - b_date->GetEntry(i); - b_closeAdj->GetEntry(i); - if (data->fDate >= sDay && data->fDate <= eDay) -#ifdef __CINT__ - closeAdj.AddAt(data->fCloseAdj/100. , i ); -#else - closeAdj[i] = data->fCloseAdj/100.; -#endif - } - - TArrayF *r = new TArrayF(nrEntries-1); - for (Int_t i = 1; i < nrEntries; i++) -// (*r)[i-1] = closeAdj[i]-closeAdj[i-1]; -#ifdef __CINT__ - r->AddAt(closeAdj[i]/closeAdj[i-1],1); -#else - (*r)[i-1] = closeAdj[i]/closeAdj[i-1]; -#endif - - return *r; -} - -#ifndef __MAKECINT__ -//--------------------------------------------------------------------------- -TVectorD OptimalInvest(Double_t riskFactor,TVectorD r,TMatrixDSym Covar) -{ -// what the quadratic programming package will do: -// -// minimize c^T x + ( 1/2 ) x^T Q x -// subject to A x = b -// clo <= C x <= cup -// xlo <= x <= xup -// what we want : -// -// maximize c^T x - k ( 1/2 ) x^T Q x -// subject to sum_x x_i = 1 -// 0 <= x_i - - // We have nrStocks weights to determine, - // 1 equality- and 0 inequality- equations (the simple square boundary - // condition (xlo <= x <= xup) does not count) - - const Int_t nrVar = nrStocks; - const Int_t nrEqual = 1; - const Int_t nrInEqual = 0; - - // flip the sign of the objective function because we want to maximize - TVectorD c = -1.*r; - TMatrixDSym Q = riskFactor*Covar; - - // equality equation - TMatrixD A(nrEqual,nrVar); A = 1; - TVectorD b(nrEqual); b = 1; - - // inequality equation - // - // - although not applicable in the current situatio since nrInEqual = 0, one - // has to specify not only clo and cup but also an index vector iclo and icup, - // whose values are either 0 or 1 . If iclo[j] = 1, the lower boundary condition - // is active on x[j], etc. ... - - TMatrixD C (nrInEqual,nrVar); - TVectorD clo (nrInEqual); - TVectorD cup (nrInEqual); - TVectorD iclo(nrInEqual); - TVectorD icup(nrInEqual); - - // simple square boundary condition : 0 <= x_i, so only xlo is relevant . - // Like for clo and cup above, we have to define an index vector ixlo and ixup . - // Since each variable has the lower boundary, we can set the whole vector - // ixlo = 1 - - TVectorD xlo (nrVar); xlo = 0; - TVectorD xup (nrVar); xup = 0; - TVectorD ixlo(nrVar); ixlo = 1; - TVectorD ixup(nrVar); ixup = 0; - - // setup the quadratic programming problem . Since a small number of variables are - // involved and "Q" has everywhere entries, we chose the dense version "TQpProbDens" . - // In case of a sparse formulation, simply replace all "Dens" by "Sparse" below and - // use TMatrixDSparse instead of TMatrixDSym and TMatrixD - - TQpProbDens *qp = new TQpProbDens(nrVar,nrEqual,nrInEqual); - - // stuff all the matrices/vectors defined above in the proper places - - TQpDataDens *prob = (TQpDataDens *)qp->MakeData(c,Q,xlo,ixlo,xup,ixup,A,b,C,clo,iclo,cup,icup); - - // setup the nrStock variables, vars->fX will contain the final solution - - TQpVar *vars = qp->MakeVariables(prob); - TQpResidual *resid = qp->MakeResiduals(prob); - - // Now we have to choose the method of solving, either TGondzioSolver or TMehrotraSolver - // The Gondzio method is more sophisticated and therefore numerically more involved - // If one want the Mehrotra method, simply replace "Gondzio" by "Mehrotra" . - - TGondzioSolver *s = new TGondzioSolver(qp,prob); - const Int_t status = s->Solve(prob,vars,resid); - - const TVectorD weight = vars->fX; - - delete qp; delete prob; delete vars; delete resid; delete s; - if (status != 0) { - cout << "Could not solve this problem." <<endl; - return TVectorD(nrStocks); - } - - return weight; -} -#endif - -//--------------------------------------------------------------------------- -void portfolio() -{ - const Int_t sDay = 20000809; - const Int_t eDay = 20040602; - - const char *fname = "stock.root"; - TFile *f = 0; - if (!gSystem->AccessPathName(fname)) { - f = TFile::Open(fname); - } else { - printf("accessing %s file from http://root.cern.ch/files\n",fname); - f = TFile::Open(Form("http://root.cern.ch/files/%s",fname)); - } - if (!f) return; - - TArrayF *data = new TArrayF[nrStocks]; - for (Int_t i = 0; i < nrStocks; i++) { - const TString symbol = stocks[i]; - data[i] = StockReturn(f,symbol,sDay,eDay); - } - - const Int_t nrData = data[0].GetSize(); - - TVectorD r(nrStocks); - for (Int_t i = 0; i < nrStocks; i++) - r[i] = data[i].GetSum()/nrData; - - TMatrixDSym Covar(nrStocks); - for (Int_t i = 0; i < nrStocks; i++) { - for (Int_t j = 0; j <= i; j++) { - Double_t sum = 0.; - for (Int_t k = 0; k < nrData; k++) - sum += (data[i][k]-r[i])*(data[j][k]-r[j]); - Covar(i,j) = Covar(j,i) = sum/nrData; - } - } - - const TVectorD weight1 = OptimalInvest(2.0,r,Covar); - const TVectorD weight2 = OptimalInvest(10.,r,Covar); - - cout << "stock daily daily w1 w2" <<endl; - cout << "symb return sdv " <<endl; - for (Int_t i = 0; i < nrStocks; i++) - printf("%s\t: %.3f %.3f %.3f %.3f\n",stocks[i],r[i],TMath::Sqrt(Covar[i][i]),weight1[i],weight2[i]); - - TCanvas *c1 = new TCanvas("c1","Portfolio Optimizations",10,10,800,900); - c1->Divide(1,2); - - // utility function / risk profile - - c1->cd(1); - gPad->SetGridx(); - gPad->SetGridy(); - - TF1 *f1 = new TF1("f1",RiskProfile,0,2.5,1); - f1->SetParameter(0,2.0); - f1->SetLineColor(49); - f1->Draw("AC"); - f1->GetHistogram()->SetXTitle("dollar"); - f1->GetHistogram()->SetYTitle("utility"); - f1->GetHistogram()->SetMinimum(0.0); - f1->GetHistogram()->SetMaximum(1.0); - TF1 *f2 = new TF1("f2",RiskProfile,0,2.5,1); - f2->SetParameter(0,10.); - f2->SetLineColor(50); - f2->Draw("CSAME"); - - TLegend *legend1 = new TLegend(0.50,0.65,0.70,0.82); - legend1->AddEntry(f1,"1-exp(-2.0*x)","l"); - legend1->AddEntry(f2,"1-exp(-10.*x)","l"); - legend1->Draw(); - - // vertical bar chart of portfolio distribution - - c1->cd(2); - TH1F *h1 = new TH1F("h1","Portfolio Distribution",nrStocks,0,0); - TH1F *h2 = new TH1F("h2","Portfolio Distribution",nrStocks,0,0); - h1->SetStats(0); - h1->SetFillColor(49); - h2->SetFillColor(50); - h1->SetBarWidth(0.45); - h1->SetBarOffset(0.1); - h2->SetBarWidth(0.4); - h2->SetBarOffset(0.55); - for (Int_t i = 0; i < nrStocks; i++) { - h1->Fill(stocks[i],weight1[i]); - h2->Fill(stocks[i],weight2[i]); - } - - h1->Draw("BAR2"); - h2->Draw("BAR2SAME"); - - TLegend *legend2 = new TLegend(0.50,0.65,0.70,0.82); - legend2->AddEntry(h1,"high risk","f"); - legend2->AddEntry(h2,"low risk","f"); - legend2->Draw(); -} diff --git a/tutorials/principal.C b/tutorials/principal.C deleted file mode 100644 index 4b4ab6bcbcbac6f0f450b90347a7a5a08e67f21d..0000000000000000000000000000000000000000 --- a/tutorials/principal.C +++ /dev/null @@ -1,92 +0,0 @@ -#include "TPrincipal.h" -#include "iomanip.h" - -void principal(Int_t n=10, Int_t m=10000) -{ - // - // Principal Components Analysis (PCA) example - // - // Example of using TPrincipal as a stand alone class. - // - // We create n-dimensional data points, where c = trunc(n / 5) + 1 - // are correlated with the rest n - c randomly distributed variables. - // - // Here's the plot of the eigenvalues Begin_Html - // <IMG SRC="gif/principal_eigen.gif"> - // End_Html - - Int_t c = n / 5 + 1; - - cout << "*************************************************" << endl; - cout << "* Principal Component Analysis *" << endl; - cout << "* *" << endl; - cout << "* Number of variables: " << setw(4) << n - << " *" << endl; - cout << "* Number of data points: " << setw(8) << m - << " *" << endl; - cout << "* Number of dependent variables: " << setw(4) << c - << " *" << endl; - cout << "* *" << endl; - cout << "*************************************************" << endl; - - - // Initilase the TPrincipal object. Use the empty string for the - // final argument, if you don't wan't the covariance - // matrix. Normalising the covariance matrix is a good idea if your - // variables have different orders of magnitude. - TPrincipal* principal = new TPrincipal(n,"N"); - - // Use a pseudo-random number generator - TRandom* random = new TRandom; - - // Make the m data-points - // Make a variable to hold our data - // Allocate memory for the data point - Double_t* data = new Double_t[n]; - for (Int_t i = 0; i < m; i++) { - - // First we create the un-correlated, random variables, according - // to one of three distributions - for (Int_t j = 0; j < n - c; j++) { - if (j % 3 == 0) - data[j] = random->Gaus(5,1); - else if (j % 3 == 1) - data[j] = random->Poisson(8); - else - data[j] = random->Exp(2); - } - - // Then we create the correlated variables - for (Int_t j = 0 ; j < c; j++) { - data[n - c + j] = 0; - for (Int_t k = 0; k < n - c - j; k++) - data[n - c + j] += data[k]; - } - - // Finally we're ready to add this datapoint to the PCA - principal->AddRow(data); - } - - // We delete the data after use, since TPrincipal got it by now. - delete [] data; - - // Do the actual analysis - principal->MakePrincipals(); - - // Print out the result on - principal->Print(); - - // Test the PCA - principal->Test(); - - // Make some histograms of the orginal, principal, residue, etc data - principal->MakeHistograms(); - - // Make two functions to map between feature and pattern space - principal->MakeCode(); - - // Start a browser, so that we may browse the histograms generated - // above - TBrowser* b = new TBrowser("principalBrowser", principal); - -} diff --git a/tutorials/pserv.C b/tutorials/pserv.C deleted file mode 100644 index 0d40aa4122175ba4131681f0fce9e2c15591ab89..0000000000000000000000000000000000000000 --- a/tutorials/pserv.C +++ /dev/null @@ -1,56 +0,0 @@ -void pserv() -{ - // Server program to test parallel sockets. - // - // To run this demo do the following: - // - Open two windows - // - Start ROOT in all two windows - // - Execute in the first window: .x pserv.C - // - Execute in the second window: .x pclient.C - - // Open a parallel server socket looking for connections on a named - // service or on a specified port. - //TPServerSocket *ss = new TServerSocket("rootserv", kTRUE); - TPServerSocket *ss = new TPServerSocket(9090, kTRUE); - - // Accept a connection and return a full-duplex communication socket. - TPSocket *sock = ss->Accept(); - delete ss; - - int niter, bsize; - sock->Recv(niter, bsize); - - printf("Receive %d buffers of %d bytes over %d parallel sockets...\n", - niter, bsize, sock->GetSize()); - - char *buf = new char[bsize]; - - // start timer - TStopwatch timer; - timer.Start(); - - // accept data from client - for (int i = 0; i < niter; i++) { - memset(buf, 0, bsize); - int ret = sock->RecvRaw(buf, bsize); - if (ret < 0) { - printf("error receiving\n"); - break; - } - if (buf[0] != 65) { - printf("received data corrupted\n"); - break; - } - } - - delete sock; - delete [] buf; - - // stop timer and print results - timer.Stop(); - Double_t rtime = timer.RealTime(); - Double_t ctime = timer.CpuTime(); - - printf("%d bytes received in %f seconds\n", niter*bsize, rtime); - if (rtime > 0) printf("%5.2f MB/s\n", Double_t(niter*bsize/1024/1024)/rtime); -} diff --git a/tutorials/psexam.C b/tutorials/psexam.C deleted file mode 100644 index d5bab6af91b91fcfbceef6e31f180f472db083cd..0000000000000000000000000000000000000000 --- a/tutorials/psexam.C +++ /dev/null @@ -1,33 +0,0 @@ -{ -// Example of text produced with PostScript illustrating how to use -// the various text control characters, national accents, sub and superscripts - - gROOT->Reset(); - c1 = new TCanvas("c1","PostScript examples",100,10,600,700); - - title = new TPaveLabel(.2,.9,.8,.95,"Printed text with PostScript"); - title->SetFillColor(16); - title->Draw(); - - pt1 = new TPaveText(.1,.5,.9,.8); - pt1->SetTextFont(61); - pt1->SetFillColor(18); - pt1->AddText("K\355nstler in den gr\345\373ten st\311dten"); - pt1->AddText("\253\265 l@'\372uvre on conna\333t l@'artisan\273"); - pt1->AddText("(proverbe fran\321ais)"); - pt1->AddText("\252\241Ma\337ana\41 \322ag&\306!das&\313!\272, dit l@'\323l\325ve."); - pt1->Draw(); - - - pt2 = new TPaveText(.1,.1,.9,.4); - pt2->SetTextFont(61); - pt2->SetFillColor(18); - pt2->SetTextSize(0.04); - pt2->AddText("e^+!e^-! '5# Z^0! '5# ll&^-!, qq&^\261!"); - pt2->AddText("| a&^`\256#! \267 b&^`\256#! | = `\345# a^i?jk!+b^kj?i"); - pt2->AddText("i ('d#?`m!y#&^\261!`g^m#! + m `y#&^\261! = 0' r# (~r# + m^2!)`y# = 0"); - pt2->AddText("L?em! = e J^`m#?em! A?`m#! , J^`m#?em!=l&^\261!` g?m#!l , M^j?i! = `\345&?a#! A?`a! t^a#j?i! "); - pt2->Draw(); - - c1->Print("psexam.ps"); -} diff --git a/tutorials/pstable.C b/tutorials/pstable.C deleted file mode 100644 index d46b47662f7a9fe28e8935ce39fcffd875b6fbef..0000000000000000000000000000000000000000 --- a/tutorials/pstable.C +++ /dev/null @@ -1,135 +0,0 @@ -void pstable() -{ -// program to display all possible types of ROOT/Postscript characters - - char *symbol1[] = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N", - "O","P","Q","R","S","T","U","V","W","X","Y","Z", - "0","1","2","3","4","5","6","7","8","9", - ".",",","+","-","*","/","=","(",")","{","}","END"}; - - char *symbol2[] = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n", - "o","p","q","r","s","t","u","v","w","x","y","z", - ":","\;","\@","\\","\_","\|","\%", - "@'","<",">","[","]","\42","@\43","@\136", - "@\77","@\41","@&","$","@\176"," ","END"}; - - char *symbol3[] = {"\241","\242","\243","\244","\245","\246","\247","\250", - "\251","\252","\253","\254","\255","\256","\257","\260", - "\261","\262","\263","\264","\265","\266","\267","\270", - "\271","\272","\273","\274","\275","\276","\277","\300", - "\301","\302","\303","\304","\305","\306","\307","\310", - "\311","\312","\313","\314","\315","\316","\317","END"}; - - char *symbol4[] = {"\321","\322","\323","\324","\325","\326","\327","\330", - "\331","\332","\333","\334","\335","\336","\337","\340", - "\341","\342","\343","\344","\345","\346","\347","\340", - "\351","\352","\353","\354","\355","\356","\357","\360", - "\361","\362","\363","\364","\365","\366","\367","\370", - "\371","\372","\373","\374","\375","\376","\377","END"}; - - char *symbol5[] = {"\177","\200","\201","\202","\203","\204","\205","\206", - "\207","\210","\211","\212","\213","\214","\215","\216", - "\217","\220","\221","\222","\223","\224","\225","\226", - "\227","\230","\231","\232","\233","\234","\235","\236", - "\237","\240","END"}; - - Float_t xrange = 18; - Float_t yrange = 25; - Int_t w = 650; - Int_t h = w*yrange/xrange; - - TCanvas *c1 = new TCanvas("c1","c1",200,10,w,h); - c1->Range(0,0,xrange,yrange); - - TText *t = new TText(0,0,"a"); - t->SetTextSize(0.02); - t->SetTextFont(62); - t->SetTextAlign(22); - - table(0.5,0.5*xrange-0.5,yrange,t,symbol1,0); - table(0.5*xrange+0.5,xrange-0.5,yrange,t,symbol2,0); - TText *tlabel = new TText(0,0,"a"); - tlabel->SetTextFont(72); - tlabel->SetTextSize(0.018); - tlabel->SetTextAlign(22); - tlabel->DrawText(0.5*xrange,1.3,"Input characters are standard keyboard characters"); - c1->Modified(); - c1->Update(); - c1->Print("pstable1.ps"); - - TCanvas *c2 = new TCanvas("c2","c2",220,20,w,h); - c2->Range(0,0,xrange,yrange); - - table(0.5,0.5*xrange-0.5,yrange,t,symbol3,1); - table(0.5*xrange+0.5,xrange-0.5,yrange,t,symbol4,1); - tlabel->DrawText(0.5*xrange,1.3,"Input characters using backslash and octal numbers"); - c2->Modified(); - c2->Update(); - c2->Print("pstable2.ps"); - - TCanvas *c3 = new TCanvas("c3","c3",240,20,w,h); - c3->Range(0,0,xrange,yrange); - - table(0.5,0.5*xrange-0.5,yrange,t,symbol5,1); - tlabel->DrawText(0.5*xrange,1.3,"Input characters using backslash and octal numbers"); - c3->Modified(); - c3->Update(); - c3->Print("pstable3.ps"); -} -void table(Float_t x1, Float_t x2, Float_t yrange, TText *t, char **symbol, Bool_t octal) -{ - Int_t i; - Int_t n = 0; - for (i=0;i<1000;i++) { - if (!strcmp(symbol[i],"END")) break; - n++; - } - Float_t y1 = 2.5; - Float_t y2 = yrange - 0.5; - Float_t dx = (x2-x1)/5; - Float_t dy = (y2 - 1 -y1)/(n+1); - Float_t y = y2 - 1 - 0.7*dy; - Float_t xc0 = x1 + 0.5*dx; - Float_t xc1 = xc0 + dx; - Float_t xc2 = xc1 + dx; - Float_t xc3 = xc2 + dx; - Float_t xc4 = xc3 + dx; - TLine *line = new TLine(); - line->DrawLine(x1,y1,x1,y2); - line->DrawLine(x1,y1,x2,y1); - line->DrawLine(x1,y2,x2,y2); - line->DrawLine(x2,y1,x2,y2); - line->DrawLine(x1,y2-1,x2,y2-1); - line->DrawLine(x1+ dx,y1,x1+ dx,y2); - line->DrawLine(x1+2*dx,y1,x1+2*dx,y2); - line->DrawLine(x1+3*dx,y1,x1+3*dx,y2); - line->DrawLine(x1+4*dx,y1,x1+4*dx,y2); - TText *tit = new TText(0,0,"a"); - tit->SetTextSize(0.015); - tit->SetTextFont(72); - tit->SetTextAlign(22); - tit->DrawText(xc0,y2-0.6,"Input"); - tit->DrawText(xc1,y2-0.6,"Roman"); - tit->DrawText(xc2,y2-0.6,"Greek"); - tit->DrawText(xc3,y2-0.6,"Special"); - tit->DrawText(xc4,y2-0.6,"Zapf"); - char text[12]; - for (i=0;i<n;i++) { - if (octal) { - unsigned char value = *symbol[i]; - sprintf(text,"@\\ %3o",value); - } else { - strcpy(text,symbol[i]); - } - t->DrawText(xc0,y,text); - sprintf(text,"%s",symbol[i]); - t->DrawText(xc1,y,text); - sprintf(text,"`%s",symbol[i]); - t->DrawText(xc2,y,text); - sprintf(text,"'%s",symbol[i]); - t->DrawText(xc3,y,text); - sprintf(text,"~%s",symbol[i]); - t->DrawText(xc4,y,text); - y -= dy; - } -} diff --git a/tutorials/psview.C b/tutorials/psview.C deleted file mode 100644 index 3e084daea20d0454618b0704aa6d510fa592ec8f..0000000000000000000000000000000000000000 --- a/tutorials/psview.C +++ /dev/null @@ -1,29 +0,0 @@ -// An example how to display PS, EPS, PDF files in canvas -//Author: Valeriy Onoutchin - -#include "TROOT.h" -#include "TCanvas.h" -#include "TImage.h" - -void psview() -{ - // set to batch mode -> do not display graphics - gROOT->SetBatch(1); - - // create PostScript file psexam.ps - gROOT->Macro("psexam.C"); - - // back to graphics mode - gROOT->SetBatch(0); - - // create an image from PS file - TImage *ps = TImage::Open("psexam.ps"); - - if (!ps) { - printf("GhostScript (gs) program must be installed\n"); - return; - } - - new TCanvas("psexam", "Example how to display PS file in canvas", 500, 650); - ps->Draw("xxx"); -} diff --git a/tutorials/pythiaExample.C b/tutorials/pythiaExample.C deleted file mode 100644 index 784e03558b348c0be0d722c030fd32af29a54326..0000000000000000000000000000000000000000 --- a/tutorials/pythiaExample.C +++ /dev/null @@ -1,248 +0,0 @@ -//____________________________________________________________________ -// -// To make an event sample (of size 100) do -// -// shell> root -// root [0] .L pythiaExample.C -// root [1] makeEventSample(1000) -// -// To start the tree view on the generated tree, do -// -// shell> root -// root [0] .L pythiaExample.C -// root [1] showEventSample() -// -// -// The following session: -// shell> root -// root [0] .x pythiaExample.C(500) -// will execute makeEventSample(500) and showEventSample() -// -// Alternatively, you can compile this to a program -// and then generate 1000 events with -// -// ./pythiaExample 1000 -// -// To use the program to start the viewer, do -// -// ./pythiaExample -1 -// -// NOTE 1: To run this example, you must have a version of ROOT -// compiled with the Pythia6 version enabled and have Pythia6 installed. -// The statement gSystem->Load("$HOME/pythia6/libPythia6"); (see below) -// assumes that the directory containing the Pythia6 library -// is in the pythia6 subdirectory of your $HOME. Locations -// that can specify this, are: -// -// Root.DynamicPath resource in your ROOT configuration file -// (/etc/root/system.rootrc or ~/.rootrc). -// Runtime load paths set on the executable (Using GNU ld, -// specified with flag `-rpath'). -// Dynamic loader search path as specified in the loaders -// configuration file (On GNU/Linux this file is -// etc/ld.so.conf). -// For Un*x: Any directory mentioned in LD_LIBRARY_PATH -// For Windows: Any directory mentioned in PATH -// -// NOTE 2: The example can also be run with ACLIC: -// root > gSystem->Load("libEG"); -// root > gSystem->Load("$HOME/pythia6/libPythia6"); //change to your setup -// root > gSystem->Load("libEGPythia6"); -// root > .x pythiaExample.C+ -// -// -//____________________________________________________________________ -// -// $Id: pythiaExample.C,v 1.5 2004/05/12 10:39:29 brun Exp $ -// Author: Christian Holm Christensen <cholm@hilux15.nbi.dk> -// Update: 2002-08-16 16:40:27+0200 -// Copyright: 2002 (C) Christian Holm Christensen -// Copyright (C) 2006, Rene Brun and Fons Rademakers. -// For the licensing terms see $ROOTSYS/LICENSE. -// -#ifndef __CINT__ -#include "TApplication.h" -#include "TPythia6.h" -#include "TFile.h" -#include "TError.h" -#include "TTree.h" -#include "TClonesArray.h" -#include "TH1.h" -#include "TF1.h" -#include "TStyle.h" -#include "TLatex.h" -#include "TCanvas.h" -#include "Riostream.h" -#include <cstdlib> -using namespace std; -#endif - -#define FILENAME "pythia.root" -#define TREENAME "tree" -#define BRANCHNAME "particles" -#define HISTNAME "ptSpectra" -#define PDGNUMBER 211 - -// This funtion just load the needed libraries if we're executing from -// an interactive session. -void loadLibraries() -{ -#ifdef __CINT__ - // Load the Event Generator abstraction library, Pythia 6 - // library, and the Pythia 6 interface library. - gSystem->Load("libEG"); - gSystem->Load("$HOME/pythia6/libPythia6"); //change to your setup - gSystem->Load("libEGPythia6"); -#endif -} - -// nEvents is how many events we want. -int makeEventSample(Int_t nEvents) -{ - // Load needed libraries - loadLibraries(); - - // Create an instance of the Pythia event generator ... - TPythia6* pythia = new TPythia6; - - // ... and initialise it to run p+p at sqrt(200) GeV in CMS - pythia->Initialize("cms", "p", "p", 200); - - // Open an output file - TFile* file = TFile::Open(FILENAME, "RECREATE"); - if (!file || !file->IsOpen()) { - Error("makeEventSample", "Couldn;t open file %s", FILENAME); - return 1; - } - - // Make a tree in that file ... - TTree* tree = new TTree(TREENAME, "Pythia 6 tree"); - - // ... and register a the cache of pythia on a branch (It's a - // TClonesArray of TMCParticle objects. ) - TClonesArray* particles = (TClonesArray*)pythia->GetListOfParticles(); - tree->Branch(BRANCHNAME, &particles); - - // Now we make some events - for (Int_t i = 0; i < nEvents; i++) { - // Show how far we got every 100'th event. - if (i % 100 == 0) - cout << "Event # " << i << endl; - - // Make one event. - pythia->GenerateEvent(); - - // Maybe you want to have another branch with global event - // information. In that case, you should process that here. - // You can also filter out particles here if you want. - - // Now we're ready to fill the tree, and the event is over. - tree->Fill(); - } - - // Show tree structure - tree->Print(); - - // After the run is over, we may want to do some summary plots: - TH1D* hist = new TH1D(HISTNAME, "p_{#perp} spectrum for #pi^{+}", - 100, 0, 3); - hist->SetXTitle("p_{#perp}"); - hist->SetYTitle("dN/dp_{#perp}"); - char expression[64]; - sprintf(expression,"sqrt(pow(%s.fPx,2)+pow(%s.fPy,2))>>%s", - BRANCHNAME, BRANCHNAME, HISTNAME); - char selection[64]; - sprintf(selection,"%s.fKF==%d", BRANCHNAME, PDGNUMBER); - tree->Draw(expression,selection); - - // Normalise to the number of events, and the bin sizes. - hist->Sumw2(); - hist->Scale(3 / 100. / hist->Integral()); - hist->Fit("expo", "QO+", "", .25, 1.75); - TF1* func = hist->GetFunction("expo"); - func->SetParNames("A", "- 1 / T"); - // and now we flush and close the file - file->Write(); - file->Close(); - - return 0; -} - -// Show the Pt spectra, and start the tree viewer. -int showEventSample() -{ - // Load needed libraries - loadLibraries(); - - // Open the file - TFile* file = TFile::Open(FILENAME, "READ"); - if (!file || !file->IsOpen()) { - Error("showEventSample", "Couldn;t open file %s", FILENAME); - return 1; - } - - // Get the tree - TTree* tree = (TTree*)file->Get(TREENAME); - if (!tree) { - Error("showEventSample", "couldn't get TTree %s", TREENAME); - return 2; - } - - // Start the viewer. - tree->StartViewer(); - - // Get the histogram - TH1D* hist = (TH1D*)file->Get(HISTNAME); - if (!hist) { - Error("showEventSample", "couldn't get TH1D %s", HISTNAME); - return 4; - } - - // Draw the histogram in a canvas - gStyle->SetOptStat(1); - TCanvas* canvas = new TCanvas("canvas", "canvas"); - canvas->SetLogy(); - hist->Draw("e1"); - TF1* func = hist->GetFunction("expo"); - - char expression[64]; - sprintf(expression,"T #approx %5.1f", -1000 / func->GetParameter(1)); - TLatex* latex = new TLatex(1.5, 1e-4, expression); - latex->SetTextSize(.1); - latex->SetTextColor(4); - latex->Draw(); - - return 0; -} - -void pythiaExample(Int_t n=1000) { - makeEventSample(n); - showEventSample(); -} - -#ifndef __CINT__ -int main(int argc, char** argv) -{ - TApplication app("app", &argc, argv); - - Int_t n = 100; - if (argc > 1) - n = strtol(argv[1], NULL, 0); - - int retVal = 0; - if (n > 0) - retVal = makeEventSample(n); - else { - retVal = showEventSample(); - app.Run(); - } - - return retVal; -} -#endif - -//____________________________________________________________________ -// -// EOF -// - diff --git a/tutorials/quantiles.C b/tutorials/quantiles.C deleted file mode 100644 index c7ec8f3cf30870085d2b8849556360ae0ebf7b27..0000000000000000000000000000000000000000 --- a/tutorials/quantiles.C +++ /dev/null @@ -1,65 +0,0 @@ -void quantiles() { - // demo for quantiles - // Author; Rene Brun - const Int_t nq = 100; - const Int_t nshots = 10; - Double_t xq[nq]; // position where to compute the quantiles in [0,1] - Double_t yq[nq]; // array to contain the quantiles - for (Int_t i=0;i<nq;i++) xq[i] = Float_t(i+1)/nq; - - TGraph *gr70 = new TGraph(nshots); - TGraph *gr90 = new TGraph(nshots); - TGraph *gr98 = new TGraph(nshots); - TH1F *h = new TH1F("h","demo quantiles",50,-3,3); - - for (Int_t shot=0;shot<nshots;shot++) { - h->FillRandom("gaus",50); - h->GetQuantiles(nq,yq,xq); - gr70->SetPoint(shot,shot+1,yq[70]); - gr90->SetPoint(shot,shot+1,yq[90]); - gr98->SetPoint(shot,shot+1,yq[98]); - } - - //show the original histogram in the top pad - TCanvas *c1 = new TCanvas("c1","demo quantiles",10,10,600,900); - c1->SetFillColor(41); - c1->Divide(1,3); - c1->cd(1); - h->SetFillColor(38); - h->Draw(); - - // show the final quantiles in the middle pad - c1->cd(2); - gPad->SetFrameFillColor(33); - gPad->SetGrid(); - TGraph *gr = new TGraph(nq,xq,yq); - gr->SetTitle("final quantiles"); - gr->SetMarkerStyle(21); - gr->SetMarkerColor(kRed); - gr->SetMarkerSize(0.3); - gr->Draw("ap"); - - // show the evolution of some quantiles in the bottom pad - c1->cd(3); - gPad->SetFrameFillColor(17); - gPad->DrawFrame(0,0,nshots+1,3.2); - gPad->SetGrid(); - gr98->SetMarkerStyle(22); - gr98->SetMarkerColor(kRed); - gr98->Draw("lp"); - gr90->SetMarkerStyle(21); - gr90->SetMarkerColor(kBlue); - gr90->Draw("lp"); - gr70->SetMarkerStyle(20); - gr70->SetMarkerColor(kMagenta); - gr70->Draw("lp"); - // add a legend - TLegend *legend = new TLegend(0.85,0.74,0.95,0.95); - legend->SetTextFont(72); - legend->SetTextSize(0.05); - legend->AddEntry(gr98," q98","lp"); - legend->AddEntry(gr90," q90","lp"); - legend->AddEntry(gr70," q70","lp"); - legend->Draw(); -} - diff --git a/tutorials/quarks.C b/tutorials/quarks.C deleted file mode 100644 index 113ad0e514c5b2d4138c9c110f2902047366f0e8..0000000000000000000000000000000000000000 --- a/tutorials/quarks.C +++ /dev/null @@ -1,90 +0,0 @@ -// example illustrating divided pads and Latex -// Author: Rene Brun -void quarks () { - TCanvas *c1 = new TCanvas("c1", "c1",10,10,630,760); - c1->SetFillColor(kBlack); - Int_t quarkColor = 50; - Int_t leptonColor = 16; - Int_t forceColor = 38; - Int_t titleColor = kYellow; - Int_t border = 8; - - TLatex *texf = new TLatex(0.90,0.455,"Force Carriers"); - texf->SetTextColor(forceColor); - texf->SetTextAlign(22); texf->SetTextSize(0.07); texf->SetTextAngle(90); - texf->Draw(); - - TLatex *texl = new TLatex(0.11,0.288,"Leptons"); - texl->SetTextColor(leptonColor); - texl->SetTextAlign(22); texl->SetTextSize(0.07); texl->SetTextAngle(90); - texl->Draw(); - - TLatex *texq = new TLatex(0.11,0.624,"Quarks"); - texq->SetTextColor(quarkColor); - texq->SetTextAlign(22); texq->SetTextSize(0.07); texq->SetTextAngle(90); - texq->Draw(); - - TLatex tex(0.5,0.5,"u"); - tex.SetTextColor(titleColor); tex.SetTextFont(32); tex.SetTextAlign(22); - tex.SetTextSize(0.14); tex.DrawLatex(0.5,0.93,"Elementary"); - tex.SetTextSize(0.12); tex.DrawLatex(0.5,0.84,"Particles"); - tex.SetTextSize(0.05); tex.DrawLatex(0.5,0.067,"Three Generations of Matter"); - - tex.SetTextColor(kBlack); tex.SetTextSize(0.8); - -// ------------>Create main pad and its subdivisions - TPad *pad = new TPad("pad", "pad",0.15,0.11,0.85,0.79); - pad->Draw(); - pad->cd(); - pad->Divide(4,4,0.0003,0.0003); - - pad->cd(1); gPad->SetFillColor(quarkColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"u"); - - pad->cd(2); gPad->SetFillColor(quarkColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"c"); - - pad->cd(3); gPad->SetFillColor(quarkColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"t"); - - pad->cd(4); gPad->SetFillColor(forceColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.55,"#gamma"); - - pad->cd(5); gPad->SetFillColor(quarkColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"d"); - - pad->cd(6); gPad->SetFillColor(quarkColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"s"); - - pad->cd(7); gPad->SetFillColor(quarkColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"b"); - - pad->cd(8); gPad->SetFillColor(forceColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.55,"g"); - - pad->cd(9); gPad->SetFillColor(leptonColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"#nu_{e}"); - - pad->cd(10); gPad->SetFillColor(leptonColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"#nu_{#mu}"); - - pad->cd(11); gPad->SetFillColor(leptonColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"#nu_{#tau}"); - - pad->cd(12); gPad->SetFillColor(forceColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"Z"); - - pad->cd(13); gPad->SetFillColor(leptonColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"e"); - - pad->cd(14); gPad->SetFillColor(leptonColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.56,"#mu"); - - pad->cd(15); gPad->SetFillColor(leptonColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"#tau"); - - pad->cd(16); gPad->SetFillColor(forceColor); gPad->SetBorderSize(border); - tex.DrawLatex(.5,.5,"W"); - - c1->cd(); -} diff --git a/tutorials/readCode.C b/tutorials/readCode.C deleted file mode 100644 index 776bc81b42a311fee3d44d033c23e678cb6a153c..0000000000000000000000000000000000000000 --- a/tutorials/readCode.C +++ /dev/null @@ -1,59 +0,0 @@ - //example of script showing how to navigate in a ROOT file - //with sub-directories and read the objects in each sub-directory. - //This example uses the file produced by the tutorial importCode.C - -#include "TFile.h" -#include "TKey.h" -#include "TMacro.h" - -Int_t nlines = 0; -Int_t nfiles = 0; -Int_t ndirs = 0; -Int_t nh = 0; -Int_t nc = 0; -Int_t nC = 0; -Int_t npy = 0; -void readdir(TDirectory *dir) { - ndirs++; - TDirectory *dirsav = gDirectory; - TIter next(dir->GetListOfKeys()); - TKey *key; - while ((key = (TKey*)next())) { - if (key->IsFolder()) { - dir->cd(key->GetName()); - TDirectory *subdir = gDirectory; - readdir(subdir); - dirsav->cd(); - continue; - } - TMacro *macro = (TMacro*)key->ReadObj(); - nfiles++; - nlines += macro->GetListOfLines()->GetEntries(); - if (strstr(key->GetName(),".h")) nh++; - if (strstr(key->GetName(),".c")) nc++; - if (strstr(key->GetName(),".C")) nC++; - if (strstr(key->GetName(),".py")) npy++; - delete macro; - } -} - - -void readCode() { - TFile *f = new TFile("code.root"); - if (f->IsZombie()) { - printf("File code.root does not exist. Run tutorial importCode.C first\n"); - return; - } - printf("Reading file ==> code.root\n"); - printf("File size in bytes = %lld\n",f->GetEND()); - printf("File compression factor = %g\n",f->GetCompressionFactor()); - - readdir(f); - - printf("Number of sub-dirs = %d\n",ndirs); - printf("Number of macro files = %d\n",nfiles); - printf("Number of lines in mac = %d\n",nlines); - printf("Number of cxx,c,cc files = %d\n",nc); - printf("Number of C files = %d\n",nC); - printf("Number of Python files = %d\n",npy); -} diff --git a/tutorials/regexp.C b/tutorials/regexp.C deleted file mode 100644 index 0e5891f35cafad469b65a0a50b7ac0a3c1f495c9..0000000000000000000000000000000000000000 --- a/tutorials/regexp.C +++ /dev/null @@ -1,118 +0,0 @@ -#include "Riostream.h" -#include "TString.h" -#include "TPRegexp.h" -#include "TClonesArray.h" -#include "TObjString.h" - -//------------------------------------------------------------------------------------------- -// -// A regular expression, often called a pattern, is an expression that describes a set of -// strings. They are usually used to give a concise description of a set, without having to -// list all elements. -// The Unix utilities like sed and grep make extensive use of regular expressions. Scripting -// languages like Perl have regular expression engines built directly into their syntax . -// -// Extensive documentation about Regular expressions in Perl can be -// found at : -// http://perldoc.perl.org/perlre.html -// -// ROOT has this capability through the use of the P(erl) C(ompatible) R(egular) E(xpression) -// - library, PCRE, see http://www.pcre.org -// -// Its functionality can be accessed through the TPRegexp and TString class . -// Note that in patterns taken from Perl all backslash character have to be replaced in the -// C/C++ strings by two backslashes . -// -// This macro shows several ways how to use the Match/Substitute capabilities of the -// the TPRegexp class . It can be run as follows : -// .x regexp.C -// -// Author: Eddy Offermann -// -//------------------------------------------------------------------------------------------- - -void regexp() -{ - // Substitute example : - // Find a word that starts with "peper" and ends with "koek" . - - TString s1("lekkere pepernotenkoek"); - TPRegexp r1("\\bpeper(\\w+)koek\\b"); - - // Note that the TString class gives access to some of the simpler TPRegexp functionality . - // The following command returns the fully matched string . - cout << s1(r1) << endl; - - // In the "Substitute" command, keep the middle part (indicated in the regexp by "(\\w+)" - // and the substitute string by "$1") and sandwich it between "wal" and "boom" . - r1.Substitute(s1,"wal$1boom"); - cout << s1 << endl; - - // Substitute example : - // Swap first two words in a string - - TString s2("one two three"); - TPRegexp("^([^ ]+) +([^ ]+)").Substitute(s2,"$2 $1"); - cout << s2 << endl; - - // Substitute example : - // $1, $2, and so on, in the substitute string are equivalent to whatever the corresponding set - // of parentheses match in the regexp string, counting opening parentheses from left to right . - // In the following example, we are trying to catch a date MMDDYYYY in a string and rearrange - // it to DDMMYYY . "(\\d{1,2}) matches only 1 or 2 digits etc . - - TString s3("on 09/24/1959 the world stood still"); - TPRegexp("\\b(\\d{1,2})/(\\d{1,2})/(\\d{4})\\b").Substitute(s3,"$2-$1-$3"); - cout << s3 << endl; - - // Match Example : - // The following example shows how to extract a protocol and port number from an URL string . - // Note again the parentheses in the regexp string : "(\\w+)" requires a non-empty - // alphanumeric string while "(\\d+)" wants a pure digital string . - // The matched substrings together with the full matched string are returned in a - // TObjArray . The first entry is the full string while next entries are the substrings - // in the order as listed in the regexp string . - // - // Note that there is also a Match(..) command that returns the positions of the - // substrings in the input string . - - TString s4("http://fink.sourceforge.net:8080/index/readme.html"); - TObjArray *subStrL = TPRegexp("^(\\w+)://[^/]+:(\\d+)/$").MatchS(s4); - const Int_t nrSubStr = subStrL->GetLast()+1; - if (nrSubStr > 2) { - const TString proto = ((TObjString *)subStrL->At(1))->GetString(); - const TString port = ((TObjString *)subStrL->At(2))->GetString(); - cout << "protocol: " << proto << " port: " << port << endl; - } - - // Match Example : - // This example returns kTRUE if the email address is valid . For that it has to fulfill the following - // criteria: - // 1) It should be of the form string1@string2 . The "^" and "$" ensure that we compare the complete - // email string - // 2) ([\\w-\\.]+) : - // string1 is only allowed to be composed out of the alphanumeric characters, "-" and "." . - // The "+" ensures that string1 can not be empty . - // 3) string2 is matched against three different parts : - // a. ((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+)) : - // This regular expression ensures that EITHER the string starts with "[" followed by three groups - // of numbers, separated by "." , where each group has 1 to 3 numbers, OR alphanumeric strings, - // possibly containing "-" characters, seperated by "." . - // b. ([a-zA-Z]{2,4}|[0-9]{1,3}) : - // This part contains EITHER 2 to 4 alpha characters OR 1 to 3 numbers - // c. (\\]?) : - // At most one "]" character . - - TString s5("fons.rademakers@cern.ch"); - TPRegexp r5("^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); - cout << "Check if the email address \"" << s5 << "\" is valid: " << (r5.MatchB(s5) ? "TRUE" : "FALSE") << endl; - - // Substitute Example with pattern modifier : - // Like in Perl, Substitute/Match commands accept modifier arguments . For instance a "g" modifier causes to - // match the regexp globally . In the example below, all words starting and ending with the character "n" - // are replaced by the word neutrino . - - TString s6("neutron proton electron neutron"); - TPRegexp("(n\\w+n)").Substitute(s6,"neutrino","g"); - cout << s6 << endl; -} diff --git a/tutorials/rootalias.C b/tutorials/rootalias.C deleted file mode 100644 index e7b560938f3cddb95f4a28d3a4a10657028c1d73..0000000000000000000000000000000000000000 --- a/tutorials/rootalias.C +++ /dev/null @@ -1,65 +0,0 @@ - -//______________________________________________________________________________ -void edit(char *file) -{ - char s[64], *e; - if (!strcmp(gSystem->GetName(), "WinNT")) { - if (e = getenv("EDITOR")) - sprintf(s, "start %s %s", e, file); - else - sprintf(s, "start notepad %s", file); - } else { - if (e = getenv("EDITOR")) - sprintf(s, "%s %s", e, file); - else - sprintf(s, "xterm -e vi %s &", file); - } - gSystem->Exec(s); -} - -//______________________________________________________________________________ -void ls(char *path=0) -{ - char s[256] = (!strcmp(gSystem->GetName(), "WinNT")) ? "dir /w " : "ls "; - if (path) strcat(s,path); - gSystem->Exec(s); -} - -//______________________________________________________________________________ -void dir(char *path=0) -{ - char s[256] = (!strcmp(gSystem->GetName(), "WinNT")) ? "dir " : "ls -l "; - if (path) strcat(s,path); - gSystem->Exec(s); -} - -//______________________________________________________________________________ -char *pwd() -{ - return gSystem->WorkingDirectory(); -} - -//______________________________________________________________________________ -char *cd(char *path=0) -{ - if (path) - gSystem->ChangeDirectory(path); - return pwd(); -} - -//______________________________________________________________________________ -void bexec(char *macro) -{ - if (gROOT->IsBatch()) printf("Processing benchmark: %s\n",macro); - TPaveText *summary = (TPaveText*)bench->GetPrimitive("TPave"); - TText *tmacro = summary->GetLineWith(macro); - if (tmacro) tmacro->SetTextColor(4); - bench->Modified(); bench->Update(); - - gROOT->Macro(macro); - - TPaveText *summary2 = (TPaveText*)bench->GetPrimitive("TPave"); - TText *tmacro2 = summary2->GetLineWith(macro); - if (tmacro2) tmacro2->SetTextColor(2); - bench->Modified(); bench->Update(); -} diff --git a/tutorials/rootenv.C b/tutorials/rootenv.C deleted file mode 100644 index ee8e22031380a7d6279ea0f1783891b03d94585e..0000000000000000000000000000000000000000 --- a/tutorials/rootenv.C +++ /dev/null @@ -1,137 +0,0 @@ -{ -gROOT->Reset(); -c1 = new TCanvas("c1","ROOT Environment Canvas",720,840); -c1->Range(0,-0.25,19,29); -TPaveLabel title(3,27.1,15,28.7,"ROOT Environment and Tools"); -title.SetFillColor(42); -title.SetTextColor(5); -title.SetTextFont(62); -title.Draw(); - -// -TArrow ardash(2,15,2,3.5,0.015,"|>"); -ardash.SetLineStyle(2); -ardash.SetFillColor(1); -ardash.Draw(); -TLine l1(2.5,4.5,15.5,4.5); -l1.Draw(); -l1.DrawLine(4.5,15,4.5,11); -l1.DrawLine(13,10,13,15.5); -l1.DrawLine(14,10,13,10); -l1.DrawLine(14,15.5,13,15.5); -TArrow ar(9,23,9,21.6,0.015,"|>"); -ar.SetFillColor(1); -// -TPavesText UserChtml(0.5,0.5,4.5,3,5,"tr"); -UserChtml.AddText("Files with hyperlinks"); -TText *t1=UserChtml.AddText("*User.C.html"); -TText *t2=UserChtml.AddText("*User.mac.html"); -t1.SetTextColor(4); -t2.SetTextColor(4); -UserChtml.Draw(); -ar.DrawArrow(2.5,4.5,2.5,3.5,0.015,"|>"); -// -TPavesText UserTree(7,0.5,11,3,5,"tr"); -UserTree.AddText("Dictionary"); -UserTree.AddText("Inheritance graphs"); -TText *t3=UserTree.AddText("*User_Tree.ps"); -t3.SetTextColor(4); -UserTree.Draw(); -ar.DrawArrow(9,5.5,9,3.5,0.015,"|>"); -// -TPavesText Userhtml(13.5,0.5,17.5,3,5,"tr"); -Userhtml.AddText("Class Description"); -Userhtml.AddText("with references"); -TText *t4=Userhtml.AddText("*User.html"); -t4.SetTextColor(4); -Userhtml.Draw(); -ar.DrawArrow(15.5,4.5,15.5,3.5,0.015,"|>"); -// -TPavesText Macros(0.5,8,3.5,11,5,"tr"); -Macros.AddText("Macros"); -Macros.AddText("Log files"); -TText *t5=Macros.AddText("*User.mac"); -TText *t5a=Macros.AddText("*User.log"); -t5.SetTextColor(4); -t5a.SetTextColor(4); -Macros.Draw(); -// -TPavesText UserC(1,15,5,18,5,"tr"); -UserC.AddText("C++ application"); -UserC.AddText("source code"); -TText *t6=UserC.AddText("*User.C"); -t6.SetTextColor(4); -UserC.Draw(); -ar.DrawArrow(4.5,11,5.8,11,0.015,"|>"); -// -TPavesText Userh(6,23,12,26,5,"tr"); -Userh.AddText("C++ header files"); -TText *t7=Userh.AddText("*User.h"); -t7.SetTextColor(4); -Userh.SetFillColor(11); -Userh.Draw(); -ar.DrawArrow(9,23,9,21.6,0.015,"|>"); -// -TPavesText UserUI(6.5,14,11.5,17,5,"tr"); -UserUI.AddText("C++ code for"); -UserUI.AddText("User Interface and I/O"); -TText *t8=UserUI.AddText("*UserUI.C"); -t8.SetTextColor(4); -UserUI.Draw(); -ar.DrawArrow(9,18.5,9,17.3,0.015,"|>"); -ar.DrawArrow(9,14,9,12.6,0.015,"|>"); -// -TPavesText Usersl(14,14,17.5,17,5,"tr"); -Usersl.AddText("User"); -Usersl.AddText("Libraries"); -TText *t9=Usersl.AddText("*User.sl"); -t9.SetTextColor(4); -Usersl.Draw(); -ar.DrawArrow(13,11,12.1,11,0.015,"|>"); -// -TPavesText Rootlib(14,8.5,17.5,11.5,5,"tr"); -Rootlib.AddText("Root Library"); -Rootlib.AddText("and Includes"); -TText *t10=Rootlib.AddText("Root.sl"); -TText *t11=Rootlib.AddText("Root/include"); -t10.SetTextColor(4); -t11.SetTextColor(4); -Rootlib.Draw(); -// -TEllipse dict(9,20,3,1.5); -dict.SetFillColor(43); -dict.SetFillStyle(1001); -dict.SetLineColor(1); -dict.SetLineWidth(3); -dict.Draw(); -TText gen(9,20.7,"rootcint"); -gen.SetTextAlign(22); -gen.SetTextSize(0.025); -gen.Draw(); -gen.DrawText(9,19.5,"ROOT compiler"); -ar.DrawArrow(9,18.5,9,17.3,0.015,"|>"); -// -TEllipse compiler(9,11,3,1.5); -compiler.SetFillColor(43); -compiler.SetFillStyle(1001); -compiler.SetLineColor(1); -compiler.SetLineWidth(3); -compiler.Draw(); -TText gen2(9,11.4,"C++ compiler"); -gen2.SetTextAlign(22); -gen2.SetTextSize(0.025); -gen2.Draw(); -gen2.DrawText(9,10.3,"and Linker"); -ar.DrawArrow(9,9.5,9,8.2,0.015,"|>"); -// -TPaveText exe(6,5.5,12,8); -exe.SetFillColor(41); -exe.AddText("ROOT-based Application"); -exe.AddText("Interactive or Batch"); -TText *t12=exe.AddText("User.exe"); -t12.SetTextColor(2); -exe.Draw(); - -c1->Modified(); -c1->Print("rootenv.ps"); -} diff --git a/tutorials/rootgeom.C b/tutorials/rootgeom.C deleted file mode 100644 index 1d029e4278f9d2d438171c8790f51c986ad986d5..0000000000000000000000000000000000000000 --- a/tutorials/rootgeom.C +++ /dev/null @@ -1,134 +0,0 @@ -void rootgeom() -{ -//--- Definition of a simple geometry -// gStyle->SetCanvasPreferGL(true); - gSystem->Load("libGeom"); - TGeoManager *geom = new TGeoManager("simple1", "Simple geometry"); - - //--- define some materials - TGeoMaterial *matVacuum = new TGeoMaterial("Vacuum", 0,0,0); - TGeoMaterial *matAl = new TGeoMaterial("Al", 26.98,13,2.7); -// //--- define some media - TGeoMedium *Vacuum = new TGeoMedium("Vacuum",1, matVacuum); - TGeoMedium *Al = new TGeoMedium("Root Material",2, matAl); - - //--- define the transformations - TGeoTranslation *tr1 = new TGeoTranslation(20., 0, 0.); - TGeoTranslation *tr2 = new TGeoTranslation(10., 0., 0.); - TGeoTranslation *tr3 = new TGeoTranslation(10., 20., 0.); - TGeoTranslation *tr4 = new TGeoTranslation(5., 10., 0.); - TGeoTranslation *tr5 = new TGeoTranslation(20., 0., 0.); - TGeoTranslation *tr6 = new TGeoTranslation(-5., 0., 0.); - TGeoTranslation *tr7 = new TGeoTranslation(7.5, 7.5, 0.); - TGeoRotation *rot1 = new TGeoRotation("rot1", 90., 0., 90., 270., 0., 0.); - TGeoCombiTrans *combi1 = new TGeoCombiTrans(7.5, -7.5, 0., rot1); - TGeoTranslation *tr8 = new TGeoTranslation(7.5, -5., 0.); - TGeoTranslation *tr9 = new TGeoTranslation(7.5, 20., 0.); - TGeoTranslation *tr10 = new TGeoTranslation(85., 0., 0.); - TGeoTranslation *tr11 = new TGeoTranslation(35., 0., 0.); - TGeoTranslation *tr12 = new TGeoTranslation(-15., 0., 0.); - TGeoTranslation *tr13 = new TGeoTranslation(-65., 0., 0.); - - TGeoTranslation *tr14 = new TGeoTranslation(0,0,-100); - TGeoCombiTrans *combi2 = new TGeoCombiTrans(0,0,100, - new TGeoRotation("rot2",90,180,90,90,180,0)); - TGeoCombiTrans *combi3 = new TGeoCombiTrans(100,0,0, - new TGeoRotation("rot3",90,270,0,0,90,180)); - TGeoCombiTrans *combi4 = new TGeoCombiTrans(-100,0,0, - new TGeoRotation("rot4",90,90,0,0,90,0)); - TGeoCombiTrans *combi5 = new TGeoCombiTrans(0,100,0, - new TGeoRotation("rot5",0,0,90,180,90,270)); - TGeoCombiTrans *combi6 = new TGeoCombiTrans(0,-100,0, - new TGeoRotation("rot6",180,0,90,180,90,90)); - - //--- make the top container volume - Double_t worldx = 110.; - Double_t worldy = 50.; - Double_t worldz = 5.; - TGeoVolume *top = geom->MakeBox("TOP", Vacuum, 270., 270., 120.); - geom->SetTopVolume(top); - TGeoVolume *replica = geom->MakeBox("REPLICA", Vacuum,120,120,120); - replica->SetVisibility(kFALSE); - TGeoVolume *rootbox = geom->MakeBox("ROOT", Vacuum, 110., 50., 5.); - rootbox->SetVisibility(kFALSE); - - //--- make letter 'R' - TGeoVolume *R = geom->MakeBox("R", Vacuum, 25., 25., 5.); - R->SetVisibility(kFALSE); - TGeoVolume *bar1 = geom->MakeBox("bar1", Al, 5., 25, 5.); - bar1->SetLineColor(kRed); - R->AddNode(bar1, 1, tr1); - TGeoVolume *bar2 = geom->MakeBox("bar2", Al, 5., 5., 5.); - bar2->SetLineColor(kRed); - R->AddNode(bar2, 1, tr2); - R->AddNode(bar2, 2, tr3); - TGeoVolume *tub1 = geom->MakeTubs("tub1", Al, 5., 15., 5., 90., 270.); - tub1->SetLineColor(kRed); - R->AddNode(tub1, 1, tr4); - TGeoVolume *bar3 = geom->MakeArb8("bar3", Al, 5.); - bar3->SetLineColor(kRed); - TGeoArb8 *arb = (TGeoArb8*)bar3->GetShape(); - arb->SetVertex(0, 15., -5.); - arb->SetVertex(1, 0., -25.); - arb->SetVertex(2, -10., -25.); - arb->SetVertex(3, 5., -5.); - arb->SetVertex(4, 15., -5.); - arb->SetVertex(5, 0., -25.); - arb->SetVertex(6, -10., -25.); - arb->SetVertex(7, 5., -5.); - R->AddNode(bar3, 1, gGeoIdentity); - - //--- make letter 'O' - TGeoVolume *O = geom->MakeBox("O", Vacuum, 25., 25., 5.); - O->SetVisibility(kFALSE); - TGeoVolume *bar4 = geom->MakeBox("bar4", Al, 5., 7.5, 5.); - bar4->SetLineColor(kYellow); - O->AddNode(bar4, 1, tr5); - O->AddNode(bar4, 2, tr6); - TGeoVolume *tub2 = geom->MakeTubs("tub1", Al, 7.5, 17.5, 5., 0., 180.); - tub2->SetLineColor(kYellow); - O->AddNode(tub2, 1, tr7); - O->AddNode(tub2, 2, combi1); - - //--- make letter 'T' - TGeoVolume *T = geom->MakeBox("T", Vacuum, 25., 25., 5.); - T->SetVisibility(kFALSE); - TGeoVolume *bar5 = geom->MakeBox("bar5", Al, 5., 20., 5.); - bar5->SetLineColor(kBlue); - T->AddNode(bar5, 1, tr8); - TGeoVolume *bar6 = geom->MakeBox("bar6", Al, 17.5, 5., 5.); - bar6->SetLineColor(kBlue); - T->AddNode(bar6, 1, tr9); - - - - rootbox->AddNode(R, 1, tr10); - rootbox->AddNode(O, 1, tr11); - rootbox->AddNode(O, 2, tr12); - rootbox->AddNode(T, 1, tr13); - - replica->AddNode(rootbox, 1, tr14); - replica->AddNode(rootbox, 2, combi2); - replica->AddNode(rootbox, 3, combi3); - replica->AddNode(rootbox, 4, combi4); - replica->AddNode(rootbox, 5, combi5); - replica->AddNode(rootbox, 6, combi6); - - top->AddNode(replica, 1, new TGeoTranslation(-150, -150, 0)); - top->AddNode(replica, 2, new TGeoTranslation(150, -150, 0)); - top->AddNode(replica, 3, new TGeoTranslation(150, 150, 0)); - top->AddNode(replica, 4, new TGeoTranslation(-150, 150, 0)); - - //--- close the geometry - geom->CloseGeometry(); - - //--- draw the ROOT box. - // by default the picture will appear in the standard ROOT TPad. - //if you have activated the following line in system.rootrc, - //it will appear in the GL viewer - //#Viewer3D.DefaultDrawOption: ogl - - geom->SetVisLevel(4); - top->Draw("ogle"); -} - diff --git a/tutorials/rootlogoff.C b/tutorials/rootlogoff.C deleted file mode 100644 index 25bfdf949637fbe4e6918d06424b6a2b206eead6..0000000000000000000000000000000000000000 --- a/tutorials/rootlogoff.C +++ /dev/null @@ -1,3 +0,0 @@ -{ - printf("\nThis is the end of ROOT -- Goodbye\n\n"); -} diff --git a/tutorials/rootlogon.C b/tutorials/rootlogon.C deleted file mode 100644 index cb989bad206d2ab61bcaed1fb2212c902bb9861c..0000000000000000000000000000000000000000 --- a/tutorials/rootlogon.C +++ /dev/null @@ -1,8 +0,0 @@ -{ - printf("\nWelcome to the ROOT tutorials\n\n"); - printf("\nType \".x demos.C\" to get a toolbar from which to execute the demos\n"); - printf("\nType \".x demoshelp.C\" to see the help window\n\n"); - printf("==> Many tutorials use the file hsimple.root produced by hsimple.C\n"); - printf("==> It is recommended to execute hsimple.C before any other script\n\n"); -} - diff --git a/tutorials/rootmarks.C b/tutorials/rootmarks.C deleted file mode 100644 index 2bc234dc06273e310aa617653462f52fa9d2f5f4..0000000000000000000000000000000000000000 --- a/tutorials/rootmarks.C +++ /dev/null @@ -1,143 +0,0 @@ -{ -// Prints a summary of all ROOT benchmarks (must be run before) -// The ROOTMARK number printed is by reference to a Pentium IV 2.4 Ghz -// (with 512 MBytes memory and 120 GBytes IDE disk) -// taken by definition as 600 ROOTMARKS in batch mode in executing -// root -b -q benchmarks.C -// - - Float_t rtall = 0; - Float_t cpall = 0; - Float_t norm = 600; - Float_t rtmark,cpmark; - Bool_t batch = gROOT->IsBatch(); - - printf("---------------ROOT %s benchmarks summary--------------------\n",gROOT->GetVersion()); - gBenchmark->Summary(rtall,cpall); - printf("\n---------------ROOT %s benchmarks summary (in ROOTMARKS)-----\n",gROOT->GetVersion()); - printf(" For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS\n"); - Float_t hsimple_rt = gBenchmark->GetRealTime("hsimple"); - Float_t hsimple_ct = gBenchmark->GetCpuTime("hsimple"); - if (hsimple_rt > 0) { - if (batch) { - rtmark = norm*(0.29/hsimple_rt); - cpmark = norm*(0.28/hsimple_ct); - } else { - rtmark = norm*(0.99/hsimple_rt); - cpmark = norm*(0.43/hsimple_ct); - } - printf("hsimple = %7.2f RealMARKS, = %7.2f CpuMARKS\n",rtmark,cpmark); - } - - Float_t hsum_rt = gBenchmark->GetRealTime("hsum"); - Float_t hsum_ct = gBenchmark->GetCpuTime("hsum"); - if (hsum_rt > 0) { - if (batch) { - rtmark = norm*(0.16/hsum_rt); - cpmark = norm*(0.15/hsum_ct); - } else { - rtmark = norm*(0.99/hsum_rt); - cpmark = norm*(0.24/hsum_ct); - } - printf("hsum = %7.2f RealMARKS, = %7.2f CpuMARKS\n",rtmark,cpmark); - } - - Float_t fillrandom_rt = gBenchmark->GetRealTime("fillrandom"); - Float_t fillrandom_ct = gBenchmark->GetCpuTime("fillrandom"); - if (fillrandom_rt > 0) { - if (batch) { - rtmark = norm*(0.02/fillrandom_rt); - cpmark = norm*(0.01/fillrandom_ct); - } else { - rtmark = norm*(0.48/fillrandom_rt); - cpmark = norm*(0.04/fillrandom_ct); - } - printf("fillrandom = %7.2f RealMARKS, = %7.2f CpuMARKS\n",rtmark,cpmark); - } - - Float_t fit1_rt = gBenchmark->GetRealTime("fit1"); - Float_t fit1_ct = gBenchmark->GetCpuTime("fit1"); - if (fit1_rt > 0) { - if (batch) { - rtmark = norm*(0.04/fit1_rt); - cpmark = norm*(0.03/fit1_ct); - } else { - rtmark = norm*(0.13/fit1_rt); - cpmark = norm*(0.03/fit1_ct); - } - printf("fit1 = %7.2f RealMARKS, = %7.2f CpuMARKS\n",rtmark,cpmark); - } - - Float_t tornado_rt = gBenchmark->GetRealTime("tornado"); - Float_t tornado_ct = gBenchmark->GetCpuTime("tornado"); - if (tornado_rt > 0) { - if (batch) { - rtmark = norm*(0.05/tornado_rt); - cpmark = norm*(0.04/tornado_ct); - } else { - rtmark = norm*(0.11/tornado_rt); - cpmark = norm*(0.03/tornado_ct); - } - printf("tornado = %7.2f RealMARKS, = %7.2f CpuMARKS\n",rtmark,cpmark); - } - - Float_t na49_rt = gBenchmark->GetRealTime("na49"); - Float_t na49_ct = gBenchmark->GetCpuTime("na49"); - if (na49_rt > 0) { - rtmark = norm*(1.39/na49_rt); - cpmark = norm*(1.39/na49_ct); - printf("na49 = %7.2f RealMARKS, = %7.2f CpuMARKS\n",rtmark,cpmark); - } - - Float_t geometry_rt = gBenchmark->GetRealTime("geometry"); - Float_t geometry_ct = gBenchmark->GetCpuTime("geometry"); - if (geometry_rt > 0) { - rtmark = norm*(0.19/geometry_rt); - cpmark = norm*(0.18/geometry_ct); - printf("geometry = %7.2f RealMARKS, = %7.2f CpuMARKS\n",rtmark,cpmark); - } - - Float_t na49view_rt = gBenchmark->GetRealTime("na49view"); - Float_t na49view_ct = gBenchmark->GetCpuTime("na49view"); - if (na49view_rt > 0) { - if (batch) { - rtmark = norm*(0.03/na49view_rt); - cpmark = norm*(0.03/na49view_ct); - } else { - rtmark = norm*(0.33/na49view_rt); - cpmark = norm*(0.05/na49view_ct); - } - printf("na49view = %7.2f RealMARKS, = %7.2f CpuMARKS\n",rtmark,cpmark); - } - - Float_t ntuple1_rt = gBenchmark->GetRealTime("ntuple1"); - Float_t ntuple1_ct = gBenchmark->GetCpuTime("ntuple1"); - if (ntuple1_rt > 0) { - if (batch) { - rtmark = norm*(0.29/ntuple1_rt); - cpmark = norm*(0.27/ntuple1_ct); - } else { - rtmark = norm*(1.79/ntuple1_rt); - cpmark = norm*(0.28/ntuple1_ct); - } - printf("ntuple1 = %7.2f RealMARKS, = %7.2f CpuMARKS\n",rtmark,cpmark); - } - - if (rtall) { - Float_t rtbrun, cpbrun; - if (batch) { - rtbrun = 3.45; - cpbrun = 3.24; - } else { - rtbrun = 5.79; - cpbrun = 4.08; - } - Float_t rootmarks = norm*(rtbrun+cpbrun)/(rtall+cpall); - printf("\n"); - printf("****************************************************\n"); - printf("* Your machine is estimated at %7.2f ROOTMARKS *\n",rootmarks); - printf("****************************************************\n"); - } else { - printf(" You must run the ROOT benchmarks before executing this command\n"); - } -} diff --git a/tutorials/rootmarks.py b/tutorials/rootmarks.py deleted file mode 100644 index f16b5267025db0fa8092308b55ca2b31b653e5e2..0000000000000000000000000000000000000000 --- a/tutorials/rootmarks.py +++ /dev/null @@ -1,11 +0,0 @@ -# Prints a summary of all ROOT benchmarks (must be run before) -# The ROOTMARK number printed is by reference to a Pentium IV 2.4 Ghz -# (with 512 MBytes memory and 120 GBytes IDE disk) -# taken by definition as 600 ROOTMARKS in batch mode in executing -# python benchmarks.py -# - -import ROOT - -# use ROOT macro to make sure that bench numbers get updated in one place -ROOT.gROOT.Macro( 'rootmarks.C' ) diff --git a/tutorials/rose512.jpg b/tutorials/rose512.jpg deleted file mode 100644 index e3f87e48d4702b3b705030d2edfb75457deb2344..0000000000000000000000000000000000000000 Binary files a/tutorials/rose512.jpg and /dev/null differ diff --git a/tutorials/rose_image.C b/tutorials/rose_image.C deleted file mode 100644 index a0091ad3375fe4b28bdd4bacadc19a2a69d4f61a..0000000000000000000000000000000000000000 --- a/tutorials/rose_image.C +++ /dev/null @@ -1,90 +0,0 @@ -#include "TImage.h" -#include "TCanvas.h" -#include "TArrayD.h" -#include "TROOT.h" -#include "TColor.h" -#include "TAttImage.h" -#include "TEnv.h" - -TCanvas *c1; - -void rose_image() -{ - // Display image in a new canvas and pad. - - TImage *img = TImage::Open("rose512.jpg"); - - if (!img) { - printf("Could not create an image... exit\n"); - return; - } - - img->SetConstRatio(0); - img->SetImageQuality(TAttImage::kImgBest); - - TString fp = gEnv->GetValue("Root.TTFontPath", ""); - TString bc = fp + "/BlackChancery.ttf"; - TString ar = fp + "/arial.ttf"; - - // draw text over image with funny font - img->DrawText(120, 160, "Hello World!", 32, - gROOT->GetColor(4)->AsHexString(), - bc, TImage::kShadeBelow); - - // draw text over image with foreground specified by pixmap - img->DrawText(250, 350, "goodbye cruel world ...", 24, 0, - ar, TImage::kPlain, "fore.xpm"); - - TImage *img2 = TImage::Open("mditestbg.xpm"); - - // tile image - img2->Tile(img->GetWidth(), img->GetHeight()); - - c1 = new TCanvas("rose512", "examples of image manipulations", 760, 900); - c1->Divide(2, 3); - c1->cd(1); - img->Draw("xxx"); - img->SetEditable(kTRUE); - - c1->cd(2); - // averaging with mditestbg.xpm image - TImage *img3 = (TImage*)img->Clone("img3"); - img3->Merge(img2, "allanon"); - img3->Draw(); - - // contrasting (tint with itself) - c1->cd(3); - TImage *img4 = (TImage*)img->Clone("img4"); - img4->Merge(img4, "tint"); - - // draw filled rectangle with magenta color - img4->FillRectangle("#FF00FF", 20, 220, 40, 40); - - // Render multipoint alpha-blended gradient (R->G->B) - img4->Gradient(0, "#FF0000 #00FF00 #220000FF", 0, 50, 50, 100, 100); - - // draw semi-transparent 3D button - img4->Bevel(300, 20, 160, 40, "#ffffffff", "#fe000000", 3, 0); - img4->DrawLine(10, 100, 100, 10, "#0000ff", 4); - img4->Draw(); - - // vectorize image. Reduce palette to 256 colors - c1->cd(4); - TImage *img5 = (TImage*)img->Clone("img5"); - img5->Vectorize(256); - img5->Draw(); - - // quantization of the image - c1->cd(5); - TImage *img6 = (TImage*)img->Clone("img6"); - TImagePalette *pal = (TImagePalette *)&img5->GetPalette(); - TArrayD *arr = img6->GetArray(50, 40, pal); - img6->SetImage(arr->GetArray(), 50, 40, pal); - img6->Draw(); - - // HSV adjustment (convert red to yellow) - c1->cd(6); - TImage *img7 = (TImage*)img->Clone("img7"); - img7->HSV(0, 40, 40); - img7->Draw(); -} diff --git a/tutorials/runcatalog.sql b/tutorials/runcatalog.sql deleted file mode 100644 index 7c50ef5ee69a378682f0d09e8212063f71eec9ff..0000000000000000000000000000000000000000 --- a/tutorials/runcatalog.sql +++ /dev/null @@ -1,14 +0,0 @@ -CREATE TABLE runcatalog ( - dataset VARCHAR(32) NOT NULL, - run INT NOT NULL, - firstevent INT, - events INT, - tag INT, - energy FLOAT, - runtype ENUM('physics','cosmics','test'), - target VARCHAR(10), - timef TIMESTAMP NOT NULL, - timel TIMESTAMP NOT NULL, - rawfilepath VARCHAR(128), - comments VARCHAR(80) -) diff --git a/tutorials/runzdemo.C b/tutorials/runzdemo.C deleted file mode 100644 index c27eb58027c376f1d08cb063bb0d835dd675ab75..0000000000000000000000000000000000000000 --- a/tutorials/runzdemo.C +++ /dev/null @@ -1,4 +0,0 @@ -{ - gROOT->LoadMacro("zdemo.C"); - zdemo(); -} diff --git a/tutorials/saxexample.xml b/tutorials/saxexample.xml deleted file mode 100644 index 044c5f7f62f46c50a62d6a5e52434226ef96ff6c..0000000000000000000000000000000000000000 --- a/tutorials/saxexample.xml +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0"?> -<gjob:Helping xmlns:gjob="http://www.gnome.org/some-location"> - <gjob:Jobs> - - <gjob:Job> - <gjob:Project id="3" time="100" priority="high"/> - <gjob:Application>GBackup</gjob:Application> - <gjob:Category>Development</gjob:Category> - - <gjob:Update> - <gjob:Status>Open</gjob:Status> - <gjob:Modified>Mon, 07 Jun 1999 20:27:45 -0400 MET DST</gjob:Modified> - <gjob:Salary>USD 0.00</gjob:Salary> - </gjob:Update> - - <gjob:Developers> - <gjob:Developer> - </gjob:Developer> - </gjob:Developers> - - <gjob:Contact> - <gjob:Person>Nathan Clemons</gjob:Person> - <gjob:Email>nathan@windsofstorm.net</gjob:Email> - <gjob:Company> - </gjob:Company> - <gjob:Organisation> - </gjob:Organisation> - <gjob:Webpage> - </gjob:Webpage> - <gjob:Snailmail> - </gjob:Snailmail> - <gjob:Phone> - </gjob:Phone> - </gjob:Contact> - - <gjob:Requirements> - The program should be released as free software, under the GPL. - </gjob:Requirements> - - <gjob:Skills> - </gjob:Skills> - - <gjob:Details> - A GNOME based system that will allow a superuser to configure - compressed and uncompressed files and/or file systems to be backed - up with a supported media in the system. This should be able to - perform via find commands generating a list of files that are passed - to tar, dd, cpio, cp, gzip, etc., to be directed to the tape machine - or via operations performed on the filesystem itself. Email - notification and GUI status display very important. - </gjob:Details> - - </gjob:Job> - - </gjob:Jobs> -</gjob:Helping> diff --git a/tutorials/second.C b/tutorials/second.C deleted file mode 100644 index fa3ed247154bb150878fd677ad1bb5b4a99d8091..0000000000000000000000000000000000000000 --- a/tutorials/second.C +++ /dev/null @@ -1,61 +0,0 @@ -void second() { - - TCanvas *nut = new TCanvas("nut", "Second Session",100,10,750,1000); - nut->Range(0,0,20,24); - nut->SetFillColor(18); - - TPaveLabel *pl = new TPaveLabel(3,22,17,23.7,"My second ROOT interactive session","br"); - pl->SetFillColor(18); - pl->Draw(); - - TText t(0,0,"a"); - t.SetTextFont(62); - t.SetTextSize(0.025); - t.SetTextAlign(12); - t.DrawText(2,21,"Very large C/C++ files can be interpreted (50,000 lines+)."); - t.DrawText(2,20,"Functions in macros can reference other functions, etc."); - t.DrawText(2,19,"Let's make a file \"graph.C\" with the following statements:"); - - TPaveText *macro = new TPaveText(2,11,18,18); - macro->SetFillColor(10); - macro->SetTextColor(kBlue); - macro->SetBorderSize(6); - macro->SetTextAlign(12); - macro->SetTextFont(61); - macro->AddText("{"); - macro->AddText(" TCanvas *c1 = new TCanvas(\"c1\",\"A Simple Graph Example\",200,10,700,500);"); - macro->AddText(" c1->Range(-0.5,-2,2.5,12);"); - macro->AddText(" const Int_t n = 20"); - macro->AddText(" Float_t x[n], y[n];"); - macro->AddText(" for (Int_t i=0;i<n;i++) {"); - macro->AddText(" x[i] = i*0.1;"); - macro->AddText(" y[i] = 10*sin(x[i]+0.2);"); - macro->AddText(" }"); - macro->AddText(" gr = new TGraph(n,x,y);"); - macro->AddText(" gr->Draw(\"AC*\");"); - macro->AddText("}"); - macro->AddText(" "); - macro->Draw(); - - t.SetTextFont(72); - t.SetTextColor(kRed); - t.SetTextSize(0.026); - t.DrawText(3,10,"Root > .x graph.C"); - - TPad *pad = new TPad("pad","pad",.15,.05,.85,.40); - pad->SetFillColor(41); - pad->SetFrameFillColor(33); - pad->Draw(); - pad->cd(); - pad->SetGrid(); - pad->Range(-0.5,-2,2.5,12); - const Int_t n = 20; - Float_t x[n], y[n]; - for (Int_t i=0;i<n;i++) { - x[i] = i*0.1; - y[i] = 10*sin(x[i]+0.2); - } - gr = new TGraph(n,x,y); - gr->Draw("AC*"); - nut->cd(); -} diff --git a/tutorials/seism.C b/tutorials/seism.C deleted file mode 100644 index 4b318289ff48e68dc5a84612aeab9771d37fb32f..0000000000000000000000000000000000000000 --- a/tutorials/seism.C +++ /dev/null @@ -1,36 +0,0 @@ -// strip chart example -// Author: Rene Brun -void seism() { - - TStopwatch sw; sw.Start(); - //set time offset - TDatime dtime; - gStyle->SetTimeOffset(dtime.Convert()); - - TCanvas *c1 = new TCanvas("c1","Time on axis",10,10,1000,500); - c1->SetFillColor(42); - c1->SetFrameFillColor(33); - c1->SetGrid(); - - Float_t bintime = 1; //one bin = 1 second. change it to set the time scale - TH1F *ht = new TH1F("ht","The ROOT seism",10,0,10*bintime); - Float_t signal = 1000; - ht->SetMaximum( signal); - ht->SetMinimum(-signal); - ht->SetStats(0); - ht->SetLineColor(2); - ht->GetXaxis()->SetTimeDisplay(1); - ht->GetYaxis()->SetNdivisions(520); - ht->Draw(); - - for (Int_t i=1;i<2300;i++) { - //======= Build a signal : noisy damped sine ====== - Float_t noise = gRandom->Gaus(0,120); - if (i > 700) noise += signal*sin((i-700.)*6.28/30)*exp((700.-i)/300.); - ht->SetBinContent(i,noise); - c1->Modified(); - c1->Update(); - gSystem->ProcessEvents(); //canvas can be edited during the loop - } - printf("Real Time = %8.3fs, Cpu Time = %8.3fs\n",sw.RealTime(),sw.CpuTime()); -} diff --git a/tutorials/shapes.C b/tutorials/shapes.C deleted file mode 100644 index 06018eb25a795fd2fa87b5bf9db2969527387b96..0000000000000000000000000000000000000000 --- a/tutorials/shapes.C +++ /dev/null @@ -1,90 +0,0 @@ -{ - // - // To see the output of this macro, click begin_html <a href="gif/shapes.gif" >here</a> end_html - // - gROOT->Reset(); - c1 = new TCanvas("glc1","Geometry Shapes",200,10,700,500); - - //delete previous geometry objects in case this script is reexecuted - if (gGeometry) { - gGeometry->GetListOfNodes()->Delete(); - gGeometry->GetListOfShapes()->Delete(); - } - - // Define some volumes - brik = new TBRIK("BRIK","BRIK","void",200,150,150); - trd1 = new TTRD1("TRD1","TRD1","void",200,50,100,100); - trd2 = new TTRD2("TRD2","TRD2","void",200,50,200,50,100); - trap = new TTRAP("TRAP","TRAP","void",190,0,0,60,40,90,15,120,80,180,15); - para = new TPARA("PARA","PARA","void",100,200,200,15,30,30); - gtra = new TGTRA("GTRA","GTRA","void",390,0,0,20,60,40,90,15,120,80,180,15); - tube = new TTUBE("TUBE","TUBE","void",150,200,400); - tubs = new TTUBS("TUBS","TUBS","void",80,100,100,90,235); - cone = new TCONE("CONE","CONE","void",100,50,70,120,150); - cons = new TCONS("CONS","CONS","void",50,100,100,200,300,90,270); - sphe = new TSPHE("SPHE","SPHE","void",25,340, 45,135, 0,270); - sphe1 = new TSPHE("SPHE1","SPHE1","void",0,140, 0,180, 0,360); - sphe2 = new TSPHE("SPHE2","SPHE2","void",0,200, 10,120, 45,145); - - pcon = new TPCON("PCON","PCON","void",180,270,4); - pcon->DefineSection(0,-200,50,100); - pcon->DefineSection(1,-50,50,80); - pcon->DefineSection(2,50,50,80); - pcon->DefineSection(3,200,50,100); - - pgon = new TPGON("PGON","PGON","void",180,270,8,4); - pgon->DefineSection(0,-200,50,100); - pgon->DefineSection(1,-50,50,80); - pgon->DefineSection(2,50,50,80); - pgon->DefineSection(3,200,50,100); - - // Set shapes attributes - brik->SetLineColor(1); - trd1->SetLineColor(2); - trd2->SetLineColor(3); - trap->SetLineColor(4); - para->SetLineColor(5); - gtra->SetLineColor(7); - tube->SetLineColor(6); - tubs->SetLineColor(7); - cone->SetLineColor(2); - cons->SetLineColor(3); - pcon->SetLineColor(6); - pgon->SetLineColor(2); - sphe->SetLineColor(kRed); - sphe1->SetLineColor(kBlack); - sphe2->SetLineColor(kBlue); - - - // Build the geometry hierarchy - node1 = new TNode("NODE1","NODE1","BRIK"); - node1->cd(); - - node2 = new TNode("NODE2","NODE2","TRD1",0,0,-1000); - node3 = new TNode("NODE3","NODE3","TRD2",0,0,1000); - node4 = new TNode("NODE4","NODE4","TRAP",0,-1000,0); - node5 = new TNode("NODE5","NODE5","PARA",0,1000,0); - node6 = new TNode("NODE6","NODE6","TUBE",-1000,0,0); - node7 = new TNode("NODE7","NODE7","TUBS",1000,0,0); - node8 = new TNode("NODE8","NODE8","CONE",-300,-300,0); - node9 = new TNode("NODE9","NODE9","CONS",300,300,0); - node10 = new TNode("NODE10","NODE10","PCON",0,-1000,-1000); - node11 = new TNode("NODE11","NODE11","PGON",0,1000,1000); - node12 = new TNode("NODE12","NODE12","GTRA",0,-400,700); - node13 = new TNode("NODE13","NODE13","SPHE",10,-400,500); - node14 = new TNode("NODE14","NODE14","SPHE1",10, 250,300); - node15 = new TNode("NODE15","NODE15","SPHE2",10,-100,-200); - - - // Draw this geometry in the current canvas - node1->cd(); - node1->Draw("gl"); - c1->Update(); - // - // Draw the geometry using the OpenGL viewver. - // Note that this viewver may also be invoked from the "View" menu in - // the canvas tool bar - // - // once in the viewer, select the Help button - // For example typing r will show a solid model of this geometry. -} diff --git a/tutorials/shapes.py b/tutorials/shapes.py deleted file mode 100755 index 1380e758093b4fc0f1c26f815f72936e130ffeea..0000000000000000000000000000000000000000 --- a/tutorials/shapes.py +++ /dev/null @@ -1,91 +0,0 @@ -# -# To see the output of this macro, click begin_html <a href="gif/shapes.gif" >here</a> end_html -# - -import ROOT - -ROOT.gROOT.Reset(); -c1 = ROOT.TCanvas( 'c1', 'Geometry Shapes', 200, 10, 700, 500 ) - -# delete previous geometry objects in case this script is reexecuted -if ROOT.gGeometry: - print ROOT.gGeometry - ROOT.gGeometry.GetListOfNodes().Delete() - ROOT.gGeometry.GetListOfShapes().Delete() - -# Define some volumes -brik = ROOT.TBRIK( 'BRIK', 'BRIK', 'void', 200, 150, 150 ) -trd1 = ROOT.TTRD1( 'TRD1', 'TRD1', 'void', 200, 50, 100, 100 ) -trd2 = ROOT.TTRD2( 'TRD2', 'TRD2', 'void', 200, 50, 200, 50, 100 ) -trap = ROOT.TTRAP( 'TRAP', 'TRAP', 'void', 190, 0, 0, 60, 40, 90, 15, 120, 80, 180, 15 ) -para = ROOT.TPARA( 'PARA', 'PARA', 'void', 100, 200, 200, 15, 30, 30 ) -gtra = ROOT.TGTRA( 'GTRA', 'GTRA', 'void', 390, 0, 0, 20, 60, 40, 90, 15, 120, 80, 180, 15 ) -tube = ROOT.TTUBE( 'TUBE', 'TUBE', 'void', 150, 200, 400 ) -tubs = ROOT.TTUBS( 'TUBS', 'TUBS', 'void', 80, 100, 100, 90, 235 ) -cone = ROOT.TCONE( 'CONE', 'CONE', 'void', 100, 50, 70, 120, 150 ) -cons = ROOT.TCONS( 'CONS', 'CONS', 'void', 50, 100, 100, 200, 300, 90, 270 ) -sphe = ROOT.TSPHE( 'SPHE', 'SPHE', 'void', 25, 340, 45, 135, 0, 270 ) -sphe1 = ROOT.TSPHE( 'SPHE1', 'SPHE1', 'void', 0, 140, 0, 180, 0, 360 ) -sphe2 = ROOT.TSPHE( 'SPHE2', 'SPHE2', 'void', 0, 200, 10, 120, 45, 145 ) - -pcon = ROOT.TPCON( 'PCON', 'PCON', 'void', 180, 270, 4 ) -pcon.DefineSection( 0, -200, 50, 100 ) -pcon.DefineSection( 1, -50, 50, 80 ) -pcon.DefineSection( 2, 50, 50, 80 ) -pcon.DefineSection( 3, 200, 50, 100 ) - -pgon = ROOT.TPGON( 'PGON', 'PGON', 'void', 180, 270, 8, 4 ) -pgon.DefineSection( 0, -200, 50, 100 ) -pgon.DefineSection( 1, -50, 50, 80 ) -pgon.DefineSection( 2, 50, 50, 80 ) -pgon.DefineSection( 3, 200, 50, 100 ) - -# Set shapes attributes -brik.SetLineColor( 1 ) -trd1.SetLineColor( 2 ) -trd2.SetLineColor( 3 ) -trap.SetLineColor( 4 ) -para.SetLineColor( 5 ) -gtra.SetLineColor( 7 ) -tube.SetLineColor( 6 ) -tubs.SetLineColor( 7 ) -cone.SetLineColor( 2 ) -cons.SetLineColor( 3 ) -pcon.SetLineColor( 6 ) -pgon.SetLineColor( 2 ) -sphe.SetLineColor( ROOT.kRed ) -sphe1.SetLineColor( ROOT.kBlack ) -sphe2.SetLineColor( ROOT.kBlue ) - - -# Build the geometry hierarchy -node1 = ROOT.TNode( 'NODE1', 'NODE1', 'BRIK' ) -node1.cd() - -node2 = ROOT.TNode( 'NODE2', 'NODE2', 'TRD1', 0, 0, -1000 ) -node3 = ROOT.TNode( 'NODE3', 'NODE3', 'TRD2', 0, 0, 1000 ) -node4 = ROOT.TNode( 'NODE4', 'NODE4', 'TRAP', 0, -1000, 0 ) -node5 = ROOT.TNode( 'NODE5', 'NODE5', 'PARA', 0, 1000, 0 ) -node6 = ROOT.TNode( 'NODE6', 'NODE6', 'TUBE', -1000, 0, 0 ) -node7 = ROOT.TNode( 'NODE7', 'NODE7', 'TUBS', 1000, 0, 0 ) -node8 = ROOT.TNode( 'NODE8', 'NODE8', 'CONE', -300, -300, 0 ) -node9 = ROOT.TNode( 'NODE9', 'NODE9', 'CONS', 300, 300, 0 ) -node10 = ROOT.TNode( 'NODE10', 'NODE10', 'PCON', 0, -1000, -1000 ) -node11 = ROOT.TNode( 'NODE11', 'NODE11', 'PGON', 0, 1000, 1000 ) -node12 = ROOT.TNode( 'NODE12', 'NODE12', 'GTRA', 0, -400, 700 ) -node13 = ROOT.TNode( 'NODE13', 'NODE13', 'SPHE', 10, -400, 500 ) -node14 = ROOT.TNode( 'NODE14', 'NODE14', 'SPHE1', 10, 250, 300 ) -node15 = ROOT.TNode( 'NODE15', 'NODE15', 'SPHE2', 10, -100, -200 ) - - -# Draw this geometry in the current canvas -node1.cd() -node1.Draw( 'gl' ) -c1.Update() -# -# Draw the geometry using the x3d viewver. -# Note that this viewver may also be invoked from the "View" menu in -# the canvas tool bar -# -# once in x3d viewer, type m to see the menu. -# For example typing r will show a solid model of this geometry. diff --git a/tutorials/shapesAnim.C b/tutorials/shapesAnim.C deleted file mode 100644 index e5453d51df01009a4f9883f52acfff53a35eb5c0..0000000000000000000000000000000000000000 --- a/tutorials/shapesAnim.C +++ /dev/null @@ -1,90 +0,0 @@ -//macro illustrating how to animate a geometry picture using a Timer -Double_t pi; -Float_t theta = 0; -Float_t phi = 30; -void shapesAnim() { - TCanvas *c1 = new TCanvas("c1","Geometry Shapes",10,10,500,500); - - // Define some volumes - TBRIK *brik = new TBRIK("BRIK","BRIK","void",200,150,150); - TTRD1 *trd1 = new TTRD1("TRD1","TRD1","void",200,50,100,100); - TTRD2 *trd2 = new TTRD2("TRD2","TRD2","void",200,50,200,50,100); - TTRAP *trap = new TTRAP("TRAP","TRAP","void",190,0,0,60,40,90,15,120,80,180,15); - TPARA *para = new TPARA("PARA","PARA","void",100,200,200,15,30,30); - TGTRA *gtra = new TGTRA("GTRA","GTRA","void",390,0,0,20,60,40,90,15,120,80,180,15); - TTUBE *tube = new TTUBE("TUBE","TUBE","void",150,200,400); - TTUBS *tubs = new TTUBS("TUBS","TUBS","void",80,100,100,90,235); - TCONE *cone = new TCONE("CONE","CONE","void",100,50,70,120,150); - TCONS *cons = new TCONS("CONS","CONS","void",50,100,100,200,300,90,270); - TSPHE *sphe = new TSPHE("SPHE","SPHE","void",25,340, 45,135, 0,270); - TSPHE *sphe1 = new TSPHE("SPHE1","SPHE1","void",0,140, 0,180, 0,360); - TSPHE *sphe2 = new TSPHE("SPHE2","SPHE2","void",0,200, 10,120, 45,145); - - TPCON *pcon = new TPCON("PCON","PCON","void",180,270,4); - pcon->DefineSection(0,-200,50,100); - pcon->DefineSection(1,-50,50,80); - pcon->DefineSection(2,50,50,80); - pcon->DefineSection(3,200,50,100); - - TPGON *pgon = new TPGON("PGON","PGON","void",180,270,8,4); - pgon->DefineSection(0,-200,50,100); - pgon->DefineSection(1,-50,50,80); - pgon->DefineSection(2,50,50,80); - pgon->DefineSection(3,200,50,100); - - // Set shapes attributes - brik->SetLineColor(1); - trd1->SetLineColor(2); - trd2->SetLineColor(3); - trap->SetLineColor(4); - para->SetLineColor(5); - gtra->SetLineColor(7); - tube->SetLineColor(6); - tubs->SetLineColor(7); - cone->SetLineColor(2); - cons->SetLineColor(3); - pcon->SetLineColor(6); - pgon->SetLineColor(2); - sphe->SetLineColor(kRed); - sphe1->SetLineColor(kBlack); - sphe2->SetLineColor(kBlue); - - - // Build the geometry hierarchy - TNode *node1 = new TNode("NODE1","NODE1","BRIK"); - node1->cd(); - - TNode *node2 = new TNode("NODE2","NODE2","TRD1",0,0,-1000); - TNode *node3 = new TNode("NODE3","NODE3","TRD2",0,0,1000); - TNode *node4 = new TNode("NODE4","NODE4","TRAP",0,-1000,0); - TNode *node5 = new TNode("NODE5","NODE5","PARA",0,1000,0); - TNode *node6 = new TNode("NODE6","NODE6","TUBE",-1000,0,0); - TNode *node7 = new TNode("NODE7","NODE7","TUBS",1000,0,0); - TNode *node8 = new TNode("NODE8","NODE8","CONE",-300,-300,0); - TNode *node9 = new TNode("NODE9","NODE9","CONS",300,300,0); - TNode *node10 = new TNode("NODE10","NODE10","PCON",0,-1000,-1000); - TNode *node11 = new TNode("NODE11","NODE11","PGON",0,1000,1000); - TNode *node12 = new TNode("NODE12","NODE12","GTRA",0,-400,700); - TNode *node13 = new TNode("NODE13","NODE13","SPHE",10,-400,500); - TNode *node14 = new TNode("NODE14","NODE14","SPHE1",10, 250,300); - TNode *node15 = new TNode("NODE15","NODE15","SPHE2",10,-100,-200); - - - // Draw this geometry in the current canvas - node1->cd(); - node1->Draw(); - c1->Update(); - - //start a Timer - TTimer *timer = new TTimer(20); - timer->SetCommand("Animate()"); - timer->TurnOn(); -} -void Animate() -{ - theta += 2; - phi += 2; - gPad->GetView()->RotateView(theta,phi); - gPad->Modified(); - gPad->Update(); -} diff --git a/tutorials/shared.C b/tutorials/shared.C deleted file mode 100644 index 88def784692b9645f9d731b55456faf7338efb04..0000000000000000000000000000000000000000 --- a/tutorials/shared.C +++ /dev/null @@ -1,65 +0,0 @@ -{ - gROOT->Reset(); - TCanvas *nut = new TCanvas("nut", "Shared libraries",100,10,700,900); - nut->Range(0,0,20,24); - nut->SetFillColor(10); - nut->SetBorderSize(2); - - TPaveLabel *pl = new TPaveLabel(3,22.2,17,23.7,"Dynamic linking from Shared libraries","br"); - pl->SetFillColor(18); - pl->SetTextSize(0.4); - pl->Draw(); - TText t(0,0,"a"); - t.SetTextFont(62); - t.SetTextSize(0.025); - t.SetTextAlign(12); - t.DrawText(2,20,"The \"standard\" ROOT executable module can dynamically"); - t.DrawText(2,19,"load user@'s specific code from shared libraries."); - t.SetTextFont(72); - t.SetTextSize(0.026); - t.DrawText(3,16,"Root > gSystem->Load(\"na49.sl\")"); - t.DrawText(3,15,"Root > gSystem->Load(\"mylib.sl\")"); - t.DrawText(3,14,"Root > T49Event event"); - t.DrawText(3,13,"Root > event.xxxxxxx"); - - TEllipse el(5,8.5,2,1.3); - el.SetFillColor(17); - el.Draw(); - t.SetTextFont(62); - t.SetTextAlign(22); - t.SetTextSize(0.025); - t.DrawText(5,9.0,"ROOT"); - t.DrawText(5,8.0,"executable"); - - TPaveLabel roots(10,10,16,11,"ROOT Shared libraries"); - roots.SetFillColor(17); - roots.Draw(); - TPaveLabel na49s(10,8,16,9,"NA49 Shared libraries"); - na49s.SetFillColor(17); - na49s.Draw(); - TPaveLabel users(10,6,16,7,"User Shared libraries"); - users.SetFillColor(17); - users.Draw(); - TArrow *arrow = new TArrow(9.91329,10.4982,7.05202,9.17895,0.025,"|>"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->Draw(); - arrow = new TArrow(9.88439,8.47719,7.39884,8.47719,0.025,"|>"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->Draw(); - arrow = new TArrow(9.88439,6.45614,7.19653,7.77544,0.025,"|>"); - arrow->SetFillColor(1); - arrow->SetFillStyle(1001); - arrow->Draw(); - - //--signature - TText sig(.2,.2,"/user/brun/root/aihep/shared.C"); - sig.SetTextFont(72); - sig.SetTextSize(0.020); - sig.Draw(); - - nut->Modified(); - nut->Print("shared.ps"); - nut->cd(); -} diff --git a/tutorials/solveLinear.C b/tutorials/solveLinear.C deleted file mode 100644 index 4d2fc7e9364d504a1a584a766ed3fcdf2fd77fb9..0000000000000000000000000000000000000000 --- a/tutorials/solveLinear.C +++ /dev/null @@ -1,135 +0,0 @@ -#include "Riostream.h" -#include "TMatrixD.h" -#include "TVectorD.h" -#include "TGraphErrors.h" -#include "TDecompChol.h" -#include "TDecompSVD.h" -#include "TF1.h" - -// This macro shows several ways to perform a linear least-squares -// analysis . To keep things simple we fit a straight line to 4 -// data points -// The first 4 methods use the linear algebra package to find -// x such that min (A x - b)^T (A x - b) where A and b -// are calculated with the data points and the functional expression : -// -// 1. Normal equations: -// Expanding the expression (A x - b)^T (A x - b) and taking the -// derivative wrt x leads to the "Normal Equations": -// A^T A x = A^T b where A^T A is a positive definite matrix. Therefore, -// a Cholesky decomposition scheme can be used to calculate its inverse . -// This leads to the solution x = (A^T A)^-1 A^T b . All this is done in -// routine NormalEqn . We made it a bit more complicated by giving the -// data weights . -// Numerically this is not the best way to proceed because effctively the -// condition number of A^T A is twice as large as that of A, making inversion -// more difficult -// -// 2. SVD -// One can show that solving A x = b for x with A of size (m x n) and m > n -// through a Singular Value Decomposition is equivalent to miminizing -// (A x - b)^T (A x - b) -// Numerically , this is the most stable method of all 5 -// -// 3. Pseudo Inverse -// Here we calulate the generalized matrix inverse ("pseudo inverse") by -// solving A X = Unit for matrix X through an SVD . The formal expression for -// is X = (A^T A)^-1 A^T . Then we multiply it by b . -// Numerically, not as good as 2 and not as fast . In general it is not a -// good idea to solve a set of linear equations with a matrix inversion . -// -// 4. Pseudo Inverse , brute force -// The pseudo inverse is calculated brute force through a series of matrix -// manipulations . It shows nicely some operations in the matrix package, -// but is otherwise a big "no no" . -// -// 5. Least-squares analysis with Minuit -// An objective function L is minimized by Minuit, where -// L = sum_i { (y - c_0 -c_1 * x / e)^2 } -// Minuit will calculate numerically the derivative of L wrt c_0 and c_1 . -// It has not been told that these derivatives are linear in the parameters -// c_0 and c_1 . -// For ill-conditioned linear problems it is better to use the fact it is -// a linear fit as in 2 . -// -// Another interesting thing is the way we assign data to the vectors and -// matrices through adoption . -// This allows data assignment without physically moving bytes around . - -void solveLinear(Double_t eps = 1.e-12) -{ - cout << "Perform the fit y = c0 + c1 * x in four different ways" << endl; - - const Int_t nrVar = 2; - const Int_t nrPnts = 4; - - Double_t ax[] = {0.0,1.0,2.0,3.0}; - Double_t ay[] = {1.4,1.5,3.7,4.1}; - Double_t ae[] = {0.5,0.2,1.0,0.5}; - - // Make the vectors 'Use" the data : they are not copied, the vector data - // pointer is just set appropriately - - TVectorD x; x.Use(nrPnts,ax); - TVectorD y; y.Use(nrPnts,ay); - TVectorD e; e.Use(nrPnts,ae); - - TMatrixD A(nrPnts,nrVar); - TMatrixDColumn(A,0) = 1.0; - TMatrixDColumn(A,1) = x; - - cout << " - 1. solve through Normal Equations" << endl; - - const TVectorD c_norm = NormalEqn(A,y,e); - - cout << " - 2. solve through SVD" << endl; - // numerically preferred method - - // first bring the weights in place - TMatrixD Aw = A; - TVectorD yw = y; - for (Int_t irow = 0; irow < A.GetNrows(); irow++) { - TMatrixDRow(Aw,irow) *= 1/e(irow); - yw(irow) /= e(irow); - } - - TDecompSVD svd(Aw); - Bool_t ok; - const TVectorD c_svd = svd.Solve(yw,ok); - - cout << " - 3. solve with pseudo inverse" << endl; - - const TMatrixD pseudo1 = svd.Invert(); - TVectorD c_pseudo1 = yw; - c_pseudo1 *= pseudo1; - - cout << " - 4. solve with pseudo inverse, calculated brute force" << endl; - - TMatrixDSym AtA(TMatrixDSym::kAtA,Aw); - const TMatrixD pseudo2 = AtA.Invert() * Aw.T(); - TVectorD c_pseudo2 = yw; - c_pseudo2 *= pseudo2; - - cout << " - 5. Minuit through TGraph" << endl; - - TGraphErrors *gr = new TGraphErrors(nrPnts,ax,ay,0,ae); - TF1 *f1 = new TF1("f1","pol1",0,5); - gr->Fit("f1","Q"); - TVectorD c_graph(nrVar); - c_graph(0) = f1->GetParameter(0); - c_graph(1) = f1->GetParameter(1); - - // Check that all 4 answers are identical within a certain - // tolerance . The 1e-12 is somewhat arbitrary . It turns out that - // the TGraph fit is different by a few times 1e-13. - - Bool_t same = kTRUE; - same &= VerifyVectorIdentity(c_norm,c_svd,0,eps); - same &= VerifyVectorIdentity(c_norm,c_pseudo1,0,eps); - same &= VerifyVectorIdentity(c_norm,c_pseudo2,0,eps); - same &= VerifyVectorIdentity(c_norm,c_graph,0,eps); - if (same) - cout << " All solutions are the same within tolerance of " << eps << endl; - else - cout << " Some solutions differ more than the allowed tolerance of " << eps << endl; -} diff --git a/tutorials/spectrumpainter.C b/tutorials/spectrumpainter.C deleted file mode 100644 index 3b8ca602957cf1ac500441fd461b86c419acda1d..0000000000000000000000000000000000000000 --- a/tutorials/spectrumpainter.C +++ /dev/null @@ -1,26 +0,0 @@ -{ - // Examples showing how to use TSpectrum2Painter (the SPEC option) - - TH2 *h2 = new TH2F("h2","h2",40,-8,8,40,-9,9); - Float_t px, py; - for (Int_t i = 0; i < 50000; i++) { - gRandom->Rannor(px,py); - Float_t random = gRandom->Rndm(1); - h2->Fill(px,py); - h2->Fill(px+4,py-4,0.5); - h2->Fill(px+4,py+4,0.25); - h2->Fill(px-3,py+4,0.125); - } - - TCanvas *c1 = new TCanvas("c1","Illustration of 2D graphics",10,10,800,700); - c1->Divide(2,2); - - c1->cd(1); - h2->Draw("SPEC dm(2,10) zs(1)"); - c1->cd(2); - h2->Draw("SPEC dm(1,10) pa(2,1,1) ci(1,4,8) a(15,45,0)"); - c1->cd(3); - h2->Draw("SPEC dm(2,10) pa(1,1,1) ci(1,1,1) a(15,45,0) s(1,1)"); - c1->cd(4); - h2->Draw("SPEC dm(1,10) pa(2,1,1) ci(1,4,8) a(15,45,0) cm(1,15,4,4,1) cg(1,2)"); -} diff --git a/tutorials/spheres.C b/tutorials/spheres.C deleted file mode 100644 index 29ee9b41e37729456c177f96f54b375c95fdfea9..0000000000000000000000000000000000000000 --- a/tutorials/spheres.C +++ /dev/null @@ -1,47 +0,0 @@ -#include "TRandom.h" -#include "TCanvas.h" -#include "TView.h" -#include "TPolyMarker3D.h" - -void spheres(Int_t nspheres=20, Int_t npoints=100000) { - // generate random points uniformly distributed over the surface - // of spheres generated at random positions. - - TCanvas *c1 = new TCanvas("c1","spheres",600,600); - c1->SetFillColor(kBlack); - TView *view = new TView(1); - Double_t k=0.8; - view->SetRange( -k, -k, -k, k, k, k); - - //generate sphere coordinates and radius - TRandom r; - if (nspheres <=0) nspheres = 10; - Double_t *xs = new Double_t[nspheres]; - Double_t *ys = new Double_t[nspheres]; - Double_t *zs = new Double_t[nspheres]; - Double_t *rs = new Double_t[nspheres]; - Int_t i; - for (i=0;i<nspheres;i++) { - xs[i] = r.Uniform(-1,1); - ys[i] = r.Uniform(-1,1); - zs[i] = r.Uniform(-1,1); - rs[i] = r.Uniform(0.05,0.25); - } - - //generate points - TPolyMarker3D *pm = new TPolyMarker3D(npoints); - pm->SetMarkerColor(kRed); - Double_t x,y,z; - for (Int_t j=0;j<npoints;j++) { - i = (Int_t)r.Uniform(0,nspheres); //choose sphere - r.Sphere(x,y,z,rs[i]); - pm->SetPoint(j,xs[i]+x, ys[i]+y,zs[i]+z); - } - - delete [] xs; - delete [] ys; - delete [] zs; - delete [] rs; - - pm->Draw(); -} diff --git a/tutorials/splines.C b/tutorials/splines.C deleted file mode 100644 index e3abee2acb0a8c9faa43ceb886e66ebef2e68ff1..0000000000000000000000000000000000000000 --- a/tutorials/splines.C +++ /dev/null @@ -1,100 +0,0 @@ -void splines (Int_t np=23, Double_t a=-0.5, Double_t b=31) -{ - // examples of use of the spline classes - - // array of points - Double_t *xx=0, *yy=0; - TSpline3 *spline3=0; - TSpline5 *spline5=0; - TLine *line5, *line3; - TText *text5, *text3, *textn; - char text[20]; - const Double_t power=0.75; - - // Define the original function - TF1 *f=new TF1("f","sin(x)*sin(x/10)", - a-0.05*(b-a),b+0.05*(b-a)); - // Draw function - f->Draw("lc"); - - // Create text and legend - Float_t xx1, yy1, xx2, yy2, dx, dy; - gPad->Update(); - gPad->GetRangeAxis(xx1,yy1,xx2,yy2); - dx = xx2-xx1; - dy = yy2-yy1; - line5=new TLine(xx1+dx*0.3,yy1+dy*1.02, - xx1+dx*0.38,yy1+dy*1.02); - line5->SetLineColor(kRed); - line5->SetLineWidth(2); - text5 = new TText(xx1+dx*0.4, - yy1+dy*1.03,"quintic spline"); - text5->SetTextAlign(12); - text5->SetTextSize(0.04); - line3=new TLine(xx1+dx*0.67,yy1+dy*1.02, - xx1+dx*0.75,yy1+dy*1.02); - line3->SetLineColor(kGreen); - line3->SetLineWidth(2); - text3 = new TText(xx1+dx*0.77, - yy1+dy*1.03,"third spline"); - text3->SetTextAlign(12); - text3->SetTextSize(0.04); - textn = new TText(xx1+dx*0.8,yy1+dy*0.91," "); - textn->SetTextAlign(12); - textn->SetTextSize(0.04); - textn->Draw(); - - // Draw legenda - line5->Draw(); - text5->Draw(); - line3->Draw(); - text3->Draw(); - - for(Int_t nnp=2; nnp<=np; ++nnp) { - - // Calculate the knots - if(xx) delete xx; - xx = new Double_t[nnp]; - if(yy) delete yy; - yy = new Double_t[nnp]; - for (Int_t i=0; i<nnp; ++i) { - xx[i]=a+(b-a)*TMath::Power(i/Double_t (nnp-1),power); - yy[i]=f->Eval(xx[i]); - } - - // Evaluate fifth spline coefficients - Double_t eps=(b-a)*1.e-5; - if(spline5) delete spline5; - spline5 = new TSpline5("Test",xx,f,nnp,"b1e1b2e2", - f->Derivative(a),f->Derivative(b), - (f->Derivative(a+eps)-f->Derivative(a))/eps, - (f->Derivative(b)-f->Derivative(b-eps))/eps); - - spline5->SetLineColor(kRed); - spline5->SetLineWidth(3); - - // Draw the quintic spline - spline5->Draw("lcsame"); - - // Evaluate third spline coefficients - if(spline3) delete spline3; - spline3 = new TSpline3("Test",xx,yy,nnp,"b1e1", - f->Derivative(a),f->Derivative(b)); - - spline3->SetLineColor(kGreen); - spline3->SetLineWidth(3); - spline3->SetMarkerColor(kBlue); - spline3->SetMarkerStyle(20); - spline3->SetMarkerSize(1.5); - - // Draw the third spline - spline3->Draw("lcpsame"); - - sprintf(text,"%3d knots",nnp); - textn->SetTitle(text); - gPad->Update(); - - // - gSystem->Sleep(500); - } -} diff --git a/tutorials/spy.C b/tutorials/spy.C deleted file mode 100644 index 55e373b7ef2abdb4f9806ba2661fce80d6a99ffc..0000000000000000000000000000000000000000 --- a/tutorials/spy.C +++ /dev/null @@ -1,177 +0,0 @@ -// Client program which allows the snooping of objects from a spyserv process. -// To run this demo do the following (see spyserv.C): -// - open two or more windows -// - start root in all windows -// - execute in the first window: .x spyserv.C (or spyserv.C++) -// - execute in the other window(s): .x spy.C (or spy.C++) -// - in the "spy" client windows click the "Connect" button and snoop -// the histograms by clicking on the "hpx", "hpxpy" and "hprof" -// buttons - -#include "TGButton.h" -#include "TRootEmbeddedCanvas.h" -#include "TGLayout.h" -#include "TH2.h" -#include "TCanvas.h" -#include "TSocket.h" -#include "TMessage.h" -#include "RQ_OBJECT.h" - - -class Spy { - -RQ_OBJECT("Spy") - -private: - TGMainFrame *fMain; - TRootEmbeddedCanvas *fCanvas; - TGHorizontalFrame *fHorz; - TGHorizontalFrame *fHorz2; - TGLayoutHints *fLbut; - TGLayoutHints *fLhorz; - TGLayoutHints *fLcan; - TGButton *fHpx; - TGButton *fHpxpy; - TGButton *fHprof; - TGButton *fConnect; - TGButton *fQuit; - TSocket *fSock; - TH1 *fHist; - -public: - Spy(); - ~Spy(); - - void Connect(); - void DoButton(); -}; - -void Spy::DoButton() -{ - // Ask for histogram... - - if (!fSock->IsValid()) - return; - - TGButton *btn = (TGButton *) gTQSender; - switch (btn->WidgetId()) { - case 1: - fSock->Send("get hpx"); - break; - case 2: - fSock->Send("get hpxpy"); - break; - case 3: - fSock->Send("get hprof"); - break; - } - TMessage *mess; - if (fSock->Recv(mess) <= 0) { - Error("Spy::DoButton", "error receiving message"); - return; - } - - if (fHist) delete fHist; - if (mess->GetClass()->InheritsFrom(TH1::Class())) { - fHist = (TH1*) mess->ReadObject(mess->GetClass()); - if (mess->GetClass()->InheritsFrom(TH2::Class())) - fHist->Draw("cont"); - else - fHist->Draw(); - fCanvas->GetCanvas()->Modified(); - fCanvas->GetCanvas()->Update(); - } - - delete mess; -} - -void Spy::Connect() -{ - // Connect to SpyServ - fSock = new TSocket("localhost", 9090); - fConnect->SetState(kButtonDisabled); - fHpx->SetState(kButtonUp); - fHpxpy->SetState(kButtonUp); - fHprof->SetState(kButtonUp); -} - -Spy::Spy() -{ - // Create a main frame - fMain = new TGMainFrame(gClient->GetRoot(), 100, 100); - fMain->SetCleanup(kDeepCleanup); - - // Create an embedded canvas and add to the main frame, centered in x and y - // and with 30 pixel margins all around - fCanvas = new TRootEmbeddedCanvas("Canvas", fMain, 600, 400); - fLcan = new TGLayoutHints(kLHintsCenterX|kLHintsCenterY,30,30,30,30); - fMain->AddFrame(fCanvas, fLcan); - - // Create a horizonal frame containing three text buttons - fLhorz = new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 30); - fHorz = new TGHorizontalFrame(fMain, 100, 100); - fMain->AddFrame(fHorz, fLhorz); - - // Create three text buttons to get objects from server - // Add to horizontal frame - fLbut = new TGLayoutHints(kLHintsCenterX, 10, 10, 0, 0); - fHpx = new TGTextButton(fHorz, "Get hpx", 1); - fHpx->SetState(kButtonDisabled); - fHpx->Connect("Clicked()", "Spy", this, "DoButton()"); - fHorz->AddFrame(fHpx, fLbut); - fHpxpy = new TGTextButton(fHorz, "Get hpxpy", 2); - fHpxpy->SetState(kButtonDisabled); - fHpxpy->Connect("Clicked()", "Spy", this, "DoButton()"); - fHorz->AddFrame(fHpxpy, fLbut); - fHprof = new TGTextButton(fHorz, "Get hprof", 3); - fHprof->SetState(kButtonDisabled); - fHprof->Connect("Clicked()", "Spy", this, "DoButton()"); - fHorz->AddFrame(fHprof, fLbut); - - // Create a horizonal frame containing two text buttons - fHorz2 = new TGHorizontalFrame(fMain, 100, 100); - fMain->AddFrame(fHorz2, fLhorz); - - // Create "Connect" and "Quit" buttons - // Add to horizontal frame - fConnect = new TGTextButton(fHorz2, "Connect"); - fConnect->Connect("Clicked()", "Spy", this, "Connect()"); - fHorz2->AddFrame(fConnect, fLbut); - fQuit = new TGTextButton(fHorz2, "Quit"); - fQuit->SetCommand("gApplication->Terminate()"); - fHorz2->AddFrame(fQuit, fLbut); - - // Set main frame name, map sub windows (buttons), initialize layout - // algorithm via Resize() and map main frame - fMain->SetWindowName("Spy on SpyServ"); - fMain->MapSubwindows(); - fMain->Resize(fMain->GetDefaultSize()); - fMain->MapWindow(); - - fHist = 0; -} - -Spy::~Spy() -{ - // Clean up - - delete fHist; - delete fSock; - delete fLbut; - delete fLhorz; - delete fLcan; - delete fHpx; - delete fHpxpy; - delete fHprof; - delete fConnect; - delete fQuit; - delete fHorz; - delete fHorz2; - delete fCanvas; - delete fMain; -} - -void spy() -{ - new Spy; -} diff --git a/tutorials/spyserv.C b/tutorials/spyserv.C deleted file mode 100644 index 3faae77f05e0c00c4f7bb1a53df1dd3302a299cd..0000000000000000000000000000000000000000 --- a/tutorials/spyserv.C +++ /dev/null @@ -1,155 +0,0 @@ -// Server program which allows clients, "spies", to connect and snoop objects. -// To run this demo do the following: -// - open two or more windows -// - start root in all windows -// - execute in the first window: .x spyserv.C (or spyserv.C++) -// - execute in the other window(s): .x spy.C (or spy.C++) -// - in the "spy" client windows click the "Connect" button and snoop -// the histograms by clicking on the "hpx", "hpxpy" and "hprof" -// buttons - -#include "TH1.h" -#include "TH2.h" -#include "TProfile.h" -#include "TCanvas.h" -#include "TFrame.h" -#include "TSocket.h" -#include "TServerSocket.h" -#include "TMonitor.h" -#include "TMessage.h" -#include "TRandom.h" -#include "TList.h" -#ifndef __CINT__ -#include "TError.h" -#endif - - -class SpyServ { -private: - TCanvas *fCanvas; // main canvas - TH1F *fHpx; // 1-D histogram - TH2F *fHpxpy; // 2-D histogram - TProfile *fHprof; // profile histogram - TServerSocket *fServ; // server socket - TMonitor *fMon; // socket monitor - TList *fSockets; // list of open spy sockets -public: - SpyServ(); - ~SpyServ(); - - void HandleSocket(TSocket *s); -}; - - -void SpyServ::HandleSocket(TSocket *s) -{ - if (s->IsA() == TServerSocket::Class()) { - // accept new connection from spy - TSocket *sock = ((TServerSocket*)s)->Accept(); - fMon->Add(sock); - fSockets->Add(sock); - printf("accepted connection from %s\n", sock->GetInetAddress().GetHostName()); - } else { - // we only get string based requests from the spy - char request[64]; - if (s->Recv(request, sizeof(request)) <= 0) { - fMon->Remove(s); - fSockets->Remove(s); - printf("closed connection from %s\n", s->GetInetAddress().GetHostName()); - delete s; - return; - } - - // send requested object back - TMessage answer(kMESS_OBJECT); - if (!strcmp(request, "get hpx")) - answer.WriteObject(fHpx); - else if (!strcmp(request, "get hpxpy")) - answer.WriteObject(fHpxpy); - else if (!strcmp(request, "get hprof")) - answer.WriteObject(fHprof); - else - Error("SpyServ::HandleSocket", "unexpected message"); - s->Send(answer); - } -} - -SpyServ::SpyServ() -{ - // Create the server process to fills a number of histograms. - // A spy process can connect to it and ask for the histograms. - // There is no apriory limit for the number of concurrent spy processes. - - // Open a server socket looking for connections on a named service or - // on a specified port - //TServerSocket *ss = new TServerSocket("spyserv", kTRUE); - fServ = new TServerSocket(9090, kTRUE); - - // Add server socket to monitor so we are notified when a client needs to be - // accepted - fMon = new TMonitor; - fMon->Add(fServ); - - // Create a list to contain all client connections - fSockets = new TList; - - // Create a new canvas - fCanvas = new TCanvas("SpyServ","SpyServ",200,10,700,500); - fCanvas->SetFillColor(42); - fCanvas->GetFrame()->SetFillColor(21); - fCanvas->GetFrame()->SetBorderSize(6); - fCanvas->GetFrame()->SetBorderMode(-1); - - // Create a 1-D, 2-D and a profile histogram - fHpx = new TH1F("hpx","This is the px distribution",100,-4,4); - fHpxpy = new TH2F("hpxpy","py vs px",40,-4,4,40,-4,4); - fHprof = new TProfile("hprof","Profile of pz versus px",100,-4,4,0,20); - - // Set canvas/frame attributes (save old attributes) - fHpx->SetFillColor(48); - - // Fill histograms randomly - gRandom->SetSeed(); - Float_t px, py, pz; - const Int_t kUPDATE = 1000; - for (Int_t i = 0; ; i++) { - gRandom->Rannor(px,py); - pz = px*px + py*py; - fHpx->Fill(px); - fHpxpy->Fill(px,py); - fHprof->Fill(px,pz); - if (i && (i%kUPDATE) == 0) { - if (i == kUPDATE) fHpx->Draw(); - fCanvas->Modified(); - fCanvas->Update(); - - // Check if there is a message waiting on one of the sockets. - // Wait not longer than 20ms (returns -1 in case of time-out). - TSocket *s; - if ((s = fMon->Select(20)) != (TSocket*)-1) - HandleSocket(s); - if (!fCanvas->TestBit(TObject::kNotDeleted)) - break; - if (gROOT->IsInterrupted()) - break; - } - } -} - -SpyServ::~SpyServ() -{ - // Clean up - - fSockets->Delete(); - delete fSockets; - delete fServ; - delete fCanvas; - delete fHpx; - delete fHpxpy; - delete fHprof; -} - -void spyserv() -{ - new SpyServ; -} diff --git a/tutorials/sqlcanvas.C b/tutorials/sqlcanvas.C deleted file mode 100644 index 3db1f773cb4394b20e30929b3c04853e278cecb5..0000000000000000000000000000000000000000 --- a/tutorials/sqlcanvas.C +++ /dev/null @@ -1,150 +0,0 @@ -// This is slight modification of ntuple1.C example. -// A canvas with subpads is produced, stored to an sql data base and read back -// To run this macro, you need the hsimple.root file, produced by the hsimple.C macro -// Author: S.Linev - -// example configuration for MySQL 4.1 -const char* dbname = "mysql://host.domain/test"; -const char* username = "user"; -const char* userpass = "pass"; - -// example configuration for Oracle 9i -//const char* dbname = "oracle://host.domain/db-test"; -//const char* username = "user"; -//const char* userpass = "pass"; - -void sqlcanvas() -{ - canvas_write(); - canvas_read(); -} - -void canvas_write() -{ - //just in case this script is executed multiple times - delete gROOT->GetListOfFiles()->FindObject("hsimple.root"); - delete gROOT->GetListOfCanvases()->FindObject("c1"); - - gBenchmark->Start("ntuple1"); - // - // Connect ROOT histogram/ntuple demonstration file - // generated by example hsimple.C. - TFile *f1 = new TFile("hsimple.root"); - // - // Create a canvas, with 4 pads - // - TCanvas *c1 = new TCanvas("c1","The Ntuple canvas",200,10,700,780); - TPad *pad1 = new TPad("pad1","This is pad1",0.02,0.52,0.48,0.98,21); - TPad *pad2 = new TPad("pad2","This is pad2",0.52,0.52,0.98,0.98,21); - TPad *pad3 = new TPad("pad3","This is pad3",0.02,0.02,0.48,0.48,21); - TPad *pad4 = new TPad("pad4","This is pad4",0.52,0.02,0.98,0.48,1); - pad1->Draw(); - pad2->Draw(); - pad3->Draw(); - pad4->Draw(); - // - // Change default style for the statistics box - gStyle->SetStatW(0.30); - gStyle->SetStatH(0.20); - gStyle->SetStatColor(42); - // - // Display a function of one ntuple column imposing a condition - // on another column. - pad1->cd(); - pad1->SetGrid(); - pad1->SetLogy(); - pad1->GetFrame()->SetFillColor(15); - TNtuple *ntuple = (TNtuple*)f1->Get("ntuple"); - ntuple->SetLineColor(1); - ntuple->SetFillStyle(1001); - ntuple->SetFillColor(45); - ntuple->Draw("3*px+2","px**2+py**2>1"); - ntuple->SetFillColor(38); - ntuple->Draw("2*px+2","pz>2","same"); - ntuple->SetFillColor(5); - ntuple->Draw("1.3*px+2","(px^2+py^2>4) && py>0","same"); - pad1->RedrawAxis(); - // - // Display the profile of two columns - // The profile histogram produced is saved in the current directory with - // the name hprofs - pad2->cd(); - pad2->SetGrid(); - pad2->GetFrame()->SetFillColor(32); - ntuple->Draw("pz:px>>hprofs","","goffprofs"); - TProfile *hprofs = (TProfile*)gDirectory->Get("hprofs"); - hprofs->SetMarkerColor(5); - hprofs->SetMarkerSize(0.7); - hprofs->SetMarkerStyle(21); - hprofs->Fit("pol2"); - // Get pointer to fitted function and modify its attributes - TF1 *fpol2 = hprofs->GetFunction("pol2"); - fpol2->SetLineWidth(4); - fpol2->SetLineColor(2); - // - // Display a scatter plot of two columns with a selection. - // Superimpose the result of another cut with a different marker color - pad3->cd(); - pad3->GetFrame()->SetFillColor(38); - pad3->GetFrame()->SetBorderSize(8); - ntuple->SetMarkerColor(1); - ntuple->Draw("py:px","pz>1"); - ntuple->SetMarkerColor(2); - ntuple->Draw("py:px","pz<1","same"); - // - // Display a 3-D scatter plot of 3 columns. Superimpose a different selection. - pad4->cd(); - ntuple->Draw("pz:py:px","(pz<10 && pz>6)+(pz<4 && pz>3)"); - ntuple->SetMarkerColor(4); - ntuple->Draw("pz:py:px","pz<6 && pz>4","same"); - ntuple->SetMarkerColor(5); - ntuple->Draw("pz:py:px","pz<4 && pz>3","same"); - TPaveText *l4 = new TPaveText(-0.9,0.5,0.9,0.95); - l4->SetFillColor(42); - l4->SetTextAlign(12); - l4->AddText("You can interactively rotate this view in 2 ways:"); - l4->AddText(" - With the RotateCube in clicking in this pad"); - l4->AddText(" - Selecting View with x3d in the View menu"); - l4->Draw(); - // - c1->cd(); - c1->Update(); - gStyle->SetStatColor(19); - gBenchmark->Show("ntuple1"); - - TSQLFile* fsql1 = new TSQLFile(dbname, "recreate", username, userpass); - if (fsql1->IsZombie()) { delete fsql1; return; } - -// changing TSQLFile configuration, you may improve speed -// of reading or writing object to/from sql database - -// fsql1->SetUseSuffixes(kFALSE); -// fsql1->SetArrayLimit(1000); -// fsql1->SetUseIndexes(1); -// fsql1->SetTablesType("ISAM"); -// fsql1->SetUseTransactions(kFALSE); - - - // Unncomment this line to see all SQL commands in log file - // fsql1->StartLogFile("canvas.log"); - - gBenchmark->Start("writeSQL"); - c1->Write("Canvas"); - gBenchmark->Show("writeSQL"); - delete fsql1; -} - -void canvas_read() -{ - TFile* f2 = new TSQLFile(dbname, "open", username, userpass); - if (f2->IsZombie()) { delete f2; return; } - - f2->ls(); - gBenchmark->Start("readSQL"); - TCanvas* cc = (TCanvas*) f2->Get("Canvas"); - gBenchmark->Show("readSQL"); - if (cc!=0) cc->Draw(); - - delete f2; -} - diff --git a/tutorials/sqlcreatedb.C b/tutorials/sqlcreatedb.C deleted file mode 100644 index 395466d4cf8b393b7f1257abaae892584a12ffd6..0000000000000000000000000000000000000000 --- a/tutorials/sqlcreatedb.C +++ /dev/null @@ -1,24 +0,0 @@ -void sqlcreatedb() -{ - // Create a runcatalog table in a MySQL test database. - - // read in runcatalog table definition - FILE *fp = fopen("runcatalog.sql", "r"); - const char sql[4096]; - fread(sql, 1, 4096, fp); - fclose(fp); - - // open connection to MySQL server on localhost - TSQLServer *db = TSQLServer::Connect("mysql://localhost/test", "nobody", ""); - - TSQLResult *res; - - // create new table (delete old one first if exists) - res = db->Query("DROP TABLE runcatalog"); - delete res; - - res = db->Query(sql); - delete res; - - delete db; -} diff --git a/tutorials/sqlfilldb.C b/tutorials/sqlfilldb.C deleted file mode 100644 index cc5d68197d7367c1743b03fbd925a947c1af07e8..0000000000000000000000000000000000000000 --- a/tutorials/sqlfilldb.C +++ /dev/null @@ -1,48 +0,0 @@ -void sqlfilldb(int nfiles = 1000) -{ - // Fill run catalog with nfiles entries - - const char *ins = "INSERT INTO runcatalog VALUES ('%s', %d," - " %d, %d, %d, %10.2f, '%s', '%s', '1997-01-15 20:16:28'," - " '1999-01-15 20:16:28', '%s', '%s')"; - - char sql[4096]; - char dataset[32]; - char rawfile[128]; - int tag, evt = 0; - - // open connection to MySQL server on localhost - TSQLServer *db = TSQLServer::Connect("mysql://localhost/test", "nobody", ""); - TSQLResult *res; - - // first clean table of old entries - res = db->Query("DELETE FROM runcatalog"); - delete res; - - // start timer - TStopwatch timer; - timer.Start(); - - // fill run catalog - for (int i = 0; i < nfiles; i++) { - sprintf(dataset, "testrun_%d", i); - sprintf(rawfile, "/v1/data/lead/test/run_%d.root", i); - tag = int(gRandom->Rndm()*10.); - sprintf(sql, ins, dataset, i, evt, evt+10000, tag, 25.5, "test", "lead", - rawfile, "test run dummy data"); - evt += 10000; - res = db->Query(sql); - delete res; - //printf("%s\n", sql); - } - - delete db; - - // stop timer and print results - timer.Stop(); - Double_t rtime = timer.RealTime(); - Double_t ctime = timer.CpuTime(); - - printf("\n%d files in run catalog\n", nfiles); - printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime); -} diff --git a/tutorials/sqlselect.C b/tutorials/sqlselect.C deleted file mode 100644 index acafd7df373f4709de81cbaad5fe3a9e46e663ad..0000000000000000000000000000000000000000 --- a/tutorials/sqlselect.C +++ /dev/null @@ -1,86 +0,0 @@ -#ifndef __CINT__ -#include <TSQLServer.h> -#include <TSQLResult.h> -#include <TSQLRow.h> -#endif - -void sqlselect() -{ - TSQLServer *db = TSQLServer::Connect("mysql://localhost/test","nobody", ""); - - printf("Server info: %s\n", db->ServerInfo()); - - TSQLRow *row; - TSQLResult *res; - - // list databases available on server - printf("\nList all databases on server %s\n", db->GetHost()); - res = db->GetDataBases(); - while ((row = res->Next())) { - printf("%s\n", row->GetField(0)); - delete row; - } - delete res; - - // list tables in database "test" (the permission tables) - printf("\nList all tables in database \"test\" on server %s\n", - db->GetHost()); - res = db->GetTables("test"); - while ((row = res->Next())) { - printf("%s\n", row->GetField(0)); - delete row; - } - delete res; - - // list columns in table "runcatalog" in database "mysql" - printf("\nList all columns in table \"runcatalog\" in database \"test\" on server %s\n", - db->GetHost()); - res = db->GetColumns("test", "runcatalog"); - while ((row = res->Next())) { - printf("%s\n", row->GetField(0)); - delete row; - } - delete res; - - // start timer - TStopwatch timer; - timer.Start(); - - // query database and print results - const char *sql = "select dataset,rawfilepath from test.runcatalog " - "WHERE tag&(1<<2) AND (run=490001 OR run=300122)"; -// const char *sql = "select count(*) from test.runcatalog " -// "WHERE tag&(1<<2)"; - - res = db->Query(sql); - - int nrows = res->GetRowCount(); - printf("\nGot %d rows in result\n", nrows); - - int nfields = res->GetFieldCount(); - for (int i = 0; i < nfields; i++) - printf("%40s", res->GetFieldName(i)); - printf("\n"); - for (int i = 0; i < nfields*40; i++) - printf("="); - printf("\n"); - - for (int i = 0; i < nrows; i++) { - row = res->Next(); - for (int j = 0; j < nfields; j++) { - printf("%40s", row->GetField(j)); - } - printf("\n"); - delete row; - } - - delete res; - delete db; - - // stop timer and print results - timer.Stop(); - Double_t rtime = timer.RealTime(); - Double_t ctime = timer.CpuTime(); - - printf("\nRealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime); -} diff --git a/tutorials/sqltables.C b/tutorials/sqltables.C deleted file mode 100644 index 69d3ebe263d5d132b204d80597a1eb3e19be683f..0000000000000000000000000000000000000000 --- a/tutorials/sqltables.C +++ /dev/null @@ -1,105 +0,0 @@ -// This is an example illustrating how the TSQLFile class can be used. -// Histogram, list of TBox and clones array of TBox objects are stored -// to TSQLFile and read back. -// Except for the specific TSQLFile configuration, the TSQLFile functionality -// is absolutely similar to a normal root TFile -// Author: S.Linev - -// example configuration for MySQL 4.1 -const char* dbname = "mysql://host.domain/test"; -const char* username = "user"; -const char* userpass = "pass"; - -// example configuration for Oracle 9i -//const char* dbname = "oracle://host.domain/db-test"; -//const char* username = "user"; -//const char* userpass = "pass"; - - -void sqltables() -{ - tables_write(); - tables_read(); -} - -void tables_write() -{ - // first connect to data base - // "recreate" option delete all your tables !!!! - TSQLFile* f = new TSQLFile(dbname, "recreate", username, userpass); - if (f->IsZombie()) { delete f; return; } - - // you can change configuration only until first object - // is writen to TSQLFile - f->SetUseSuffixes(kFALSE); - f->SetArrayLimit(1000); - f->SetUseIndexes(1); -// f->SetTablesType("ISAM"); -// f->SetUseTransactions(kFALSE); - - // lets first write histogram - TH1I* h1 = new TH1I("histo1","histo title", 1000, -4., 4.); - h1->FillRandom("gaus",10000); - h1->Write("histo"); - h1->SetDirectory(0); - - // here we create list of objects and store them as single key - // without kSingleKey all TBox objects will appear as separate keys - TList* arr = new TList; - for(Int_t n=0;n<10;n++) { - TBox* b = new TBox(n*10,n*100,n*20,n*200); - arr->Add(b, Form("option_%d_option",n)); - } - arr->Write("list",TObject::kSingleKey); - - // clones array is also strored as single key - TClonesArray clones("TBox",10); - for(int n=0;n<10;n++) - new (clones[n]) TBox(n*10,n*100,n*20,n*200); - clones.Write("clones",TObject::kSingleKey); - - // close connection to database - delete f; -} - - -void tables_read() -{ - // now open connection to database for read-only - TSQLFile* f = new TSQLFile(dbname, "open", username, userpass); - if (f->IsZombie()) { delete f; return; } - - // see list of keys - f->ls(); - - // get histogram from DB and draw it - TH1* h1 = (TH1*) f->Get("histo"); - if (h1!=0) { - h1->SetDirectory(0); - h1->Draw(); - } - - // get TList with other objects - TObject* obj = f->Get("list"); - cout << "Printout of TList object" << endl; - if (obj!=0) obj->Print("*"); - delete obj; - - // and get TClonesArray - obj = f->Get("clones"); - cout << "Printout of TClonesArray object" << endl; - if (obj!=0) obj->Print("*"); - delete obj; - - // this is query to select data of hole class from different tables - cout << "================ TBox QUERY ================ " << endl; - cout << f->MakeSelectQuery(TBox::Class()) << endl; - cout << "================ END of TBox QUERY ================ " << endl; - - cout << "================== TH1I QUERY ================ " << endl; - cout << f->MakeSelectQuery(TH1I::Class()) << endl; - cout << "================ END of TH1I QUERY ================ " << endl; - - // close connection to database - delete f; -} diff --git a/tutorials/staff.C b/tutorials/staff.C deleted file mode 100644 index d3f09f844750b07a3cd379354ee066989218c078..0000000000000000000000000000000000000000 --- a/tutorials/staff.C +++ /dev/null @@ -1,46 +0,0 @@ -// example of macro to read data from an ascii file and -// create a root file with a Tree. -// see also a variant in cernbuild.C -// Author: Rene Brun -void staff() { - - struct staff_t { - Int_t Category; - UInt_t Flag; - Int_t Age; - Int_t Service; - Int_t Children; - Int_t Grade; - Int_t Step; - Int_t Hrweek; - Int_t Cost; - Char_t Division[4]; - Char_t Nation[3]; - }; - - staff_t staff; - - //The input file cern.dat is a copy of the CERN staff data base - //from 1988 - FILE *fp = fopen("cernstaff.dat","r"); - - char line[80]; - - TFile *f = new TFile("staff.root","RECREATE"); - TTree *tree = new TTree("T","staff data from ascii file"); - tree->Branch("staff",&staff.Category,"Category/I:Flag:Age:Service:Children:Grade:Step:Hrweek:Cost"); - tree->Branch("Division",staff.Division,"Division/C"); - tree->Branch("Nation",staff.Nation,"Nation/C"); - //note that the branches Division and Nation cannot be on the first branch - while (fgets(&line,80,fp)) { - sscanf(&line[0],"%d %d %d %d %d",&staff.Category,&staff.Flag,&staff.Age,&staff.Service,&staff.Children); - sscanf(&line[32],"%d %d %d %d %s %s",&staff.Grade,&staff.Step,&staff.Hrweek,&staff.Cost,staff.Division,staff.Nation); - tree->Fill(); - } - tree->Print(); - tree->Write(); - - fclose(fp); - delete tree; - delete f; -} diff --git a/tutorials/staff.py b/tutorials/staff.py deleted file mode 100644 index 41a6254e0d3453ec9e634d4e0d464025ed7b085f..0000000000000000000000000000000000000000 --- a/tutorials/staff.py +++ /dev/null @@ -1,64 +0,0 @@ -# example of macro to read data from an ascii file and -# create a root file with a Tree. -# -# NOTE: comparing the results of this macro with those of staff.C, you'll -# notice that the resultant file is a couple of bytes smaller, because the -# code below strips all white-spaces, whereas the .C version does not. - -import re, array -from ROOT import * - - -### a C/C++ structure is required, to allow memory based access -gROOT.ProcessLine( -"struct staff_t {\ - Int_t Category;\ - UInt_t Flag;\ - Int_t Age;\ - Int_t Service;\ - Int_t Children;\ - Int_t Grade;\ - Int_t Step;\ - Int_t Hrweek;\ - Int_t Cost;\ - Char_t Division[4];\ - Char_t Nation[3];\ -};" ); - -### function to read in data from ASCII file and fill the ROOT tree -def fillTree(): - - staff = staff_t() - - # The input file cern.dat is a copy of the CERN staff data base - # from 1988 - - f = TFile( 'staff.root', 'RECREATE' ) - tree = TTree( 'T', 'staff data from ascii file' ) - tree.Branch( 'staff', staff, 'Category/I:Flag:Age:Service:Children:Grade:Step:Hrweek:Cost' ) - tree.Branch( 'Divisions', AddressOf( staff, 'Division' ), 'Division/C' ) - tree.Branch( 'Nation', AddressOf( staff, 'Nation' ), 'Nation/C' ) - - # note that the branches Division and Nation cannot be on the first branch - for line in open( 'cernstaff.dat' ).readlines(): - t = filter( lambda x: x, re.split( '\s+', line ) ) - staff.Category = int(t[0]) # assign as integers - staff.Flag = int(t[1]) - staff.Age = int(t[2]) - staff.Service = int(t[3]) - staff.Children = int(t[4]) - staff.Grade = int(t[5]) - staff.Step = int(t[6]) - staff.Hrweek = int(t[7]) - staff.Cost = int(t[8]) - staff.Division = t[9] # assign as strings - staff.Nation = t[10] - - tree.Fill() - - tree.Print() - tree.Write() - -#### run fill function if invoked on CLI -if __name__ == '__main__': - fillTree() diff --git a/tutorials/stock.root b/tutorials/stock.root deleted file mode 100644 index 40eaf929d6e039191d3906ced21c6ec7cd22b6ef..0000000000000000000000000000000000000000 Binary files a/tutorials/stock.root and /dev/null differ diff --git a/tutorials/surfaces.C b/tutorials/surfaces.C deleted file mode 100644 index b558425ee5fc502390ca786de78ad3e2bc78ea4a..0000000000000000000000000000000000000000 --- a/tutorials/surfaces.C +++ /dev/null @@ -1,47 +0,0 @@ -{ - // - // To see the output of this macro, click begin_html <a href="gif/surfaces.gif">here</a> end_html - // - gROOT->Reset(); - c1 = new TCanvas("c1","Surfaces Drawing Options",200,10,700,900); - c1->SetFillColor(42); - gStyle->SetFrameFillColor(42); - title = new TPaveText(.2,0.96,.8,.995); - title->SetFillColor(33); - title->AddText("Examples of Surface options"); - title->Draw(); - - pad1 = new TPad("pad1","Gouraud shading",0.03,0.50,0.98,0.95,21); - pad2 = new TPad("pad2","Color mesh",0.03,0.02,0.98,0.48,21); - pad1->Draw(); - pad2->Draw(); - // - // We generate a 2-D function - TF2 *f2 = new TF2("f2","x**2 + y**2 - x**3 -8*x*y**4",-1,1.2,-1.5,1.5); - f2->SetContour(48); - f2->SetFillColor(45); - - // Draw this function in pad1 with Gouraud shading option - pad1->cd(); - pad1->SetPhi(-80); - pad1->SetLogz(); - f2->Draw("surf4"); - - // Draw this function in pad2 with color mesh option - pad2->cd(); - pad2->SetTheta(25); - pad2->SetPhi(-110); - pad2->SetLogz(); - f2->Draw("surf1"); - - //add axis titles. The titles are set on the intermediate - //histogram used for visualisation. We must force this histogram - //to be created, then force the redrawing of the two pads - pad2->Update(); - f2->GetHistogram()->GetXaxis()->SetTitle("x title"); - f2->GetHistogram()->GetYaxis()->SetTitle("y title"); - f2->GetHistogram()->GetXaxis()->SetTitleOffset(1.4); - f2->GetHistogram()->GetYaxis()->SetTitleOffset(1.4); - pad1->Modified(); - pad2->Modified(); -} diff --git a/tutorials/surfaces.py b/tutorials/surfaces.py deleted file mode 100755 index 99a37238bb125f16fdfbd76152a2913e37996f27..0000000000000000000000000000000000000000 --- a/tutorials/surfaces.py +++ /dev/null @@ -1,42 +0,0 @@ -# -# To see the output of this macro, click begin_html <a href="gif/surfaces.gif">here</a> end_html -# - -from ROOT import TCanvas, TPaveText, TPad, TF2 -from ROOT import gROOT, gStyle - - -gROOT.Reset() - -c1 = TCanvas( 'c1', 'Surfaces Drawing Options', 200, 10, 700, 900 ) -c1.SetFillColor( 42 ) -gStyle.SetFrameFillColor( 42 ) -title = TPaveText( .2, 0.96, .8, .995 ) -title.SetFillColor( 33 ) -title.AddText( 'Examples of Surface options' ) -title.Draw() - -pad1 = TPad( 'pad1', 'Gouraud shading', 0.03, 0.50, 0.98, 0.95, 21 ) -pad2 = TPad( 'pad2', 'Color mesh', 0.03, 0.02, 0.98, 0.48, 21 ) -pad1.Draw() -pad2.Draw() - -# We generate a 2-D function -f2 = TF2( 'f2', 'x**2 + y**2 - x**3 -8*x*y**4', -1, 1.2, -1.5, 1.5 ) -f2.SetContour( 48 ) -f2.SetFillColor( 45 ) - -# Draw this function in pad1 with Gouraud shading option -pad1.cd() -pad1.SetPhi( -80 ) -pad1.SetLogz() -f2.Draw( 'surf4' ) - -# Draw this function in pad2 with color mesh option -pad2.cd() -pad2.SetTheta( 25 ) -pad2.SetPhi( -110 ) -pad2.SetLogz() -f2.Draw( 'surf1' ) - -c1.Update() diff --git a/tutorials/surfaces.rb b/tutorials/surfaces.rb deleted file mode 100644 index 4df118fe44052e9cd33c9a8705efc61f69295853..0000000000000000000000000000000000000000 --- a/tutorials/surfaces.rb +++ /dev/null @@ -1,39 +0,0 @@ -# ruby-root testsuite -# -# Original $ROOT/tutorials/surfaces.C using ruby-root. -# -# 15/12/2004 --elathan - - -c1 = TCanvas.new("c1","Surfaces Drawing Options",200,10,700,900) -c1.SetFillColor(42) - -title = TPaveText.new(0.2,0.96,0.8,0.995) -title.SetFillColor(33) -title.AddText(0, 0, "Examples of Surface options") -title.Draw - -pad1 = TPad.new("pad1","Gouraud shading",0.03,0.50,0.98,0.95,21) -pad2 = TPad.new("pad2","Color mesh",0.03,0.02,0.98,0.48,21) -pad1.Draw -pad2.Draw - -# We generate a 2-D function -f2 = TF2.new("f2","x**2 + y**2 - x**3 -8*x*y**4",-1,1.2,-1.5,1.5) -f2.SetContour 48 -f2.SetFillColor(45) - -# Draw this function in pad1 with Gouraud shading option -pad1.cd -pad1.SetPhi(-80) -pad1.SetLogz -f2.Draw("surf4") - -# Draw this function in pad2 with color mesh option -pad2.cd -pad2.SetTheta(25) -pad2.SetPhi(-110) -pad2.SetLogz -f2.Draw("surf1") -gApplication.Run - diff --git a/tutorials/tasks.C b/tutorials/tasks.C deleted file mode 100644 index 929fc01e7c1759c81ef9714d1aab86d17f1bb197..0000000000000000000000000000000000000000 --- a/tutorials/tasks.C +++ /dev/null @@ -1,42 +0,0 @@ -// Example of TTasks. -// Create a hierarchy of objects derived from TTask in library Mytasks -// Show the tasks in a browser. -// To execute a Task, use the context context menu and select -// the item "ExecuteTask" -// see also other functions in the TTask context menu, such as -// -setting a breakpoint in one or more tasks -// -enabling/disabling one task, etc - -void tasks() -{ - gROOT->ProcessLine(".L MyTasks.cxx+"); - - TTask *run = new MyRun("run","Process one run"); - TTask *event = new MyEvent("event","Process one event"); - TTask *geomInit = new MyGeomInit("geomInit","Geometry Initialisation"); - TTask *matInit = new MyMaterialInit("matInit","Materials Initialisation"); - TTask *tracker = new MyTracker("tracker","Tracker manager"); - TTask *tpc = new MyRecTPC("tpc","TPC Reconstruction"); - TTask *its = new MyRecITS("its","ITS Reconstruction"); - TTask *muon = new MyRecMUON("muon","MUON Reconstruction"); - TTask *phos = new MyRecPHOS("phos","PHOS Reconstruction"); - TTask *rich = new MyRecRICH("rich","RICH Reconstruction"); - TTask *trd = new MyRecTRD("trd","TRD Reconstruction"); - TTask *global = new MyRecGlobal("global","Global Reconstruction"); - - run->Add(geomInit); - run->Add(matInit); - run->Add(event); - event->Add(tracker); - event->Add(global); - tracker->Add(tpc); - tracker->Add(its); - tracker->Add(muon); - tracker->Add(phos); - tracker->Add(rich); - tracker->Add(trd); - - gROOT->GetListOfTasks()->Add(run); - gROOT->GetListOfBrowsables()->Add(run); - new TBrowser; -} diff --git a/tutorials/tcl.C b/tutorials/tcl.C deleted file mode 100644 index 5f90a3167be7119eac422471276ae2d357da6fe0..0000000000000000000000000000000000000000 --- a/tutorials/tcl.C +++ /dev/null @@ -1,86 +0,0 @@ -// Example of macro illustrating how to write a TClonesArray to a TTree -// the following tests can be run -// Interactive tests -// Root > .x tcl.C //no-split interpreted -// Root > .x tcl.C(1) //split interpreted -// Root > .x tcl.C++ //no-split compiled -// Root > .x tcl.C++(1) //split compiled -// batch tests: same as above but with no graphics -// root -b -q tcl.C -// root -b -q tcl.C++ -// root -b -q "tcl.C(1)" -// root -b -q "tcl.C++(1)" - -#include "TFile.h" -#include "TClonesArray.h" -#include "TH2.h" -#include "TLine.h" -#include "TTree.h" -#include "TBenchmark.h" -#include "TRandom.h" - -void tclwrite(Int_t split) -{ -// Generate a Tree with a TClonesArray -// The array can be split or not - TFile f("tcl.root","recreate"); - f.SetCompressionLevel(1); //try level 2 also - TTree T("T","test tcl"); - TClonesArray *arr = new TClonesArray("TLine"); - TClonesArray &ar = *arr; - T.Branch("tcl",&arr,256000,split); - //By default a TClonesArray is created with its BypassStreamer bit set. - //However, because TLine has a custom Streamer, this bit was reset - //by TTree::Branch above. We set again this bit because the current - //version of TLine uses the automatic Streamer. - //BypassingStreamer saves space and time. - arr->BypassStreamer(); - for (Int_t ev=0;ev<10000;ev++) { - ar.Clear(); - Int_t nlines = Int_t(gRandom->Gaus(50,10)); - if(nlines < 0) nlines = 1; - for (Int_t i=0;i<nlines;i++) { - Float_t x1 = gRandom->Rndm(); - Float_t y1 = gRandom->Rndm(); - Float_t x2 = gRandom->Rndm(); - Float_t y2 = gRandom->Rndm(); - new(ar[i]) TLine(x1,y1,x2,y2); - } - T.Fill(); - } - T.Print(); - T.Write(); -} - -void tclread() -{ -// read file generated by tclwrite -// loop on all entries. -// histogram center of lines - TFile *f = new TFile("tcl.root"); - TTree *T = (TTree*)f->Get("T"); - TH2F *h2 = new TH2F("h2","center of lines",40,0,1,40,0,1); - - TClonesArray *arr = new TClonesArray("TLine"); - T->GetBranch("tcl")->SetAutoDelete(kFALSE); - T->SetBranchAddress("tcl",&arr); - Int_t nentries = (Int_t)(T->GetEntries()); - for (Int_t ev=0;ev<nentries;ev++) { - arr->Clear(); - T->GetEntry(ev); - Int_t nlines = arr->GetEntriesFast(); - for (Int_t i=0;i<nlines;i++) { - TLine *line = (TLine*)arr->At(i); - h2->Fill(0.5*(line->GetX1()+line->GetX2()), 0.5*(line->GetY1()+line->GetY2())); - } - } - h2->Draw("lego"); -} - -void tcl(Int_t split=0) -{ - gBenchmark->Start("tcl"); - tclwrite(split); - tclread(); - gBenchmark->Show("tcl"); -} diff --git a/tutorials/testrandom.C b/tutorials/testrandom.C deleted file mode 100644 index 256409c153b8efe84032b528befe0d7e82f3396c..0000000000000000000000000000000000000000 --- a/tutorials/testrandom.C +++ /dev/null @@ -1,493 +0,0 @@ -//______________________________________________________________________________ -// testrandom.C tests the generator TRandom3 against some ref values -// and creates a timing table against TRandom and TRandom2. -// -// E.g. on an MacOSX with 2 GHz Intel Dual Core and compiled with gcc 4.0.1 -// -// Distribution nanoseconds/call -// -// TRandom TRandom1 TRandom2 TRandom3 -// -// Rndm.............. 24.000 137.000 29.000 30.000 -// RndmArray......... 16.000 127.000 21.000 21.000 -// Gaus.............. 245.000 474.000 250.000 257.000 -// Landau............ 68.000 176.000 73.000 76.000 -// Binomial(5,0.5)... 148.000 700.000 170.000 175.000 -// Binomial(15,0.5).. 413.000 2073.000 478.000 504.000 -// Poisson(3)........ 210.000 644.000 232.000 233.000 -// Poisson(10)....... 394.000 1613.000 443.000 467.000 -// Poisson(70)....... 1260.000 1684.000 1282.000 1273.000 -// Poisson(100)...... 1269.000 1701.000 1294.000 1287.000 -// GausTF1........... 211.000 326.000 217.000 215.000 -// LandauTF1......... 209.000 326.000 213.000 216.000 - -// Note that this tutorial can be executed in interpreted or compiled mode -// Root > .x testrandom.C -// Root > .x testrandom.C++ - -#ifndef __CINT__ -#include <TRandom1.h> -#include <TRandom2.h> -#include <TRandom3.h> -#include <TStopwatch.h> -#include <TF1.h> -#include <TFile.h> - void testAll(); - int testRandom3(); -#endif - -void testrandom() -{ - testRandom3(); - testAll(); -} - -void testAll() { - int i, N = 10000000; - float cpn = 1000000000./N; - float x; - - TRandom *r0 = new TRandom(); - TRandom *r1 = new TRandom1(); - TRandom *r2 = new TRandom2(); - TRandom *r3 = new TRandom3(); - - TStopwatch sw; - printf("Distribution nanoseconds/call\n"); - printf(" TRandom TRandom1 TRandom2 TRandom3\n"); - - sw.Start(); - for (i=0;i<N;i++) { - x = r0->Rndm(i); - } - printf("Rndm.............. %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r1->Rndm(i); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r2->Rndm(i); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r3->Rndm(i); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - const int NR = 1000; - double rn[NR]; - sw.Start(); - for (i=0;i<N;i+=NR) { - r0->RndmArray(NR,rn); - } - printf("RndmArray......... %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i+=NR) { - r1->RndmArray(NR,rn); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i+=NR) { - r2->RndmArray(NR,rn); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i+=NR) { - r3->RndmArray(NR,rn); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - sw.Start(); - for (i=0;i<N;i++) { - x = r0->Gaus(0,1); - } - printf("Gaus.............. %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r1->Gaus(0,1); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r2->Gaus(0,1); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r3->Gaus(0,1); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - sw.Start(); - for (i=0;i<N;i++) { - x = r0->Landau(0,1); - } - printf("Landau............ %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r1->Landau(0,1); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r2->Landau(0,1); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r3->Landau(0,1); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - sw.Start(); - for (i=0;i<N;i++) { - x = r0->Binomial(5,0.5); - } - printf("Binomial(5,0.5)... %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r1->Binomial(5,0.5); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r2->Binomial(5,0.5); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r3->Binomial(5,0.5); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - sw.Start(); - for (i=0;i<N;i++) { - x = r0->Binomial(15,0.5); - } - printf("Binomial(15,0.5).. %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r1->Binomial(15,0.5); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r2->Binomial(15,0.5); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r3->Binomial(15,0.5); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - sw.Start(); - for (i=0;i<N;i++) { - x = r0->Poisson(3); - } - printf("Poisson(3)........ %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r1->Poisson(3); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r2->Poisson(3); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r3->Poisson(3); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - sw.Start(); - for (i=0;i<N;i++) { - x = r0->Poisson(10); - } - printf("Poisson(10)....... %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r1->Poisson(10); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r2->Poisson(10); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r3->Poisson(10); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - sw.Start(); - for (i=0;i<N;i++) { - x = r0->Poisson(70); - } - printf("Poisson(70)....... %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r1->Poisson(70); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r2->Poisson(70); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r3->Poisson(70); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - sw.Start(); - for (i=0;i<N;i++) { - x = r0->Poisson(100); - } - printf("Poisson(100)...... %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r1->Poisson(100); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r2->Poisson(100); - } - printf(" %8.3f",sw.CpuTime()*cpn); - sw.Start(); - for (i=0;i<N;i++) { - x = r3->Poisson(100); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - TF1 *f1 = new TF1("f1","gaus",-4,4); - f1->SetParameters(1,0,1); - gRandom = r0; - sw.Start(); - for (i=0;i<N;i++) { - x = f1->GetRandom(); - } - printf("GausTF1........... %8.3f",sw.CpuTime()*cpn); - gRandom = r1; - sw.Start(); - for (i=0;i<N;i++) { - x = f1->GetRandom(); - } - printf(" %8.3f",sw.CpuTime()*cpn); - gRandom = r2; - sw.Start(); - for (i=0;i<N;i++) { - x = f1->GetRandom(); - } - printf(" %8.3f",sw.CpuTime()*cpn); - gRandom = r3; - sw.Start(); - for (i=0;i<N;i++) { - x = f1->GetRandom(); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - TF1 *f2 = new TF1("f2","landau",-5,15); - f2->SetParameters(1,0,1); - - gRandom = r0; - sw.Start(); - for (i=0;i<N;i++) { - x = f2->GetRandom(); - } - printf("LandauTF1......... %8.3f",sw.CpuTime()*cpn); - gRandom = r1; - sw.Start(); - for (i=0;i<N;i++) { - x = f2->GetRandom(); - } - printf(" %8.3f",sw.CpuTime()*cpn); - gRandom = r2; - sw.Start(); - for (i=0;i<N;i++) { - x = f2->GetRandom(); - } - printf(" %8.3f",sw.CpuTime()*cpn); - gRandom = r3; - sw.Start(); - for (i=0;i<N;i++) { - x = f2->GetRandom(); - } - printf(" %8.3f\n",sw.CpuTime()*cpn); - - delete r1; - delete r2; - delete r3; - -} - -int testRandom3() { - - Float_t RefValue[] = // running using a seed of 4357 ROOT 5.13.07 and checked with GSL 1.8 - { 0.999741749, 0.162909875, 0.282617805, 0.947201082, 0.231656543, 0.484973614, 0.957476957, 0.744305343, - 0.540043658, 0.739952981, 0.759943798, 0.658636614, 0.315637622, 0.804403015, 0.519672115, 0.168572422, - 0.47552973, 0.392313994, 0.221667687, 0.213190459,0.0303352042, 0.33353925, 0.194148851, 0.943716781, - 0.579931675, 0.898304858, 0.665563931, 0.49861031, 0.560628257, 0.182284646, 0.296525531, 0.117408933, - 0.0629176658, 0.648125575, 0.725418529, 0.637131158, 0.713885062,0.0995762432, 0.699267196, 0.10781247, - 0.129242751, 0.502403039, 0.207779906, 0.288910306,0.0831747944, 0.128124215, 0.547371411,0.0823195996, - 0.292141427, 0.891623737, 0.227117839, 0.431845463, 0.140733001, 0.400392135, 0.686946901, 0.170670911, - 0.440820868, 0.045336565, 0.311296414, 0.506181051, 0.18241084, 0.511032015, 0.740788205, 0.365988627, - 0.160808837, 0.460106785, 0.627836472, 0.677603688, 0.698196523, 0.478536868,0.0901075942, 0.338728522, - 0.0952137967, 0.436541964, 0.474673352, 0.419245926, 0.777536852, 0.624610565, 0.98043655, 0.370430201, - 0.830812636, 0.140806447, 0.744085307, 0.82973968, 0.391104318, 0.621956392, 0.346699478,0.0461695245, - 0.613066321, 0.567374048, 0.498894026, 0.723802079, 0.144550525,0.0423031633, 0.310787023, 0.121641154, - 0.242069671, 0.381058855, 0.440128537, 0.599795902, 0.644574654, 0.432626217, 0.555968262, 0.716841168, - 0.642362515, 0.685776725,0.0961581462, 0.122933464,0.0569974151, 0.820072044, 0.125539286, 0.315745071, - 0.180566925, 0.142227219, 0.664429613, 0.685189223, 0.191001933, 0.436343019, 0.964459225, 0.86816359, - 0.130879965, 0.48444228, 0.374654451, 0.900475122, 0.178656787, 0.679635131, 0.62287431, 0.98365595, - 0.44071478, 0.804737277, 0.994845061, 0.541550961, 0.255905455, 0.638945635, 0.57591027, 0.25872142, - 0.191593001, 0.445663047, 0.149266509, 0.996723689, 0.121762222, 0.65153928,0.0277950978, 0.389977602, - 0.827913044, 0.283813907, 0.610203644, 0.23641275, 0.41082105, 0.677714617, 0.847126588, 0.649256228, - 0.0813826511, 0.120830484, 0.479199264, 0.777878358, 0.471977701, 0.943337511, 0.980800992, 0.334554731, - 0.202667924, 0.342841234, 0.653544244, 0.682758797, 0.60993614,0.0999271029, 0.766254981, 0.735581528, - 0.24113914, 0.263178711, 0.960869899, 0.423395737, 0.336058146,0.000249497825, 0.868841017,0.00375315035, - 0.165846311,0.0118208411, 0.606455074, 0.729972019, 0.613824557, 0.965768184, 0.497098261, 0.529885403, - 0.461607532, 0.713033701, 0.579959768, 0.682802555, 0.953921514,0.0236552036, 0.280110147, 0.869526353, - 0.299333274, 0.319553603, 0.300951709, 0.941111486, 0.848127064, 0.753346129, 0.538244087, 0.408481381, - 0.212371316,0.0761404021, 0.289934908,0.0197818337, 0.241247899, 0.384619165, 0.454906886, 0.373982521, - 0.440188796, 0.117896808, 0.805429845, 0.164892641, 0.282529936, 0.172685399, 0.93584233, 0.68095306, - 0.133696739, 0.254761223, 0.399444876, 0.369235365, 0.726361892, 0.277837459, 0.693569104, 0.500354689, - 0.118405538, 0.151303335, 0.681446943, 0.720665918, 0.979646939, 0.696779111, 0.557210072, 0.680821482, - 0.95535205, 0.598208956, 0.770453895, 0.913597486, 0.658958649, 0.670974613, 0.578185175, 0.95303929, - 0.162923458, 0.335056986, 0.951824704, 0.109661644, 0.619302303, 0.956816742, 0.985243094,0.0707377489, - 0.50233039, 0.680721226, 0.553320066, 0.587005581, 0.691620562, 0.46264791, 0.574254294, 0.072890088, - 0.638266518, 0.387757288, 0.220960217,0.00223180233, 0.495656775, 0.191316523, 0.022265008, 0.903589021, - 0.738628175, 0.44453089, 0.417702243, 0.760861122, 0.437753222, 0.190982861, 0.577112962, 0.132688343, - 0.317824347, 0.48691649, 0.939091069, 0.933946281, 0.073660135, 0.612436295, 0.514748724, 0.624663582, - 0.130645262, 0.645210441, 0.13414855, 0.652925968, 0.265210009, 0.381805269, 0.59021506, 0.669704082, - 0.55433248,0.0195047602, 0.184346962, 0.991180462, 0.573677764, 0.637762085, 0.594857598, 0.515244688, - 0.330693509, 0.39674245, 0.88396548, 0.771485266, 0.599075381,0.0247266297,0.0122587895, 0.698452319, - 0.265991009, 0.736700721, 0.999972619, 0.749792316, 0.484955589, 0.823700529, 0.62277709, 0.902512094, - 0.0565051287, 0.739077389, 0.37617622, 0.036800765, 0.776198219, 0.837354186, 0.34508193,0.0818426476, - 0.222621545, 0.152476319, 0.401177195, 0.531612608, 0.811706602,0.0407775661, 0.117889008, 0.575189965, - 0.832362208, 0.204641853, 0.238721773, 0.9969287, 0.258590596, 0.892055968, 0.846859788, 0.306583706, - 0.0333624918, 0.706420498, 0.193615608, 0.508978138,0.0215451468, 0.672732793, 0.813562444, 0.807284052, - 0.481526843, 0.537519095, 0.780848606, 0.335848908, 0.699259371, 0.425855299, 0.825240663, 0.945613692, - 0.55484125, 0.710495188, 0.378360366, 0.648338731,0.0456727168, 0.155477323, 0.885353968, 0.721565725, - 0.961667201, 0.430300885, 0.132031354, 0.439331209, 0.467187736, 0.410083217, 0.277196711, 0.278509559, - 0.954620806, 0.804357491, 0.968510466, 0.999722791, 0.947160283, 0.248551138,0.0067049861, 0.444727315, - 0.674048778, 0.496480361,0.0210092501, 0.831763222, 0.108545852,0.0931516394, 0.89020564, 0.445945211, - 0.906906768, 0.554039821, 0.759434349, 0.815551384, 0.532968503,0.0551351462,0.0539856541, 0.89918819, - 0.146907374, 0.482647314,0.0673029809, 0.281161865, 0.932849165, 0.507317933, 0.564503014, 0.8007132, - 0.645887499, 0.309219498,0.0478066066, 0.25196583, 0.713881142, 0.670994017, 0.60528576, 0.148271899, - 0.79525035, 0.665277353, 0.854302043, 0.810533677,0.0711439839,0.0687935678, 0.890466573, 0.758045957, - 0.0703105873, 0.852094478, 0.775356902, 0.684895203, 0.234552787, 0.461575694, 0.936435457, 0.664946419, - 0.45967959, 0.88782351, 0.574622261,0.0301686234, 0.767354721, 0.345478555, 0.609123143, 0.21754287, - 0.643760561, 0.571392649, 0.802311049, 0.962335547, 0.401769856, 0.996553418, 0.745945812, 0.448411183, - 0.39578428, 0.123389926, 0.532614913, 0.833379602, 0.91767313, 0.825607567, 0.4459154, 0.267136201, - 0.6643989, 0.766860694, 0.665968275, 0.503955105, 0.835153702, 0.622405379, 0.457538918, 0.554983278, - 0.36581371, 0.656302231, 0.917038669, 0.276054591, 0.121214441, 0.966178254, 0.697439008, 0.443547789, - 0.630195824, 0.368346675, 0.238191956, 0.300273821, 0.710332172,0.0474748381, 0.492525443,0.0812539798, - 0.122016782, 0.99310218, 0.355091027, 0.764863731, 0.904099543, 0.396109613, 0.817134856, 0.348974222, - 0.266193634, 0.367501958, 0.752316213, 0.587800024, 0.489421095, 0.673474061, 0.328296139, 0.853945839, - 0.832380736, 0.159588686, 0.322411022, 0.950173707, 0.095376712, 0.231019855, 0.860607752, 0.359627192, - 0.984843699,0.0319756679, 0.828649914, 0.51680949, 0.489407924, 0.963977298, 0.960131739, 0.681816791, - 0.860788169, 0.455829282, 0.332390656,0.0591498043, 0.452245977, 0.217354216, 0.34560744, 0.549971993, - 0.317622252, 0.892976443, 0.49004545, 0.25647901, 0.968998638, 0.910636465, 0.226717598, 0.327828572, - 0.28670209, 0.142515054,0.0992817392, 0.192332409, 0.308376869, 0.871415959, 0.391148786, 0.788660882, - 0.200816041, 0.986475959, 0.882862126, 0.109862451, 0.354283255, 0.555742682, 0.690698458, 0.643815752, - 0.363104285,0.0788627111, 0.200820414, 0.71697353, 0.744353746, 0.76763643, 0.245442451, 0.668009119, - 0.886989377, 0.366849931, 0.531556628, 0.502843979, 0.31454367, 0.622541364,0.0199038582, 0.676355134, - 0.429818622, 0.232835212, 0.987619457, 0.306572135, 0.494637038, 0.748614893, 0.891843561,0.0452854959, - 0.427561072, 0.226978442, 0.484072985, 0.16464563,0.0898074883, 0.384263737,0.0238354723, 0.329734547, - 0.531230736, 0.476683361, 0.877482474, 0.455501628, 0.497302495, 0.396184301, 0.886124728, 0.736070092, - 0.108917595, 0.397921902, 0.842575021, 0.82620032, 0.936655165, 0.24558961, 0.639688616, 0.493335031, - 0.0734495069, 0.780138101,0.0421121232, 0.701116477, 0.940523267, 0.70054817, 0.776760272, 0.192742581, - 0.0069252688, 0.842983626, 0.919324176, 0.242083269, 0.190100674, 0.735084639, 0.164522319, 0.99030645, - 0.98284794, 0.657169539,0.0187736442, 0.759596482, 0.357567611, 0.509016344, 0.738899681, 0.567923164, - 0.289056634, 0.41501714, 0.981054561, 0.365884479, 0.517878261, 0.844209022, 0.968122653, 0.258894528, - 0.478310441, 0.437340986, 0.379398001, 0.203081884, 0.550820748, 0.255542723, 0.550098031, 0.870477939, - 0.241230214, 0.157108238, 0.218260827, 0.116277737, 0.749018275, 0.158290659, 0.476353907, 0.545327323, - 0.878978121,0.0171442169, 0.542981987, 0.318018082, 0.788805343, 0.871721374, 0.738490409,0.0923330146, - 0.301398643, 0.637103286, 0.571564271, 0.712810342, 0.644289242, 0.230476008, 0.971695586, 0.966159428, - 0.291883909, 0.175285818, 0.312882552, 0.98465128, 0.568391354, 0.844468564, 0.144433908, 0.45994061, - 0.607897905, 0.184122705, 0.342805493, 0.606432998, 0.838196585, 0.186188518,0.0302744689, 0.307391858, - 0.125286029, 0.270394965, 0.874161481, 0.370509557, 0.89423337, 0.407995674, 0.881878469, 0.647951238, - 0.236986727, 0.528807336, 0.293731542,0.0943204253, 0.934538626, 0.121679332, 0.34968176,0.0670268578, - 0.642196769, 0.692447138, 0.334926733, 0.374244194, 0.313885051, 0.538738295, 0.098592523, 0.490514225, - 0.32873567, 0.709725794, 0.88169803, 0.393000481, 0.854243273, 0.463776593, 0.52705639, 0.493309892, - 0.267784336, 0.583077476,0.0573514167, 0.959336368, 0.771417173,0.0427184631, 0.498433369,0.0522942701, - 0.56155145, 0.960361909, 0.619817314, 0.528628368, 0.698235179, 0.186162042, 0.553998168, 0.666120292, - 0.152731049, 0.948750157, 0.186825789, 0.580512664, 0.851024442, 0.106865844, 0.675861737, 0.79604524, - 0.657646103,0.00934952381, 0.206267588, 0.636420368,0.0382564603, 0.67771025, 0.677917925, 0.671684269, - 0.396317716, 0.661597047, 0.633360383, 0.962124239, 0.992711418,0.0993448263,0.0678932741, 0.426013152, - 0.947045502, 0.708326009, 0.466817846,0.0448362886, 0.748580922, 0.678370694, 0.210921343, 0.398490306, - 0.953675585,0.0289022848, 0.935766569, 0.846930474, 0.662760176, 0.867910903, 0.652359324, 0.45280494, - 0.305228982, 0.352034987, 0.279643402, 0.236045594,0.0270034608, 0.652062389, 0.712000227, 0.619930867, - 0.125439078, 0.452789963, 0.92233151, 0.120844359, 0.403808975, 0.260290446, 0.778843638, 0.6678412, - 0.0267894373, 0.491332301, 0.915060888, 0.704025347, 0.628200853, 0.578338467, 0.629156416, 0.730410649, - 0.641318334, 0.463709335, 0.614291239, 0.254470656, 0.808682692, 0.22898373, 0.450477996, 0.874235142, - 0.202773906, 0.523711192, 0.126518266, 0.579402899, 0.26188467, 0.207769057, 0.55283816, 0.851395364, - 0.513594437, 0.558259845, 0.666148535, 0.998974657, 0.178274074, 0.116739636,0.0684255431, 0.622713377, - 0.31448295, 0.889827933, 0.80647766, 0.429916949, 0.524695458, 0.45267553, 0.630743121, 0.566594485, - 0.958860663, 0.908052286, 0.700898262, 0.377025384, 0.683796226, 0.198088462, 0.617400699, 0.413726158, - 0.823588417, 0.755577948, 0.703097317, 0.364294278, 0.819786986, 0.751581763, 0.048769509, 0.528569003, - 0.616748192, 0.270942831, 0.800841747, 0.235174223, 0.903786552, 0.258801569, 0.191336412, 0.012410342, - 0.853413998, 0.621008712, 0.855861931, 0.140106201, 0.872687964, 0.708839735,0.0926409892,0.0207504195, - 0.782636518,0.0300825236, 0.504610632,0.0816221782, 0.773493745, 0.872577282, 0.880031248, 0.883524299, - 0.872427328, 0.458722225, 0.902298841, 0.547904952,0.0559884352, 0.591179888, 0.563941709, 0.776130076, - 0.295569778,0.0408536533, 0.398567183, 0.28227462, 0.806716321, 0.507159362, 0.688150965, 0.49466404, - 0.45454604, 0.421480091,0.0392517329,0.0911962031, 0.393815309, 0.135373195, 0.968650583, 0.811676111, - 0.325965411, 0.961999178, 0.100281202, 0.102924612, 0.30725909, 0.33368206, 0.857966134, 0.522921736, - 0.615500041, 0.981558684, 0.797484739, 0.198809674, 0.45670419, 0.570970797, 0.214908696, 0.686433314, - 0.278602115, 0.179739848, 0.397497946, 0.162858935, 0.802621762,0.0836459133, 0.638270752, 0.230856518, - 0.580094379, 0.864292514, 0.932738287, 0.821393124, 0.480590473, 0.636373016, 0.181508656, 0.469200501, - 0.309276441, 0.668810431, 0.722341161, 0.574856669, 0.527854513, 0.809231559, 0.986882661, 0.323860496, - 0.606396459, 0.759558966, 0.79096818,0.0699298142, 0.550465414,0.00929828244, 0.784629475, 0.689044114, - 0.963588091, 0.516441598, 0.357178305, 0.482336892, 0.429959602, 0.996306147, 0.601176011, 0.785004207, - 0.970542121, 0.487854549,0.0949267522, 0.979331773, 0.120877739, 0.630260336, 0.19424754, 0.213081703, - 0.0145987798, 0.366671115, 0.340100777, 0.721786347, 0.367533113,0.0210335371, 0.131687992, 0.586759676, - 0.73360464, 0.863635151, 0.136994646,0.0524269778, 0.406223408, 0.241656947, 0.472450703, 0.872215979, - 0.454719233,0.0715790696, 0.314061244, 0.492823114, 0.741721134, 0.694783663, 0.982867872, 0.319748137, - 0.804203704,0.0534678153, 0.746155348, 0.303474931,0.0930815139, 0.934531664, 0.746868186, 0.100048471, - 0.720296508, 0.21075374, 0.96309675, 0.749189411, 0.739621932, 0.510072327,0.0872929865, 0.650020469, - 0.0823648495, 0.726920745, 0.532618265, 0.749305866, 0.86126694,0.0346994482,0.0931224583, 0.655257095, - 0.959517847, 0.487057231, 0.859895745, 0.084794421, 0.718541715, 0.850918328, 0.818884782, 0.71627446, - 0.40822393, 0.63658567, 0.523838703, 0.372038872, 0.353426097, 0.598049047,0.0974868746, 0.276353038 - }; - - Int_t rc1 = 0; - Int_t rc2 = 0; - TRandom3 r(4357); - Float_t x; - Int_t i; - - // check whether the sequence is ok or not - for (i=0;i<1000;i++) { - x = r.Rndm(); - // printf("%e ",x-RefValue[i]); if(i%8==7) printf("\n"); - if (TMath::Abs(x-RefValue[i]) > 10e-8) { - printf("i=%d x=%.8f but should be %.8f\n",i,x,RefValue[i]); - rc1 += 1; - } - } - - // check whether a state can be saved and restored - TFile *file = new TFile("random3.root","RECREATE"); - file->SetCompressionLevel(0); - r.Write("r"); - delete file; - file = new TFile("random3.root"); - TRandom3 *rs = (TRandom3*) file->Get("r"); - for (i=0;i<1000;i++) { - if (r.Rndm() - rs->Rndm() != 0) rc2 += 1; - } - if (rc2 != 0) printf("state restoration failed\n"); - - return rc1 + rc2; - } - - diff --git a/tutorials/threads.C b/tutorials/threads.C deleted file mode 100644 index 20d9ceea76d5d94e436bd2af5481ad23ac7d982b..0000000000000000000000000000000000000000 --- a/tutorials/threads.C +++ /dev/null @@ -1,52 +0,0 @@ -// Example of a simple script creating 3 threads. -// This script can only be executed via ACliC: .x threads.C++. -// Before executing the script, load the Thread library with: -// gSystem->Load("libThread"); -// This is not needed anymore due to the rootmap facility which -// automatically loads the needed libraries. - -#include "TThread.h" -#include <Riostream.h> - -void *handle(void *ptr) -{ - int nr = (int) ptr; - - for (int i = 0; i < 10; i++) { - //TThread::Lock(); - //printf("Here I am loop index: %3d , thread: %d\n",i,nr); - //TThread::UnLock(); - - TThread::Printf("Here I am loop index: %3d , thread: %d", i, nr); - gSystem->Sleep(1000); - } - return 0; -} - -void threads() -{ -#ifdef __CINT__ - printf("This script can only be executed via ACliC: .x threads.C++\n"); - return; -#endif - - gDebug = 1; - - printf("Starting Thread 1\n"); - TThread *h1 = new TThread("h1", handle, (void*) 1); - h1->Run(); - printf("Starting Thread 2\n"); - TThread *h2 = new TThread("h2", handle, (void*) 2); - h2->Run(); - printf("Starting Thread 3\n"); - TThread *h3 = new TThread("h3", handle, (void*) 3); - h3->Run(); - - TThread::Ps(); - - h1->Join(); - TThread::Ps(); - h2->Join(); - h3->Join(); - TThread::Ps(); -} diff --git a/tutorials/threadsh1.C b/tutorials/threadsh1.C deleted file mode 100644 index 65e4cabbd81b8003d6ab14f51300812f5b89bb3a..0000000000000000000000000000000000000000 --- a/tutorials/threadsh1.C +++ /dev/null @@ -1,132 +0,0 @@ -// Example of a simple script creating 3 threads. -// This script can only be executed via ACliC .x threadsh1.C++. -// Before executing the script, load the Thread library with: -// gSystem->Load("libThread"); -// This is not needed anymore due to the rootmap facility which -// automatically loads the needed libraries. - -#include "TCanvas.h" -#include "TFrame.h" -#include "TPad.h" -#include "TH1F.h" -#include "TRandom.h" -#include "TThread.h" -#include <Riostream.h> - -TCanvas *c[4]; -TH1F *hpx[4]; -TThread *t[5]; -Bool_t finished; - -void *handle(void *ptr) -{ - long nr = (long) ptr; - int nfills = 2500000; - int upd = 5000; - - char name[32]; - sprintf(name,"hpx%ld",nr); - TThread::Lock(); - hpx[nr] = new TH1F(name,"This is the px distribution",100,-4,4); - hpx[nr]->SetFillColor(48); - TThread::UnLock(); - Float_t px, py, pz; - gRandom->SetSeed(); - for (Int_t i = 0; i < nfills; i++) { - gRandom->Rannor(px,py); - pz = px*px + py*py; - hpx[nr]->Fill(px); - if (i && (i%upd) == 0) { - if (i == upd) { - TThread::Lock(); - c[nr]->cd(); - hpx[nr]->Draw(); - TThread::UnLock(); - } - c[nr]->Modified(); - gSystem->Sleep(10); - } - } - return 0; -} - -void *joiner(void *) -{ - t[0]->Join(); - t[1]->Join(); - t[2]->Join(); - t[3]->Join(); - - finished = kTRUE; - - return 0; -} - -void threadsh1() -{ -#ifdef __CINT__ - printf("This script can only be executed via ACliC: .x threadsh1.C++\n"); - return; -#endif - - finished = kFALSE; - gDebug = 1; - - c[0] = new TCanvas("c0","Dynamic Filling Example",100,20,400,300); - c[0]->SetFillColor(42); - c[0]->GetFrame()->SetFillColor(21); - c[0]->GetFrame()->SetBorderSize(6); - c[0]->GetFrame()->SetBorderMode(-1); - c[1] = new TCanvas("c1","Dynamic Filling Example",510,20,400,300); - c[1]->SetFillColor(42); - c[1]->GetFrame()->SetFillColor(21); - c[1]->GetFrame()->SetBorderSize(6); - c[1]->GetFrame()->SetBorderMode(-1); - c[2] = new TCanvas("c2","Dynamic Filling Example",100,350,400,300); - c[2]->SetFillColor(42); - c[2]->GetFrame()->SetFillColor(21); - c[2]->GetFrame()->SetBorderSize(6); - c[2]->GetFrame()->SetBorderMode(-1); - c[3] = new TCanvas("c3","Dynamic Filling Example",510,350,400,300); - c[3]->SetFillColor(42); - c[3]->GetFrame()->SetFillColor(21); - c[3]->GetFrame()->SetBorderSize(6); - c[3]->GetFrame()->SetBorderMode(-1); - - printf("Starting Thread 0\n"); - t[0] = new TThread("t0", handle, (void*) 0); - t[0]->Run(); - printf("Starting Thread 1\n"); - t[1] = new TThread("t1", handle, (void*) 1); - t[1]->Run(); - printf("Starting Thread 2\n"); - t[2] = new TThread("t2", handle, (void*) 2); - t[2]->Run(); - printf("Starting Thread 3\n"); - t[3] = new TThread("t3", handle, (void*) 3); - t[3]->Run(); - printf("Starting Thread 4\n"); - t[4] = new TThread("t4", joiner, (void*) 3); - t[4]->Run(); - - TThread::Ps(); - - while (!finished) { - for (int i = 0; i < 4; i++) { - if (c[i]->IsModified()) { - printf("Update canvas %d\n", i); - c[i]->Update(); - } - } - gSystem->ProcessEvents(); - } - - t[4]->Join(); - TThread::Ps(); - - delete t[0]; - delete t[1]; - delete t[2]; - delete t[3]; - delete t[4]; -} diff --git a/tutorials/thumbnail.C b/tutorials/thumbnail.C deleted file mode 100644 index 5923a82ca9c4a3c570080401d0fc04493dbb2de6..0000000000000000000000000000000000000000 --- a/tutorials/thumbnail.C +++ /dev/null @@ -1,35 +0,0 @@ -//Example of script drawing many small pads in one canvas -//and zooming automatically one small pad in a large canvas -//when the mouse points to the small pad. -//Author; Rene Brun - -TCanvas *c1, *c2; -TPad *selold = 0; -void thumbnail() { - c1 = new TCanvas("c1","thumbnails",10,10,600,800); - Int_t nx = 10; - Int_t ny = 15; - c1->Divide(nx,ny); - TH1F *h = new TH1F("h","h",100,-3,3); - for (Int_t i=1;i<=nx*ny;i++) { - c1->cd(i); - h->FillRandom("gaus",10); - h->DrawCopy(); - } - c1->AddExec("tnail","tnail()"); - c2 = new TCanvas("c2","c2",650,10,800,600); -} -void tnail() { - TPad *sel = (TPad*)gPad->GetSelectedPad(); - int px = gPad->GetEventX(); - int py = gPad->GetEventY(); - if (sel && sel != c1 && sel != c2) { - if (selold) delete selold; - c2->cd(); - TPad *newpad = (TPad*)sel->Clone(); - c2->GetListOfPrimitives()->Add(newpad); - newpad->SetPad(0,0,1,1); - selold = newpad; - c2->Update(); - } -} diff --git a/tutorials/timeonaxis.C b/tutorials/timeonaxis.C deleted file mode 100644 index 4af59ff7daf171566a64efdfa9122a181a12c44c..0000000000000000000000000000000000000000 --- a/tutorials/timeonaxis.C +++ /dev/null @@ -1,126 +0,0 @@ -#include <time.h> - -void timeonaxis() -{ -// This macro illustrates the use of the time mode on the axis -// with different time intervals and time formats. It's result can -// be seen begin_html <a href="gif/timeonaxis.gif">here</a> end_html -// Through all this script, the time is expressed in UTC. some -// information about this format (and others like GPS) may be found at -// begin_html <a href="http://tycho.usno.navy.mil/systime.html">http://tycho.usno.navy.mil/systime.html</a> end_html -// or -// begin_html <a href="http://www.topology.org/sci/time.html">http://www.topology.org/sci/time.html</a> end_html -// -// The start time is : almost NOW (the time at which the script is executed) -// actualy, the nearest preceeding hour beginning. -// The time is in general expressed in UTC time with the C time() function -// This will obviously most of the time not be the time displayed on your watch -// since it is universal time. See the C time functions for converting this time -// into more useful structures. - time_t script_time; - script_time = time(0); - script_time = 3600*(int)(script_time/3600); - -// The time offset is the one that will be used by all graphs. -// If one changes it, it will be changed even on the graphs already defined - gStyle->SetTimeOffset(script_time); - - ct = new TCanvas("ct","Time on axis",10,10,700,900); - ct->Divide(1,3); - ct->SetFillColor(28); - - int i; - -//======= Build a signal : noisy damped sine ====== -// Time interval : 30 minutes - - gStyle->SetTitleH(0.08); - float noise; - ht = new TH1F("ht","Love at first sight",3000,0.,2000.); - for (i=1;i<3000;i++) { - noise = gRandom->Gaus(0,120); - if (i>700) { - noise += 1000*sin((i-700)*6.28/30)*exp((double)(700-i)/300); - } - ht->SetBinContent(i,noise); - } - ct->cd(1); - ct_1->SetFillColor(41); - ct_1->SetFrameFillColor(33); - ht->SetLineColor(2); - ht->GetXaxis()->SetLabelSize(0.05); - ht->Draw(); -// Sets time on the X axis -// The time used is the one set as time offset added to the value -// of the axis. This is converted into day/month/year hour:min:sec and -// a reasonnable tick interval value is chosen. - ht->GetXaxis()->SetTimeDisplay(1); - -//======= Build a simple graph beginning at a different time ====== -// Time interval : 5 seconds - - float x[100], t[100]; - for (i=0;i<100;i++) { - x[i] = sin(i*4*3.1415926/50)*exp(-(double)i/20); - t[i] = 6000+(double)i/20; - } - gt = new TGraph(100,t,x); - gt->SetTitle("Politics"); - ct->cd(2); - ct_2->SetFillColor(41); - ct_2->SetFrameFillColor(33); - gt->SetFillColor(19); - gt->SetLineColor(5); - gt->SetLineWidth(2); - gt->Draw("AL"); - gt->GetXaxis()->SetLabelSize(0.05); -// Sets time on the X axis - gt->GetXaxis()->SetTimeDisplay(1); - gPad->Modified(); - -//======= Build a second simple graph for a very long time interval ====== -// Time interval : a few years - - float x2[10], t2[10]; - for (i=0;i<10;i++) { - x2[i] = gRandom->Gaus(500,100)*i; - t2[i] = i*365*86400; - } - gt2 = new TGraph(10,t2,x2); - gt2->SetTitle("Number of monkeys on the moon"); - ct->cd(3); - ct_3->SetFillColor(41); - ct_3->SetFrameFillColor(33); - gt2->SetFillColor(19); - gt2->SetMarkerColor(4); - gt2->SetMarkerStyle(29); - gt2->SetMarkerSize(1.3); - gt2->Draw("AP"); - gt2->GetXaxis()->SetLabelSize(0.05); -// Sets time on the X axis - gt2->GetXaxis()->SetTimeDisplay(1); -// -// One can choose a different time format than the one chosen by default -// The time format is the same as the one of the C strftime() function -// It's a string containing the following formats : -// for date : -// %a abbreviated weekday name -// %b abbreviated month name -// %d day of the month (01-31) -// %m month (01-12) -// %y year without century -// %Y year with century -// -// for time : -// %H hour (24-hour clock) -// %I hour (12-hour clock) -// %p local equivalent of AM or PM -// %M minute (00-59) -// %S seconds (00-61) -// %% % -// The other characters are output as is. - - gt2->GetXaxis()->SetTimeFormat("y. %Y"); - gPad->Modified(); - -} diff --git a/tutorials/timeonaxis2.C b/tutorials/timeonaxis2.C deleted file mode 100644 index 4b0cc54af2ec6a0d5e7d52ff440bde1b6e6ac97f..0000000000000000000000000000000000000000 --- a/tutorials/timeonaxis2.C +++ /dev/null @@ -1,27 +0,0 @@ -{ - // Define the time offset as 2003, January 1st - TDatime T0(2003,01,01,00,00,00); - int X0 = T0.Convert(); - gStyle->SetTimeOffset(X0); - - // Define the lowest histogram limit as 2002, September 23rd - TDatime T1(2002,09,23,00,00,00); - int X1 = T1.Convert()-X0; - - // Define the highest histogram limit as 2003, March 7th - TDatime T2(2003,03,07,00,00,00); - int X2 = T2.Convert(1)-X0; - - TH1F * h1 = new TH1F("h1","test",100,X1,X2); - - TRandom r; - for (Int_t i=0;i<30000;i++) { - Double_t noise = r.Gaus(0.5*(X1+X2),0.1*(X2-X1)); - h1->Fill(noise); - } - - h1->GetXaxis()->SetTimeDisplay(1); - h1->GetXaxis()->SetLabelSize(0.03); - h1->GetXaxis()->SetTimeFormat("%Y\/%m\/%d"); - h1->Draw(); -} diff --git a/tutorials/tornado.C b/tutorials/tornado.C deleted file mode 100644 index 014ba839bd4e81f7f78620b5536f35d5179a7dda..0000000000000000000000000000000000000000 --- a/tutorials/tornado.C +++ /dev/null @@ -1,61 +0,0 @@ -{ -// To see the output of this macro, click begin_html <a href="gif/tornado.gif" >here</a> end_html - - gROOT->Reset(); - - gBenchmark->Start("tornado"); - - double PI = 3.141592653; - int d = 16; - int numberOfPoints=200; - int numberOfCircles=40; - - // create and open a canvas - sky = new TCanvas( "sky", "Tornado", 300, 10, 700, 500 ); - sky->SetFillColor(14); - - // creating view - TView *view = new TView(1); - float range = numberOfCircles*d; - view->SetRange( 0, 0, 0, 4.0*range, 2.0*range, range ); - - for( int j = d; j < numberOfCircles*d; j += d ) { - - // create a PolyMarker3D - TPolyMarker3D *pm3d = new TPolyMarker3D( numberOfPoints ); - - float x, y, z; - - // set points - for( int i = 1; i < numberOfPoints; i++ ) { - float csin = sin(2*PI / (double)numberOfPoints * (double)i) + 1; - float ccos = cos(2*PI / (double)numberOfPoints * (double)i) + 1; - float esin = sin(2*PI / (double)(numberOfCircles*d) * (double)j) + 1; - x = j * ( csin + esin ); - y = j * ccos; - z = j; - pm3d->SetPoint( i, x, y, z ); - } - - // set marker size, color & style - pm3d->SetMarkerSize( 1 ); - pm3d->SetMarkerColor( 2 + ( d == ( j & d ) ) ); - pm3d->SetMarkerStyle( 3 ); - - //draw - pm3d->Draw(); - } - - char timeStr[60]; - gBenchmark->Show("tornado"); - - Float_t ct = gBenchmark->GetCpuTime("tornado"); - sprintf( timeStr, "Execution time: %g sec.", ct); - - TPaveText *text = new TPaveText( 0.1, 0.81, 0.9, 0.97 ); - text->SetFillColor( 42 ); - text->AddText("ROOT example: tornado.C"); - text->AddText(timeStr); - text->Draw(); - sky->Update(); -} diff --git a/tutorials/tornado.py b/tutorials/tornado.py deleted file mode 100755 index 638d558c647645be75b37e5e5d965dffb3f98054..0000000000000000000000000000000000000000 --- a/tutorials/tornado.py +++ /dev/null @@ -1,63 +0,0 @@ -# To see the output of this macro, click begin_html <a href="gif/tornado.gif" >here</a> end_html - -from ROOT import TCanvas, TView, TPolyMarker3D, TPaveText -from ROOT import gROOT, gBenchmark -from math import cos, sin, pi - - -gROOT.Reset() - -gBenchmark.Start( 'tornado' ) - -d = 16 -numberOfPoints = 200 -numberOfCircles = 40 - -# create and open a canvas -sky = TCanvas( 'sky', 'Tornado', 300, 10, 700, 500 ) -sky.SetFillColor( 14 ) - -# creating view -view = TView( 1 ) -rng = numberOfCircles * d -view.SetRange( 0, 0, 0, 4.0*rng, 2.0*rng, rng ) - -polymarkers = [] -for j in range( d, numberOfCircles * d, d ): - - # create a PolyMarker3D - pm3d = TPolyMarker3D( numberOfPoints ) - - # set points - for i in xrange( 1, numberOfPoints ) : - csin = sin( 2*pi / numberOfPoints * i ) + 1 - ccos = cos( 2*pi / numberOfPoints * i ) + 1 - esin = sin( 2*pi / (numberOfCircles*d) * j ) + 1 - x = j * ( csin + esin ); - y = j * ccos; - z = j; - pm3d.SetPoint( i, x, y, z ); - - # set marker size, color & style - pm3d.SetMarkerSize( 1 ) - pm3d.SetMarkerColor( 2 + ( d == ( j & d ) ) ) - pm3d.SetMarkerStyle( 3 ) - - # draw - pm3d.Draw() - - # save a reference - polymarkers.append( pm3d ) - -gBenchmark.Show( 'tornado' ) - -ct = gBenchmark.GetCpuTime( 'tornado' ) -timeStr = 'Execution time: %g sec.' % ct - -text = TPaveText( 0.1, 0.81, 0.9, 0.97 ) -text.SetFillColor( 42 ) -text.AddText( 'PyROOT example: tornado.py' ) -text.AddText( timeStr ) -text.Draw() - -sky.Update() diff --git a/tutorials/transpad.C b/tutorials/transpad.C deleted file mode 100644 index e1db3f1b4f518dc17367ee66e9e1da2598a33230..0000000000000000000000000000000000000000 --- a/tutorials/transpad.C +++ /dev/null @@ -1,50 +0,0 @@ -// Example of a canvas showing two histograms with different scales. -// The second histogram is drawn in a transparent pad -void transpad() { - TCanvas *c1 = new TCanvas("c1","transparent pad",200,10,700,500); - TPad *pad1 = new TPad("pad1","",0,0,1,1); - TPad *pad2 = new TPad("pad2","",0,0,1,1); - pad2->SetFillStyle(4000); //will be transparent - pad1->Draw(); - pad1->cd(); - - TH1F *h1 = new TH1F("h1","h1",100,-3,3); - TH1F *h2 = new TH1F("h2","h2",100,-3,3); - TRandom r; - for (Int_t i=0;i<100000;i++) { - Double_t x1 = r.Gaus(-1,0.5); - Double_t x2 = r.Gaus(1,1.5); - if (i <1000) h1->Fill(x1); - h2->Fill(x2); - } - h1->Draw(); - pad1->Update(); //this will force the generation of the "stats" box - TPaveStats *ps1 = (TPaveStats*)h1->GetListOfFunctions()->FindObject("stats"); - ps1->SetX1NDC(0.4); ps1->SetX2NDC(0.6); - pad1->Modified(); - c1->cd(); - - //compute the pad range with suitable margins - Double_t ymin = 0; - Double_t ymax = 2000; - Double_t dy = (ymax-ymin)/0.8; //10 per cent margins top and bottom - Double_t xmin = -3; - Double_t xmax = 3; - Double_t dx = (xmax-xmin)/0.8; //10 per cent margins left and right - pad2->Range(xmin-0.1*dx,ymin-0.1*dy,xmax+0.1*dx,ymax+0.1*dy); - pad2->Draw(); - pad2->cd(); - h2->SetLineColor(kRed); - h2->Draw("sames"); - pad2->Update(); - TPaveStats *ps2 = (TPaveStats*)h2->GetListOfFunctions()->FindObject("stats"); - ps2->SetX1NDC(0.65); ps2->SetX2NDC(0.85); - ps2->SetTextColor(kRed); - - // draw axis on the right side of the pad - TGaxis *axis = new TGaxis(xmax,ymin,xmax,ymax,ymin,ymax,50510,"+L"); - axis->SetLabelColor(kRed); - axis->Draw(); -} - - diff --git a/tutorials/tree.C b/tutorials/tree.C deleted file mode 100644 index 17e9c6c7acb9810df20aa98d3d4cb240d8c9e29d..0000000000000000000000000000000000000000 --- a/tutorials/tree.C +++ /dev/null @@ -1,219 +0,0 @@ -{ - // - // This macro displays the Tree data structures - // - gROOT->Reset(); - c1 = new TCanvas("c1","Tree Data Structure",200,10,750,940); - c1->Range(0,-0.1,1,1.15); - - gBenchmark->Start("tree"); - - Int_t branchcolor = 26; - Int_t leafcolor = 30; - Int_t basketcolor = 42; - Int_t offsetcolor = 43; - TPaveLabel title(.3,1.05,.8,1.13,c1->GetTitle()); - title.SetFillColor(16); - title.Draw(); - TPaveText tree(.01,.75,.15,1.00); - tree.SetFillColor(18); - tree.SetTextAlign(12); - TText *tnt = tree.AddText("Tree"); - tnt.SetTextAlign(22); - tnt.SetTextSize(0.030); - tree.AddText("fScanField"); - tree.AddText("fMaxEventLoop"); - tree.AddText("fMaxVirtualSize"); - tree.AddText("fEntries"); - tree.AddText("fDimension"); - tree.AddText("fSelectedRows"); - tree.Draw(); - TPavesText farm(.01,1.02,.15,1.1,9,"tr"); - TText *tfarm = farm.AddText("CHAIN"); - tfarm.SetTextSize(0.024); - farm.AddText("Collection"); - farm.AddText("of Trees"); - farm.Draw(); - TLine link(.15,.92,.80,.92); - link.SetLineWidth(2); - link.SetLineColor(1); - link.Draw(); - link.DrawLine(.21,.87,.21,.275); - link.DrawLine(.23,.87,.23,.375); - link.DrawLine(.25,.87,.25,.775); - link.DrawLine(.41,.25,.41,-.025); - link.DrawLine(.43,.25,.43,.075); - link.DrawLine(.45,.25,.45,.175); - TPaveLabel branch0(.20,.87,.35,.97,"Branch 0"); - branch0.SetTextSize(0.35); - branch0.SetFillColor(branchcolor); - branch0.Draw(); - TPaveLabel branch1(.40,.87,.55,.97,"Branch 1"); - branch1.SetTextSize(0.35); - branch1.SetFillColor(branchcolor); - branch1.Draw(); - TPaveLabel branch2(.60,.87,.75,.97,"Branch 2"); - branch2.SetTextSize(0.35); - branch2.SetFillColor(branchcolor); - branch2.Draw(); - TPaveLabel branch3(.80,.87,.95,.97,"Branch 3"); - branch3.SetTextSize(0.35); - branch3.SetFillColor(branchcolor); - branch3.Draw(); - TPaveLabel leaf0(.4,.75,.5,.8,"Leaf 0"); - leaf0.SetFillColor(leafcolor); - leaf0.Draw(); - TPaveLabel leaf1(.6,.75,.7,.8,"Leaf 1"); - leaf1.SetFillColor(leafcolor); - leaf1.Draw(); - TPaveLabel leaf2(.8,.75,.9,.8,"Leaf 2"); - leaf2.SetFillColor(leafcolor); - leaf2.Draw(); - TPaveText firstevent(.4,.35,.9,.4); - firstevent.AddText("First event of each basket"); - firstevent.AddText("Array of fMaxBaskets Integers"); - firstevent.SetFillColor(basketcolor); - firstevent.Draw(); - TPaveLabel basket0(.4,.25,.5,.3,"Basket 0"); - basket0.SetFillColor(basketcolor); - basket0.Draw(); - TPaveLabel basket1(.6,.25,.7,.3,"Basket 1"); - basket1.SetFillColor(basketcolor); - basket1.Draw(); - TPaveLabel basket2(.8,.25,.9,.3,"Basket 2"); - basket2.SetFillColor(basketcolor); - basket2.Draw(); - - TPaveText offset(.55,.15,.9,.2); - offset.AddText("Offset of events in fBuffer"); - offset.AddText("Array of fEventOffsetLen Integers"); - offset.AddText("(if variable length structure)"); - offset.SetFillColor(offsetcolor); - offset.Draw(); - TPaveText buffer(.55,.05,.9,.1); - buffer.AddText("Basket buffer"); - buffer.AddText("Array of fBasketSize chars"); - buffer.SetFillColor(offsetcolor); - buffer.Draw(); - TPaveText zipbuffer(.55,-.05,.75,.0); - zipbuffer.AddText("Basket compressed buffer"); - zipbuffer.AddText("(if compression)"); - zipbuffer.SetFillColor(offsetcolor); - zipbuffer.Draw(); - TArrow ar1; - ar1.SetLineWidth(2); - ar1.SetLineColor(1); - ar1.SetFillStyle(1001); - ar1.SetFillColor(1); - ar1.DrawArrow(.21,.275,.39,.275,0.015,"|>"); - ar1.DrawArrow(.23,.375,.39,.375,0.015,"|>"); - ar1.DrawArrow(.25,.775,.39,.775,0.015,"|>"); - ar1.DrawArrow(.50,.775,.59,.775,0.015,"|>"); - ar1.DrawArrow(.70,.775,.79,.775,0.015,"|>"); - ar1.DrawArrow(.50,.275,.59,.275,0.015,"|>"); - ar1.DrawArrow(.70,.275,.79,.275,0.015,"|>"); - ar1.DrawArrow(.45,.175,.54,.175,0.015,"|>"); - ar1.DrawArrow(.43,.075,.54,.075,0.015,"|>"); - ar1.DrawArrow(.41,-.025,.54,-.025,0.015,"|>"); - TLine ldot(.95,.92,.99,.92); - ldot.SetLineStyle(3); - ldot.Draw(); - ldot.DrawLine(.9,.775,.99,.775); - ldot.DrawLine(.9,.275,.99,.275); - ldot.DrawLine(.55,.05,.55,0); - ldot.DrawLine(.9,.05,.75,0); - TText pname(.46,.21,"fEventOffset"); - pname.SetTextFont(72); - pname.SetTextSize(0.018); - pname.Draw(); - pname.DrawText(.44,.11,"fBuffer"); - pname.DrawText(.42,.01,"fZipBuffer"); - pname.DrawText(.26,.81,"fLeaves = TObjArray of TLeaf"); - pname.DrawText(.24,.40,"fBasketEvent"); - pname.DrawText(.22,.31,"fBaskets = TObjArray of TBasket"); - pname.DrawText(.20,1.0,"fBranches = TObjArray of TBranch"); - TPaveText ntleaf(0.30,.42,.62,.7); - ntleaf.SetTextSize(0.014); - ntleaf.SetFillColor(leafcolor); - ntleaf.SetTextAlign(12); - ntleaf.AddText("fLen: number of fixed elements"); - ntleaf.AddText("fLenType: number of bytes of data type"); - ntleaf.AddText("fOffset: relative to Leaf0-fAddress"); - ntleaf.AddText("fNbytesIO: number of bytes used for I/O"); - ntleaf.AddText("fIsPointer: True if pointer"); - ntleaf.AddText("fIsRange: True if leaf has a range"); - ntleaf.AddText("fIsUnsigned: True if unsigned"); - ntleaf.AddText("*fLeafCount: points to Leaf counter"); - ntleaf.AddText(" "); - ntleaf.AddLine(0,0,0,0); - ntleaf.AddText("fName = Leaf name"); - ntleaf.AddText("fTitle = Leaf type (see Type codes)"); - ntleaf.Draw(); - TPaveText type(.65,.42,.95,.7); - type.SetTextAlign(12); - type.SetFillColor(leafcolor); - type.AddText(" "); - type.AddText("C : a character string"); - type.AddText("B : an 8 bit signed integer"); - type.AddText("b : an 8 bit unsigned integer"); - type.AddText("S : a 16 bit signed short integer"); - type.AddText("s : a 16 bit unsigned short integer"); - type.AddText("I : a 32 bit signed integer"); - type.AddText("i : a 32 bit unsigned integer"); - type.AddText("F : a 32 bit floating point"); - type.AddText("D : a 64 bit floating point"); - type.AddText("TXXXX : a class name TXXXX"); - type.Draw(); - TPaveLabel typecode(.7,.68,.9,.72,"fType codes"); - typecode.SetFillColor(leafcolor); - typecode.Draw(); - ldot.DrawLine(.4,.75,.30,.7); - ldot.DrawLine(.5,.75,.62,.7); - TPaveText ntbasket(0.02,-0.07,0.35,.25); - ntbasket.SetFillColor(basketcolor); - ntbasket.SetTextSize(0.014); - ntbasket.SetTextAlign(12); - ntbasket.AddText("fNbytes: Size of compressed Basket"); - ntbasket.AddText("fObjLen: Size of uncompressed Basket"); - ntbasket.AddText("fDatime: Date/Time when written to store"); - ntbasket.AddText("fKeylen: Number of bytes for the key"); - ntbasket.AddText("fCycle : Cycle number"); - ntbasket.AddText("fSeekKey: Pointer to Basket on file"); - ntbasket.AddText("fSeekPdir: Pointer to directory on file"); - ntbasket.AddText("fClassName: 'TBasket'"); - ntbasket.AddText("fName: Branch name"); - ntbasket.AddText("fTitle: Tree name"); - ntbasket.AddText(" "); - ntbasket.AddLine(0,0,0,0); - ntbasket.AddText("fNevBuf: Number of events in Basket"); - ntbasket.AddText("fLast: pointer to last used byte in Basket"); - ntbasket.Draw(); - ldot.DrawLine(.4,.3,0.02,0.25); - ldot.DrawLine(.5,.25,0.35,-.07); - ldot.DrawLine(.5,.3,0.35,0.25); - TPaveText ntbranch(0.02,0.40,0.18,0.68); - ntbranch.SetFillColor(branchcolor); - ntbranch.SetTextSize(0.015); - ntbranch.SetTextAlign(12); - ntbranch.AddText("fBasketSize"); - ntbranch.AddText("fEventOffsetLen"); - ntbranch.AddText("fMaxBaskets"); - ntbranch.AddText("fEntries"); - ntbranch.AddText("fAddress of Leaf0"); - ntbranch.AddText(" "); - ntbranch.AddLine(0,0,0,0); - ntbranch.AddText("fName: Branchname"); - ntbranch.AddText("fTitle: leaflist"); - ntbranch.Draw(); - ldot.DrawLine(.2,.97,.02,.68); - ldot.DrawLine(.35,.97,.18,.68); - ldot.DrawLine(.35,.87,.18,.40); - TPavesText basketstore(.8,-0.088,0.952,-0.0035,7,"tr"); - basketstore.SetFillColor(28); - basketstore.AddText("Baskets"); - basketstore.AddText("Stores"); - basketstore.Draw(); - c1->Update(); - - gBenchmark->Show("tree"); -} diff --git a/tutorials/tree.py b/tutorials/tree.py deleted file mode 100755 index 372073ff3475b17a5b5bac6685e4457c56b66757..0000000000000000000000000000000000000000 --- a/tutorials/tree.py +++ /dev/null @@ -1,224 +0,0 @@ -# -# This macro displays the Tree data structures -# - -from ROOT import TCanvas, TPaveLabel, TPaveText, TPavesText, TText -from ROOT import TArrow, TLine -from ROOT import gROOT, gBenchmark - -#gROOT.Reset() - -c1 = TCanvas('c1','Tree Data Structure',200,10,750,940) -c1.Range(0,-0.1,1,1.15) - -gBenchmark.Start('tree') - -branchcolor = 26 -leafcolor = 30 -basketcolor = 42 -offsetcolor = 43 -#title = TPaveLabel(.3,1.05,.8,1.13,c1.GetTitle()) -title = TPaveLabel(.3,1.05,.8,1.13,'Tree Data Structure') -title.SetFillColor(16) -title.Draw() -tree = TPaveText(.01,.75,.15,1.00) -tree.SetFillColor(18) -tree.SetTextAlign(12) -tnt = tree.AddText('Tree') -tnt.SetTextAlign(22) -tnt.SetTextSize(0.030) -tree.AddText('fScanField') -tree.AddText('fMaxEventLoop') -tree.AddText('fMaxVirtualSize') -tree.AddText('fEntries') -tree.AddText('fDimension') -tree.AddText('fSelectedRows') -tree.Draw() -farm = TPavesText(.01,1.02,.15,1.1,9,'tr') -tfarm = farm.AddText('CHAIN') -tfarm.SetTextSize(0.024) -farm.AddText('Collection') -farm.AddText('of Trees') -farm.Draw() -link = TLine(.15,.92,.80,.92) -link.SetLineWidth(2) -link.SetLineColor(1) -link.Draw() -link.DrawLine(.21,.87,.21,.275) -link.DrawLine(.23,.87,.23,.375) -link.DrawLine(.25,.87,.25,.775) -link.DrawLine(.41,.25,.41,-.025) -link.DrawLine(.43,.25,.43,.075) -link.DrawLine(.45,.25,.45,.175) -branch0 = TPaveLabel(.20,.87,.35,.97,'Branch 0') -branch0.SetTextSize(0.35) -branch0.SetFillColor(branchcolor) -branch0.Draw() -branch1 = TPaveLabel(.40,.87,.55,.97,'Branch 1') -branch1.SetTextSize(0.35) -branch1.SetFillColor(branchcolor) -branch1.Draw() -branch2 = TPaveLabel(.60,.87,.75,.97,'Branch 2') -branch2.SetTextSize(0.35) -branch2.SetFillColor(branchcolor) -branch2.Draw() -branch3 = TPaveLabel(.80,.87,.95,.97,'Branch 3') -branch3.SetTextSize(0.35) -branch3.SetFillColor(branchcolor) -branch3.Draw() -leaf0 = TPaveLabel(.4,.75,.5,.8,'Leaf 0') -leaf0.SetFillColor(leafcolor) -leaf0.Draw() -leaf1 = TPaveLabel(.6,.75,.7,.8,'Leaf 1') -leaf1.SetFillColor(leafcolor) -leaf1.Draw() -leaf2 = TPaveLabel(.8,.75,.9,.8,'Leaf 2') -leaf2.SetFillColor(leafcolor) -leaf2.Draw() -firstevent = TPaveText(.4,.35,.9,.4) -firstevent.AddText('First event of each basket') -firstevent.AddText('Array of fMaxBaskets Integers') -firstevent.SetFillColor(basketcolor) -firstevent.Draw() -basket0 = TPaveLabel(.4,.25,.5,.3,'Basket 0') -basket0.SetFillColor(basketcolor) -basket0.Draw() -basket1 = TPaveLabel(.6,.25,.7,.3,'Basket 1') -basket1.SetFillColor(basketcolor) -basket1.Draw() -basket2 = TPaveLabel(.8,.25,.9,.3,'Basket 2') -basket2.SetFillColor(basketcolor) -basket2.Draw() - -offset = TPaveText(.55,.15,.9,.2) -offset.AddText('Offset of events in fBuffer') -offset.AddText('Array of fEventOffsetLen Integers') -offset.AddText('(if variable length structure)') -offset.SetFillColor(offsetcolor) -offset.Draw() -buffer = TPaveText(.55,.05,.9,.1) -buffer.AddText('Basket buffer') -buffer.AddText('Array of fBasketSize chars') -buffer.SetFillColor(offsetcolor) -buffer.Draw() -zipbuffer = TPaveText(.55,-.05,.75,.0) -zipbuffer.AddText('Basket compressed buffer') -zipbuffer.AddText('(if compression)') -zipbuffer.SetFillColor(offsetcolor) -zipbuffer.Draw() -ar1 = TArrow() -ar1.SetLineWidth(2) -ar1.SetLineColor(1) -ar1.SetFillStyle(1001) -ar1.SetFillColor(1) -ar1.DrawArrow(.21,.275,.39,.275,0.015,'|>') -ar1.DrawArrow(.23,.375,.39,.375,0.015,'|>') -ar1.DrawArrow(.25,.775,.39,.775,0.015,'|>') -ar1.DrawArrow(.50,.775,.59,.775,0.015,'|>') -ar1.DrawArrow(.70,.775,.79,.775,0.015,'|>') -ar1.DrawArrow(.50,.275,.59,.275,0.015,'|>') -ar1.DrawArrow(.70,.275,.79,.275,0.015,'|>') -ar1.DrawArrow(.45,.175,.54,.175,0.015,'|>') -ar1.DrawArrow(.43,.075,.54,.075,0.015,'|>') -ar1.DrawArrow(.41,-.025,.54,-.025,0.015,'|>') -ldot = TLine(.95,.92,.99,.92) -ldot.SetLineStyle(3) -ldot.Draw() -ldot.DrawLine(.9,.775,.99,.775) -ldot.DrawLine(.9,.275,.99,.275) -ldot.DrawLine(.55,.05,.55,0) -ldot.DrawLine(.9,.05,.75,0) -pname = TText(.46,.21,'fEventOffset') -pname.SetTextFont(72) -pname.SetTextSize(0.018) -pname.Draw() -pname.DrawText(.44,.11,'fBuffer') -pname.DrawText(.42,.01,'fZipBuffer') -pname.DrawText(.26,.81,'fLeaves = TObjArray of TLeaf') -pname.DrawText(.24,.40,'fBasketEvent') -pname.DrawText(.22,.31,'fBaskets = TObjArray of TBasket') -pname.DrawText(.20,1.0,'fBranches = TObjArray of TBranch') -ntleaf = TPaveText(0.30,.42,.62,.7) -ntleaf.SetTextSize(0.014) -ntleaf.SetFillColor(leafcolor) -ntleaf.SetTextAlign(12) -ntleaf.AddText('fLen: number of fixed elements') -ntleaf.AddText('fLenType: number of bytes of data type') -ntleaf.AddText('fOffset: relative to Leaf0-fAddress') -ntleaf.AddText('fNbytesIO: number of bytes used for I/O') -ntleaf.AddText('fIsPointer: True if pointer') -ntleaf.AddText('fIsRange: True if leaf has a range') -ntleaf.AddText('fIsUnsigned: True if unsigned') -ntleaf.AddText('*fLeafCount: points to Leaf counter') -ntleaf.AddText(' ') -ntleaf.AddLine(0,0,0,0) -ntleaf.AddText('fName = Leaf name') -ntleaf.AddText('fTitle = Leaf type (see Type codes)') -ntleaf.Draw() -type = TPaveText(.65,.42,.95,.7) -type.SetTextAlign(12) -type.SetFillColor(leafcolor) -type.AddText(' ') -type.AddText('C : a character string') -type.AddText('B : an 8 bit signed integer') -type.AddText('b : an 8 bit unsigned integer') -type.AddText('S : a 16 bit signed short integer') -type.AddText('s : a 16 bit unsigned short integer') -type.AddText('I : a 32 bit signed integer') -type.AddText('i : a 32 bit unsigned integer') -type.AddText('F : a 32 bit floating point') -type.AddText('D : a 64 bit floating point') -type.AddText('TXXXX : a class name TXXXX') -type.Draw() -typecode = TPaveLabel(.7,.68,.9,.72,'fType codes') -typecode.SetFillColor(leafcolor) -typecode.Draw() -ldot.DrawLine(.4,.75,.30,.7) -ldot.DrawLine(.5,.75,.62,.7) -ntbasket = TPaveText(0.02,-0.07,0.35,.25) -ntbasket.SetFillColor(basketcolor) -ntbasket.SetTextSize(0.014) -ntbasket.SetTextAlign(12) -ntbasket.AddText('fNbytes: Size of compressed Basket') -ntbasket.AddText('fObjLen: Size of uncompressed Basket') -ntbasket.AddText('fDatime: Date/Time when written to store') -ntbasket.AddText('fKeylen: Number of bytes for the key') -ntbasket.AddText('fCycle : Cycle number') -ntbasket.AddText('fSeekKey: Pointer to Basket on file') -ntbasket.AddText('fSeekPdir: Pointer to directory on file') -ntbasket.AddText("fClassName: 'TBasket'") -ntbasket.AddText('fName: Branch name') -ntbasket.AddText('fTitle: Tree name') -ntbasket.AddText(' ') -ntbasket.AddLine(0,0,0,0) -ntbasket.AddText('fNevBuf: Number of events in Basket') -ntbasket.AddText('fLast: pointer to last used byte in Basket') -ntbasket.Draw() -ldot.DrawLine(.4,.3,0.02,0.25) -ldot.DrawLine(.5,.25,0.35,-.07) -ldot.DrawLine(.5,.3,0.35,0.25) -ntbranch = TPaveText(0.02,0.40,0.18,0.68) -ntbranch.SetFillColor(branchcolor) -ntbranch.SetTextSize(0.015) -ntbranch.SetTextAlign(12) -ntbranch.AddText('fBasketSize') -ntbranch.AddText('fEventOffsetLen') -ntbranch.AddText('fMaxBaskets') -ntbranch.AddText('fEntries') -ntbranch.AddText('fAddress of Leaf0') -ntbranch.AddText(' ') -ntbranch.AddLine(0,0,0,0) -ntbranch.AddText('fName: Branchname') -ntbranch.AddText('fTitle: leaflist') -ntbranch.Draw() -ldot.DrawLine(.2,.97,.02,.68) -ldot.DrawLine(.35,.97,.18,.68) -ldot.DrawLine(.35,.87,.18,.40) -basketstore = TPavesText(.8,-0.088,0.952,-0.0035,7,'tr') -basketstore.SetFillColor(28) -basketstore.AddText('Baskets') -basketstore.AddText('Stores') -basketstore.Draw() -c1.Update() - -gBenchmark.Show('tree') diff --git a/tutorials/tree0.C b/tutorials/tree0.C deleted file mode 100644 index ae2ec5df12fdc6e8b81f6a2d3774b95ee549e4f5..0000000000000000000000000000000000000000 --- a/tutorials/tree0.C +++ /dev/null @@ -1,112 +0,0 @@ -// Author: Heiko.Scheit@mpi-hd.mpg.de -// -// simple Event class example -// -// execute as: .x tree0.C++ -// -// You have to copy it first to a directory where you have write access! -// Note that .x tree0.C cannot work with this example -// - -/////////////////////////////// -// Effect of ClassDef() and ClassImp() macros -//=============================================== -// -// After running this macro create an instance of Det and Event -// -// Det d; -// Event e; -// -// now you can see the effect of the ClassDef() and ClassImp() macros. -// (for the Det class these commands are commented!) -// For instance 'e' now knows who it is: -// -// cout<<e.Class_Name()<<endl; -// -// whereas d does not. -// -// The methods that are added by the ClassDef()/Imp() marcro can be listed with -// .class -// .class Event -// .class Det -/////////////////// - -#include <TRandom.h> -#include <TTree.h> -#include <TCanvas.h> -#include <TStyle.h> - -#include <Riostream.h> - -//class Det : public TObject { -class Det { // each detector gives an energy and time signal -public: - Double_t e; //energy - Double_t t; //time - -// ClassDef(Det,1) -}; - -//ClassImp(Det) - -//class Event { //TObject is not required by this example -class Event : public TObject { -public: - - Det a; // say there are two detectors (a and b) in the experiment - Det b; - ClassDef(Event,1) -}; - -ClassImp(Event) - -void tree0() { - // create a TTree - TTree *tree = new TTree("tree","treelibrated tree"); - Event *e = new Event; - - // create a branch with energy - tree->Branch("event",&e); - - // fill some events with random numbers - Int_t nevent=10000; - for (Int_t iev=0;iev<nevent;iev++) { - if (iev%1000==0) cout<<"Processing event "<<iev<<"..."<<endl; - - Float_t ea,eb; - gRandom->Rannor(ea,eb); // the two energies follow a gaus distribution - e->a.e=ea; - e->b.e=eb; - e->a.t=gRandom->Rndm(); // random - e->b.t=e->a.t + gRandom->Gaus(0.,.1); // identical to a.t but a gaussian - // 'resolution' was added with sigma .1 - - tree->Fill(); // fill the tree with the current event - } - - // start the viewer - // here you can investigate the structure of your Event class - tree->StartViewer(); - - //gROOT->SetStyle("Plain"); // uncomment to set a different style - gStyle->SetPalette(1); // use precomputed color palette 1 - - // now draw some tree variables - TCanvas *c1 = new TCanvas(); - c1->Divide(2,2); - c1->cd(1); - tree->Draw("a.e"); //energy of det a - tree->Draw("a.e","3*(-.2<b.e && b.e<.2)","same"); // same but with condition on energy b; scaled by 3 - c1->cd(2); - tree->Draw("b.e:a.e","","colz"); // one energy against the other - c1->cd(3); - tree->Draw("b.t","","e"); // time of b with errorbars - tree->Draw("a.t","","same"); // overlay time of detector a - c1->cd(4); - tree->Draw("b.t:a.t"); // plot time b again time a - - cout<<endl; - cout<<"You can now examine the structure of your tree in the TreeViewer"<<endl; - cout<<endl; -} - diff --git a/tutorials/tree1.C b/tutorials/tree1.C deleted file mode 100644 index b3ae57951b8ebd2b1ceff310d0da08fb459001df..0000000000000000000000000000000000000000 --- a/tutorials/tree1.C +++ /dev/null @@ -1,96 +0,0 @@ -#include "TFile.h" -#include "TTree.h" -#include "TBrowser.h" -#include "TH2.h" -#include "TRandom.h" - -// This example is a variant of hsimple.C but using a TTree instead -// of a TNtuple. It shows : -// -how to fill a Tree with a few simple variables. -// -how to read this Tree -// -how to browse and analyze the Tree via the TBrowser and TTreeViewer -// This example can be run in many different ways: -// way1: .x tree1.C using the CINT interpreter -// way2: .x tree1.C++ using the automatic compiler interface -// way3: .L tree1.C or .L tree1.C++ -// tree1() -// One can also run the write and read parts in two separate sessions. -// For example following one of the sessions above, one can start the session: -// .L tree1.C -// tree1r(); -// -// Author: Rene Brun - -void tree1w() -{ - //create a Tree file tree1.root - - //create the file, the Tree and a few branches - TFile f("tree1.root","recreate"); - TTree t1("t1","a simple Tree with simple variables"); - Float_t px, py, pz; - Double_t random; - Int_t ev; - t1.Branch("px",&px,"px/F"); - t1.Branch("py",&py,"py/F"); - t1.Branch("pz",&pz,"pz/F"); - t1.Branch("random",&random,"random/D"); - t1.Branch("ev",&ev,"ev/I"); - - //fill the tree - for (Int_t i=0;i<10000;i++) { - gRandom->Rannor(px,py); - pz = px*px + py*py; - random = gRandom->Rndm(); - ev = i; - t1.Fill(); - } - - //save the Tree header. The file will be automatically closed - //when going out of the function scope - t1.Write(); -} - -void tree1r() -{ - //read the Tree generated by tree1w and fill two histograms - - //note that we use "new" to create the TFile and TTree objects ! - //because we want to keep these objects alive when we leave this function. - TFile *f = new TFile("tree1.root"); - TTree *t1 = (TTree*)f->Get("t1"); - Float_t px, py, pz; - Double_t random; - Int_t ev; - t1->SetBranchAddress("px",&px); - t1->SetBranchAddress("py",&py); - t1->SetBranchAddress("pz",&pz); - t1->SetBranchAddress("random",&random); - t1->SetBranchAddress("ev",&ev); - - //create two histograms - TH1F *hpx = new TH1F("hpx","px distribution",100,-3,3); - TH2F *hpxpy = new TH2F("hpxpy","py vs px",30,-3,3,30,-3,3); - - //read all entries and fill the histograms - Int_t nentries = (Int_t)t1->GetEntries(); - for (Int_t i=0;i<nentries;i++) { - t1->GetEntry(i); - hpx->Fill(px); - hpxpy->Fill(px,py); - } - - //we do not close the file. We want to keep the generated histograms - //we open a browser and the TreeViewer - if (gROOT->IsBatch()) return; - new TBrowser(); - t1->StartViewer(); - // in the browser, click on "ROOT Files", then on "tree1.root". - // you can click on the histogram icons in the right panel to draw them. - // in the TreeViewer, follow the instructions in the Help button. -} - -void tree1() { - tree1w(); - tree1r(); -} diff --git a/tutorials/tree2.C b/tutorials/tree2.C deleted file mode 100644 index 1165f1240342d7f108ba3f4bb4a34b2c35dca369..0000000000000000000000000000000000000000 --- a/tutorials/tree2.C +++ /dev/null @@ -1,203 +0,0 @@ -#include "TFile.h" -#include "TTree.h" -#include "TBrowser.h" -#include "TH2.h" -#include "TRandom.h" -#include "TCanvas.h" - -// This example illustrates how to make a Tree from variables or arrays -// in a C struct. Use of C structs is strongly discouraged and one should -// use classes instead. However support for C structs is important for -// legacy applications written in C or Fortran. -// see tree2a.C for the same example using a class instead of a C-struct. -// -// In this example, we are mapping a C struct to one of the Geant3 -// common blocks /gctrak/. In the real life, this common will be filled -// by Geant3 at each step and only the Tree Fill function should be called. -// The example emulates the Geant3 step routines. -// -// to run the example, do: -// .x tree2.C to execute with the CINT interpreter -// .x tree2.C++ to execute with native compiler -// -// Author: Rene Brun - -const Int_t MAXMEC = 30; -// PARAMETER (MAXMEC=30) -// COMMON/GCTRAK/VECT(7),GETOT,GEKIN,VOUT(7),NMEC,LMEC(MAXMEC) -// + ,NAMEC(MAXMEC),NSTEP ,PID,DESTEP,DESTEL,SAFETY,SLENG -// + ,STEP ,SNEXT ,SFIELD,TOFG ,GEKRAT,UPWGHT -typedef struct { - Float_t vect[7]; - Float_t getot; - Float_t gekin; - Float_t vout[7]; - Int_t nmec; - Int_t lmec[MAXMEC]; - Int_t namec[MAXMEC]; - Int_t nstep; - Int_t pid; - Float_t destep; - Float_t destel; - Float_t safety; - Float_t sleng; - Float_t step; - Float_t snext; - Float_t sfield; - Float_t tofg; - Float_t gekrat; - Float_t upwght; -} Gctrak_t; - - -void helixStep(Float_t step, Float_t *vect, Float_t *vout) -{ - // extrapolate track in constant field - Float_t field = 20; //magnetic field in kilogauss - enum Evect {kX,kY,kZ,kPX,kPY,kPZ,kPP}; - vout[kPP] = vect[kPP]; - Float_t h4 = field*2.99792e-4; - Float_t rho = -h4/vect[kPP]; - Float_t tet = rho*step; - Float_t tsint = tet*tet/6; - Float_t sintt = 1 - tsint; - Float_t sint = tet*sintt; - Float_t cos1t = tet/2; - Float_t f1 = step*sintt; - Float_t f2 = step*cos1t; - Float_t f3 = step*tsint*vect[kPZ]; - Float_t f4 = -tet*cos1t; - Float_t f5 = sint; - Float_t f6 = tet*cos1t*vect[kPZ]; - vout[kX] = vect[kX] + (f1*vect[kPX] - f2*vect[kPY]); - vout[kY] = vect[kY] + (f1*vect[kPY] + f2*vect[kPX]); - vout[kZ] = vect[kZ] + (f1*vect[kPZ] + f3); - vout[kPX] = vect[kPX] + (f4*vect[kPX] - f5*vect[kPY]); - vout[kPY] = vect[kPY] + (f4*vect[kPY] + f5*vect[kPX]); - vout[kPZ] = vect[kPZ] + (f4*vect[kPZ] + f6); -} - -void tree2w() -{ - //create a Tree file tree2.root - - //create the file, the Tree and a few branches with - //a subset of gctrak - TFile f("tree2.root","recreate"); - TTree t2("t2","a Tree with data from a fake Geant3"); - Gctrak_t gstep; - t2.Branch("vect",gstep.vect,"vect[7]/F"); - t2.Branch("getot",&gstep.getot,"getot/F"); - t2.Branch("gekin",&gstep.gekin,"gekin/F"); - t2.Branch("nmec",&gstep.nmec,"nmec/I"); - t2.Branch("lmec",gstep.lmec,"lmec[nmec]/I"); - t2.Branch("destep",&gstep.destep,"destep/F"); - t2.Branch("pid",&gstep.pid,"pid/I"); - - //Initialize particle parameters at first point - Float_t px,py,pz,p,charge=0; - Float_t vout[7]; - Float_t mass = 0.137; - Bool_t newParticle = kTRUE; - gstep.step = 0.1; - gstep.destep = 0; - gstep.nmec = 0; - gstep.pid = 0; - - //transport particles - for (Int_t i=0;i<10000;i++) { - //generate a new particle if necessary - if (newParticle) { - px = gRandom->Gaus(0,.02); - py = gRandom->Gaus(0,.02); - pz = gRandom->Gaus(0,.02); - p = TMath::Sqrt(px*px+py*py+pz*pz); - charge = 1; if (gRandom->Rndm() < 0.5) charge = -1; - gstep.pid += 1; - gstep.vect[0] = 0; - gstep.vect[1] = 0; - gstep.vect[2] = 0; - gstep.vect[3] = px/p; - gstep.vect[4] = py/p; - gstep.vect[5] = pz/p; - gstep.vect[6] = p*charge; - gstep.getot = TMath::Sqrt(p*p + mass*mass); - gstep.gekin = gstep.getot - mass; - newParticle = kFALSE; - } - - // fill the Tree with current step parameters - t2.Fill(); - - //transport particle in magnetic field - helixStep(gstep.step, gstep.vect, vout); //make one step - - //apply energy loss - gstep.destep = gstep.step*gRandom->Gaus(0.0002,0.00001); - gstep.gekin -= gstep.destep; - gstep.getot = gstep.gekin + mass; - gstep.vect[6] = charge*TMath::Sqrt(gstep.getot*gstep.getot - mass*mass); - gstep.vect[0] = vout[0]; - gstep.vect[1] = vout[1]; - gstep.vect[2] = vout[2]; - gstep.vect[3] = vout[3]; - gstep.vect[4] = vout[4]; - gstep.vect[5] = vout[5]; - gstep.nmec = (Int_t)(5*gRandom->Rndm()); - for (Int_t l=0;l<gstep.nmec;l++) gstep.lmec[l] = l; - if (gstep.gekin < 0.001) newParticle = kTRUE; - if (TMath::Abs(gstep.vect[2]) > 30) newParticle = kTRUE; - } - - //save the Tree header. The file will be automatically closed - //when going out of the function scope - t2.Write(); -} - -void tree2r() -{ - //read the Tree generated by tree2w and fill one histogram - //we are only interested by the destep branch. - - //note that we use "new" to create the TFile and TTree objects ! - //because we want to keep these objects alive when we leave - //this function. - TFile *f = new TFile("tree2.root"); - TTree *t2 = (TTree*)f->Get("t2"); - static Float_t destep; - TBranch *b_destep = t2->GetBranch("destep"); - b_destep->SetAddress(&destep); - - //create one histogram - TH1F *hdestep = new TH1F("hdestep","destep in Mev",100,1e-5,3e-5); - - //read only the destep branch for all entries - Int_t nentries = (Int_t)t2->GetEntries(); - for (Int_t i=0;i<nentries;i++) { - b_destep->GetEntry(i); - hdestep->Fill(destep); - } - - //we do not close the file. - //We want to keep the generated histograms - //We fill a 3-d scatter plot with the particle step coordinates - TCanvas *c1 = new TCanvas("c1","c1",600,800); - c1->SetFillColor(42); - c1->Divide(1,2); - c1->cd(1); - hdestep->SetFillColor(45); - hdestep->Fit("gaus"); - c1->cd(2); - gPad->SetFillColor(37); - t2->SetMarkerColor(kRed); - t2->Draw("vect[0]:vect[1]:vect[2]"); - if (gROOT->IsBatch()) return; - - // invoke the x3d viewer - gPad->GetViewer3D("x3d"); -} - -void tree2() { - tree2w(); - tree2r(); -} diff --git a/tutorials/tree2a.C b/tutorials/tree2a.C deleted file mode 100644 index 811087d9fa368b3f61fe04a857171b47c162537f..0000000000000000000000000000000000000000 --- a/tutorials/tree2a.C +++ /dev/null @@ -1,201 +0,0 @@ -#include "TFile.h" -#include "TTree.h" -#include "TBrowser.h" -#include "TH2.h" -#include "TRandom.h" -#include "TCanvas.h" - -// This example is the same as tree2.C, but uses a class instead of a C-struct. -// In this example, we are mapping a class to one of the Geant3 -// common blocks /gctrak/. In the real life, this common will be filled -// by Geant3 at each step and only the Tree Fill function should be called. -// The example emulates the Geant3 step routines. -// -// to run the example, do: -// .x tree2a.C+ to execute with native compiler -// -// Note that this example cannot be run under CINT (ie .x tree2a.c) -// because an interpreted class cannot derive from a compiled class. -// -// Author: Rene Brun - -const Int_t MAXMEC = 30; - -class Gctrak : public TObject { -public: - Float_t vect[7]; - Float_t getot; - Float_t gekin; - Float_t vout[7]; //! not persistent - Int_t nmec; - Int_t *lmec; //[nmec] - Int_t *namec; //[nmec] - Int_t nstep; //! not persistent - Int_t pid; - Float_t destep; - Float_t destel; //! not persistent - Float_t safety; //! not persistent - Float_t sleng; //! not persistent - Float_t step; //! not persistent - Float_t snext; //! not persistent - Float_t sfield; //! not persistent - Float_t tofg; //! not persistent - Float_t gekrat; //! not persistent - Float_t upwght; //! not persistent - - Gctrak() {lmec=0; namec=0;} - - ClassDef(Gctrak,1) -}; - - -void helixStep(Float_t step, Float_t *vect, Float_t *vout) -{ - // extrapolate track in constant field - Float_t field = 20; //magnetic field in kilogauss - enum Evect {kX,kY,kZ,kPX,kPY,kPZ,kPP}; - vout[kPP] = vect[kPP]; - Float_t h4 = field*2.99792e-4; - Float_t rho = -h4/vect[kPP]; - Float_t tet = rho*step; - Float_t tsint = tet*tet/6; - Float_t sintt = 1 - tsint; - Float_t sint = tet*sintt; - Float_t cos1t = tet/2; - Float_t f1 = step*sintt; - Float_t f2 = step*cos1t; - Float_t f3 = step*tsint*vect[kPZ]; - Float_t f4 = -tet*cos1t; - Float_t f5 = sint; - Float_t f6 = tet*cos1t*vect[kPZ]; - vout[kX] = vect[kX] + (f1*vect[kPX] - f2*vect[kPY]); - vout[kY] = vect[kY] + (f1*vect[kPY] + f2*vect[kPX]); - vout[kZ] = vect[kZ] + (f1*vect[kPZ] + f3); - vout[kPX] = vect[kPX] + (f4*vect[kPX] - f5*vect[kPY]); - vout[kPY] = vect[kPY] + (f4*vect[kPY] + f5*vect[kPX]); - vout[kPZ] = vect[kPZ] + (f4*vect[kPZ] + f6); -} - -void tree2aw() -{ - //create a Tree file tree2.root - - //create the file, the Tree and a few branches with - //a subset of gctrak - TFile f("tree2.root","recreate"); - TTree t2("t2","a Tree with data from a fake Geant3"); - Gctrak *gstep = new Gctrak; - t2.Branch("track",&gstep,8000,1); - - //Initialize particle parameters at first point - Float_t px,py,pz,p,charge=0; - Float_t vout[7]; - Float_t mass = 0.137; - Bool_t newParticle = kTRUE; - gstep->lmec = new Int_t[MAXMEC]; - gstep->namec = new Int_t[MAXMEC]; - gstep->step = 0.1; - gstep->destep = 0; - gstep->nmec = 0; - gstep->pid = 0; - - //transport particles - for (Int_t i=0;i<10000;i++) { - //generate a new particle if necessary - if (newParticle) { - px = gRandom->Gaus(0,.02); - py = gRandom->Gaus(0,.02); - pz = gRandom->Gaus(0,.02); - p = TMath::Sqrt(px*px+py*py+pz*pz); - charge = 1; if (gRandom->Rndm() < 0.5) charge = -1; - gstep->pid += 1; - gstep->vect[0] = 0; - gstep->vect[1] = 0; - gstep->vect[2] = 0; - gstep->vect[3] = px/p; - gstep->vect[4] = py/p; - gstep->vect[5] = pz/p; - gstep->vect[6] = p*charge; - gstep->getot = TMath::Sqrt(p*p + mass*mass); - gstep->gekin = gstep->getot - mass; - newParticle = kFALSE; - } - - // fill the Tree with current step parameters - t2.Fill(); - - //transport particle in magnetic field - helixStep(gstep->step, gstep->vect, vout); //make one step - - //apply energy loss - gstep->destep = gstep->step*gRandom->Gaus(0.0002,0.00001); - gstep->gekin -= gstep->destep; - gstep->getot = gstep->gekin + mass; - gstep->vect[6] = charge*TMath::Sqrt(gstep->getot*gstep->getot - mass*mass); - gstep->vect[0] = vout[0]; - gstep->vect[1] = vout[1]; - gstep->vect[2] = vout[2]; - gstep->vect[3] = vout[3]; - gstep->vect[4] = vout[4]; - gstep->vect[5] = vout[5]; - gstep->nmec = (Int_t)(5*gRandom->Rndm()); - for (Int_t l=0;l<gstep->nmec;l++) { - gstep->lmec[l] = l; - gstep->namec[l] = l+100; - } - if (gstep->gekin < 0.001) newParticle = kTRUE; - if (TMath::Abs(gstep->vect[2]) > 30) newParticle = kTRUE; - } - - //save the Tree header. The file will be automatically closed - //when going out of the function scope - t2.Write(); -} - -void tree2ar() -{ - //read the Tree generated by tree2w and fill one histogram - //we are only interested by the destep branch. - - //note that we use "new" to create the TFile and TTree objects ! - //because we want to keep these objects alive when we leave - //this function. - TFile *f = new TFile("tree2.root"); - TTree *t2 = (TTree*)f->Get("t2"); - Gctrak *gstep = 0; - t2->SetBranchAddress("track",&gstep); - TBranch *b_destep = t2->GetBranch("destep"); - - //create one histogram - TH1F *hdestep = new TH1F("hdestep","destep in Mev",100,1e-5,3e-5); - - //read only the destep branch for all entries - Int_t nentries = (Int_t)t2->GetEntries(); - for (Int_t i=0;i<nentries;i++) { - b_destep->GetEntry(i); - hdestep->Fill(gstep->destep); - } - - //we do not close the file. - //We want to keep the generated histograms - //We fill a 3-d scatter plot with the particle step coordinates - TCanvas *c1 = new TCanvas("c1","c1",600,800); - c1->SetFillColor(42); - c1->Divide(1,2); - c1->cd(1); - hdestep->SetFillColor(45); - hdestep->Fit("gaus"); - c1->cd(2); - gPad->SetFillColor(37); - t2->SetMarkerColor(kRed); - t2->Draw("vect[0]:vect[1]:vect[2]"); - if (gROOT->IsBatch()) return; - - // invoke the x3d viewer - gPad->GetViewer3D("x3d"); -} - -void tree2a() { - tree2aw(); - tree2ar(); -} diff --git a/tutorials/tree3.C b/tutorials/tree3.C deleted file mode 100644 index 55f05a8c4a0ab6c7338bdda573420d4553b1edd4..0000000000000000000000000000000000000000 --- a/tutorials/tree3.C +++ /dev/null @@ -1,95 +0,0 @@ -#include "TFile.h" -#include "TTree.h" -#include "TRandom.h" -#include "TCanvas.h" - -void tree3w() { -// Example of a Tree where branches are variable length arrays -// A second Tree is created and filled in parallel. -// Run this script with -// .x tree3.C -// In the function treer, the first Tree is open. -// The second Tree is declared friend of the first tree. -// TTree::Draw is called with variables from both Trees. -// -// Author: Rene Brun - - const Int_t kMaxTrack = 500; - Int_t ntrack; - Int_t stat[kMaxTrack]; - Int_t sign[kMaxTrack]; - Float_t px[kMaxTrack]; - Float_t py[kMaxTrack]; - Float_t pz[kMaxTrack]; - Float_t pt[kMaxTrack]; - Float_t zv[kMaxTrack]; - Float_t chi2[kMaxTrack]; - Double_t sumstat; - - TFile f("tree3.root","recreate"); - TTree *t3 = new TTree("t3","Reconst ntuple"); - t3->Branch("ntrack",&ntrack,"ntrack/I"); - t3->Branch("stat",stat,"stat[ntrack]/I"); - t3->Branch("sign",sign,"sign[ntrack]/I"); - t3->Branch("px",px,"px[ntrack]/F"); - t3->Branch("py",py,"py[ntrack]/F"); - t3->Branch("pz",pz,"pz[ntrack]/F"); - t3->Branch("zv",zv,"zv[ntrack]/F"); - t3->Branch("chi2",chi2,"chi2[ntrack]/F"); - - TFile fr("tree3f.root","recreate"); - TTree *t3f = new TTree("t3f","a friend Tree"); - t3f->Branch("ntrack",&ntrack,"ntrack/I"); - t3f->Branch("sumstat",&sumstat,"sumstat/D"); - t3f->Branch("pt",pt,"pt[ntrack]/F"); - - for (Int_t i=0;i<1000;i++) { - Int_t nt = gRandom->Rndm()*(kMaxTrack-1); - ntrack = nt; - sumstat = 0; - for (Int_t n=0;n<nt;n++) { - stat[n] = n%3; - sign[n] = i%2; - px[n] = gRandom->Gaus(0,1); - py[n] = gRandom->Gaus(0,2); - pz[n] = gRandom->Gaus(10,5); - zv[n] = gRandom->Gaus(100,2); - chi2[n] = gRandom->Gaus(0,.01); - sumstat += chi2[n]; - pt[n] = TMath::Sqrt(px[n]*px[n] + py[n]*py[n]); - } - t3->Fill(); - t3f->Fill(); - } - t3->Print(); - f.cd(); - t3->Write(); - fr.cd(); - t3f->Write(); -} - -void tree3r() -{ - TFile *f = new TFile("tree3.root"); - TTree *t3 = (TTree*)f->Get("t3"); - t3->AddFriend("t3f","tree3f.root"); - t3->Draw("pz","pt>3"); -} - -void tree3r2() -{ - TPad *p = new TPad("p","p",0.6, 0.4, 0.98, 0.8); - p->Draw(); p->cd(); - TFile *f1 = new TFile("tree3.root"); - TFile *f2 = new TFile("tree3f.root"); - TTree *t3 = (TTree*)f1->Get("t3"); - t3->AddFriend("t3f",f2); - t3->Draw("pz","pt>3"); -} - -void tree3() -{ - tree3w(); - tree3r(); - tree3r2(); -} diff --git a/tutorials/tree4.C b/tutorials/tree4.C deleted file mode 100644 index 7f8d9632ed08227043a3773178a92b89c29c3213..0000000000000000000000000000000000000000 --- a/tutorials/tree4.C +++ /dev/null @@ -1,164 +0,0 @@ -#include "TFile.h" -#include "TTree.h" -#include "TBrowser.h" -#include "TH2.h" -#include "TRandom.h" -#include "TClassTable.h" -#include "TSystem.h" -#if defined(__CINT__) && !defined(__MAKECINT__) -#include "../test/libEvent.so" -#else -#include "../test/Event.h" -#endif - -// This example writes a tree with objects of the class Event. -// It is a simplified version of $ROOTSYS/test/MainEvent.cxx to -// write the tree, and $ROOTSYS/test/eventb.C -// It shows: -// -how to fill a Tree with an event class containing these -// data members: -// char fType[20]; -// Int_t fNtrack; -// Int_t fNseg; -// Int_t fNvertex; -// UInt_t fFlag; -// Float_t fTemperature; -// EventHeader fEvtHdr; -// TClonesArray *fTracks; //-> -// TH1F *fH; //-> -// Int_t fMeasures[10]; -// Float_t fMatrix[4][4]; -// Float_t *fClosestDistance; //[fNvertex] -// -// -the difference in splitting or not splitting a branch -// -how to read selected branches of the tree, -// and print the first entry with less than 587 tracks. -// -how to browse and analyze the Tree via the TBrowser and TTreeViewer - -// This example can be run in many different ways: -// way1: .x tree4.C using the CINT interpreter -// way2: .L tree4.C -// tree4() -// way3: .L ../test/libEvent.so -// .x tree4.C++ using ACLIC -// One can also run the write and read parts in two separate sessions. -// For example following one of the sessions above, one can start the session: -// .L tree4.C -// tree4r(); - -void tree4w() -{ - - //create a Tree file tree4.root - TFile f("tree4.root","RECREATE"); - - // Create a ROOT Tree - TTree t4("t4","A Tree with Events"); - - // Create a pointer to an Event object - Event *event = new Event(); - - // Create two branches, split one. - t4.Branch("event_split", &event,16000,99); - t4.Branch("event_not_split", &event,16000,0); - - // a local variable for the event type - char etype[20]; - - // Fill the tree - for (Int_t ev = 0; ev <100; ev++) { - Float_t sigmat, sigmas; - gRandom->Rannor(sigmat,sigmas); - Int_t ntrack = Int_t(600 + 600 *sigmat/120.); - Float_t random = gRandom->Rndm(1); - sprintf(etype,"type%d",ev%5); - event->SetType(etype); - event->SetHeader(ev, 200, 960312, random); - event->SetNseg(Int_t(10*ntrack+20*sigmas)); - event->SetNvertex(Int_t(1+20*gRandom->Rndm())); - event->SetFlag(UInt_t(random+0.5)); - event->SetTemperature(random+20.); - - for(UChar_t m = 0; m < 10; m++) { - event->SetMeasure(m, Int_t(gRandom->Gaus(m,m+1))); - } - - // fill the matrix - for(UChar_t i0 = 0; i0 < 4; i0++) { - for(UChar_t i1 = 0; i1 < 4; i1++) { - event->SetMatrix(i0,i1,gRandom->Gaus(i0*i1,1)); - } - } - - // Create and fill the Track objects - for (Int_t t = 0; t < ntrack; t++) event->AddTrack(random); - - // Fill the tree - t4.Fill(); - - // Clear the event before reloading it - event->Clear(); - } - - // Write the file header - f.Write(); - - // Print the tree contents - t4.Print(); -} - - -void tree4r() -{ - // check to see if the event class is in the dictionary - // if it is not load the definition in libEvent.so - if (!TClassTable::GetDict("Event")) { - gSystem->Load("$ROOTSYS/test/libEvent"); - } - - // read the tree generated with tree4w - - //note that we use "new" to create the TFile and TTree objects ! - //because we want to keep these objects alive when we leave this function. - TFile *f = new TFile("tree4.root"); - TTree *t4 = (TTree*)f->Get("t4"); - - // create a pointer to an event object. This will be used - // to read the branch values. - Event *event = new Event(); - - // get two branches and set the branch address - TBranch *bntrack = t4->GetBranch("fNtrack"); - TBranch *branch = t4->GetBranch("event_split"); - branch->SetAddress(&event); - - Int_t nevent = (Int_t)t4->GetEntries(); - Int_t nselected = 0; - Int_t nb = 0; - for (Int_t i=0;i<nevent;i++) { - //read branch "fNtrack"only - bntrack->GetEntry(i); - - //reject events with more than 587 tracks - if (event->GetNtrack() > 587)continue; - - //read complete accepted event in memory - nb += t4->GetEntry(i); - nselected++; - - //print the first accepted event - if (nselected == 1) t4->Show(); - - //clear tracks array - event->Clear(); - } - - if (gROOT->IsBatch()) return; - new TBrowser(); - t4->StartViewer(); -} - -void tree4() { - tree4w(); - tree4r(); -} diff --git a/tutorials/treefriend.C b/tutorials/treefriend.C deleted file mode 100644 index c63b745e70996ed13848efb05acfb813b43d0146..0000000000000000000000000000000000000000 --- a/tutorials/treefriend.C +++ /dev/null @@ -1,130 +0,0 @@ -// This tutorial illustrates how to: -// - create a simple TTree -// - Copy a subset of this TTree to a new TTree -// - Create a Tree Index -// - Make a friend TTree -// - compare two TTrees -// - Draw a variable from the first tree versus a variable -// in the friend Tree -// -// You can run this tutorial with: -// root > .x treefriend.C (interpreted via CINT) -// root > .x treefriend.C+ (executed via ACLIC & the native compiler) -// or, variants like: -// root > .L treefriend.C+ -// root > CreateParentTree(); -// root > CreateFriendTree(); -// root > CompareTrees(); -// root > DrawFriend(); -// -// Author: Rene Brun - -#include "TTree.h" -#include "TFile.h" -#include "TRandom.h" -#include "TTree.h" -#include "TTree.h" - -Int_t Run, Event; -Float_t x,y,z; - -void CreateParentTree() { - // create a simple TTree with 5 branches - // Two branches ("Run" and "Event") will be used to index the Tree - TFile *f = new TFile("treeparent.root","recreate"); - TTree *T = new TTree("T","test friend trees"); - T->Branch("Run",&Run,"Run/I"); - T->Branch("Event",&Event,"Event/I"); - T->Branch("x",&x,"x/F"); - T->Branch("y",&y,"y/F"); - T->Branch("z",&z,"z/F"); - TRandom r; - for (Int_t i=0;i<10000;i++) { - if (i < 5000) Run = 1; - else Run = 2; - Event = i; - x = r.Gaus(10,1); - y = r.Gaus(20,2); - z = r.Landau(2,1); - T->Fill(); - } - T->Print(); - T->Write(); - delete f; -} -void CreateFriendTree() { - // Open the file created by CreateParentTree - // Copy a subset of the TTree into a new TTree - // (see also tutorials copytree.C, copytree2.C and copytree3.C) - // Create an index on the new TTree ("Run","Event") - // Write the new TTree (including its index) - - TFile *f = new TFile("treeparent.root"); - TTree *T = (TTree*)f->Get("T"); - TFile *ff = new TFile("treefriend.root","recreate"); - TTree *TF = T->CopyTree("z<10"); - TF->SetName("TF"); - TF->BuildIndex("Run","Event"); - TF->Write(); - TF->Print(); - delete ff; -} - -void CompareTrees() { - // The two TTrees created above are compared. - // The subset of entries in the small TTree must be identical - // to the entries in the original TTree. - - TFile *f = new TFile("treeparent.root"); - TTree *T = (TTree*)f->Get("T"); - TFile *ff = new TFile("treefriend.root"); - TTree *TF = (TTree*)ff->Get("TF"); - Int_t fRun,fEvent; - Float_t fx,fy,fz; - T->SetBranchAddress("Run",&Run); - T->SetBranchAddress("Event",&Event); - T->SetBranchAddress("x",&x); - T->SetBranchAddress("y",&y); - T->SetBranchAddress("z",&z); - TF->SetBranchAddress("Run",&fRun); - TF->SetBranchAddress("Event",&fEvent); - TF->SetBranchAddress("x",&fx); - TF->SetBranchAddress("y",&fy); - TF->SetBranchAddress("z",&fz); - T->AddFriend(TF); - - Int_t nentries = (Int_t)T->GetEntries(); - Int_t nok = 0; - for (Int_t i=0;i<nentries;i++) { - T->GetEntry(i); - if (fRun == Run && fEvent==Event && x==fx && y==fy &&z==fz) { - nok++; - } else { - if (TF->GetEntryWithIndex(Run,Event) > 0) { - if (i <100) printf("i=%d, Run=%d, Event=%d, x=%g, y=%g, z=%g, : fRun=%d, fEvent=%d, fx=%g, fy=%g, fz=%g\n",i,Run,Event,x,y,z,fRun,fEvent,fx,fy,fz); - } - } - } - printf("nok = %d, fentries=%lld\n",nok,TF->GetEntries()); - - delete f; - delete ff; -} - -void DrawFriend() { - // Draw a scatter plot of variable x in the parent TTree versus - // the same variable in the subtree. - // This should produce points along a straight line. - - TFile *f = TFile::Open("treeparent.root"); - TTree *T = (TTree*)f->Get("T"); - T->AddFriend("TF","treefriend.root"); - T->Draw("x:TF.x"); -} - -void treefriend() { - CreateParentTree(); - CreateFriendTree(); - CompareTrees(); - DrawFriend(); -} diff --git a/tutorials/triangles.C b/tutorials/triangles.C deleted file mode 100755 index 19e3cdddd14f1d1d02a2df7a770783097adfb72e..0000000000000000000000000000000000000000 --- a/tutorials/triangles.C +++ /dev/null @@ -1,39 +0,0 @@ -void triangles(Int_t ntriangles=50) { - //generate small triangles randomly in the canvas. - //Each triangle has a unique id and a random color in the color palette - //root > .x triangles.C - //then click on any triangle. A message showing the triangle number - //and its color will be printed. - - TCanvas *c1 = new TCanvas("c1","triangles",10,10,700,700); - TRandom r; - Double_t dx = 0.2; Double_t dy = 0.2; - Int_t ncolors = gStyle->GetNumberOfColors(); - Double_t x[4],y[4]; - for (Int_t i=0;i<ntriangles;i++) { - x[0] = r.Uniform(.05,.95); y[0] = r.Uniform(.05,.95); - x[1] = x[0] + dx*r.Rndm(); y[1] = y[0] + dy*r.Rndm(); - x[2] = x[1] - dx*r.Rndm(); y[2] = y[1] - dy*r.Rndm(); - x[3] = x[0]; y[3] = y[0]; - TPolyLine *pl = new TPolyLine(4,x,y); - pl->SetUniqueID(i); - pl->SetFillColor(ncolors*r.Rndm()); - pl->Draw("f"); - } - c1->AddExec("ex","TriangleClicked()"); -} - -void TriangleClicked() { - //this action function is called whenever you move the mouse - //it just prints the id of the picked triangle - //you can add graphics actions instead - int event = gPad->GetEvent(); - if (event != 11) return; //may be comment this line - TObject *select = gPad->GetSelected(); - if (!select) return; - if (select->InheritsFrom("TPolyLine")) { - TPolyLine *pl = (TPolyLine*)select; - printf("You have clicked triangle %d, color=%d\n", - pl->GetUniqueID(),pl->GetFillColor()); - } -} diff --git a/tutorials/tv3.C b/tutorials/tv3.C deleted file mode 100644 index 85d4196533d6f8db2b1f3e3ca47ec812ba534bb7..0000000000000000000000000000000000000000 --- a/tutorials/tv3.C +++ /dev/null @@ -1,57 +0,0 @@ -void tv3() { - gSystem->Load("libPhysics"); - TCanvas *c1 = new TCanvas("c1","demo of Trees",10,10,600,800); - c1->Divide(1,2); - tv3Write(); - c1->cd(1); - tv3Read1(); - c1->cd(2); - tv3Read2(); -} -void tv3Write() { - //creates the Tree - TVector3 *v = new TVector3(); - TVector3::Class()->IgnoreTObjectStreamer(); - TFile *f = new TFile("v3.root","recreate"); - TTree *T = new TTree("T","v3 Tree"); - T->Branch("v3","TVector3",&v,32000,1); - TRandom r; - for (Int_t i=0;i<10000;i++) { - v->SetXYZ(r.Gaus(0,1),r.Landau(0,1),r.Gaus(100,10)); - T->Fill(); - } - T->Write(); - T->Print(); - delete f; -} -void tv3Read1() { - //first read example showing how to read all branches - TVector3 *v = 0; - TFile *f = new TFile("v3.root"); - TTree *T = (TTree*)f->Get("T"); - T->SetBranchAddress("v3",&v); - TH1F *h1 = new TH1F("x","x component of TVector3",100,-3,3); - Int_t nentries = Int_t(T->GetEntries()); - for (Int_t i=0;i<nentries;i++) { - T->GetEntry(i); - h1->Fill(v->x()); - } - h1->Draw(); -} - - void tv3Read2() { - //second read example illustrating how to read one branch only - TVector3 *v = 0; - TFile *f = new TFile("v3.root"); - TTree *T = (TTree*)f->Get("T"); - T->SetBranchAddress("v3",&v); - TBranch *by = T->GetBranch("fY"); - TH1F *h2 = new TH1F("y","y component of TVector3",100,-5,20); - Int_t nentries = Int_t(T->GetEntries()); - for (Int_t i=0;i<nentries;i++) { - by->GetEntry(i); - h2->Fill(v->y()); - } - h2->Draw(); -} - diff --git a/tutorials/tvdemo.C b/tutorials/tvdemo.C deleted file mode 100644 index 16de02076e13fe647c5e04cd23768b40acda8f95..0000000000000000000000000000000000000000 --- a/tutorials/tvdemo.C +++ /dev/null @@ -1,138 +0,0 @@ -void tvdemo() { - printf("This demo show how to handle TTreeViewer sessions\n"); - printf("Compile class Event from test directory before running this\n"); - printf("- use arrow buttons from bottom to cycle records ...\n"); - printf("- make new expressions and drag them to X, Y, Z or Cut items ...\n"); - printf("- use the Draw button to check your current selection ...\n"); - printf("- click the record button once you are happy with this ...\n"); - printf("- open the TV context menu (right-click on the right panel)...\n"); - printf(" Use : RemoveLastRecord() - to remove last record :-)\n"); - printf(" SetRecordName() - to name current record\n"); - printf(" UpdateRecord() - if you want to change a record from the list\n"); - printf(" with your new X, Y, Z, Cut configuration.\n"); - printf(" Best luck !\n"); - - open_session(); -} - -open_session(void *p = 0) { -//=========Macro generated by ROOT version3.00/00 -//=========for tree "T" (Wed Feb 21 14:16:23 2001) -//===This macro can be opened from a TreeViewer session after loading -//===the corresponding tree - gSystem->Load("libTreeViewer"); - TTreeViewer *treeview = (TTreeViewer *) p; - if (!treeview) treeview = new TTreeViewer(); - TTree *tv_tree = (TTree*)gROOT->FindObject("T"); - TFile *tv_file = (TFile*)gROOT->GetListOfFiles()->FindObject("Event.root"); - if (!tv_tree) { - if (!tv_file) tv_file = new TFile("$ROOTSYS/test/Event.root"); - if (tv_file) tv_tree = (TTree*)tv_file->Get("T"); - if(!tv_tree) { - printf("Tree %s not found", fTree->GetName()); - return; - } - } - - treeview->SetTreeName("T"); - treeview->SetNexpressions(10); -// Set expressions on axis and cut - TTVLVEntry *item; -// X expression - item = treeview->ExpressionItem(0); - item->SetExpression("fTemperature", "fTemperature"); -// Y expression - item = treeview->ExpressionItem(1); - item->SetExpression("", "-empty-"); -// Z expression - item = treeview->ExpressionItem(2); - item->SetExpression("", "-empty-"); -// Cut expression - item = treeview->ExpressionItem(3); - item->SetExpression("", "-empty-"); -// Scan list - item = treeview->ExpressionItem(4); - item->SetExpression("", "Scan box"); -// User defined expressions - item = treeview->ExpressionItem(5); - item->SetExpression("sqrt(fTracks.fPx*fTracks.fPx+fTracks.fPy*fTracks.fPy)", "~Pt", kFALSE); - item = treeview->ExpressionItem(6); - item->SetExpression("fTracks.fPx>0", "~Cut1", kTRUE); - item = treeview->ExpressionItem(7); - item->SetExpression("", "-empty-", kFALSE); - item = treeview->ExpressionItem(8); - item->SetExpression("", "-empty-", kFALSE); - item = treeview->ExpressionItem(9); - item->SetExpression("", "-empty-", kFALSE); - item = treeview->ExpressionItem(10); - item->SetExpression("", "-empty-", kFALSE); - item = treeview->ExpressionItem(11); - item->SetExpression("", "-empty-", kFALSE); - item = treeview->ExpressionItem(12); - item->SetExpression("", "-empty-", kFALSE); - item = treeview->ExpressionItem(13); - item->SetExpression("", "-empty-", kFALSE); - item = treeview->ExpressionItem(14); - item->SetExpression("", "-empty-", kFALSE); -//--- session object - tv_session = new TTVSession(treeview); - treeview->SetSession(tv_session); -//--- tree viewer record - tv_record = tv_session->AddRecord(kTRUE); - tv_session->SetRecordName("Temperature"); - tv_record->fX = "fTemperature"; - tv_record->fY = ""; - tv_record->fZ = ""; - tv_record->fCut = ""; - tv_record->fXAlias = "fTemperature"; - tv_record->fYAlias = "-empty-"; - tv_record->fZAlias = "-empty-"; - tv_record->fCutAlias = "-empty-"; - tv_record->fOption = "lego1"; - tv_record->fScanRedirected = kFALSE; - tv_record->fCutEnabled = kTRUE; -//--- tree viewer record - tv_record = tv_session->AddRecord(kTRUE); - tv_session->SetRecordName("Py versus Px"); - tv_record->fX = "fTracks.fPx"; - tv_record->fY = "fTracks.fPy"; - tv_record->fZ = ""; - tv_record->fCut = ""; - tv_record->fXAlias = "fTracks.fPx"; - tv_record->fYAlias = "fTracks.fPy"; - tv_record->fZAlias = "-empty-"; - tv_record->fCutAlias = "-empty-"; - tv_record->fOption = "lego"; - tv_record->fScanRedirected = kFALSE; - tv_record->fCutEnabled = kTRUE; -//--- tree viewer record - tv_record = tv_session->AddRecord(kTRUE); - tv_session->SetRecordName("Transverse momentum"); - tv_record->fX = "sqrt(fTracks.fPx*fTracks.fPx+fTracks.fPy*fTracks.fPy)"; - tv_record->fY = ""; - tv_record->fZ = ""; - tv_record->fCut = "fTracks.fPx>0"; - tv_record->fXAlias = "~Pt"; - tv_record->fYAlias = "-empty-"; - tv_record->fZAlias = "-empty-"; - tv_record->fCutAlias = "~Cut1"; - tv_record->fOption = ""; - tv_record->fScanRedirected = kFALSE; - tv_record->fCutEnabled = kTRUE; -//--- tree viewer record - tv_record = tv_session->AddRecord(kTRUE); - tv_session->SetRecordName("Surface plot of Py vs. Px"); - tv_record->fX = "fTracks.fPx"; - tv_record->fY = "fTracks.fPy"; - tv_record->fZ = ""; - tv_record->fCut = ""; - tv_record->fXAlias = "fTracks.fPx"; - tv_record->fYAlias = "fTracks.fPy"; - tv_record->fZAlias = "-empty-"; - tv_record->fCutAlias = "-empty-"; - tv_record->fOption = "SURF"; - tv_record->fScanRedirected = kFALSE; - tv_record->fCutEnabled = kTRUE; -//--- Show first record - tv_session->Show(tv_session->First()); -} diff --git a/tutorials/two.C b/tutorials/two.C deleted file mode 100644 index a9c0002df97beed04f79d6683d0222d5c78ff406..0000000000000000000000000000000000000000 --- a/tutorials/two.C +++ /dev/null @@ -1,37 +0,0 @@ -void two() -{ - //example of macro illustrating how to superimpose two histograms - //with different scales in the "same" pad. - - TCanvas *c1 = new TCanvas("c1","example of two overlapping pads",600,400); - - //create/fill draw h1 - gStyle->SetOptStat(kFALSE); - TH1F *h1 = new TH1F("h1","my histogram",100,-3,3); - Int_t i; - for (i=0;i<10000;i++) h1->Fill(gRandom->Gaus(0,1)); - h1->Draw(); - c1->Update(); - - //create hint1 filled with the bins integral of h1 - TH1F *hint1 = new TH1F("hint1","h1 bins integral",100,-3,3); - Float_t sum = 0; - for (i=1;i<=100;i++) { - sum += h1->GetBinContent(i); - hint1->SetBinContent(i,sum); - } - - //scale hint1 to the pad coordinates - Float_t rightmax = 1.1*hint1->GetMaximum(); - Float_t scale = gPad->GetUymax()/rightmax; - hint1->SetLineColor(kRed); - hint1->Scale(scale); - hint1->Draw("same"); - - //draw an axis on the right side - TGaxis *axis = new TGaxis(gPad->GetUxmax(),gPad->GetUymin(), - gPad->GetUxmax(), gPad->GetUymax(),0,rightmax,510,"+L"); - axis->SetLineColor(kRed); - axis->SetTextColor(kRed); - axis->Draw(); -} diff --git a/tutorials/twoscales.C b/tutorials/twoscales.C deleted file mode 100644 index 8516c2e216a0487e7e221f896cfbebe884a204fc..0000000000000000000000000000000000000000 --- a/tutorials/twoscales.C +++ /dev/null @@ -1,44 +0,0 @@ -#include "TCanvas.h" -#include "TStyle.h" -#include "TH1.h" -#include "TGaxis.h" -#include "TRandom.h" - -void twoscales() -{ - //example of macro illustrating how to superimpose two histograms - //with different scales in the "same" pad. - // To see the output of this macro, click begin_html <a href="gif/twoscales.gif" >here</a> end_html - - TCanvas *c1 = new TCanvas("c1","hists with different scales",600,400); - - //create/fill draw h1 - gStyle->SetOptStat(kFALSE); - TH1F *h1 = new TH1F("h1","my histogram",100,-3,3); - Int_t i; - for (i=0;i<10000;i++) h1->Fill(gRandom->Gaus(0,1)); - h1->Draw(); - c1->Update(); - - //create hint1 filled with the bins integral of h1 - TH1F *hint1 = new TH1F("hint1","h1 bins integral",100,-3,3); - Float_t sum = 0; - for (i=1;i<=100;i++) { - sum += h1->GetBinContent(i); - hint1->SetBinContent(i,sum); - } - - //scale hint1 to the pad coordinates - Float_t rightmax = 1.1*hint1->GetMaximum(); - Float_t scale = gPad->GetUymax()/rightmax; - hint1->SetLineColor(kRed); - hint1->Scale(scale); - hint1->Draw("same"); - - //draw an axis on the right side - TGaxis *axis = new TGaxis(gPad->GetUxmax(),gPad->GetUymin(), - gPad->GetUxmax(), gPad->GetUymax(),0,rightmax,510,"+L"); - axis->SetLineColor(kRed); - axis->SetLabelColor(kRed); - axis->Draw(); -} diff --git a/tutorials/unuranDemo.C b/tutorials/unuranDemo.C deleted file mode 100644 index ecc435ac6e8182869b7b419d550bd5db4e730a15..0000000000000000000000000000000000000000 --- a/tutorials/unuranDemo.C +++ /dev/null @@ -1,265 +0,0 @@ -// Example macro to show unuran capabilities -// The results are compared with what is obtained using TRandom or TF1::GetRandom -// The macro is divided in 3 parts: -// - testStringAPI : show how to use string API of UNURAN to generate Gaussian random numbers -// - testDistr1D : show how to pass a 1D distribution object to UNURAN to generate numbers -// according to the given distribution object -// - testDistrMultiDIm : show how to pass a multidimensional distribution object to UNURAN -// -// -// To execute the macro type in: -// -// root[0]: .x gSystem->Load("libMathCore"); -// root[0]: .x gSystem->Load("libUnuran"); -// root[0]: .x unuranDemo.C+ - - -#include "TStopwatch.h" -#include "TUnuran.h" - -#include "TH1.h" -#include "TH3.h" -#include "TF3.h" - -#include "TRandom2.h" -#include "TSystem.h" -#include "TStyle.h" - -#include "TApplication.h" -#include "TCanvas.h" - -#include "Math/ProbFunc.h" -#include "Math/DistFunc.h" - -#include <iostream> -#include <cassert> - -using std::cout; -using std::endl; - -// number of distribution generated points -#define NGEN 1000000 - -int izone = 0; -TCanvas * c1 = 0; - -// test using UNURAN string interface -void testStringAPI() { - - TH1D * h1 = new TH1D("h1G","gaussian distribution from Unuran",100,-10,10); - TH1D * h2 = new TH1D("h2G","gaussian distribution from TRandom",100,-10,10); - - TUnuran unr; - if (! unr.Init( "normal()", "method=arou") ) { - cout << "Error initializing unuran" << endl; - return; - } - - int n = NGEN; - TStopwatch w; - w.Start(); - - for (int i = 0; i < n; ++i) { - double x = unr.Sample(); - h1->Fill( x ); - } - - w.Stop(); - cout << "Time using Unuran =\t\t " << w.CpuTime() << endl; - - // use TRandom::Gaus - w.Start(); - for (int i = 0; i < n; ++i) { - double x = gRandom->Gaus(0,1); - h2->Fill( x ); - } - - w.Stop(); - cout << "Time using TRandom::Gaus =\t " << w.CpuTime() << endl; - - assert(c1 != 0); - c1->cd(++izone); - h1->Draw(); - c1->cd(++izone); - h2->Draw(); - -} - - - -double distr(double *x, double *p) { - return ROOT::Math::breitwigner_pdf(x[0],p[0],p[1]); -} - -double cdf(double *x, double *p) { - return ROOT::Math::breitwigner_quant(x[0],p[0],p[1]); -} - -// test of unuran passing as input a distribution object( a BreitWigner) distribution -void testDistr1D() { - - TH1D * h1 = new TH1D("h1BW","Breit-Wigner distribution from Unuran",100,-10,10); - TH1D * h2 = new TH1D("h2BW","Breit-Wigner distribution from GetRandom",100,-10,10); - - - - - TF1 * f = new TF1("distrFunc",distr,-10,10,2); - double par[2] = {1,0}; // values are gamma and mean - f->SetParameters(par); - - TF1 * fc = new TF1("cdfFunc",cdf,-10,10,2); - fc->SetParameters(par); - - // create Unuran 1D distribution object - TUnuranDistr dist(f,fc); - // to use a different random number engine do: - TRandom2 * random = new TRandom2(); - int logLevel = 0; - TUnuran unr(random,logLevel); - - // select unuran method for generating the random numbers - std::string method = "method=arou"; - //std::string method = "method=auto"; - // "method=hinv" - - if (!unr.Init(dist,method) ) { - cout << "Error initializing unuran" << endl; - return; - } - - - - TStopwatch w; - w.Start(); - - int n = NGEN; - for (int i = 0; i < n; ++i) { - double x = unr.Sample(); - h1->Fill( x ); - } - - w.Stop(); - cout << "Time using Unuran =\t\t " << w.CpuTime() << endl; - - w.Start(); - for (int i = 0; i < n; ++i) { - double x = f->GetRandom(); - h2->Fill( x ); - } - - w.Stop(); - cout << "Time using GetRandom() =\t " << w.CpuTime() << endl; - - c1->cd(++izone); - h1->Draw(); - - c1->cd(++izone); - h2->Draw(); - - std::cout << " chi2 test of UNURAN vs GetRandom generated histograms: " << std::endl; - h1->Chi2Test(h2,"UUP"); - -} - -// 3D gaussian distribution -double gaus3d(double *x, double *p) { - - double sigma_x = p[0]; - double sigma_y = p[1]; - double sigma_z = p[2]; - double rho = p[2]; - double u = x[0] / sigma_x ; - double v = x[1] / sigma_y ; - double w = x[2] / sigma_z ; - double c = 1 - rho*rho ; - double result = (1 / (2 * TMath::Pi() * sigma_x * sigma_y * sigma_z * sqrt(c))) - * exp (-(u * u - 2 * rho * u * v + v * v + w*w) / (2 * c)); - return result; -} - -// test of unuran passing as input a mluti-dimension distribution object -void testDistrMultiDim() { - - - TH3D * h1 = new TH3D("h13D","gaussian 3D distribution from Unuran",50,-10,10,50,-10,10,50,-10,10); - TH3D * h2 = new TH3D("h23D","gaussian 3D distribution from GetRandom",50,-10,10,50,-10,10,50,-10,10); - - - TF3 * f = new TF3("g3d",gaus3d,-10,10,-10,10,-10,10,3); - double par[3] = {2,2,0.5}; - f->SetParameters(par); - - - - TUnuranDistrMulti dist(f); - TUnuran unr(gRandom); - //std::string method = "method=vnrou"; - - std::string method = "method=hitro;use_boundingrectangle=false "; - if ( ! unr.Init(dist,method,0) ) { - cout << "Error initializing unuran" << endl; - return; - } - - - TStopwatch w; - w.Start(); - - double x[3]; - for (int i = 0; i < NGEN; ++i) { - unr.SampleMulti(x); - h1->Fill(x[0],x[1],x[2]); - } - - w.Stop(); - cout << "Time using Unuran =\t " << w.CpuTime() << endl; - - assert(c1 != 0); - c1->cd(++izone); - h1->Draw(); - - - // need to set a reasanable number of points in TF1 to get accettable quality from GetRandom to - int np = 200; - f->SetNpx(200); - f->SetNpy(200); - f->SetNpz(200); - - w.Start(); - for (int i = 0; i < NGEN; ++i) { - f->GetRandom3(x[0],x[1],x[2]); - h2->Fill(x[0],x[1],x[2]); - } - - w.Stop(); - cout << "Time using TF1::GetRandom =\t " << w.CpuTime() << endl; - - - c1->cd(++izone); - h2->Draw(); - - std::cout << " chi2 test of UNURAN vs GetRandom generated histograms: " << std::endl; - h1->Chi2Test(h2,"UUP"); - -} -void unuranDemo() { - - //gRandom->SetSeed(0); - - // load libraries - gSystem->Load("libMathCore"); - gSystem->Load("libUnuran"); - - // create canvas - - c1 = new TCanvas("c1_unuranMulti","Multidimensional distribution",10,10,1000,1000); - c1->Divide(2,3); - gStyle->SetOptFit(); - - testStringAPI(); - testDistr1D(); - testDistrMultiDim(); - - -} diff --git a/tutorials/vavilov.C b/tutorials/vavilov.C deleted file mode 100644 index 13c3f3b2c749318ac935e7f0e69ceb82fc45dd61..0000000000000000000000000000000000000000 --- a/tutorials/vavilov.C +++ /dev/null @@ -1,40 +0,0 @@ -#include "TMath.h" -#include "TCanvas.h" -#include "TRandom.h" -#include "TGraph.h" - -void vavilov() -{ - //test of the TMath::Vavilov distribution - Int_t n = 1000; - Double_t *x = new Double_t[n]; - Double_t *y1 = new Double_t[n]; - Double_t *y2 = new Double_t[n]; - Double_t *y3 = new Double_t[n]; - Double_t *y4 = new Double_t[n]; - - TRandom r; - for (Int_t i=0; i<n; i++) { - x[i] = r.Uniform(-2, 10); - y1[i] = TMath::Vavilov(x[i], 0.3, 0.5); - y2[i] = TMath::Vavilov(x[i], 0.15, 0.5); - y3[i] = TMath::Vavilov(x[i], 0.25, 0.5); - y4[i] = TMath::Vavilov(x[i], 0.05, 0.5); - } - - TCanvas *c1 = new TCanvas("c1", "Vavilov density"); - c1->SetGrid(); - c1->SetHighLightColor(19); - TGraph *gr1 = new TGraph(n, x, y1); - TGraph *gr2 = new TGraph(n, x, y2); - TGraph *gr3 = new TGraph(n, x, y3); - TGraph *gr4 = new TGraph(n, x, y4); - gr1->SetTitle("TMath::Vavilov density"); - gr1->Draw("ap"); - gr2->Draw("psame"); - gr2->SetMarkerColor(kRed); - gr3->Draw("psame"); - gr3->SetMarkerColor(kBlue); - gr4->Draw("psame"); - gr4->SetMarkerColor(kGreen); -} diff --git a/tutorials/waves.C b/tutorials/waves.C deleted file mode 100644 index ad0101883c70be15c7d4b63932a4fe1e725d9f5f..0000000000000000000000000000000000000000 --- a/tutorials/waves.C +++ /dev/null @@ -1,145 +0,0 @@ -//Hint: Spherical waves - -#include "TROOT.h" -#include "TCanvas.h" -#include "TColor.h" -#include "TArc.h" -#include "TGraph.h" -#include "TF2.h" -#include "TLine.h" -#include "TLatex.h" -#include "TMath.h" -#include "TStyle.h" -#include "Riostream.h" - - -TF2 * finter; -//____________________________________________________________________________________ - -Double_t interference( Double_t *x, Double_t *par) { - Double_t x_p2 = x[0] * x[0]; - Double_t d_2 = 0.5 * par[2]; - Double_t ym_p2 = (x[1] - d_2) * (x[1] - d_2); - Double_t yp_p2 = (x[1] + d_2) * (x[1] + d_2); - Double_t tpi_l = TMath::Pi() / par[1]; - Double_t amplitude = par[0] * (cos(tpi_l * sqrt(x_p2 + ym_p2)) - + par[3] * cos(tpi_l * sqrt(x_p2 + yp_p2))); - return amplitude * amplitude; -}; -//____________________________________________________________________________________ - -Double_t result( Double_t *x, Double_t *par) { - Double_t xint[2]; - - Double_t maxintens = 0, xcur = 14; - Double_t dlambda = 0.1 * par[1]; - for(Int_t i=0; i<10; i++){ - xint[0] = xcur; - xint[1] = x[1]; - Double_t intens = interference(xint, par); - if(intens > maxintens) maxintens = intens; - xcur -= dlambda; - } - return maxintens; -} -//____________________________________________________________________________________ - -void waves( Double_t d = 3, Double_t lambda = 1, Double_t amp = 10) -{ -// extern void * interference; - TCanvas *c1 = new TCanvas("waves", "A double slit experiment", 300,40, 1004, 759); - c1->Range(0, -10, 30, 10); - c1->SetFillColor(0); - TPad *pad = new TPad("pr","pr", 0.5, 0 , 1., 1); - pad->Range(0, -10, 15, 10); - pad->Draw(); - - const Int_t colNum = 30; - Int_t palette[colNum]; - for (Int_t i=0;i<colNum;i++) { - TColor *color = new TColor(301+i - , pow(i/((colNum)*1.0),0.3) - , pow(i/((colNum)*1.0),0.3) - ,0.5*(i/((colNum)*1.0)),""); - palette[i] = 301+i; - if(color); - } - gStyle->SetPalette(colNum,palette); - c1->cd(); - TF2 * f0 = new TF2("ray_source",interference, 0.02, 15, -8, 8, 4); - - f0->SetParameters(amp, lambda, 0, 0); - f0->SetNpx(200); - f0->SetNpy(200); - f0->SetContour(colNum-2); - f0->Draw("samecolz"); - - TLatex title; - title.DrawLatex(1.6, 8.5, "A double slit experiment"); - - TGraph *graph = new TGraph(4); - graph->SetFillColor(0); - graph->SetFillStyle(1001); - graph->SetLineWidth(0); - graph->SetPoint(0, 0., 0.1); - graph->SetPoint(1, 14.8, 8); - graph->SetPoint(2, 0, 8); - graph->SetPoint(3, 0, 0.1); - graph->Draw("F"); - - graph = new TGraph(4); - graph->SetFillColor(0); - graph->SetFillStyle(1001); - graph->SetLineWidth(0); - graph->SetPoint(0, 0, -0.1); - graph->SetPoint(1, 14.8, -8); - graph->SetPoint(2, 0, -8); - graph->SetPoint(3, 0, -0.1); - graph->Draw("F"); - - TLine * line; - line = new TLine(15,-10, 15, 0 - 0.5*d -0.2); - line->SetLineWidth(10); line->Draw(); - line = new TLine(15, 0 - 0.5*d +0.2 ,15, 0 + 0.5*d -0.2); - line->SetLineWidth(10); line->Draw(); - - line = new TLine(15,0 + 0.5*d + 0.2,15, 10); - line->SetLineWidth(10); line->Draw(); - - pad ->cd(); - finter = new TF2("interference",interference, 0.01, 14, -10, 10, 4); - - finter->SetParameters(amp, lambda, d, 1); - finter->SetNpx(200); - finter->SetNpy(200); - finter->SetContour(colNum-2); - finter->Draw("samecolorz"); - - TArc * arc; - Float_t r = 0.5 * lambda, dr = lambda; - for(Int_t i = 0; i < 26; i++){ - arc = new TArc(0, 0.5 * d, r); - arc->Draw(); - arc->SetLineWidth(2); - arc->SetLineColor(5); - arc = new TArc(0, -0.5 * d, r); - arc->SetLineWidth(2); - arc->SetLineColor(5); - arc->Draw(); - r += dr; - } - - pad ->cd(); - TF2 * fresult = new TF2("result",result, 14, 15, -10, 10, 4); - - fresult->SetParameters(amp, lambda, d, 1); - fresult->SetNpx(300); - fresult->SetNpy(300); - fresult->SetContour(colNum-2); - fresult->Draw("samecolor"); - line = new TLine(13.8,-10, 14, 10); - line->SetLineWidth(10); line->SetLineColor(0); line->Draw(); - c1->Modified(kTRUE); - c1->Update(); - c1->SetEditable(kTRUE); -} diff --git a/tutorials/work.C b/tutorials/work.C deleted file mode 100644 index ca297847db161b5f5e6aa55f5125fd6f85c26016..0000000000000000000000000000000000000000 --- a/tutorials/work.C +++ /dev/null @@ -1,42 +0,0 @@ -void work(int x, int y, int page){ -//example of script to plot all histograms in a Root file -//on a Postcript file (x times y per page) -//The following logic can be used to loop on all the keys of a file: -// TFile f("myfile.root"); -// TIter next(f1->GetListOfKeys()); -// TKey *key; -// while ((key = (TKey*)next())) { -// //key->GetClassName() returns the name of the object class -// TObject *obj = key->ReadObj(); //read object from file -// //obj->ClassName() should be equal to key->GetClassName() -// //obj->InheritsFrom("someclass") test if obj inherits from someclass -// } - int page_cnt, hist_per_page, i; - TFile *f1 = new TFile("hsimple.root"); - TCanvas *c1 = new TCanvas("c1"); - TPostScript *ps = new TPostScript("file.ps",112); - c1->Divide(x,y); - hist_per_page = x*y; - TIter next(f1->GetListOfKeys()); //make an iterator on list of keys - TKey *key; - while (page_cnt < page) { - ps->NewPage(); - i=1; - while (hist_per_page >= i) { - c1->cd(i); - key = (TKey*)next(); //get next key on the file - if (!key) break; //if no more keys, key=0 - TObject *obj = key->ReadObj(); //read object associated to key - if (obj->InheritsFrom("TH1")) { //interested by histograms only - obj->Draw(); //draw histogram with default option - i++; - } - } - c1->Update(); - if (!key) break; - page_cnt++; - } - ps->Close(); - //gSystem->Exec("lpr -Psmith2079 file.ps"); - //gSystem->Exec("gv file.ps"); -} diff --git a/tutorials/worldmap.jpg b/tutorials/worldmap.jpg deleted file mode 100644 index 8668d0b0673db7a7b69fd50160876f1a055bd7d1..0000000000000000000000000000000000000000 Binary files a/tutorials/worldmap.jpg and /dev/null differ diff --git a/tutorials/xmlnewfile.C b/tutorials/xmlnewfile.C deleted file mode 100644 index 63efc8f40958ebacd509ef411fbc154574c6a6fc..0000000000000000000000000000000000000000 --- a/tutorials/xmlnewfile.C +++ /dev/null @@ -1,44 +0,0 @@ -// Example to create a new xml file with the TXMLEngine class - -#include "TXMLEngine.h" - -void xmlnewfile(const char* filename = "example.xml") -{ - // First create engine - TXMLEngine* xml = new TXMLEngine; - - // Create main node of document tree - XMLNodePointer_t mainnode = xml->NewChild(0, 0, "main"); - - // Simple child node with content inside - xml->NewChild(mainnode, 0, "child1", "Content of child1 node"); - - // Other child node with attributes - XMLNodePointer_t child2 = xml->NewChild(mainnode, 0, "child2"); - xml->NewAttr(child2, 0, "attr1","value1"); - xml->NewAttr(child2, 0, "attr2","value2"); - - // Child node with subnodes - XMLNodePointer_t child3 = xml->NewChild(mainnode, 0, "child3"); - xml->NewChild(child3, 0, "subchild1", "subchild1 content"); - xml->NewChild(child3, 0, "subchild2", "subchild2 content"); - xml->NewChild(child3, 0, "subchild3", "subchild3 content"); - - // Child node with subnodes and namespace - XMLNodePointer_t child4 = xml->NewChild(mainnode, 0, "child4"); - XMLNsPointer_t ns4 = xml->NewNS(child4, "http://wesite/webpage"); - xml->NewChild(child4, ns4, "subchild1", "subchild1 content"); - xml->NewChild(child4, ns4, "subchild2", "subchild2 content"); - xml->NewChild(child4, ns4, "subchild3", "subchild3 content"); - - // now create doccumnt and assign main node of document - XMLDocPointer_t xmldoc = xml->NewDoc(); - xml->DocSetRootElement(xmldoc, mainnode); - - // Save document to file - xml->SaveDoc(xmldoc, filename); - - // Release memory before exit - xml->FreeDoc(xmldoc); - delete xml; -} diff --git a/tutorials/xmlreadfile.C b/tutorials/xmlreadfile.C deleted file mode 100644 index 0d703fe648a98cc5644a76910303761af7926132..0000000000000000000000000000000000000000 --- a/tutorials/xmlreadfile.C +++ /dev/null @@ -1,63 +0,0 @@ -// Example to read and parse any xml file, supported by TXMLEngine class -// The input file, produced by xmlnewfile.C macro is used -// If you need full xml syntax support, use TXMLParser instead - -#include "TXMLEngine.h" - -void DisplayNode(TXMLEngine* xml, XMLNodePointer_t node, Int_t level); - -void xmlreadfile(const char* filename = "example.xml") -{ - // First create engine - TXMLEngine* xml = new TXMLEngine; - - // Now try to parse xml file - // Only file with restricted xml syntax are supported - XMLDocPointer_t xmldoc = xml->ParseFile(filename); - if (xmldoc==0) { - delete xml; - return; - } - - // take access to main node - XMLNodePointer_t mainnode = xml->DocGetRootElement(xmldoc); - - // display recursively all nodes and subnodes - DisplayNode(xml, mainnode, 1); - - // Release memory before exit - xml->FreeDoc(xmldoc); - delete xml; -} - -void DisplayNode(TXMLEngine* xml, XMLNodePointer_t node, Int_t level) -{ - // this function display all accessible information about xml node and its childs - - printf("%*c node: %s\n",level,' ', xml->GetNodeName(node)); - - // display namespace - XMLNsPointer_t ns = xml->GetNS(node); - if (ns!=0) - printf("%*c namespace: %s refer: %s\n",level+2,' ', xml->GetNSName(ns), xml->GetNSReference(ns)); - - // display attributes - XMLAttrPointer_t attr = xml->GetFirstAttr(node); - while (attr!=0) { - printf("%*c attr: %s value: %s\n",level+2,' ', xml->GetAttrName(attr), xml->GetAttrValue(attr)); - attr = xml->GetNextAttr(attr); - } - - // display content (if exists) - const char* content = xml->GetNodeContent(node); - if (content!=0) - printf("%*c cont: %s\n",level+2,' ', content); - - // display all child nodes - XMLNodePointer_t child = xml->GetChild(node); - while (child!=0) { - DisplayNode(xml, child, level+2); - child = xml->GetNext(child); - } -} - diff --git a/tutorials/xtruDraw.C b/tutorials/xtruDraw.C deleted file mode 100644 index af03f257f7378287878e96e171522609d68d9f0e..0000000000000000000000000000000000000000 --- a/tutorials/xtruDraw.C +++ /dev/null @@ -1,83 +0,0 @@ -{ -// -// Draw a "representative" TXTRU shape -// Canvas saved as xtru.gif can be used for TXTRU THtml output -// Author: Robert Hatcher (rhatcher@fnal.gov) 2000.09.06 -// - gROOT->Reset(); - - canvas = new TCanvas("xtru","Example XTRU object",200,10,640,640); - -// Create a new geometry - TGeometry* geometry = new TGeometry("geometry","geometry"); - geometry->cd(); - - TXTRU* atxtru = new TXTRU("atxtru","atxtru","void",5,2); - -// outline and z segment specifications - - Float_t x[] = - { -177.292, -308.432, -308.432, -305.435, -292.456, -280.01 - , -241.91, -241.91, -177.292, -177.292, 177.292, 177.292 - , 241.91, 241.91, 280.06, 297.942, 305.435, 308.432 - , 308.432, 177.292, 177.292, -177.292 }; - Float_t y[] = - { 154.711, 23.5712, 1.1938, 1.1938, 8.6868, 8.6868 - , -3.7592, -90.0938, -154.711, -190.602, -190.602, -154.711 - , -90.0938, -3.7592, 8.6868, 8.6868, 1.1938, 1.1938 - , 23.5712, 154.711, 190.602, 190.602 }; - Float_t z[] = - { 0.00, 500.0 }; - Float_t scale[] = - { 1.00, 1.00 }; - Float_t x0[] = - { 0, 0 }; - Float_t y0[] = - { 0, 0 }; - - Int_t i; - - Int_t nxy = sizeof(x)/sizeof(Float_t); - for (i=0; i<nxy; i++) { - atxtru->DefineVertex(i,x[i],y[i]); - } - - Int_t nz = sizeof(z)/sizeof(Float_t); - for (i=0; i<nz; i++) { - atxtru->DefineSection(i,z[i],scale[i],x0[i],y0[i]); - } - -// Define a TNode where this example resides in the TGeometry -// Draw the TGeometry - - TNode* anode = new TNode("anode","anode",atxtru); - anode->SetLineColor(1); - - geometry->Draw(); - -// Tweak the pad scales so as not to distort the shape - - TVirtualPad *thisPad = gPad; - if (thisPad) { - TView *view = thisPad->GetView(); - if (!view) return; - Double_t min[3],max[3],center[3]; - view->GetRange(min,max); - int i; - // Find the boxed center - for (i=0;i<3; i++) center[i] = 0.5*(max[i]+min[i]); - Double_t maxSide = 0; - // Find the largest side - for (i=0;i<3; i++) maxSide = TMath::Max(maxSide,max[i]-center[i]); - file://Adjust scales: - for (i=0;i<3; i++) { - max[i] = center[i] + maxSide; - min[i] = center[i] - maxSide; - } - view->SetRange(min,max); - Int_t ireply; - thisPad->Modified(); - thisPad->Update(); - } - -} diff --git a/tutorials/xtruSamples.C b/tutorials/xtruSamples.C deleted file mode 100644 index 860f41fe111532228e1fec1a3de13277e2fff2ef..0000000000000000000000000000000000000000 --- a/tutorials/xtruSamples.C +++ /dev/null @@ -1,139 +0,0 @@ -void xtruSamples() -{ -// Draw a sample of TXTRU shapes some convex, concave (and possibly malformed) -// Change Bool_t's to test alternative specifications -// Author: Robert Hatcher (rhatcher@fnal.gov) 2000.09.06 - -// One normally specifies the x-y points in counter-clockwise order; -// flip this to TRUE to test that it doesn't matter. - Bool_t makecw = kFALSE; - -// One normally specifies the z points in increasing z order; -// flip this to TRUE to test that it doesn't matter. - Bool_t reversez = kFALSE; - -// One shouldn't be creating malformed polygons -// but to test what happens when one does here's a flag. -// The effect will be only apparent in solid rendering mode - Bool_t domalformed = kFALSE; -// domalformed = kTRUE; - - c1 = new TCanvas("c1","sample TXTRU Shapes",200,10,640,640); - -// Create a new geometry - TGeometry* geom = new TGeometry("sample","sample"); - geom->cd(); - -// Define the complexity of the drawing - Float_t zseg = 6; // either 2 or 6 - Int_t extravis = 0; // make extra z "arrow" visible - - Float_t unit = 1; - -// Create a large BRIK to embed things into - Float_t bigdim = 12.5*unit; - TBRIK* world = new TBRIK("world","world","void",bigdim,bigdim,bigdim); - - // Create the main node, make it invisible - TNode* worldnode = new TNode("worldnode","world node",world); - worldnode->SetVisibility(0); - worldnode->cd(); - -// Canonical shape ... gets further modified by scale factors -// to create convex (and malformed) versions - Float_t x[] = { -0.50, -1.20, 1.20, 0.50, 0.50, 1.20, -1.20, -0.50 }; - Float_t y[] = { -0.75, -2.00, -2.00, -0.75, 0.75, 2.00, 2.00, 0.75 }; - Float_t z[] = { -0.50, -1.50, -1.50, 1.50, 1.50, 0.50 }; - Float_t s[] = { 0.50, 1.00, 1.50, 1.50, 1.00, 0.50 }; - Int_t nxy = sizeof(x)/sizeof(Float_t); - Float_t convexscale[] = { 7.0, -1.0, 1.5 }; - - Int_t icolor[] = { 1, 2, 3, 2, 2, 2, 4, 2, 6 }; - -// xycase and zcase: 0=convex, 1=malformed, 2=concave -// this will either create a 2x2 matrix of shapes -// or a 3x3 array (if displaying malformed versions) - for (Int_t zcase = 0; zcase<3; zcase++) { - if (zcase == 1 && !domalformed) continue; - for (Int_t xycase = 0; xycase<3; xycase++) { - if (xycase == 1 && !domalformed) continue; - - Char_t *name = "txtruXYZ"; - sprintf(name,"txtru%1d%1d%1d",xycase,zcase,zseg); - TXTRU* mytxtru = new TXTRU(name,name,"void",8,2); - - Int_t i, j; - Float_t xsign = (makecw) ? -1 : 1; - Float_t zsign = (reversez) ? -1 : 1; - - // set the vertex points - for (i=0; i<nxy; i++) { - Float_t xtmp = x[i]*xsign; - Float_t ytmp = y[i]; - if (i==0||i==3||i==4||i==7) xtmp *= convexscale[xycase]; - if (xycase==2) xtmp *=2; - mytxtru->DefineVertex(i,xtmp,ytmp); - } - // set the z segment positions and scales - for (i=0, j=0; i<zseg; i++) { - Float_t ztmp = z[i]*zsign; - if (i==0||i==5) ztmp *= convexscale[zcase]; - if (zcase==2) ztmp *= 2.5; - if (zseg>2 && zcase!=2 && (i==1||i==4)) continue; - mytxtru->DefineSection(j,ztmp,s[i]); - j++; - } - - TNode* txtrunode = new TNode(name,name,mytxtru); - txtrunode->SetLineColor(icolor[3*zcase+xycase]); - Float_t pos_scale = (domalformed) ? 10 : 6; - Float_t xpos = (xycase-1)*pos_scale*unit; - Float_t ypos = (zcase-1)*pos_scale*unit; - txtrunode->SetPosition(xpos,ypos,0.); - } - } - - -// Some extra shapes to show the direction of "z" - Float_t zhalf = 0.5*bigdim; - Float_t rmax = 0.03*bigdim; - TCONE* zcone = new TCONE("zcone","zcone","void",zhalf,0.,rmax,0.,0.); - zcone->SetVisibility(extravis); - TNode* zconenode = new TNode("zconenode","zconenode",zcone); - zconenode->SetLineColor(3); - - Float_t dzstub = 2*rmax; - TBRIK* zbrik = new TBRIK("zbrik","zbrik","void",rmax,rmax,dzstub); - zbrik->SetVisibility(extravis); - TNode* zbriknode = new TNode("zbriknode","zbriknode",zbrik); - zbriknode->SetPosition(0.,0.,zhalf+dzstub); - zbriknode->SetLineColor(3); - -// geom->ls(); - - geom->Draw(); - -// Tweak the pad so that it displays the entire geometry undistorted - TVirtualPad *thisPad = gPad; - if (thisPad) { - TView *view = thisPad->GetView(); - if (!view) return; - Double_t min[3],max[3],center[3]; - view->GetRange(min,max); - int i; - // Find the boxed center - for (i=0;i<3; i++) center[i] = 0.5*(max[i]+min[i]); - Double_t maxSide = 0; - // Find the largest side - for (i=0;i<3; i++) maxSide = TMath::Max(maxSide,max[i]-center[i]); - file://Adjust scales: - for (i=0;i<3; i++) { - max[i] = center[i] + maxSide; - min[i] = center[i] - maxSide; - } - view->SetRange(min,max); - thisPad->Modified(); - thisPad->Update(); - } - -} diff --git a/tutorials/xyslider.C b/tutorials/xyslider.C deleted file mode 100644 index c9a0799d6fd72a04baa23f12a0830cd156e6f53a..0000000000000000000000000000000000000000 --- a/tutorials/xyslider.C +++ /dev/null @@ -1,22 +0,0 @@ -{ - //Example of macro featuring two sliders - TFile *f = new TFile("hsimple.root"); - TH2F *hpxpy = (TH2F*)f->Get("hpxpy"); - TCanvas *c1 = new TCanvas("c1"); - TPad *pad = new TPad("pad","lego pad",0.1,0.1,0.98,0.98); - pad->SetFillColor(33); - pad->Draw(); - pad->cd(); - gStyle->SetFrameFillColor(42); - hpxpy->SetFillColor(46); - hpxpy->Draw("lego1"); - c1->cd(); - - //Create two sliders in main canvas. When button1 will be released - //the macro xysliderAction.C will be called. - TSlider *xslider = new TSlider("xslider","x",0.1,0.02,0.98,0.08); - xslider->SetMethod(".x xysliderAction.C"); - TSlider *yslider = new TSlider("yslider","y",0.02,0.1,0.06,0.98); - yslider->SetMethod(".x xysliderAction.C"); -} - diff --git a/tutorials/xysliderAction.C b/tutorials/xysliderAction.C deleted file mode 100644 index 409451e71c8671db99911793533f29e059bf83bf..0000000000000000000000000000000000000000 --- a/tutorials/xysliderAction.C +++ /dev/null @@ -1,14 +0,0 @@ -{ - Int_t nx = hpxpy->GetXaxis()->GetNbins(); - Int_t ny = hpxpy->GetYaxis()->GetNbins(); - Int_t binxmin = nx*xslider->GetMinimum(); - Int_t binxmax = nx*xslider->GetMaximum(); - hpxpy->GetXaxis()->SetRange(binxmin,binxmax); - Int_t binymin = ny*yslider->GetMinimum(); - Int_t binymax = ny*yslider->GetMaximum(); - hpxpy->GetYaxis()->SetRange(binymin,binymax); - pad->cd(); - pad->Modified(); - //hpxpy->Draw(hpxpy->GetDrawOption()); - c1->Update(); -} diff --git a/tutorials/zdemo.C b/tutorials/zdemo.C deleted file mode 100644 index 49fd85ae2c5254689e56411c1ce7be437dd254a5..0000000000000000000000000000000000000000 --- a/tutorials/zdemo.C +++ /dev/null @@ -1,301 +0,0 @@ -// This macro is an example of graphs in log scales with annotations. -// -// The begin_html <a href="gif/zdemo.gif" >presented results</a> end_html -// are predictions of invariant cross-section of Direct Photons produced -// at RHIC energies, based on the universality of scaling function H(z). -// -// Authors: Michael Tokarev and Elena Potrebenikova (JINR Dubna) -// -// These Figures were published in JINR preprint E2-98-64, Dubna, -// 1998 and submitted to CPC. -// -// Note that the way greek symbols, super/subscripts are obtained -// illustrate the current limitations of Root in this area. -// - const Int_t NMAX = 20; - Int_t NLOOP; - Float_t Z[NMAX], HZ[NMAX], PT[NMAX], INVSIG[NMAX]; - -//______________________________________________________________________________ -void zdemo() -{ - - Float_t energ; - Float_t dens; - Float_t tgrad; - Float_t ptmin; - Float_t ptmax; - Float_t delp; - - char text[12]; - char *symbol[]; - - // Create a new canvas. - c1 = new TCanvas("zdemo","Monte Carlo Study of Z scaling",10,40,800,600); - c1->Range(0,0,25,18); - c1->SetFillColor(40); - - TPaveLabel *pl = new TPaveLabel(1,16.3,24,17.5,"Z-scaling of Direct Photon Productions in pp Collisions at RHIC Energies","br"); - pl->SetFillColor(18); - pl->SetTextFont(32); - pl->SetTextColor(49); - pl->Draw(); - - TLatex *t = new TLatex(); - t->SetTextFont(32); - t->SetTextColor(1); - t->SetTextSize(0.03); - t->SetTextAlign(12); - t->DrawLatex(3.1,15.5,"M.Tokarev, E.Potrebenikova "); - t->DrawLatex(14.,15.5,"JINR preprint E2-98-64, Dubna, 1998 "); - - pad1 = new TPad("pad1","This is pad1",0.02,0.02,0.48,0.83,33); - pad2 = new TPad("pad2","This is pad2",0.52,0.02,0.98,0.83,33); - - pad1->Draw(); - pad2->Draw(); - -// -// Cross-section of direct photon production in pp collisions at 500 GeV vs Pt -// - energ = 63; - dens = 1.766; - tgrad = 90.; - ptmin = 4.; - ptmax = 24.; - delp = 2.; - hz_calc(energ, dens, tgrad, ptmin, ptmax, delp); - pad1->cd(); - pad1->Range(-0.255174,-19.25,2.29657,-6.75); - pad1->SetLogx(); - pad1->SetLogy(); - - // create a 2-d histogram to define the range - pad1->DrawFrame(1,1e-18,110,1e-8); - pad1->GetFrame()->SetFillColor(19); - TLatex *t = new TLatex(); - t->SetNDC(); - t->SetTextFont(62); - t->SetTextColor(36); - t->SetTextSize(0.08); - t->SetTextAlign(12); - t->DrawLatex(0.6,0.85,"p - p"); - - t->SetTextSize(0.05); - t->DrawLatex(0.6,0.79,"Direct #gamma"); - t->DrawLatex(0.6,0.75,"#theta = 90^{o}"); - - t->DrawLatex(0.20,0.45,"Ed^{3}#sigma/dq^{3}"); - t->DrawLatex(0.18,0.40,"(barn/Gev^{2})"); - - t->SetTextSize(0.045); - t->SetTextColor(kBlue); - t->DrawLatex(0.22,0.260,"#sqrt{s} = 63(GeV)"); - t->SetTextColor(kRed); - t->DrawLatex(0.22,0.205,"#sqrt{s} = 200(GeV)"); - t->SetTextColor(6); - t->DrawLatex(0.22,0.15,"#sqrt{s} = 500(GeV)"); - - t->SetTextSize(0.05); - t->SetTextColor(1); - t->DrawLatex(0.6,0.06,"q_{T} (Gev/c)"); - - gr1 = new TGraph(NLOOP,PT,INVSIG); - - gr1->SetLineColor(38); - gr1->SetMarkerColor(kBlue); - gr1->SetMarkerStyle(21); - gr1->SetMarkerSize(1.1); - gr1->Draw("LP"); - -// -// Cross-section of direct photon production in pp collisions at 200 GeV vs Pt -// - - energ = 200; - dens = 2.25; - tgrad = 90.; - ptmin = 4.; - ptmax = 64.; - delp = 6.; - hz_calc(energ, dens, tgrad, ptmin, ptmax, delp); - - gr2 = new TGraph(NLOOP,PT,INVSIG); - gr2->SetLineColor(38); - gr2->SetMarkerColor(kRed); - gr2->SetMarkerStyle(29); - gr2->SetMarkerSize(1.5); - gr2->Draw("LP"); - -// -// Cross-section of direct photon production in pp collisions at 500 GeV vs Pt -// - energ = 500; - dens = 2.73; - tgrad = 90.; - ptmin = 4.; - ptmax = 104.; - delp = 10.; - hz_calc(energ, dens, tgrad, ptmin, ptmax, delp); - - gr3 = new TGraph(NLOOP,PT,INVSIG); - - gr3->SetLineColor(38); - gr3->SetMarkerColor(6); - gr3->SetMarkerStyle(8); - gr3->SetMarkerSize(1.1); - gr3->Draw("LP"); - - Float_t *dum = 0; - TGraph *graph = new TGraph(1,dum,dum); - graph->SetMarkerColor(kBlue); - graph->SetMarkerStyle(21); - graph->SetMarkerSize(1.1); - graph->SetPoint(0,1.7,1.e-16.); - graph->Draw("LP"); - - TGraph *graph = new TGraph(1,dum,dum); - graph->SetMarkerColor(kRed); - graph->SetMarkerStyle(29); - graph->SetMarkerSize(1.5); - graph->SetPoint(0,1.7,2.e-17.); - graph->Draw("LP"); - - TGraph *graph = new TGraph(1,dum,dum); - graph->SetMarkerColor(6); - graph->SetMarkerStyle(8); - graph->SetMarkerSize(1.1); - graph->SetPoint(0,1.7,4.e-18.); - graph->Draw("LP"); - - pad2->cd(); - pad2->Range(-0.43642,-23.75,3.92778,-6.25); - pad2->SetLogx(); - pad2->SetLogy(); - - pad2->DrawFrame(1,1e-22,3100,1e-8); - pad2->GetFrame()->SetFillColor(19); - - gr = new TGraph(NLOOP,Z,HZ); - gr->SetTitle("HZ vs Z"); - gr->SetFillColor(19); - gr->SetLineColor(9); - gr->SetMarkerColor(50); - gr->SetMarkerStyle(29); - gr->SetMarkerSize(1.5); - gr->Draw("LP"); - - TLatex *t = new TLatex(); - t->SetNDC(); - t->SetTextFont(62); - t->SetTextColor(36); - t->SetTextSize(0.08); - t->SetTextAlign(12); - t->DrawLatex(0.6,0.85,"p - p"); - - t->SetTextSize(0.05); - t->DrawLatex(0.6,0.79,"Direct #gamma"); - t->DrawLatex(0.6,0.75,"#theta = 90^{o}"); - - t->DrawLatex(0.70,0.55,"H(z)"); - t->DrawLatex(0.68,0.50,"(barn)"); - - t->SetTextSize(0.045); - t->SetTextColor(46); - t->DrawLatex(0.20,0.30,"#sqrt{s}, GeV"); - t->DrawLatex(0.22,0.26,"63"); - t->DrawLatex(0.22,0.22,"200"); - t->DrawLatex(0.22,0.18,"500"); - - t->SetTextSize(0.05); - t->SetTextColor(1); - t->DrawLatex(0.88,0.06,"z"); - - c1->Modified(); - c1->Update(); -} - -void hz_calc(Float_t ENERG, Float_t DENS, Float_t TGRAD, Float_t PTMIN, Float_t PTMAX, Float_t DELP) -{ - Int_t I; - - Float_t CSEFT= 1.; - Float_t GM1 = 0.00001; - Float_t GM2 = 0.00001; - Float_t A1 = 1.; - Float_t A2 = 1.; - Float_t ALX = 2.; - Float_t BETA = 1.; - Float_t KF1 = 8.E-7; - Float_t KF2 = 5.215; - - Float_t MN = 0.9383; - Float_t DEGRAD=0.01745329; - - Float_t EB1, EB2, PB1, PB2, MB1, MB2, M1, M2; - Float_t DNDETA; - - Float_t P1P2, P1P3, P2P3; - Float_t Y1, Y2, S, SMIN, SX1, SX2, SX1X2, DELM; - Float_t Y1X1, Y1X2, Y2X1, Y2X2, Y2X1X2, Y1X1X2; - Float_t KX1, KX2, ZX1, ZX2, KX1X2, ZX1X2; - Float_t H1, H2; - - Float_t PTOT, THET, ETOT, X1, X2, ZZX1X2, ZX1ZX2; - - // printf("ENR= %f DENS= %f PTMIN= %f PTMAX= %f DELP= %f \n",ENERG,DENS,PTMIN,PTMAX, DELP); - - DNDETA= DENS; - MB1 = MN*A1; - MB2 = MN*A2; - EB1 = ENERG/2.*A1; - EB2 = ENERG/2.*A2; - M1 = GM1; - M2 = GM2; - THET = TGRAD*DEGRAD; - NLOOP = (PTMAX-PTMIN)/DELP; - - for (I=0; I<NLOOP;I++) { - PT[I]=PTMIN+I*DELP; - PTOT = PT[I]/sin(THET); - - ETOT = sqrt(M1*M1 + PTOT*PTOT); - PB1 = sqrt(EB1*EB1 - MB1*MB1); - PB2 = sqrt(EB2*EB2 - MB2*MB2); - P2P3 = EB2*ETOT+PB2*PTOT*cos(THET); - P1P2 = EB2*EB1+PB2*PB1; - P1P3 = EB1*ETOT-PB1*PTOT*cos(THET); - - X1 = P2P3/P1P2; - X2 = P1P3/P1P2; - Y1 = X1+sqrt(X1*X2*(1.-X1)/(1.-X2)); - Y2 = X2+sqrt(X1*X2*(1.-X2)/(1.-X1)); - - S = (MB1*MB1)+2.*P1P2+(MB2*MB2); - SMIN = 4.*((MB1*MB1)*(X1*X1) +2.*X1*X2*P1P2+(MB2*MB2)*(X2*X2)); - SX1 = 4.*( 2*(MB1*MB1)*X1+2*X2*P1P2); - SX2 = 4.*( 2*(MB2*MB2)*X2+2*X1*P1P2); - SX1X2= 4.*(2*P1P2); - DELM = pow((1.-Y1)*(1.-Y2),ALX); - - Z[I] = sqrt(SMIN)/DELM/pow(DNDETA,BETA); - - Y1X1 = 1. +X2*(1-2.*X1)/(2.*(Y1-X1)*(1.-X2)); - Y1X2 = X1*(1-X1)/(2.*(Y1-X1)*(1.-X2)*(1.-X2)); - Y2X1 = X2*(1-X2)/(2.*(Y2-X2)*(1.-X1)*(1.-X1)); - Y2X2 = 1. +X1*(1-2.*X2)/(2.*(Y2-X2)*(1.-X1)); - Y2X1X2= Y2X1*( (1.-2.*X2)/(X2*(1-X2)) -( Y2X2-1.)/(Y2-X2)); - Y1X1X2= Y1X2*( (1.-2.*X1)/(X1*(1-X1)) -( Y1X1-1.)/(Y1-X1)); - - KX1=-DELM*(Y1X1*ALX/(1.-Y1) + Y2X1*ALX/(1.-Y2)); - KX2=-DELM*(Y2X2*ALX/(1.-Y2) + Y1X2*ALX/(1.-Y1)); - ZX1=Z[I]*(SX1/(2.*SMIN)-KX1/DELM); - ZX2=Z[I]*(SX2/(2.*SMIN)-KX2/DELM); - - H1=ZX1*ZX2; - - HZ[I]=KF1/pow(Z[I],KF2); - INVSIG[I]=(HZ[I]*H1*16.)/S; - - } -} diff --git a/tutorials/zdemo.py b/tutorials/zdemo.py deleted file mode 100644 index 27c7acc5f458f97b543ed912f65cd5fb99e7d1c7..0000000000000000000000000000000000000000 --- a/tutorials/zdemo.py +++ /dev/null @@ -1,309 +0,0 @@ -# This macro is an example of graphs in log scales with annotations. -# -# The begin_html <a href="gif/zdemo.gif" >presented results</a> end_html -# are predictions of invariant cross-section of Direct Photons produced -# at RHIC energies, based on the universality of scaling function H(z). -# -# Authors: Michael Tokarev and Elena Potrebenikova (JINR Dubna) -# -# These Figures were published in JINR preprint E2-98-64, Dubna, -# 1998 and submitted to CPC. -# -# Note that the way greek symbols, super/subscripts are obtained -# illustrate the current limitations of Root in this area. -# - -import ROOT -from array import array -from math import * - -NMAX = 20 -Z = array( 'f', [0.]*NMAX ) -HZ = array( 'f', [0.]*NMAX ) -PT = array( 'f', [0.]*NMAX ) -INVSIG = array( 'f', [0.]*NMAX ) - -NLOOP = 0 -saves = {} - -#_______________________________________________________________________________ -def zdemo(): - global NLOOP - global Z, HZ, PT, INVSIG - global saves - - # Create a new canvas. - c1 = ROOT.TCanvas( 'zdemo', 'Monte Carlo Study of Z scaling', 10, 40, 800, 600 ) - c1.Range( 0, 0, 25, 18 ) - c1.SetFillColor( 40 ) - saves[ 'c1' ] = c1 # prevent deteletion at end of zdemo - - pl = ROOT.TPaveLabel( 1, 16.3, 24, 17.5, - 'Z-scaling of Direct Photon Productions in pp Collisions at RHIC Energies', 'br' ) - pl.SetFillColor(18) - pl.SetTextFont(32) - pl.SetTextColor(49) - pl.Draw() - saves[ 'pl' ] = pl - - t = ROOT.TLatex() - t.SetTextFont(32) - t.SetTextColor(1) - t.SetTextSize(0.03) - t.SetTextAlign(12) - t.DrawLatex( 3.1, 15.5, 'M.Tokarev, E.Potrebenikova ') - t.DrawLatex( 14., 15.5, 'JINR preprint E2-98-64, Dubna, 1998 ') - saves[ 't' ] = t - - pad1 = ROOT.TPad( 'pad1', 'This is pad1', 0.02, 0.02, 0.48, 0.83, 33 ) - pad2 = ROOT.TPad( 'pad2', 'This is pad2', 0.52, 0.02, 0.98, 0.83, 33 ) - - pad1.Draw() - pad2.Draw() - - saves[ 'pad1' ] = pad1; saves[ 'pad2' ] = pad2 - -# -# Cross-section of direct photon production in pp collisions at 500 GeV vs Pt -# - energ = 63 - dens = 1.766 - tgrad = 90. - ptmin = 4. - ptmax = 24. - delp = 2. - hz_calc( energ, dens, tgrad, ptmin, ptmax, delp ) - pad1.cd() - pad1.Range( -0.255174, -19.25, 2.29657, -6.75 ) - pad1.SetLogx() - pad1.SetLogy() - - # create a 2-d histogram to define the range - pad1.DrawFrame( 1, 1e-18, 110, 1e-8 ) - pad1.GetFrame().SetFillColor( 19 ) - t = ROOT.TLatex() - t.SetNDC() - t.SetTextFont( 62 ) - t.SetTextColor( 36 ) - t.SetTextSize( 0.08 ) - t.SetTextAlign( 12 ) - t.DrawLatex( 0.6, 0.85, 'p - p' ) - - t.SetTextSize( 0.05 ) - t.DrawLatex( 0.6, 0.79, 'Direct #gamma' ) - t.DrawLatex( 0.6, 0.75, '#theta = 90^{o}' ) - - t.DrawLatex( 0.20, 0.45, 'Ed^{3}#sigma/dq^{3}' ) - t.DrawLatex( 0.18, 0.40, '(barn/Gev^{2})' ) - - t.SetTextSize( 0.045 ) - t.SetTextColor( ROOT.kBlue ) - t.DrawLatex( 0.22, 0.260, '#sqrt{s} = 63(GeV)' ) - t.SetTextColor( ROOT.kRed ) - t.DrawLatex( 0.22, 0.205,'#sqrt{s} = 200(GeV)' ) - t.SetTextColor( 6 ) - t.DrawLatex( 0.22, 0.15, '#sqrt{s} = 500(GeV)' ) - - t.SetTextSize( 0.05 ) - t.SetTextColor( 1 ) - t.DrawLatex( 0.6, 0.06, 'q_{T} (Gev/c)' ) - saves[ 't2' ] = t # note the label that is used! - - gr1 = ROOT.TGraph( NLOOP, PT, INVSIG ) - - gr1.SetLineColor( 38 ) - gr1.SetMarkerColor( ROOT.kBlue ) - gr1.SetMarkerStyle( 21 ) - gr1.SetMarkerSize( 1.1 ) - gr1.Draw( 'LP' ) - saves[ 'gr1' ] = gr1 - -# -# Cross-section of direct photon production in pp collisions at 200 GeV vs Pt -# - - energ = 200 - dens = 2.25 - tgrad = 90. - ptmin = 4. - ptmax = 64. - delp = 6. - hz_calc( energ, dens, tgrad, ptmin, ptmax, delp ) - - gr2 = ROOT.TGraph( NLOOP, PT, INVSIG ) - gr2.SetLineColor( 38 ) - gr2.SetMarkerColor( ROOT.kRed ) - gr2.SetMarkerStyle( 29 ) - gr2.SetMarkerSize( 1.5 ) - gr2.Draw( 'LP' ) - saves[ 'gr2' ] = gr2 - -# -# Cross-section of direct photon production in pp collisions at 500 GeV vs Pt -# - energ = 500 - dens = 2.73 - tgrad = 90. - ptmin = 4. - ptmax = 104. - delp = 10. - hz_calc( energ, dens, tgrad, ptmin, ptmax, delp ) - - gr3 = ROOT.TGraph( NLOOP, PT, INVSIG ) - - gr3.SetLineColor( 38 ) - gr3.SetMarkerColor( 6 ) - gr3.SetMarkerStyle( 8 ) - gr3.SetMarkerSize( 1.1 ) - gr3.Draw( 'LP' ) - saves[ 'gr3' ] = gr3 - - dum = array( 'f', [0.] ) - graph = ROOT.TGraph( 1, dum, dum ) - graph.SetMarkerColor( ROOT.kBlue ) - graph.SetMarkerStyle( 21 ) - graph.SetMarkerSize( 1.1 ) - graph.SetPoint( 0, 1.7, 1.e-16 ) - graph.Draw( 'LP' ) - saves[ 'graph' ] = graph - - graph = ROOT.TGraph( 1, dum, dum ) - graph.SetMarkerColor( ROOT.kRed ) - graph.SetMarkerStyle( 29 ) - graph.SetMarkerSize( 1.5 ) - graph.SetPoint( 0, 1.7, 2.e-17 ) - graph.Draw( 'LP' ) - saves[ 'graph2' ] = graph # note the label that is used! - - graph = ROOT.TGraph( 1, dum, dum ) - graph.SetMarkerColor( 6 ) - graph.SetMarkerStyle( 8 ) - graph.SetMarkerSize( 1.1 ) - graph.SetPoint( 0, 1.7, 4.e-18) - graph.Draw( 'LP' ) - saves[ 'graph3' ] = graph # note the label that is used! - - pad2.cd() - pad2.Range( -0.43642, -23.75, 3.92778, -6.25 ) - pad2.SetLogx() - pad2.SetLogy() - - pad2.DrawFrame( 1, 1e-22, 3100, 1e-8 ) - pad2.GetFrame().SetFillColor( 19 ) - - gr = ROOT.TGraph( NLOOP, Z, HZ ) - gr.SetTitle( 'HZ vs Z' ) - gr.SetFillColor( 19 ) - gr.SetLineColor( 9 ) - gr.SetMarkerColor( 50 ) - gr.SetMarkerStyle( 29 ) - gr.SetMarkerSize( 1.5 ) - gr.Draw( 'LP' ) - saves[ 'gr' ] = gr - - t = ROOT.TLatex() - t.SetNDC() - t.SetTextFont( 62 ) - t.SetTextColor( 36 ) - t.SetTextSize( 0.08 ) - t.SetTextAlign( 12 ) - t.DrawLatex( 0.6, 0.85, 'p - p' ) - - t.SetTextSize( 0.05 ) - t.DrawLatex( 0.6, 0.79, 'Direct #gamma' ) - t.DrawLatex( 0.6, 0.75, '#theta = 90^{o}' ) - - t.DrawLatex( 0.70, 0.55, 'H(z)' ) - t.DrawLatex( 0.68, 0.50, '(barn)' ) - - t.SetTextSize( 0.045 ) - t.SetTextColor( 46 ) - t.DrawLatex( 0.20, 0.30, '#sqrt{s}, GeV' ) - t.DrawLatex( 0.22, 0.26, '63' ) - t.DrawLatex( 0.22, 0.22, '200' ) - t.DrawLatex( 0.22, 0.18, '500' ) - - t.SetTextSize( 0.05 ) - t.SetTextColor( 1 ) - t.DrawLatex( 0.88, 0.06, 'z' ) - saves[ 't3' ] = t # note the label that is used! - - c1.Modified() - c1.Update() - -#_______________________________________________________________________________ -def hz_calc( ENERG, DENS, TGRAD, PTMIN, PTMAX, DELP ): - global NLOOP - global Z, HZ, PT, INVSIG - - CSEFT= 1. - GM1 = 0.00001 - GM2 = 0.00001 - A1 = 1. - A2 = 1. - ALX = 2. - BETA = 1. - KF1 = 8.E-7 - KF2 = 5.215 - - MN = 0.9383 - DEGRAD=0.01745329 - - # print 'ENR= %f DENS= %f PTMIN= %f PTMAX= %f DELP= %f ' % (ENERG,DENS,PTMIN,PTMAX,DELP) - - DNDETA= DENS - MB1 = MN*A1 - MB2 = MN*A2 - EB1 = ENERG/2.*A1 - EB2 = ENERG/2.*A2 - M1 = GM1 - M2 = GM2 - THET = TGRAD*DEGRAD - NLOOP = int((PTMAX-PTMIN)/DELP) - - for I in range(NLOOP): - PT[I]=PTMIN+I*DELP - PTOT = PT[I]/sin(THET) - - ETOT = sqrt(M1*M1 + PTOT*PTOT) - PB1 = sqrt(EB1*EB1 - MB1*MB1) - PB2 = sqrt(EB2*EB2 - MB2*MB2) - P2P3 = EB2*ETOT+PB2*PTOT*cos(THET) - P1P2 = EB2*EB1+PB2*PB1 - P1P3 = EB1*ETOT-PB1*PTOT*cos(THET) - - X1 = P2P3/P1P2 - X2 = P1P3/P1P2 - Y1 = X1+sqrt(X1*X2*(1.-X1)/(1.-X2)) - Y2 = X2+sqrt(X1*X2*(1.-X2)/(1.-X1)) - - S = (MB1*MB1)+2.*P1P2+(MB2*MB2) - SMIN = 4.*((MB1*MB1)*(X1*X1) +2.*X1*X2*P1P2+(MB2*MB2)*(X2*X2)) - SX1 = 4.*( 2*(MB1*MB1)*X1+2*X2*P1P2) - SX2 = 4.*( 2*(MB2*MB2)*X2+2*X1*P1P2) - SX1X2= 4.*(2*P1P2) - DELM = pow((1.-Y1)*(1.-Y2),ALX) - - Z[I] = sqrt(SMIN)/DELM/pow(DNDETA,BETA) - - Y1X1 = 1. +X2*(1-2.*X1)/(2.*(Y1-X1)*(1.-X2)) - Y1X2 = X1*(1-X1)/(2.*(Y1-X1)*(1.-X2)*(1.-X2)) - Y2X1 = X2*(1-X2)/(2.*(Y2-X2)*(1.-X1)*(1.-X1)) - Y2X2 = 1. +X1*(1-2.*X2)/(2.*(Y2-X2)*(1.-X1)) - Y2X1X2= Y2X1*( (1.-2.*X2)/(X2*(1-X2)) -( Y2X2-1.)/(Y2-X2)) - Y1X1X2= Y1X2*( (1.-2.*X1)/(X1*(1-X1)) -( Y1X1-1.)/(Y1-X1)) - - KX1=-DELM*(Y1X1*ALX/(1.-Y1) + Y2X1*ALX/(1.-Y2)) - KX2=-DELM*(Y2X2*ALX/(1.-Y2) + Y1X2*ALX/(1.-Y1)) - ZX1=Z[I]*(SX1/(2.*SMIN)-KX1/DELM) - ZX2=Z[I]*(SX2/(2.*SMIN)-KX2/DELM) - - H1=ZX1*ZX2 - - HZ[I]=KF1/pow(Z[I],KF2) - INVSIG[I]=(HZ[I]*H1*16.)/S - - -# run if loaded as script -if __name__ == '__main__': - zdemo() diff --git a/tutorials/zones.C b/tutorials/zones.C deleted file mode 100644 index 46ddf226e1741588bd31e67ae3b39be62636d40d..0000000000000000000000000000000000000000 --- a/tutorials/zones.C +++ /dev/null @@ -1,30 +0,0 @@ -// example of script showing how to divide a canvas -// into adjacent subpads + axis labels on the top and right side -// of the pads. -{ - gROOT->Reset(); - TCanvas c1("c1","multipads",900,700); - gStyle->SetOptStat(0); - c1.Divide(2,2,0,0); - TH2F h1("h1","test1",10,0,1,20,0,20); - TH2F h2("h2","test2",10,0,1,20,0,100); - TH2F h3("h3","test3",10,0,1,20,-1,1); - TH2F h4("h4","test4",10,0,1,20,0,1000); - - c1.cd(1); - gPad->SetTickx(2); - h1.Draw(); - - c1.cd(2); - gPad->SetTickx(2); - gPad->SetTicky(2); - h2.GetYaxis()->SetLabelOffset(0.01); - h2.Draw(); - - c1.cd(3); - h3.Draw(); - - c1.cd(4); - gPad->SetTicky(2); - h4.Draw(); -}