|
|
[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] |
||||
|   | ||||||
|
||||||
001 //-------------------------------------------------------------------------- 002 // File and Version Information: 003 // Consistency.hh,v 1.3 1996/08/25 07:50:33 jake Exp 004 // 005 // Description: 006 // The Consistency class is a top level parent for various 007 // statistical classes 008 // 009 // This class also defines an enum ConsistentStatus for representing 010 // various error conditions 011 // 012 // Return an object of this class from a chisquared calculation, for 013 // example, so that probability and chisquared can be treated 014 // directly. Future subclasses might implement other statistics 015 // (Poisson, etc), and this class could use operations to combine, 016 // print, etc. (Or other statistics could be added to this class, 017 // allowing it to convert between different measures; the uses 018 // will dictate the structure) 019 // 020 // Note: implementation of this class is minimal at present; please 021 // read the comments! 022 // 023 // Environment: 024 // Software developed for the BaBar Detector at the SLAC B-Factory. 025 // 026 // Author List: 027 // Bob Jacobsen 028 // 029 // Copyright Information: 030 // Copyright (C) 1995, 1996 031 // 032 //------------------------------------------------------------------------ 033 034 #ifndef CONSISTENCY_HH 035 #define CONSISTENCY_HH 036 037 //----------------- 038 // BaBar Headers -- 039 //----------------- 040 #include "BaBar/BaBar.hh" 041 042 class Consistency { 043 044 public: 045 046 // default constructor; sets internal state to noMeasure 047 Consistency(); 048 049 virtual ~Consistency() {} 050 051 // abstract virtual member for returning the statistical consistency 052 // of the represented observation 053 virtual double consistency() const = 0; 054 055 // represent the various ways that a statistical measure could be bad 056 enum ConsistentStatus { OK, noMeasure, underFlow, unPhysical}; 057 058 // OK just that; usable statistical data 059 // noMeasure no statistical statement possible; DOF == 0, for example. 060 // may or may not be consistent 061 // underFlow probability too small to calculate with; may or may not want 062 // to treat as zero, but value may have been treated by machine 063 // underflow handling 064 // unPhysical because of a "can't happen" condition, probability is 065 // identically equal to zero; 066 067 // return the status 068 ConsistentStatus status() const {return _stat;} 069 070 // use as a double returns the consistency value; this member is 071 // intended as just a convenience, and may be removed if it makes 072 // trouble. 073 inline operator double() const { return consistency(); } 074 075 const char* rcsId( ) const; 076 077 protected: 078 ConsistentStatus _stat; 079 }; 080 081 #endif 082
| [ source navigation ] | [ diff markup ] | [ identifier search ] | [ freetext search ] | [ file search ] |
| This page was automatically generated by the LXR engine. The LXR team |
|