- Timestamp:
- 06/15/08 20:10:34 (16 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r8958 r8961 22 22 2008/06/14 Thomas Bretz 23 23 24 * merpp.cc: 25 - replaced MRawFileWrite by MWriteRootFile 26 27 * showplot.cc: 28 - added new options to write tiff files 29 - added new options to write csv files 30 - some code simplification 31 32 * datacenter/macros/plotdb.C: 33 - set the title (without axis descriptions) as Tab-title 34 - set FrameBorderMode to 0 for canvas 35 36 * mbase/MStatusArray.[h,cc]: 37 - added a copy constructor taking MStatusDislay as an argument 38 - set gLog to all in Print() 39 40 * mhbase/MFillH.[h,cc]: 41 - allow to set a title in SetNameTab which is used as tab title 42 - therefore added new data member fTitleTab 43 - increased class version by 1 44 45 * mraw/MRawRead.cc: 46 - set ReadyToSave for raw data to be able to use MWriteRootFile 47 in merpp 48 49 * mraw/Makefile, mraw/RawLinkDef.h: 50 - removed MRawFileWrite 51 52 53 54 2008/06/14 Thomas Bretz 55 24 56 * mtrigger/MFTriggerPattern.cc: 25 57 - improved documentation … … 31 63 * datacenter/macros/plotdb.C: 32 64 - increased range for the rate of the calibration events 65 - added "RatioCal" tab 66 67 * datacenter/macros/fillstar.C: 68 - fill NULL also if TGraph is empty 33 69 34 70 * mastro/MAstro.cc: -
trunk/MagicSoft/Mars/NEWS
r8955 r8961 66 66 67 67 * fixed mars (event display) for merpped raw-data and MC data 68 69 ;showplot 70 71 * Added support for tiff files 72 73 * Added support for csv files (tables containing tab number, 74 name and title) 75 76 * Tabs now can have a title which is displayed in the postscript file 68 77 69 78 ;merpp -
trunk/MagicSoft/Mars/datacenter/macros/plotdb.C
r8960 r8961 1 1 /* ======================================================================== *\ 2 ! $Name: not supported by cvs2svn $:$Id: plotdb.C,v 1.4 3 2008-06-14 18:38:19 tbretz Exp $2 ! $Name: not supported by cvs2svn $:$Id: plotdb.C,v 1.44 2008-06-15 19:09:19 tbretz Exp $ 3 3 ! -------------------------------------------------------------------------- 4 4 ! … … 229 229 gROOT->SetSelectedPad(0); 230 230 231 TString cname = fNameTab.IsNull() ? name(name.First('.')+2, name.Length()) : fNameTab; 232 TString ctitle = fDescription.IsNull() ? name.Data() : fDescription.Data(); 233 if (ctitle.First(';')>0) 234 ctitle.Remove(ctitle.First(';'), ctitle.Length()); 235 231 236 // Create a TCanvas or open a new tab 232 TString title = fNameTab.IsNull() ? name(name.First('.')+2, name.Length()) : fNameTab; 233 TCanvas &c = fDisplay ? fDisplay->AddTab(title) : *new TCanvas; 237 TCanvas &c = fDisplay ? fDisplay->AddTab(cname, ctitle) : *new TCanvas(cname, ctitle); 234 238 // Set fillcolor, remove border and divide pad 235 239 c.SetFillColor(kWhite); 240 c.SetFrameBorderMode(0); 236 241 c.SetBorderMode(0); 237 242 c.Divide(1,2); 238 243 239 244 // Output mean and rms to console 240 cerr << setprecision(4) << setw(10) << title << ": ";245 cerr << setprecision(4) << setw(10) << cname << ": "; 241 246 if (gt.GetN()==0) 242 247 { -
trunk/MagicSoft/Mars/mbase/MStatusArray.cc
r8484 r8961 56 56 57 57 using namespace std; 58 59 // -------------------------------------------------------------------------- 60 // 61 // Initialize the MStatusArray from an MStatusDisplay. Note, the contents 62 // still owned by MStatusDisplay and will vanish if the display changes 63 // or is deleted without further notice. 64 // 65 MStatusArray::MStatusArray(const MStatusDisplay &d) : TObjArray() 66 { 67 d.FillArray(*this); 68 } 58 69 59 70 // -------------------------------------------------------------------------- … … 256 267 void MStatusArray::Print(Option_t *option) const 257 268 { 258 const TString opt(option);259 260 PrintObjectsInPad(this, opt);269 gLog << all; 270 271 PrintObjectsInPad(this, TString(option)); 261 272 } 262 273 -
trunk/MagicSoft/Mars/mbase/MStatusArray.h
r8299 r8961 28 28 public: 29 29 MStatusArray() : TObjArray() { } 30 MStatusArray(const MStatusDisplay &d); 30 31 31 32 TObject *DisplayIn(Option_t *o=0) const; // *MENU* … … 39 40 40 41 void Print(Option_t *o="") const; 41 void Print(Option_t *wildcard, Option_t *) const 42 { 43 Print(wildcard); 44 } 42 void Print(const Option_t *o, Option_t *) const { Print(o); } 45 43 46 44 TObject *FindObject(const char *object, const char *base) const; -
trunk/MagicSoft/Mars/merpp.cc
r8955 r8961 1 #include <TSystem.h>2 3 1 #include <TFile.h> 4 2 #include <TTree.h> … … 9 7 10 8 #include "MRawFileRead.h" 11 #include "MSqlInsertRun.h"12 #include "MRawFileWrite.h"13 9 #include "MReportFileReadCC.h" 14 10 #include "MWriteRootFile.h" … … 20 16 #include "MTime.h" 21 17 #include "MArray.h" 22 #include "MRawEvtData.h"23 18 #include "MRawRunHeader.h" 24 #include "MRawEvtHeader.h"25 #include "MRawCrateArray.h"26 19 27 20 #include "MFDataPhrase.h" … … 342 335 // be created by MRawFileRead::PreProcess 343 336 // 344 MTask *read = 0;345 MFilter *filter = 0;346 MTask *write = 0;347 348 337 const TString option(kUpdate ? "UPDATE" : "RECREATE"); 338 339 MTask *read = 0; 340 MFilter *filter = 0; 341 MWriteRootFile *write = new MWriteRootFile(kNameout, option, "Magic root-file", kComprlvl); 342 349 343 if (isreport || isdc) 350 344 { 351 MWriteRootFile *w = new MWriteRootFile(kNameout, option, "Magic root-file", kComprlvl);352 345 if (isdc) 353 346 { 354 w ->AddContainer("MTimeCurrents", "Currents");355 w ->AddContainer("MCameraDC", "Currents");356 w ->AddContainer("MReportCurrents", "Currents");347 write->AddContainer("MTimeCurrents", "Currents"); 348 write->AddContainer("MCameraDC", "Currents"); 349 write->AddContainer("MReportCurrents", "Currents"); 357 350 } 358 351 else 359 352 { 360 353 const Bool_t required = kOnly.IsNull(); 361 w ->AddContainer("MReportCamera", "Camera", required);362 w ->AddContainer("MTimeCamera", "Camera", required);363 w ->AddContainer("MCameraAUX", "Camera", required);364 w ->AddContainer("MCameraCalibration", "Camera", required);365 w ->AddContainer("MCameraCooling", "Camera", required);366 w ->AddContainer("MCameraActiveLoad", "Camera", required);367 w ->AddContainer("MCameraHV", "Camera", required);368 w ->AddContainer("MCameraLV", "Camera", required);369 w ->AddContainer("MCameraLids", "Camera", required);370 w ->AddContainer("MReportTrigger", "Trigger", required);371 w ->AddContainer("MTimeTrigger", "Trigger", required);372 w ->AddContainer("MTriggerBit", "Trigger", required);373 w ->AddContainer("MTriggerIPR", "Trigger", required);374 w ->AddContainer("MTriggerCell", "Trigger", required);375 w ->AddContainer("MTriggerPrescFact", "Trigger", required);376 w ->AddContainer("MTriggerLiveTime", "Trigger", required);377 w ->AddContainer("MReportDrive", "Drive", required);378 w ->AddContainer("MTimeDrive", "Drive", required);379 w ->AddContainer("MCameraTH", "Rec", required);380 w ->AddContainer("MCameraTD", "Rec", required);381 w ->AddContainer("MCameraRecTemp", "Rec", required);382 w ->AddContainer("MReportRec", "Rec", required);383 w ->AddContainer("MTimeRec", "Rec", required);384 w ->AddContainer("MReportCC", "CC", required);385 w ->AddContainer("MTimeCC", "CC", required);386 w ->AddContainer("MReportStarguider", "Starguider", required);387 w ->AddContainer("MTimeStarguider", "Starguider", required);388 w ->AddContainer("MReportPyrometer", "Pyrometer", required);389 w ->AddContainer("MTimePyrometer", "Pyrometer", required);390 // w ->AddContainer("MReportDAQ", "DAQ");391 // w ->AddContainer("MTimeDAQ", "DAQ");354 write->AddContainer("MReportCamera", "Camera", required); 355 write->AddContainer("MTimeCamera", "Camera", required); 356 write->AddContainer("MCameraAUX", "Camera", required); 357 write->AddContainer("MCameraCalibration", "Camera", required); 358 write->AddContainer("MCameraCooling", "Camera", required); 359 write->AddContainer("MCameraActiveLoad", "Camera", required); 360 write->AddContainer("MCameraHV", "Camera", required); 361 write->AddContainer("MCameraLV", "Camera", required); 362 write->AddContainer("MCameraLids", "Camera", required); 363 write->AddContainer("MReportTrigger", "Trigger", required); 364 write->AddContainer("MTimeTrigger", "Trigger", required); 365 write->AddContainer("MTriggerBit", "Trigger", required); 366 write->AddContainer("MTriggerIPR", "Trigger", required); 367 write->AddContainer("MTriggerCell", "Trigger", required); 368 write->AddContainer("MTriggerPrescFact", "Trigger", required); 369 write->AddContainer("MTriggerLiveTime", "Trigger", required); 370 write->AddContainer("MReportDrive", "Drive", required); 371 write->AddContainer("MTimeDrive", "Drive", required); 372 write->AddContainer("MCameraTH", "Rec", required); 373 write->AddContainer("MCameraTD", "Rec", required); 374 write->AddContainer("MCameraRecTemp", "Rec", required); 375 write->AddContainer("MReportRec", "Rec", required); 376 write->AddContainer("MTimeRec", "Rec", required); 377 write->AddContainer("MReportCC", "CC", required); 378 write->AddContainer("MTimeCC", "CC", required); 379 write->AddContainer("MReportStarguider", "Starguider", required); 380 write->AddContainer("MTimeStarguider", "Starguider", required); 381 write->AddContainer("MReportPyrometer", "Pyrometer", required); 382 write->AddContainer("MTimePyrometer", "Pyrometer", required); 383 // write->AddContainer("MReportDAQ", "DAQ"); 384 // write->AddContainer("MTimeDAQ", "DAQ"); 392 385 } 393 write = w;394 386 395 387 MReportFileReadCC *r = new MReportFileReadCC(kNamein); … … 424 416 r->AddToList("MReportRun"); 425 417 filter = new MFDataPhrase(f.Data()); 426 w ->SetFilter(filter);418 write->SetFilter(filter); 427 419 } 428 420 } … … 434 426 static_cast<MRawFileRead*>(read)->SetInterleave(kInterleave); 435 427 static_cast<MRawFileRead*>(read)->SetForceMode(kForceProc); 436 write = new MRawFileWrite(kNameout, option, "Magic root-file", kComprlvl); 428 429 write->AddContainer("MRawRunHeader", "RunHeader"); 430 write->AddContainer("MTime", "Events"); 431 write->AddContainer("MRawEvtHeader", "Events"); 432 write->AddContainer("MRawEvtData", "Events"); 433 write->AddContainer("MRawEvtData2", "Events"); 434 write->AddContainer("MRawCrateArray", "Events"); 437 435 } 438 436 -
trunk/MagicSoft/Mars/mhbase/MFillH.cc
r8297 r8961 18 18 ! Author(s): Thomas Bretz, 07/2001 <mailto:tbretz@astro.uni-wuerzburg.de> 19 19 ! 20 ! Copyright: MAGIC Software Development, 2000-200 420 ! Copyright: MAGIC Software Development, 2000-2008 21 21 ! 22 22 ! … … 65 65 // Checkout the Warning in MTaskList. 66 66 // 67 // Version 3: 68 // ---------- 69 // - added fTitleTab 70 // 67 71 // Version 2: 68 72 // ---------- … … 396 400 397 401 if (!fCanvas) 398 fCanvas = &fDisplay->AddTab(tabname); 402 { 403 const TString tabtitle = fTitleTab.IsNull() ? fH->GetTitle() : fTitleTab.Data(); 404 fCanvas = &fDisplay->AddTab(tabname, tabtitle); 405 } 399 406 400 407 fCanvas->cd(); -
trunk/MagicSoft/Mars/mhbase/MFillH.h
r8618 r8961 29 29 TString fHName; // Name to a MH container to get filled 30 30 TString fNameTab; 31 TString fTitleTab; 31 32 32 33 MParameterD *fWeight; // Pointer to the container storing a weight … … 57 58 ~MFillH(); 58 59 59 void SetNameTab(const char *n="") { fNameTab = n; } 60 void SetNameTab(const char *n="", const char *t="") { fNameTab = n; fTitleTab = t; } 61 void SetTitleTab(const char *t="") { fTitleTab = t; } 60 62 61 63 void SetRuleForIdx(const TString rule); … … 76 78 TCanvas *GetCanvas() { return fCanvas; } 77 79 78 ClassDef(MFillH, 2) // Task to fill a histogram with data from a parameter container80 ClassDef(MFillH, 3) // Task to fill a histogram with data from a parameter container 79 81 }; 80 82 -
trunk/MagicSoft/Mars/mraw/MRawRead.cc
r8945 r8961 258 258 return kCONTINUE; 259 259 260 fRawEvtData1->SetReadyToSave(); 261 fRawEvtData2->SetReadyToSave(); 262 260 263 return kTRUE; 261 264 } -
trunk/MagicSoft/Mars/mraw/Makefile
r5676 r8961 29 29 MRawCrateData.cc \ 30 30 MRawRead.cc \ 31 MRawFileWrite.cc \32 31 MRawFileRead.cc \ 33 32 MRawSocketRead.cc -
trunk/MagicSoft/Mars/mraw/RawLinkDef.h
r4577 r8961 17 17 #pragma link C++ class MRawSocketRead+; 18 18 #pragma link C++ class MRawFileRead+; 19 #pragma link C++ class MRawFileWrite+;19 //#pragma link C++ class MRawFileWrite+; 20 20 21 21 #endif -
trunk/MagicSoft/Mars/showplot.cc
r8683 r8961 45 45 gLog << " --save-as-pdf[=filename] Save plots as pdf-file" << endl; 46 46 gLog << " --save-as-svg[=filename] Save plots as svg-file" << endl; 47 gLog << " --save-as-root[=filename] Save plots as root file" << endl; 47 gLog << " --save-as-gif[=filename] Save plots as gif files" << endl; 48 gLog << " --save-as-jpg[=filename] Save plots as jpg files" << endl; 49 gLog << " --save-as-xpm[=filename] Save plots as xpm files" << endl; 50 gLog << " --save-as-png[=filename] Save plots as png files" << endl; 51 gLog << " --save-as-bmp[=filename] Save plots as bmp files" << endl; 52 gLog << " --save-as-xml[=filename] Save plots as xml files" << endl; 53 gLog << " --save-as-tiff[=filename] Save plots as tiff files" << endl; 54 gLog << " --save-as-root[=filename] Save plots as root file" << endl << endl; 55 gLog << " --save-as-csv[=filename] Save list of plots as csv table" << endl << endl; 48 56 gLog << " --save-as-C[=filename] Save plots as root scripts" << endl; 49 57 gLog << " --tab=num Save only tab number num" << endl << endl; … … 51 59 gLog << " --print-cmd='lpr -P%p %f' Set the printer command" << endl; 52 60 gLog << " --print-dir=/tmp Set the printing temp directory" << endl << endl; 53 gLog << " GUI only options:" << endl;54 gLog << " --save-as-gif[=filename] Save plots as gif files" << endl;55 gLog << " --save-as-jpg[=filename] Save plots as jpg files" << endl;56 gLog << " --save-as-xpm[=filename] Save plots as xpm files" << endl;57 gLog << " --save-as-png[=filename] Save plots as png files" << endl;58 gLog << " --save-as-bmp[=filename] Save plots as bmp files" << endl;59 gLog << " --save-as-xml[=filename] Save plots as xml files" << endl << endl;60 61 gLog << " Size options:" << endl; 61 62 gLog << " --display-width=w Set width of display window to w" << endl; … … 88 89 } 89 90 91 TString InflatePath(const MArgs &args) 92 { 93 TString kInput = args.GetArgumentStr(0); 94 95 // 96 // Something special for datacenter access 97 // 98 if (args.GetNumArguments()!=2) 99 return kInput; 100 101 // 102 // Something special for datacenter access 103 // 104 const Int_t num = args.GetArgumentStr(1).Atoi(); 105 106 TString file = "/magic/data/"; 107 108 kInput.ToLower(); 109 switch (kInput.Hash()) 110 { 111 case 3438106369U: 112 case 764164111U: 113 file += "callisto"; 114 break; 115 default: 116 file += kInput; 117 break; 118 } 119 file += kInput==(TString)"ganymed" ? Form("/%05d", num/100000) : Form("/%04d", num/10000); 120 file += Form("/%08d/", num); 121 file += kInput; 122 file += Form("%08d.root", num); 123 124 kInput = file; 125 126 gLog << inf << "Inflated file name: " << kInput << endl; 127 128 return kInput; 129 } 130 90 131 int main(int argc, char **argv) 91 132 { … … 128 169 const Bool_t kSaveAsBmp = arg.HasOnlyAndRemove("--save-as-bmp") || arg.Has("--save-as-bmp="); 129 170 const Bool_t kSaveAsXml = arg.HasOnlyAndRemove("--save-as-xml") || arg.Has("--save-as-xml="); 171 const Bool_t kSaveAsCsv = arg.HasOnlyAndRemove("--save-as-csv") || arg.Has("--save-as-csv="); 172 const Bool_t kSaveAsTiff = arg.HasOnlyAndRemove("--save-as-tiff") || arg.Has("--save-as-tiff="); 130 173 const Bool_t kSaveAsRoot = arg.HasOnlyAndRemove("--save-as-root") || arg.Has("--save-as-root="); 131 174 const Bool_t kSaveAsC = arg.HasOnlyAndRemove("--save-as-C") || arg.Has("--save-as-C="); 132 175 133 const Int_t kCanvasWidth 134 const Int_t kCanvasHeight 176 const Int_t kCanvasWidth = arg.GetIntAndRemove("--canvas-width=", -1); 177 const Int_t kCanvasHeight = arg.GetIntAndRemove("--canvas-height=", -1); 135 178 136 179 const Bool_t kAutoSize = arg.HasOnlyAndRemove("--auto-size"); … … 143 186 } 144 187 145 TString kNamePrint = arg.GetStringAndRemove("--print="); 146 TString kPrintCmd = arg.GetStringAndRemove("--print-cmd="); 147 TString kPrintDir = arg.GetStringAndRemove("--print-dir="); 148 TString kNamePs = arg.GetStringAndRemove("--save-as-ps="); 149 TString kNamePdf = arg.GetStringAndRemove("--save-as-pdf="); 150 TString kNameSvg = arg.GetStringAndRemove("--save-as-svg="); 151 TString kNameGif = arg.GetStringAndRemove("--save-as-gif="); 152 TString kNameJpg = arg.GetStringAndRemove("--save-as-jpg="); 153 TString kNameXpm = arg.GetStringAndRemove("--save-as-xpm="); 154 TString kNamePng = arg.GetStringAndRemove("--save-as-png="); 155 TString kNameBmp = arg.GetStringAndRemove("--save-as-bmp="); 156 TString kNameXml = arg.GetStringAndRemove("--save-as-xml="); 157 TString kNameRoot = arg.GetStringAndRemove("--save-as-root="); 158 TString kNameC = arg.GetStringAndRemove("--save-as-C="); 159 188 // 189 // check arguments before processing them in InflatePath 190 // 191 if (arg.GetNumArguments()<1 || arg.GetNumArguments()>2) 192 { 193 gLog << warn << "WARNING - Wrong number of arguments..." << endl; 194 Usage(); 195 return 2; 196 } 197 if (arg.GetNumArguments()==2 && !arg.GetArgumentStr(1).IsDigit()) 198 { 199 gLog << warn << "WARNING - First argument must not be a number..." << endl; 200 Usage(); 201 return 2; 202 } 203 204 // 205 // Process filenames 206 // 207 const TString kInput = InflatePath(arg); 208 209 const TString kNamePrint = arg.GetStringAndRemove("--print=", kInput); 210 const TString kPrintCmd = arg.GetStringAndRemove("--print-cmd=", kInput); 211 const TString kPrintDir = arg.GetStringAndRemove("--print-dir=", kInput); 212 const TString kNamePs = arg.GetStringAndRemove("--save-as-ps=", kInput); 213 const TString kNamePdf = arg.GetStringAndRemove("--save-as-pdf=", kInput); 214 const TString kNameSvg = arg.GetStringAndRemove("--save-as-svg=", kInput); 215 const TString kNameGif = arg.GetStringAndRemove("--save-as-gif=", kInput); 216 const TString kNameJpg = arg.GetStringAndRemove("--save-as-jpg=", kInput); 217 const TString kNameXpm = arg.GetStringAndRemove("--save-as-xpm=", kInput); 218 const TString kNamePng = arg.GetStringAndRemove("--save-as-png=", kInput); 219 const TString kNameBmp = arg.GetStringAndRemove("--save-as-bmp=", kInput); 220 const TString kNameXml = arg.GetStringAndRemove("--save-as-xml=", kInput); 221 const TString kNameCsv = arg.GetStringAndRemove("--save-as-csv=", kInput); 222 const TString kNameTiff = arg.GetStringAndRemove("--save-as-tiff=", kInput); 223 const TString kNameRoot = arg.GetStringAndRemove("--save-as-root=", kInput); 224 const TString kNameC = arg.GetStringAndRemove("--save-as-C=", kInput); 160 225 161 226 // … … 169 234 return 3; 170 235 } 171 if (arg.GetNumArguments()<1 || arg.GetNumArguments()>2) 172 { 173 gLog << warn << "WARNING - Wrong number of arguments..." << endl; 174 Usage(); 175 return 2; 176 } 177 if (arg.GetNumArguments()==2 && !arg.GetArgumentStr(1).IsDigit()) 178 { 179 gLog << warn << "WARNING - First argument must not be a number..." << endl; 180 Usage(); 181 return 2; 182 } 183 236 237 // 238 // Initialize root environment 239 // 184 240 TApplication *app = kRoot ? new TRint("showplot", &argc, argv) : new TApplication("showplot", &argc, argv); 185 241 if (!gROOT->IsBatch() && !gClient || gROOT->IsBatch() && !kBatch) … … 188 244 return 1; 189 245 } 190 191 //192 // Process filenames193 //194 TString kInput = arg.GetArgumentStr(0);195 196 //197 // Something special for datacenter access198 //199 if (arg.GetNumArguments()==2)200 {201 const Int_t num = arg.GetArgumentStr(1).Atoi();202 TString file = "/magic/data/";203 204 kInput.ToLower();205 switch (kInput.Hash())206 {207 case 3438106369U:208 case 764164111U:209 file += "callisto";210 break;211 default:212 file += kInput;213 break;214 }215 file += kInput==(TString)"ganymed" ? Form("/%05d", num/100000) : Form("/%04d", num/10000);216 file += Form("/%08d/", num);217 file += kInput;218 file += Form("%08d.root", num);219 220 kInput = file;221 222 gLog << inf << "Inflated file name: " << kInput << endl;223 }224 225 if (kNamePs.IsNull() && kSaveAsPs)226 kNamePs = kInput;227 if (kNamePdf.IsNull() && kSaveAsPdf)228 kNamePdf = kInput;229 if (kNameSvg.IsNull() && kSaveAsSvg)230 kNameSvg = kInput;231 if (kNameGif.IsNull() && kSaveAsGif)232 kNameGif = kInput;233 if (kNameJpg.IsNull() && kSaveAsJpg)234 kNameJpg = kInput;235 if (kNameXpm.IsNull() && kSaveAsXpm)236 kNameXpm = kInput;237 if (kNamePng.IsNull() && kSaveAsPng)238 kNamePng = kInput;239 if (kNameBmp.IsNull() && kSaveAsBmp)240 kNameBmp = kInput;241 if (kNameXml.IsNull() && kSaveAsXml)242 kNameXml = kInput;243 if (kNameRoot.IsNull() && kSaveAsRoot)244 kNameRoot = kInput;245 if (kNameC.IsNull() && kSaveAsC)246 kNameC = kInput;247 246 248 247 // … … 282 281 if (kSaveAsXml) 283 282 d->SaveAsXML(kTab, kNameXml); 283 if (kSaveAsCsv) 284 d->SaveAsCSV(kTab, kNameCsv); 285 if (kSaveAsTiff) 286 d->SaveAsTIFF(kTab, kNameTiff); 284 287 if (kSaveAsRoot) 285 288 d->SaveAsRoot(kTab, kNameRoot);
Note:
See TracChangeset
for help on using the changeset viewer.