00001 #ifndef ArchFitScanResult_H
00002 #define ArchFitScanResult_H
00003
00004 #include <vector>
00005 #include <is/isinfo.h>
00006 #include "SctData/ConfigurationVariable.h"
00007 #include "SctData/FitScanResult.h"
00008 #include "SctData/FitScanResultIOHelper.h"
00009 #include "SctData/FitObject.h"
00010 #include "Sct/SctNames.h"
00011 #include "ArchScanResult.h"
00012
00013 class TFile;
00014 class TDirectory;
00015 class TObject;
00016 class TSystem;
00017 class TNamed;
00018 class TString;
00019 class TObjString;
00020 class TH1D;
00021 class TH2;
00022
00023
00024 using namespace SctData;
00025 using namespace Sct;
00026 using namespace boost;
00027
00028 class ArchFitScanResult: public ArchScanResult {
00029 private:
00030
00031
00032
00033 shared_ptr<const FitScanResult> theFit;
00034 static bool inMap;
00035
00036 ArchFitScanResult(shared_ptr<const FitScanResult> fit);
00037
00038
00039 public:
00040
00041 ArchFitScanResult();
00042
00043 virtual shared_ptr<ArchScanResult> clone(shared_ptr<ScanResult> scan) {
00044 shared_ptr<FitScanResult> fit = dynamic_pointer_cast<FitScanResult>(scan);
00045 return shared_ptr<ArchScanResult>(new ArchFitScanResult(fit));
00046 }
00047
00048 ~ArchFitScanResult();
00049
00050 void SetFitScan(shared_ptr<const FitScanResult> );
00051
00052 void SaveFitScan();
00053 void SaveFitScan(shared_ptr<const FitScanResult> );
00054 void Save();
00055 void Save(shared_ptr<const FitScanResult> );
00056 bool FitScanIsPersisted();
00057 bool FitScanIsPersisted(shared_ptr<FitScanResult> );
00058 bool FitScanIsPersisted(long scanNumber, long runNumber, string moduleName, const ConfigurationVariable& variable);
00059
00060
00061 FitScanResult* CreateFitScanResult();
00062 FitScanResult* CreateFitScanResult(shared_ptr<FitScanResult>);
00063 FitScanResult* CreateFitScanResult(long scanNumber, long runNumber, string moduleName, const ConfigurationVariable& variable);
00064
00065
00066 void SaveFitComment();
00067
00068
00069
00070 };
00071
00072
00073
00074
00075
00076 #endif