#include #include TString gg_path = ""; void writeInfo(TString filename, TString info,Int_t flag=1){ if(flag<1) return; ofstream myfile; myfile.open (gg_path+"/"+filename); myfile << info+"\n"; myfile.close(); } // flag < 0 - do not save anything // flag = 0 - save in a new folder based on date // flag = 2 - save in a folder dir (second argument) void save(TPad *c= NULL, TString dir="rdata", TString name="", TString info="", Int_t flag=1, Int_t bfiles=0){ if(flag<1) return; TString path = ""; if(flag == 0 && flag!=2){ TDatime *time = new TDatime(); TString stime = Form("%d.%d.%d", time->GetDay(),time->GetMonth(),time->GetYear()); gSystem->mkdir(dir+"/"+stime); for(Int_t i=0; i<1000; i++){ path = dir+"/"+stime+"/"+Form("arid-%d",i); if(gSystem->mkdir(path)==0) break; } writeInfo("readme", info); }else{ path = dir; } if(c) { c->Modified(); c->Update(); c->Print(path+"/"+name+".png"); if(bfiles==0) c->Print(path+"/"+name+".pdf"); if(bfiles==0) c->Print(path+"/"+name+".root"); } } TString createDir(TString dir="rdata", TString info = "", Int_t flag=1){ if(flag<1) return ""; TString path = ""; if(flag==2) { gSystem->mkdir(dir,kTRUE); path = dir; }else{ TDatime *time = new TDatime(); TString stime = Form("%d.%d.%d", time->GetDay(),time->GetMonth(),time->GetYear()); gSystem->mkdir(dir+"/"+stime); for(Int_t i=0; i<1000; i++){ path = dir+"/"+stime+"/"+Form("arid-%d",i); if(gSystem->mkdir(path)==0) break; } } gSystem->Unlink("rdata/last"); gSystem->Symlink("../"+path, "rdata/last"); gg_path = path; writeInfo("readme", info); return path; } TString createSubDir(TString dir="dir", Int_t flag=1){ if(flag<1) return ""; TString path = ""; gSystem->mkdir(dir); return dir; }