00001 // $Id: SavePrimitive.C,v 1.5 2006/08/15 21:43:00 jeromel Exp $ 00002 // $Log: SavePrimitive.C,v $ 00003 // Revision 1.5 2006/08/15 21:43:00 jeromel 00004 // Fix rhic -> rhic.bnl.gov 00005 // 00006 // Revision 1.4 1999/05/21 15:33:53 kathy 00007 // made sure Log & Id are in each file and also put in standard comment line with name of owner 00008 // 00009 // Revision 1.3 1998/12/27 03:17:43 fine 00010 // STAR_shapes to test two brand new classes: St_Node St_NodePosition 00011 // 00012 // Revision 1.2 1998/12/21 19:45:49 fisyak 00013 // Move ROOT includes to non system 00014 // 00015 // Revision 1.1 1998/12/12 02:38:42 fisyak 00016 // Clean up 00017 // 00018 // Revision 1.25 1998/11/25 21:58:36 fisyak 00019 // Cleanup 00020 // 00021 // Revision 1.24 1998/11/07 02:45:05 fisyak 00022 // cleanup analysis 00023 // 00024 // Revision 1.23 1998/11/06 01:42:18 fisyak 00025 // Add ana.C 00026 // 00027 // Revision 1.22 1998/11/01 16:42:28 fisyak 00028 // dst analysis 00029 // 00030 // Revision 1.21 1998/10/31 00:26:26 fisyak 00031 // Makers take care about branches 00032 // 00033 // Revision 1.20 1998/10/21 20:30:56 fine 00034 // makedoc macro creates "gif" directories and fill it up 00035 // 00036 // Revision 1.19 1998/10/18 21:20:49 fisyak 00037 // typo 00038 // 00039 // Revision 1.18 1998/10/12 00:53:02 fisyak 00040 // Add parameters for bfc 00041 // 00042 // Revision 1.17 1998/09/27 01:24:22 fisyak 00043 // bfc.C for whole file 00044 // 00045 // Revision 1.16 1998/09/26 00:35:31 fisyak 00046 // Add real files 00047 // 00048 // Revision 1.15 1998/09/26 00:17:27 fisyak 00049 // Add SetWrite 00050 // 00051 // Revision 1.13 1998/09/23 20:23:23 fisyak 00052 // Prerelease SL98h 00053 // 00054 // Revision 1.12 1998/09/18 14:35:33 fisyak 00055 // Fix makers 00056 // 00057 // Revision 1.11 1998/09/15 20:55:35 fisyak 00058 // Split St_DataSet -> St_DataSet + St_DataSetIter 00059 // 00060 // Revision 1.10 1998/08/26 12:15:15 fisyak 00061 // Remove asu & dsl libraries 00062 // 00063 // Revision 1.9 1998/08/20 12:33:32 fisyak 00064 // Splitted base libraries 00065 // 00066 // Revision 1.8 1998/08/18 14:05:08 fisyak 00067 // Add to bfc dst 00068 // 00069 // Revision 1.7 1998/08/10 02:35:13 fisyak 00070 // add laser 00071 // 00072 //======================================================================= 00073 // owner: Valery Fine 00074 // what it does: 00075 //======================================================================= 00076 { 00077 gSystem->Load("St_base"); 00078 gSystem->Load("StChain"); 00079 gSystem->Load("xdf2root"); 00080 gSystem->Load("St_Tables"); 00081 gSystem->Load("St_params_Maker"); 00082 // StChain chain("bfc"); 00083 const Char_t *Path="/afs/rhic.bnl.gov/star/packages/dev/StDb/"; 00084 StChain chain("bfc"); 00085 00086 // Create the makers to be called by the current chain 00087 St_params_Maker params("params","run/params"); 00088 // Init the mai chain and all its makers 00089 int iInit = chain.Init(); 00090 if (iInit) chain.Fatal(iInit,"on init"); 00091 St_DataSet *set=chain.DataSet("params"); 00092 St_DataSetIter param(set,0); 00093 param.Cd("params"); 00094 St_DataSet *t = 0; 00095 // St_tss_tsspar *tsspar = (St_tss_tsspar *) param("params/tpc/tsspars/tsspar"); 00096 // tsspar->Print(0); 00097 TString path = Path; 00098 TString dirname=0; 00099 Bool_t go = kFALSE; 00100 while (t = param()){ 00101 path = Path; 00102 path += t->Path()->ReplaceAll("params/",""); 00103 cout << "path = " << path.Data() << endl; 00104 if (t->HasData()){ // Table 00105 path += ".C"; 00106 dirname = gSystem->DirName(path.Data()); 00107 // if (strcmp("/afs/rhic.bnl.gov/star/packages/dev/StDb/svt/stkpars",dirname.Data()) == 0) {go = kTRUE;} 00108 // if (! go) continue; 00109 if (!gSystem->OpenDirectory(dirname.Data())) { 00110 if (gSystem->mkdir(dirname.Data())) { 00111 cout << "Directoty " << dirname << " creation failed" << endl; 00112 } 00113 } 00114 ofstream *out = new ofstream(path.Data()); 00115 cout << "Open " << path.Data() << endl; 00116 t->SavePrimitive(*out,""); 00117 delete out; 00118 } 00119 } 00120 }
1.5.9