00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00014
00015 #ifndef GUARD_STATISTICALFLUCTUATIONS_H
00016 #define GUARD_STATISTICALFLUCTUATIONS_H
00017
00018
00019 #include "SubsetStat.h"
00020 #include "AlignmentStrip.h"
00021
00022
00023 #include "Plex/PlexHandle.h"
00024
00025
00026 #include <map>
00027 #include <vector>
00028
00029 using std::map;
00030 using std::vector;
00031
00032 class NtpAlignmentRecord;
00033
00034 class StatisticalFluctuations
00035 {
00036
00037 public:
00038
00039 StatisticalFluctuations(const VldContext &vldc);
00040
00041 virtual ~StatisticalFluctuations();
00042
00043 void Fill(const AlignmentStrip &astrip);
00044
00045 void Reset(const VldContext &vldc, const int ntracks);
00046
00047 unsigned int GetNSubsets() const {return fNumberOfSubsets;};
00048
00049 map<unsigned int, map<PlexStripEndId, SubsetSummary> > GetStripResidualSample() const
00050 { return fmStripResidualSample;}
00051
00052 map<unsigned int, map<PlexScintMdlId, SubsetSummary> > GetModuleResidualSample() const
00053 { return fmMdlResidualSample;}
00054
00055 map<unsigned int, map<PlexStripEndId, SubsetSummary> > GetStripChargeSample() const
00056 { return fmStripChargeSample;}
00057
00058 map<unsigned int, VldContext> GetSubsetValidity() const
00059 { return fmValidity;}
00060
00061 map<unsigned int, int> GetSubsetNRecords() const
00062 { return fmNRecords;}
00063
00064 private:
00065
00066
00067 void FillStripSubsetStat(map<PlexStripEndId, SubsetStat> &set,
00068 const PlexStripEndId &plexseid,
00069 const double &value);
00070
00071
00072 void FillModuleSubsetStat(map<PlexScintMdlId, SubsetStat> &set,
00073 const PlexScintMdlId &plexmdlid,
00074 const double &value);
00075
00076
00077 map<PlexStripEndId, SubsetStat> fmStripResidualCurrentSubset;
00078 map<unsigned int, map<PlexStripEndId, SubsetSummary> > fmStripResidualSample;
00079
00080
00081 map<PlexStripEndId, SubsetStat> fmStripChargeCurrentSubset;
00082 map<unsigned int, map<PlexStripEndId, SubsetSummary> > fmStripChargeSample;
00083
00084
00085 map<PlexScintMdlId, SubsetStat> fmMdlResidualCurrentSubset;
00086 map<unsigned int, map<PlexScintMdlId, SubsetSummary> > fmMdlResidualSample;
00087
00088
00089 map<unsigned int, VldContext> fmValidity;
00090
00091
00092 map<unsigned int, int> fmNRecords;
00093
00094 unsigned int fNumberOfSubsets;
00095 };
00096
00097 #endif //GUARD_TRACKTIMEVARIATION_H