Ignore:
Timestamp:
03/29/04 18:55:40 (21 years ago)
Author:
gaug
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mbadpixels/MBadPixelsPix.h

    r3559 r3601  
    2727
    2828    // All types are initialized to normal behaviour
    29     enum CalibrationType_t {
    30       kHiGainSaturation         = BIT(1),
    31       kLoGainSaturation         = BIT(2),
     29    enum UncalibratedType_t {
     30      kHiGainNotCalibrated      = BIT(1),
     31      kLoGainNotCalibrated      = BIT(2),
    3232      kHiGainNotFitted          = BIT(3),
    3333      kLoGainNotFitted          = BIT(4),
    34       kChargeIsPedestal         = BIT(5),
    35       kChargeErrNotValid        = BIT(6),
    36       kChargeRelErrNotValid     = BIT(7),
    37       kChargeSigmaNotValid      = BIT(8),
    38       kConvHiLoNotValid         = BIT(9),     
    39       kHiGainOscillating        = BIT(10),
    40       kLoGainOscillating        = BIT(11),
     34      kHiGainOscillating        = BIT(5),
     35      kLoGainOscillating        = BIT(6),
     36      kLoGainSaturation         = BIT(7),
     37      kChargeIsPedestal         = BIT(8),
     38      kChargeErrNotValid        = BIT(9),
     39      kChargeRelErrNotValid     = BIT(10),
     40      kChargeSigmaNotValid      = BIT(11),
    4141      kMeanTimeInFirstBin       = BIT(12),
    42       kMeanTimeInLastBin        = BIT(13),
    43       kDeviatingNumPhes         = BIT(14),
    44       kNotCalibrated            = BIT(15)   
     42      kMeanTimeInLast2Bins      = BIT(13),
     43      kDeviatingNumPhes         = BIT(14)
    4544    };
    4645   
     
    5352
    5453    // Setter
    55     void SetUnsuitable(UnsuitableType_t typ) { fInfo[0] |= typ; }
    56 
    57     // Calibration
    58     void SetHiGainSaturation         () { fInfo[1] |= kHiGainSaturation; }
    59     void SetLoGainSaturation         () { fInfo[1] |= kLoGainSaturation; }
    60     void SetNotCalibrated           () { fInfo[1] |= kNotCalibrated; }
    61     void SetMeanTimeInLastBin        () { fInfo[1] |= kMeanTimeInLastBin; }
    62     void SetMeanTimeInFirstBin       () { fInfo[1] |= kMeanTimeInFirstBin; }
    63     void SetLoGainOscillating        () { fInfo[1] |= kLoGainOscillating; }
    64     void SetHiGainOscillating        () { fInfo[1] |= kHiGainOscillating; }
    65     void SetConvHiLoNotValid         () { fInfo[1] |= kConvHiLoNotValid; }
    66     void SetChargeSigmaNotValid      () { fInfo[1] |= kChargeSigmaNotValid; }
    67     void SetChargeRelErrNotValid     () { fInfo[1] |= kChargeRelErrNotValid; }
    68     void SetChargeErrNotValid        () { fInfo[1] |= kChargeErrNotValid; }
    69     void SetChargeIsPedestal         () { fInfo[1] |= kChargeIsPedestal; }
    70     void SetLoGainNotFitted          () { fInfo[1] |= kLoGainNotFitted; }
    71     void SetHiGainNotFitted          () { fInfo[1] |= kHiGainNotFitted; }
    72     void SetDeviatingNumPhes         () { fInfo[1] |= kDeviatingNumPhes; }
     54    void SetUnsuitable  ( UnsuitableType_t   typ ) { fInfo[0] |= typ; }
     55    void SetUncalibrated( UncalibratedType_t typ ) { fInfo[1] |= typ; }
    7356
    7457    // Getter
    75     Bool_t IsUnsuitable(UnsuitableType_t typ) const { return fInfo[0]&typ; }
     58    Bool_t IsUnsuitable  ( UnsuitableType_t   typ ) const { return fInfo[0]&typ; }
     59    Bool_t IsUncalibrated( UncalibratedType_t typ ) const { return fInfo[1]&typ; }
    7660
    7761    Bool_t IsOK() const  { return fInfo[0]==0; }
    7862    Bool_t IsBad() const { return fInfo[0]!=0; }
    7963
    80     Bool_t IsHiGainSaturation         () const      { return fInfo[1] & kHiGainSaturation ;        }
    81     Bool_t IsLoGainSaturation         () const      { return fInfo[1] & kLoGainSaturation ;        }
    82     Bool_t IsNotCalibrated            () const      { return fInfo[1] & kNotCalibrated;            }
    83     Bool_t IsMeanTimeInLastBin        () const      { return fInfo[1] & kMeanTimeInLastBin;        }
    84     Bool_t IsMeanTimeInFirstBin       () const      { return fInfo[1] & kMeanTimeInFirstBin;       }
    85     Bool_t IsLoGainOscillating        () const      { return fInfo[1] & kLoGainOscillating;        }
    86     Bool_t IsHiGainOscillating        () const      { return fInfo[1] & kHiGainOscillating;        }
    87     Bool_t IsConvHiLoNotValid         () const      { return fInfo[1] & kConvHiLoNotValid;         }
    88     Bool_t IsChargeSigmaNotValid      () const      { return fInfo[1] & kChargeSigmaNotValid;      }
    89     Bool_t IsChargeRelErrNotValid     () const      { return fInfo[1] & kChargeRelErrNotValid;     }
    90     Bool_t IsChargeErrNotValid        () const      { return fInfo[1] & kChargeErrNotValid;        }
    91     Bool_t IsChargeIsPedestal         () const      { return fInfo[1] & kChargeIsPedestal;         }
    92     Bool_t IsLoGainNotFitted          () const      { return fInfo[1] & kLoGainNotFitted;          }
    93     Bool_t IsHiGainNotFitted          () const      { return fInfo[1] & kHiGainNotFitted;          }
    94     Bool_t IsDeviatingNumPhes         () const      { return fInfo[1] & kDeviatingNumPhes;         }   
     64    Bool_t IsLoGainBad() const { return IsUnsuitable  (kUnsuitableRun      )
     65                                     || IsUncalibrated(kLoGainSaturation   )
     66                                     || IsUncalibrated(kLoGainNotCalibrated)
     67                                     || IsUncalibrated(kLoGainOscillating  ) ; }
     68    Bool_t IsHiGainBad() const { return IsUnsuitable  (kUnsuitableRun      )
     69                                     || IsUncalibrated(kHiGainNotCalibrated)
     70                                     || IsUncalibrated(kHiGainOscillating  ) ; }
    9571
    96    
    97     Bool_t IsLoGainBad() const { return IsLoGainSaturation() || IsConvHiLoNotValid() || IsLoGainOscillating() ;}
    98     Bool_t IsHiGainBad() const { return (IsHiGainSaturation() && IsConvHiLoNotValid()) || IsHiGainOscillating(); }
     72    Bool_t IsCalibrationSignalOK() const  { return !( IsUncalibrated(kChargeIsPedestal    )
     73                                                   || IsUncalibrated(kChargeErrNotValid   )
     74                                                   || IsUncalibrated(kChargeRelErrNotValid)
     75                                                   || IsUncalibrated(kChargeSigmaNotValid )
     76                                                   || IsUncalibrated(kMeanTimeInFirstBin  )
     77                                                   || IsUncalibrated(kMeanTimeInLast2Bins )  );  }
    9978
    100     Bool_t IsCalibrationSignalOK() const  { return !( IsChargeIsPedestal()
    101                                                       || IsChargeErrNotValid()
    102                                                       || IsChargeRelErrNotValid()
    103                                                       || IsChargeSigmaNotValid()
    104                                                       || IsMeanTimeInFirstBin()
    105                                                       || IsMeanTimeInLastBin() );  }
    106     Bool_t IsCalibrationFitOK()       const    { return !( (!IsHiGainSaturation() && IsHiGainNotFitted())
    107                                                       || ( IsHiGainSaturation() && IsLoGainNotFitted()) ); }
    108     Bool_t IsCalibrationOscillating() const  { return ( !IsHiGainSaturation() && IsHiGainOscillating())
    109                                                   || ( IsHiGainSaturation() && IsLoGainOscillating()) ; }
    110     Bool_t IsCalibrationResultOK()    const  {  return !IsUnsuitable(kUnsuitableRun) &&
    111                                                         IsCalibrationSignalOK()
    112                                                     && !IsCalibrationOscillating()
    113                                                    && (   (!IsHiGainSaturation() && !IsHiGainBad())
    114                                                        || (IsHiGainSaturation() && !IsLoGainBad()) ) ;}
     79    Bool_t IsCalibrationResultOK() const  {  return  !IsUnsuitable(kUnsuitableRun)
     80                                                  &&  IsCalibrationSignalOK()
     81                                                  && !IsHiGainBad()
     82                                                  && !IsLoGainBad() ; }
    11583
    11684    void Merge(const MBadPixelsPix &pix);
Note: See TracChangeset for help on using the changeset viewer.