Changeset 1477 for trunk/MagicSoft
- Timestamp:
- 08/02/02 15:20:53 (22 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r1474 r1477 30 30 * mhist/MH3.[h,cc]: 31 31 - implemented default constructor 32 33 * manalysis/MHillasSrcCalc.[h,cc], manalysis/MImgCleanStd.[h,cc], 34 manalysis/MSrcPosCam.[h,cc], mbase/MParList.[h,cc], mbase/MTask.h, 35 mbase/MTaskList.[h,cc], mfileio/MReadTree.[h,cc], 36 mfileio/MWriteRootFile.[h,cc], mhist/MBinning.[h,cc], 37 mhist/MFillH.[h,cc], mhist/MH3.[h,cc]: 38 - renamed SavePrimitive to StreamPrimitive 39 - implemented more accurate streaming 40 - removed some "//!" from the data members 41 42 * mbase/MParContainer.[h,cc]: 43 - new virtual function StreamPrimitive 44 - implemented flag whether this container has been streamed already 45 46 * mbase/MTask.[h,cc]: 47 - corrected streaming of primitive to stream filters correctly 48 - increased version number to 1 49 50 * mhist/MBinning.[h,cc]: 51 - move SetEdges and SetEdgesLog to the source file 52 - implemented a flag telling something about the type of the binning 32 53 33 54 -
trunk/MagicSoft/Mars/NEWS
r1472 r1477 65 65 instead of removing it completely from the analysis 66 66 67 - started a first implementation to be able to write the eventloop/ 68 eventloop setup to a file (root-file, root-macro) 67 - Implemented the possibility to save the whole eventloop with 68 its setup to a file. This information can be read and from 69 it you can (re)create a Macro. See MEvtLoop::Read, MEvtLoop::Write 70 and MEvtLoop::MakeMacro. If you find something not working, please 71 report - this stuff is still in a beta phase. 69 72 70 73 -
trunk/MagicSoft/Mars/manalysis/MHillasSrcCalc.cc
r1476 r1477 37 37 #include "MParList.h" 38 38 39 #include "MSrcPosCam.h" 39 40 #include "MHillasSrc.h" 40 41 … … 103 104 // gui elements to a macro-file. 104 105 // 105 void MHillasSrcCalc::S avePrimitive(ofstream &out, Option_t *o)106 void MHillasSrcCalc::StreamPrimitive(ofstream &out) const 106 107 { 107 out << " MHillasSrcCalc " << ToLower(fName) << "(\""; 108 out << fSrcName << "\", \"" << fHillasName << "\", \""; 109 out << fName << "\", \"" << fTitle << "\");" << endl; 108 if (fHillas) 109 fHillas->SavePrimitive(out); 110 111 if (fSrcPos) 112 fSrcPos->SavePrimitive(out); 113 114 if (fHillasSrc) 115 fHillasSrc->SavePrimitive(out); 116 117 out << " MHillasSrcCalc " << ToLower(fName) << "("; 118 119 if (fSrcPos) 120 out << "&" << ToLower(fSrcPos->GetName()); 121 else 122 out << "\"" << fSrcName << "\""; 123 124 if (fHillasSrc) 125 out << "&" << ToLower(fHillasSrc->GetName()); 126 else 127 out << "\"" << fHillasName << "\""; 128 129 out << ", \"" << fName << "\", \"" << fTitle << "\");" << endl; 110 130 } -
trunk/MagicSoft/Mars/manalysis/MHillasSrcCalc.h
r1474 r1477 13 13 { 14 14 private: 15 MHillas *fHillas; // !Pointer to the source independant hillas parameters16 MSrcPosCam *fSrcPos; // !Pointer to the source position17 MHillasSrc *fHillasSrc; // !Pointer to the output container for the source dependant parameters15 MHillas *fHillas; // Pointer to the source independant hillas parameters 16 MSrcPosCam *fSrcPos; // Pointer to the source position 17 MHillasSrc *fHillasSrc; // Pointer to the output container for the source dependant parameters 18 18 19 19 TString fSrcName; 20 20 TString fHillasName; 21 22 void StreamPrimitive(ofstream &out) const; 21 23 22 24 public: … … 27 29 Bool_t Process(); 28 30 29 void SavePrimitive(ofstream &out, Option_t *o="");30 31 31 ClassDef(MHillasSrcCalc, 1) // task to calculate the source position depandant hillas parameters 32 32 }; -
trunk/MagicSoft/Mars/manalysis/MImgCleanStd.cc
r1476 r1477 414 414 // gui elements to a macro-file. 415 415 // 416 void MImgCleanStd::S avePrimitive(ofstream &out, Option_t *o)416 void MImgCleanStd::StreamPrimitive(ofstream &out) const 417 417 { 418 418 out << " MImgCleanStd " << ToLower(fName) << "("; -
trunk/MagicSoft/Mars/manalysis/MImgCleanStd.h
r1471 r1477 21 21 22 22 void CreateGuiElements(MGGroupFrame *f); 23 void StreamPrimitive(ofstream &out) const; 23 24 24 25 public: … … 34 35 35 36 void Print(Option_t *o="") const; 36 void SavePrimitive(ofstream &out, Option_t *o="");37 37 38 38 Bool_t ProcessMessage(Int_t msg, Int_t submsg, Long_t param1, Long_t param2); -
trunk/MagicSoft/Mars/manalysis/MSrcPosCam.cc
r1476 r1477 88 88 // gui elements to a macro-file. 89 89 // 90 void MSrcPosCam::S avePrimitive(ofstream &out, Option_t *o)90 void MSrcPosCam::StreamPrimitive(ofstream &out) const 91 91 { 92 92 out << " MSrcPosCam " << ToLower(fName) << "(\""; -
trunk/MagicSoft/Mars/manalysis/MSrcPosCam.h
r1471 r1477 11 11 Float_t fX; // [mm] x position of source in camera 12 12 Float_t fY; // [mm] y position of source in camera 13 14 void StreamPrimitive(ofstream &out) const; 13 15 14 16 public: … … 29 31 //void AsciiWrite(ofstream &fout) const; 30 32 31 void SavePrimitive(ofstream &out, Option_t *o="");32 33 33 ClassDef(MSrcPosCam, 1) // container to store source position in the camera plain 34 34 }; -
trunk/MagicSoft/Mars/mbase/MParContainer.cc
r1476 r1477 80 80 fTitle = rhs.fTitle; 81 81 82 fLog 82 fLog = rhs.fLog; 83 83 fReadyToSave = rhs.fReadyToSave; 84 84 … … 123 123 cont.fTitle = fTitle; 124 124 125 cont.fLog 125 cont.fLog = fLog; 126 126 cont.fReadyToSave = fReadyToSave; 127 127 } … … 168 168 { 169 169 fName = name; 170 ResetBit(kIsSavedAsPrimitive); 170 171 if (gPad && TestBit(kMustCleanup)) gPad->Modified(); 171 172 } … … 180 181 fName = name; 181 182 fTitle = title; 183 ResetBit(kIsSavedAsPrimitive); 182 184 if (gPad && TestBit(kMustCleanup)) gPad->Modified(); 183 185 } … … 190 192 { 191 193 fTitle = title; 194 ResetBit(kIsSavedAsPrimitive); 192 195 if (gPad && TestBit(kMustCleanup)) gPad->Modified(); 193 196 } … … 356 359 void MParContainer::SavePrimitive(ofstream &out, Option_t *o) 357 360 { 358 out << " // SavePrimitive not overloaded... using default." << endl; 361 if (IsSavedAsPrimitive()) 362 return; 363 364 StreamPrimitive(out); 365 SetBit(kIsSavedAsPrimitive); 366 } 367 368 // -------------------------------------------------------------------------- 369 // 370 // Creates the string written by SavePrimitive and returns it. 371 // 372 void MParContainer::StreamPrimitive(ofstream &out) const 373 { 374 out << " // Using MParContainer::StreamPrimitive" << endl; 359 375 out << " " << ClassName() << " " << ToLower(fName) << "(\""; 360 376 out << fName << "\", \"" << fTitle << "\");" << endl; -
trunk/MagicSoft/Mars/mbase/MParContainer.h
r1474 r1477 34 34 MLog *fLog; // The general log facility for this object, initialized with the global object 35 35 36 virtual void StreamPrimitive(ofstream &out) const; 37 36 38 private: 37 39 Bool_t fReadyToSave; // should be set to true if the contents of the container is changed somehow 40 41 enum { 42 kIsSavedAsPrimitive = BIT(15) 43 }; 38 44 39 45 public: … … 67 73 virtual Bool_t IsReadyToSave() const { return fReadyToSave; } 68 74 virtual void SetReadyToSave(Bool_t flag=kTRUE) { fReadyToSave=flag; } 75 virtual Bool_t IsSavedAsPrimitive() const { return TestBit(kIsSavedAsPrimitive); } 69 76 70 77 TMethodCall *GetterMethod(const char *name) const; -
trunk/MagicSoft/Mars/mbase/MParList.cc
r1476 r1477 666 666 // gui elements to a macro-file. 667 667 // 668 void MParList::S avePrimitive(ofstream &out, Option_t *o)668 void MParList::StreamPrimitive(ofstream &out) const 669 669 { 670 670 out << " MParList " << ToLower(fName) << "(\""; … … 677 677 { 678 678 cont->SavePrimitive(out, ""); 679 679 680 out << " " << ToLower(fName) << ".AddToList(&"; 680 681 out << ToLower(cont->GetName()) << ");" << endl << endl; … … 691 692 { 692 693 MParContainer::SetNames(arr); 693 cout << fContainer << endl; 694 // fContainer->ForEach(MParContainer, SetNames)(arr); 695 TIter Next(fContainer); 696 697 MParContainer *cont = NULL; 698 while ((cont=(MParContainer*)Next())) 699 { 700 cout << cont << " " << cont->GetName() << endl; 701 cont->SetNames(arr); 702 } 703 704 } 705 694 fContainer->ForEach(MParContainer, SetNames)(arr); 695 } 696 -
trunk/MagicSoft/Mars/mbase/MParList.h
r1474 r1477 32 32 33 33 enum { kIsOwner = BIT(14) }; 34 35 void StreamPrimitive(ofstream &out) const; 34 36 35 37 public: … … 78 80 79 81 void Print(Option_t *t = NULL) const; 80 void SavePrimitive(ofstream &out, Option_t *o="");81 82 82 83 void GetNames(TObjArray &arr) const; -
trunk/MagicSoft/Mars/mbase/MTask.cc
r1476 r1477 265 265 // -------------------------------------------------------------------------- 266 266 // 267 // Implementation of SavePrimitive. Used to write the call to a constructor268 // to a macro. In the original root implementation it is used to write269 // gui elements to a macro-file.270 // 271 void MTask::SavePrimitive(ofstream &out, Option_t *o )267 // First call MParContainer::SavePrimitive which should stream the primitive 268 // to the output stream. Then, if a filter is set, stream first the filter 269 // and afterwards set the filter for this task. 270 // 271 void MTask::SavePrimitive(ofstream &out, Option_t *o="") 272 272 { 273 273 MParContainer::SavePrimitive(out); 274 if (fFilter) 275 out << " " << ToLower(fName) << ".SetFilter(&" << ToLower(fFilter->GetName()) <<");" << endl; 276 } 274 if (!fFilter) 275 return; 276 277 /* 278 If we don't stream filter which are not in the task list itself 279 (which means: alrteady streamed) we may be able to use the 280 primitive streamer as some kind of validity check for the macros 281 282 fFilter->SavePrimitive(out); 283 out << " " << ToLower(fName) << ".SetFilter(&" << ToLower(fFilter->GetName()) <<");" << endl; 284 */ 285 } -
trunk/MagicSoft/Mars/mbase/MTask.h
r1474 r1477 22 22 { 23 23 private: 24 TList *fListOfBranches; // List of Branch names for auto enabeling scheme24 TList *fListOfBranches; //! List of Branch names for auto enabeling scheme 25 25 26 26 const MFilter *fFilter; // Filter for conditional task execution 27 27 28 Bool_t fIsPreprocessed; // Indicates the success of the PreProcessing (set by MTaskList)29 UInt_t fNumExecutions; // Number of Excutions28 Bool_t fIsPreprocessed; //! Indicates the success of the PreProcessing (set by MTaskList) 29 UInt_t fNumExecutions; //! Number of Excutions 30 30 31 31 virtual Bool_t PreProcess(MParList *pList); … … 71 71 const MFilter *GetFilter() const { return fFilter; } 72 72 virtual void PrintStatistics(const Int_t lvl=0) const; 73 virtual void SavePrimitive(ofstream &out, Option_t *o="");74 73 75 74 UInt_t GetNumExecutions() { return fNumExecutions; } … … 83 82 const TList *GetListOfBranches() const { return fListOfBranches; } 84 83 85 ClassDef(MTask, 0) //Abstract base class for a task 84 void SavePrimitive(ofstream &out, Option_t *o=""); 85 86 ClassDef(MTask, 1) //Abstract base class for a task 86 87 }; 87 88 -
trunk/MagicSoft/Mars/mbase/MTaskList.cc
r1476 r1477 520 520 // gui elements to a macro-file. 521 521 // 522 void MTaskList::S avePrimitive(ofstream &out, Option_t *o)522 void MTaskList::StreamPrimitive(ofstream &out) const 523 523 { 524 524 out << " MTaskList " << ToLower(fName) << "(\""; -
trunk/MagicSoft/Mars/mbase/MTaskList.h
r1474 r1477 33 33 Bool_t CheckClassForProcess(TClass *cls); 34 34 35 void StreamPrimitive(ofstream &out) const; 36 35 37 public: 36 38 MTaskList(const char *name=NULL, const char *title=NULL); … … 56 58 void SetOwner(Bool_t enable=kTRUE); 57 59 58 void SavePrimitive(ofstream &out, Option_t *o="");59 60 60 const TList *GetList() const { return fTasks; } 61 61 -
trunk/MagicSoft/Mars/mfileio/MReadTree.cc
r1476 r1477 783 783 // gui elements to a macro-file. 784 784 // 785 void MReadTree::S avePrimitive(ofstream &out, Option_t *o)785 void MReadTree::StreamPrimitive(ofstream &out) const 786 786 { 787 787 TString name = ToLower(fName); -
trunk/MagicSoft/Mars/mfileio/MReadTree.h
r1472 r1477 36 36 37 37 virtual void SetReadyToSave(Bool_t flag=kTRUE); 38 virtual void StreamPrimitive(ofstream &out) const; 38 39 39 40 enum { kIsOwner = BIT(14) }; … … 72 73 73 74 virtual Bool_t Notify(); 74 virtual void SavePrimitive(ofstream &out, Option_t *o="");75 75 76 76 ClassDef(MReadTree, 1) // Reads a tree from file(s) -
trunk/MagicSoft/Mars/mfileio/MWriteRootFile.cc
r1476 r1477 403 403 // gui elements to a macro-file. 404 404 // 405 void MWriteRootFile::S avePrimitive(ofstream &out, Option_t *o)405 void MWriteRootFile::StreamPrimitive(ofstream &out) const 406 406 { 407 407 out << " MWriteRootFile " << ToLower(fName) << "(\""; … … 416 416 while ((entry=(MRootFileBranch*)Next())) 417 417 { 418 out << " " << ToLower(fName) << ".AddContainer(\""; 419 out << entry->GetContName() << "\", \""; 420 out << entry->GetName() << "\", \""; 418 if (entry->GetContainer()) 419 { 420 entry->GetContainer()->SavePrimitive(out); 421 out << "&" << ToLower(entry->GetContainer()->GetName()); 422 } 423 else 424 out << "\"" << entry->GetContName() << "\""; 425 426 out << ", \"" << entry->GetName() << "\", \""; 421 427 out << entry->GetTitle() << "\");" << endl; 422 428 } -
trunk/MagicSoft/Mars/mfileio/MWriteRootFile.h
r1472 r1477 19 19 TBranch *fBranch; //! 20 20 21 MParContainer *fContainer; //!21 MParContainer *fContainer; 22 22 TString fContName; 23 23 … … 74 74 const char *GetFileName() const; 75 75 76 void StreamPrimitive(ofstream &out) const; 77 76 78 public: 77 79 MWriteRootFile(); … … 92 94 93 95 void Print(Option_t *t=NULL) const; 94 void SavePrimitive(ofstream &out, Option_t *o="");95 96 96 97 ClassDef(MWriteRootFile, 1) // Class to write one container to a root file -
trunk/MagicSoft/Mars/mhist/MBinning.cc
r1476 r1477 50 50 51 51 SetEdges(10, 0, 1); 52 53 fType = kIsDefault; 52 54 } 53 55 56 // -------------------------------------------------------------------------- 57 // 58 // Specify the number of bins (not the number of edges), the lowest and 59 // highest Edge. 60 // 61 void MBinning::SetEdges(const Int_t nbins, const Axis_t lo, Axis_t up) 62 { 63 const Double_t binsize = (up-lo)/nbins; 64 fEdges.Set(nbins+1); 65 for (int i=0; i<=nbins; i++) 66 fEdges[i] = binsize*i + lo; 67 68 fType = kIsLinear; 69 } 70 71 // -------------------------------------------------------------------------- 72 // 73 // Specify the number of bins (not the number of edges), the lowest and 74 // highest Edge. 75 // 76 void MBinning::SetEdgesLog(const Int_t nbins, const Axis_t lo, Axis_t up) 77 { 78 // if (lo==0) ... 79 80 const Double_t binsize = log10(up/lo)/nbins; 81 fEdges.Set(nbins+1); 82 for (int i=0; i<=nbins; i++) 83 fEdges[i] = pow(10, binsize*i) * lo; 84 85 fType = kIsLogarithmic; 86 } 54 87 55 88 // -------------------------------------------------------------------------- … … 70 103 // gui elements to a macro-file. 71 104 // 72 void MBinning::S avePrimitive(ofstream &out, Option_t *o)105 void MBinning::StreamPrimitive(ofstream &out) const 73 106 { 74 out << " TArrayD dummy;" << endl;75 for (int i=0; i<fEdges.GetSize(); i++)76 out << " dummy[" << i << "]=" << fEdges[i] << ";" << endl;77 107 out << " MBinning " << ToLower(fName) << "(\""; 78 108 out << fName << "\", \"" << fTitle << "\");" << endl; 79 out << " " << ToLower(fName) << ".SetEdges(dummy);" << endl; 109 110 if (IsDefault()) 111 return; 112 113 if (IsLinear() || IsLogarithmic()) 114 { 115 out << " " << ToLower(fName) << ".SetEdges"; 116 if (IsLogarithmic()) 117 out << "Log"; 118 out << "(" << GetNumBins() << ", " << GetEdgeLo() << ", " << GetEdgeHi() << ");" << endl; 119 return; 120 } 121 122 out << " {" << endl; 123 out << " TArrayD dummy;" << endl; 124 for (int i=0; i<GetNumEdges(); i++) 125 out << " dummy[" << i << "]=" << GetEdges()[i] << ";" << endl; 126 out << " " << ToLower(fName) << ".SetEdges(dummy);" << endl; 127 out << " }" << endl; 80 128 } -
trunk/MagicSoft/Mars/mhist/MBinning.h
r1474 r1477 17 17 TArrayD fEdges; 18 18 19 Byte_t fType; 20 21 void StreamPrimitive(ofstream &out) const; 22 23 enum { 24 kIsDefault, 25 kIsLinear, 26 kIsLogarithmic, 27 kIsUserArray 28 }; 29 19 30 public: 20 31 MBinning(const char *name=NULL, const char *title=NULL); … … 23 34 { 24 35 fEdges = arr; 36 fType = kIsUserArray; 25 37 } 26 38 27 void SetEdges(const Int_t nbins, const Axis_t lo, Axis_t up) 28 { 29 const Double_t binsize = (up-lo)/nbins; 30 fEdges.Set(nbins+1); 31 for (int i=0; i<=nbins; i++) 32 fEdges[i] = binsize*i + lo; 33 } 34 35 void SetEdgesLog(const Int_t nbins, const Axis_t lo, Axis_t up) 36 { 37 // if (lo==0) ... 38 39 const Double_t binsize = log10(up/lo)/nbins; 40 fEdges.Set(nbins+1); 41 for (int i=0; i<=nbins; i++) 42 fEdges[i] = pow(10, binsize*i) * lo; 43 } 39 void SetEdges(const Int_t nbins, const Axis_t lo, Axis_t up); 40 void SetEdgesLog(const Int_t nbins, const Axis_t lo, Axis_t up); 44 41 45 42 // FIXME: ROOT workaround: "operator[] const" missing 46 Double_t GetEdgeLo() const { return ( *(TArrayD*)(&fEdges))[0]; }47 Double_t GetEdgeHi() const { return ( *(TArrayD*)(&fEdges))[fEdges.GetSize()-1]; }43 Double_t GetEdgeLo() const { return ((TArrayD)fEdges)[0]; } 44 Double_t GetEdgeHi() const { return ((TArrayD)fEdges)[fEdges.GetSize()-1]; } 48 45 49 46 Int_t GetNumEdges() const { return fEdges.GetSize(); } … … 52 49 Double_t *GetEdges() const { return fEdges.GetArray(); } 53 50 51 Bool_t IsLinear() const { return fType==kIsLinear; } 52 Bool_t IsLogarithmic() const { return fType==kIsLogarithmic; } 53 Bool_t IsDefault() const { return fType==kIsDefault; } 54 Bool_t IsUserArray() const { return fType==kIsUserArray; } 55 54 56 void Apply(TH1 &); 55 56 void SavePrimitive(ofstream &out, Option_t *o="");57 57 58 58 ClassDef(MBinning, 1) //Container to store the binning of a histogram -
trunk/MagicSoft/Mars/mhist/MFillH.cc
r1476 r1477 156 156 // 157 157 // 158 MFillH::MFillH(const char *hist, constMParContainer *par, const char *name, const char *title)158 MFillH::MFillH(const char *hist, MParContainer *par, const char *name, const char *title) 159 159 { 160 160 Init(name, title); … … 192 192 // derived from MH) 193 193 // 194 MFillH::MFillH(MH *hist, constMParContainer *par, const char *name, const char *title)194 MFillH::MFillH(MH *hist, MParContainer *par, const char *name, const char *title) 195 195 { 196 196 Init(name, title); … … 350 350 // gui elements to a macro-file. 351 351 // 352 void MFillH::SavePrimitive(ofstream &out, Option_t *o) 353 { 354 out << " MFillH " << ToLower(fName) << "(\""; 355 out << fHName << "\", \"" << fParContainerName << "\");" << endl; 356 } 352 void MFillH::StreamPrimitive(ofstream &out) const 353 { 354 if (fH) 355 fH->SavePrimitive(out); 356 357 if (fParContainer) 358 fParContainer->SavePrimitive(out); 359 360 out << " MFillH " << ToLower(fName) << "("; 361 362 if (fH) 363 out << "&" << ToLower(fH->GetName()); 364 else 365 out << "\"" << fHName << "\""; 366 out << ", "; 367 368 if (fParContainer) 369 out << "&" << ToLower(fParContainer->GetName()); 370 else 371 out << "\"" << fParContainerName << "\""; 372 373 out << ");" << endl; 374 } -
trunk/MagicSoft/Mars/mhist/MFillH.h
r1472 r1477 12 12 { 13 13 private: 14 const MParContainer *fParContainer; //!14 MParContainer *fParContainer; 15 15 TString fParContainerName; 16 16 17 MH* fH; //!17 MH* fH; 18 18 TString fHName; 19 19 … … 23 23 void Init(const char *name, const char *title); 24 24 25 void StreamPrimitive(ofstream &out) const; 26 25 27 public: 26 28 MFillH(); 27 MFillH(const char *hist, const char *par=NULL, 28 MFillH(const char *hist, const MParContainer *par,const char *name=NULL, const char *title=NULL);29 MFillH(MH *hist, const char *par=NULL, 30 MFillH(MH *hist, const MParContainer *par,const char *name=NULL, const char *title=NULL);29 MFillH(const char *hist, const char *par=NULL, const char *name=NULL, const char *title=NULL); 30 MFillH(const char *hist, MParContainer *par, const char *name=NULL, const char *title=NULL); 31 MFillH(MH *hist, const char *par=NULL, const char *name=NULL, const char *title=NULL); 32 MFillH(MH *hist, MParContainer *par, const char *name=NULL, const char *title=NULL); 31 33 32 34 Bool_t PreProcess(MParList *pList); 33 35 Bool_t Process(); 34 36 Bool_t PostProcess(); 35 36 void SavePrimitive(ofstream &out, Option_t *o="");37 37 38 38 ClassDef(MFillH, 1) // Task to fill a histogram with data from a parameter container -
trunk/MagicSoft/Mars/mhist/MH3.cc
r1476 r1477 384 384 // gui elements to a macro-file. 385 385 // 386 void MH3::S avePrimitive(ofstream &out, Option_t *o)386 void MH3::StreamPrimitive(ofstream &out) 387 387 { 388 388 TString name = ToLower(fName); -
trunk/MagicSoft/Mars/mhist/MH3.h
r1474 r1477 23 23 MDataChain *fData[3]; // Object from which the data is filled 24 24 Double_t fScale[3]; 25 26 void StreamPrimitive(ofstream &out); 25 27 26 28 public: … … 49 51 TObject *DrawClone(Option_t *opt=NULL) const; 50 52 51 void SavePrimitive(ofstream &out, Option_t *o="");52 53 53 ClassDef(MH3, 1) // Generalized 1/2/3D-histogram for Mars variables 54 54 };
Note:
See TracChangeset
for help on using the changeset viewer.