00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 void TGo4MacroDialog::setCommand( const QString & selection )
00032 {
00033     if(selection.contains("Add"))
00034     {
00035         fxCommand="addhistos(";
00036         fxCommand+='"';
00037         fxCommand+='"';
00038         fxCommand+=",";
00039         fxCommand+='"';
00040         fxCommand+='"';
00041         fxCommand+=", 1, kTRUE);";
00042         SyntaxLabel->setText("Bool_t addhistos(const char* name1, const char* name2, Double_t factor, Bool_t draw)");
00043         QToolTip::add(this,"Add histograms: result=name1 + factor * name2. \n If draw==true, display in new viewpanel, otherwise just update existing displays");
00044     }
00045     else if (selection.contains("Divide"))
00046     {
00047         fxCommand="divhistos(";
00048         fxCommand+='"';
00049         fxCommand+='"';
00050         fxCommand+=",";
00051         fxCommand+='"';
00052         fxCommand+='"';
00053         fxCommand+=", kTRUE);";
00054         SyntaxLabel->setText("Bool_t divhistos(const char* name1, const char* name2, Bool_t draw)");
00055 
00056         QToolTip::add(this,"Divide histograms: result=name1 by name2.\n If draw==true, display in new viewpanel, otherwise just update existing displays ");
00057     }
00058      else if (selection.contains("Rebin"))
00059     {
00060         fxCommand="rebin(";
00061         fxCommand+='"';
00062         fxCommand+='"';
00063         fxCommand+=", 2, kTRUE);";
00064         SyntaxLabel->setText("Bool_t rebin(const char* name1, int ngroup, Bool_t draw)");
00065 
00066         QToolTip::add(this,"Rebin histogram name1 by mergin ngroup neighboured channels together. \n If draw=true, display in new viewpanel, otherwise just update existing displays ");
00067     }
00068     else if (selection.contains("Projection X"))
00069     {
00070         fxCommand="projectionX(";
00071         fxCommand+='"';
00072         fxCommand+='"';
00073         fxCommand+=", -1, -1, kTRUE);";
00074         SyntaxLabel->setText("Bool_t projectionX(const char* name1, Int_t firstybin, Int_t lastybin, Bool_t draw)");
00075         QToolTip::add(this," Do projection to X axis for 2d histogram name1.\n Parameters firstybin, lastybin for y range. \n If draw==true, display in new viewpanel, otherwise just update existing displays ");
00076 
00077     }
00078     else if (selection.contains("Projection Y"))
00079     {
00080         fxCommand="projectionY(";
00081         fxCommand+='"';
00082         fxCommand+='"';
00083         fxCommand+=", -1, -1, kTRUE);";
00084         SyntaxLabel->setText("Bool_t projectionY(const char* name1, Int_t firstxbin, Int_t lastxbin, Bool_t draw)");
00085         QToolTip::add(this," Do projection to Y axis for 2d histogram name1. \n Parameters firstxbin, lastxbin for x range. \n If draw==true, display in new viewpanel, otherwise just update existing displays ");
00086 
00087     }
00088     else if (selection.contains("Correlate"))
00089     {
00090         fxCommand="corrhistos(";
00091         fxCommand+='"';
00092         fxCommand+='"';
00093         fxCommand+=",";
00094         fxCommand+='"';
00095         fxCommand+='"';
00096         fxCommand+=", kTRUE);";
00097         SyntaxLabel->setText("Bool_t corrhistos(const char* name1, const char* name2, Bool_t draw)");
00098         QToolTip::add(this," Correlate bin contents of two histograms in a graph.\n If draw==true, display in new viewpanel, otherwise just update existing displays ");
00099 
00100     }
00101     else if (selection.contains("Histogram of"))
00102     {
00103         fxCommand="hishisto(";
00104         fxCommand+='"';
00105         fxCommand+='"';
00106         fxCommand+=", 1000, kTRUE);";
00107          SyntaxLabel->setText("Bool_t hishisto(const char* name1, Int_t bins, Bool_t draw)");
00108         QToolTip::add(this," Create histogram and fill with contents of histogram name1. \n If draw==true, display in new viewpanel, otherwise just update existing displays ");
00109 
00110     }
00111     else if (selection.contains("Profile X"))
00112     {
00113         fxCommand="profileX(";
00114         fxCommand+='"';
00115         fxCommand+='"';
00116         fxCommand+=", -1, -1, kTRUE);";
00117          SyntaxLabel->setText("Bool_t profileX(const char* name1, Int_t firstybin, Int_t lastybin, Bool_t draw)");
00118         QToolTip::add(this," Do profile to X axis for 2d histogram name1. \n Parameters firstybin, lastybin for y range. \n If draw==true, display in new viewpanel, otherwise just update existing displays ");
00119 
00120     }
00121     else if (selection.contains("Profile Y"))
00122     {
00123         fxCommand="profileY(";
00124         fxCommand+='"';
00125         fxCommand+='"';
00126         fxCommand+=", -1, -1, kTRUE);";
00127         SyntaxLabel->setText("Bool_t profileY(const char* name1, Int_t firstxbin, Int_t lastxbin, Bool_t draw)");
00128         QToolTip::add(this," Do profile to Y axis for 2d histogram name1. \n Parameters firstxbin, lastxbin for x range. \n If draw==true, display in new viewpanel, otherwise just update existing displays ");
00129 
00130     }
00131      else if (selection.contains("Scale X"))
00132     {
00133         fxCommand="scalex(";
00134         fxCommand+='"';
00135         fxCommand+='"';
00136         fxCommand+=", 1, 0, kTRUE);";
00137         SyntaxLabel->setText("Bool_t scalex(const char* name1, Double_t a1, Double_t a0, Bool_t draw)");
00138         QToolTip::add(this," Scale x axis of histogram name1 by linear function. \n Parameters: x'= a1*x + a0. \n If draw==true, display in new viewpanel, otherwise just update existing displays ");
00139     }
00140     else
00141     {
00142        fxCommand="unknown macro function" ;
00143     }
00144 
00145 
00146 }
00147 
00148 
00149 const QString& TGo4MacroDialog::getCommand()
00150 {
00151  return fxCommand;
00152 }
00153 
00154 
00155 void TGo4MacroDialog::init()
00156 {
00157     setCommand("Add");
00158 }
00159 
00160 
00161 
00162 
00163