00001 #ifndef ArchScan_H 00002 #define ArchScan_H 00003 00004 #include <vector> 00005 #include <string> 00006 00007 #include <is/isinfo.h> 00008 #include "SctData/ConfigurationVariable.h" 00009 #include "SctData/RawScanResult.h" 00010 #include "SctData/ModuleConfiguration.h" 00011 #include "SctData/ScanResult.h" 00012 #include "SctData/ScanResultIOHelper.h" 00013 #include "SctData/ScanHeader.h" 00014 #include "SctData/ScanHeaderIOHelper.h" 00015 #include "Sct/SctNames.h" 00016 #include <TGraph.h> 00017 #include <TObjString.h> 00018 #include "Archiving.h" 00019 #include "ArchScanTxtNames.h" 00020 00021 00022 00023 class TFile; 00024 class TDirectory; 00025 class TObject; 00026 class TVector; 00027 class TVectorD; 00028 class TSystem; 00029 class TNamed; 00030 class TString; 00031 class TObjString; 00032 class TH1; 00033 class TH2; 00034 00035 00036 using namespace SctData; 00037 using namespace Sct; 00038 00039 00040 class ArchScanResult: public Archiving { 00041 00042 protected: 00043 00044 const ScanResult* Archscan; 00045 const ScanHeader* Archheader; 00046 const ModuleConfiguration* ArchmoduleConfig; 00047 const ScanPoints* Archpoints; 00048 const ConfigurationVariable* Archvariable; 00049 00050 const ABCDModule ABCDModuleConfig; 00051 00052 TGraph* gpoints; //ScanPoints data 00053 TVector* vpoints; 00054 TVector* vNEvents; 00055 TVector* vNErrorEvents; 00056 00057 00058 string moduleName; 00059 unsigned int scanNumber; 00060 unsigned int runNumber; 00061 double threshold; 00062 ArchScanTxtNames* names; 00063 vector <string> SavedScansList; //to be deleted 00064 string objName; //To be deleted 00065 00066 00067 TObjString getModuleConfigTObjString(); 00068 00069 00070 public: 00071 ArchScanResult(const ScanResult &); 00072 //ArchScanResult(shared_ptr<const ScanResult> ); 00073 ArchScanResult(); 00074 ~ArchScanResult(); 00075 00076 //TObjString getModuleConfigTObjString(string & , ABCDModule &); is it needed?? 00077 00078 void SetScan(ScanResult & ); 00079 00080 void SetTestType(string ); 00081 00082 const vector <string>& getAllSavedScansList(); 00083 void AddScanToIndex(); 00084 00085 00086 void SaveFileComment(); 00087 void SaveRunComment(); 00088 void SaveModuleComment(); 00089 void SaveTestComment(); 00090 void SaveScanTypeComment(); 00091 void SaveScanNumberComment(); 00092 void SaveRODComment(); 00093 void SaveVariableComment(); 00094 00095 //void SaveScan(); //it should do both raw and fit or might be virtual 00096 //void SaveScan(ScanResult & s); 00097 //bool ScanIsPersisted(); 00098 //bool ScanIsPersisted(ScanResult &); 00099 //void DeletePersObj(); 00100 //ScanResult* CreateScanResult(); 00101 //ScanResult* CreateScanResult(ScanResult &); 00102 00103 00104 00105 00106 00107 }; 00108 00109 00110 #endif