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/FitScanResult.h"
00011 #include "SctData/ModuleConfiguration.h"
00012 #include "SctData/ScanResult.h"
00013 #include "SctData/ScanResultIOHelper.h"
00014 #include "SctData/ScanHeader.h"
00015 #include "SctData/ScanHeaderIOHelper.h"
00016 #include "Sct/SctNames.h"
00017 #include <TGraph.h>
00018 #include <TObjString.h>
00019 #include "Archiving.h"
00020 #include "ArchScanTxtNames.h"
00021
00022
00023
00024 class TFile;
00025 class TDirectory;
00026 class TObject;
00027 class TVector;
00028 class TVectorD;
00029 class TSystem;
00030 class TNamed;
00031 class TString;
00032 class TObjString;
00033 class TH1;
00034 class TH2;
00035
00036
00037 using namespace SctData;
00038 using namespace Sct;
00039
00040
00041 class ArchScanResult: public Archiving {
00042
00043 protected:
00044
00045 const ScanResult* Archscan;
00046 const ScanHeader* Archheader;
00047 const ModuleConfiguration* ArchmoduleConfig;
00048 const ScanPoints* Archpoints;
00049 const ConfigurationVariable* Archvariable;
00050
00051 const ABCDModule ABCDModuleConfig;
00052
00053 TGraph* gpoints;
00054 TVector* vpoints;
00055 TVector* vNEvents;
00056 TVector* vNErrorEvents;
00057
00058
00059 string moduleName;
00060 unsigned int scanNumber;
00061 unsigned int runNumber;
00062 double threshold;
00063 ArchScanTxtNames* names;
00064 vector <string> SavedScansList;
00065 string objName;
00066
00067
00068 TObjString getModuleConfigTObjString();
00069
00070 ArchScanResult(shared_ptr<const ScanResult> scan);
00071
00072 public:
00073
00074 ArchScanResult();
00075 ~ArchScanResult();
00076 virtual shared_ptr<ArchScanResult> clone(shared_ptr<ScanResult> scan) = 0;
00077
00078 void SetScan(shared_ptr<const 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 virtual void Save();
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108 };
00109
00110
00111 #endif