CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/Alignment/TwoBodyDecay/interface/TwoBodyDecay.h

Go to the documentation of this file.
00001 #ifndef Alignment_TwoBodyDecay_TwoBodyDecay_h
00002 #define Alignment_TwoBodyDecay_TwoBodyDecay_h
00003 
00004 #include "Alignment/TwoBodyDecay/interface/TwoBodyDecayParameters.h"
00005 
00015 class TwoBodyDecay
00016 {
00017 
00018 public:
00019 
00020   typedef TwoBodyDecayParameters::ParameterName ParameterName;
00021 
00022   TwoBodyDecay( void ) :
00023     theDecayParameters(), theChi2( 0. ), theValidityFlag( false ) {}
00024 
00025   TwoBodyDecay( TwoBodyDecayParameters param, double chi2, bool valid ) :
00026     theDecayParameters( param ), theChi2( chi2 ), theValidityFlag( valid ) {}
00027 
00028   ~TwoBodyDecay( void ) {}
00029 
00030   inline const TwoBodyDecayParameters & decayParameters( void ) const { return theDecayParameters; }
00031 
00032   inline const AlgebraicVector & parameters( void ) const { return theDecayParameters.parameters(); }
00033   inline const AlgebraicSymMatrix & covariance( void ) const { return theDecayParameters.covariance(); }
00034 
00036   inline const double operator[]( ParameterName name ) const { return theDecayParameters[name]; }
00037 
00039   inline const double operator()( ParameterName name ) const { return theDecayParameters(name); }
00040 
00041   inline const bool hasError( void ) const { return theDecayParameters.hasError(); }
00042 
00043   inline const double chi2( void ) const { return theChi2; }
00044 
00045   inline const bool isValid( void ) const { return theValidityFlag; }
00046   inline void setInvalid( void ) { theValidityFlag = false; }
00047 
00048  private:
00049 
00050   TwoBodyDecayParameters theDecayParameters;
00051   double theChi2;
00052   bool theValidityFlag;
00053 
00054 };
00055 
00056 #endif