00001 #ifndef ArchNPtGainTestResult_H
00002 #define ArchNPtGainTestResult_H
00003
00004 #include "Sct/SctNames.h"
00005 #include "ArchTestResult.h"
00006 #include "SctData/NPtGainTestResult.h"
00007 #include "TVectorD.h"
00008 #include <vector>
00009 #include <boost/shared_ptr.hpp>
00010
00011
00012 using boost::shared_ptr;
00013 using namespace SctData;
00014 using namespace Sct;
00015
00016
00017 class ArchNPtGainTestResult: public ArchTestResult {
00018
00019 private:
00020
00021 vector<const NPtGainTestResultData*> chipData;
00022 vector<const NPtGainTestResultData*> channelData;
00023 unsigned int NChipData;
00024 unsigned int NChannelData;
00025
00026 vector<shared_ptr<TF1> > Chipfit;
00027 vector<shared_ptr<TGraph> > ChipGraph;
00028 TVectorD* vChipGain;
00029 TVectorD* vChipNoise;
00030 TVectorD* vChipOffset;
00031
00032 vector<shared_ptr<TF1> > Channelfit;
00033 vector<shared_ptr<TGraph> > ChannelGraph;
00034 TVectorD* vChannelGain;
00035 TVectorD* vChannelNoise;
00036 TVectorD* vChannelOffset;
00037
00038 static bool inMap;
00039
00040 ArchNPtGainTestResult(shared_ptr<NPtGainTestResult>);
00041
00042 public:
00043
00044 ArchNPtGainTestResult();
00045 virtual shared_ptr<ArchTestResult> clone(shared_ptr<TestResult> test) {
00046 shared_ptr<NPtGainTestResult> NPtest = dynamic_pointer_cast<NPtGainTestResult>(test);
00047 return shared_ptr<ArchTestResult>(new ArchNPtGainTestResult(NPtest));
00048 }
00049 ~ArchNPtGainTestResult();
00050
00051 void SaveNPtGainTestDataOnly();
00052 void Save();
00053 void TestSummary(shared_ptr<NPtGainTestResult>);
00054
00055 };
00056
00057
00058 #endif