Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

StatisticalFluctuations.h

Go to the documentation of this file.
00001 
00002 //
00003 //
00004 // Simple class to track variations on strip and module residuals
00005 // and strip charges between subsets of data
00006 //
00007 // Package: DetectorAlignment
00008 //
00009 // Contact: rustem@fnal.gov
00010 //
00011 // Created on: Mon Jul 25 21:26:05 2005
00012 //
00014 
00015 #ifndef GUARD_STATISTICALFLUCTUATIONS_H
00016 #define GUARD_STATISTICALFLUCTUATIONS_H
00017 
00018 //Local
00019 #include "SubsetStat.h"
00020 #include "AlignmentStrip.h"
00021 
00022 //MINOS
00023 #include "Plex/PlexHandle.h"
00024 
00025 //C++
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    //in set find plexseid and insert value in SubsetStat object
00067    void FillStripSubsetStat(map<PlexStripEndId, SubsetStat> &set, 
00068                             const PlexStripEndId &plexseid, 
00069                             const double &value);
00070 
00071    //in set find plexmdlid and insert value in SubsetStat object
00072    void FillModuleSubsetStat(map<PlexScintMdlId, SubsetStat> &set, 
00073                              const PlexScintMdlId &plexmdlid, 
00074                              const double &value);
00075 
00076    //Strip residual statistical sample
00077    map<PlexStripEndId, SubsetStat> fmStripResidualCurrentSubset;
00078    map<unsigned int, map<PlexStripEndId, SubsetSummary> > fmStripResidualSample;
00079 
00080    //Strip charge statistical sample
00081    map<PlexStripEndId, SubsetStat> fmStripChargeCurrentSubset;
00082    map<unsigned int, map<PlexStripEndId, SubsetSummary> > fmStripChargeSample;
00083 
00084    //Module residual statistical sample
00085    map<PlexScintMdlId, SubsetStat> fmMdlResidualCurrentSubset;
00086    map<unsigned int, map<PlexScintMdlId, SubsetSummary> > fmMdlResidualSample;
00087 
00088    //Validity context at the beggining of each subset
00089    map<unsigned int, VldContext> fmValidity;
00090 
00091    //Number of records in a subset
00092    map<unsigned int, int> fmNRecords;
00093 
00094    unsigned int fNumberOfSubsets;
00095 };
00096 
00097 #endif //GUARD_TRACKTIMEVARIATION_H

Generated on Mon Feb 15 11:07:39 2010 for loon by  doxygen 1.3.9.1