00001 #ifndef DataFormats_Alignment_TkFittedLasBeam_h 00002 #define DataFormats_Alignment_TkFittedLasBeam_h 00003 00013 00014 #include "DataFormats/Alignment/interface/TkLasBeam.h" 00015 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h" 00016 #include <vector> 00017 00018 class TkFittedLasBeam : public TkLasBeam { 00019 public: 00020 typedef float Scalar; // scalar type used in this class 00021 00022 TkFittedLasBeam(); 00023 TkFittedLasBeam(const TkLasBeam &lasBeam); 00024 virtual ~TkFittedLasBeam() {} // anyway virtual since inherited... 00025 00027 unsigned int parametrisation() const { return parametrisation_;} 00029 const std::vector<Scalar>& parameters() const { return parameters_;} 00031 const AlgebraicSymMatrix& parametersCov() const {return paramCovariance_;} 00033 const AlgebraicMatrix& derivatives() const { return derivatives_;} 00036 unsigned int firstFixedParameter() const { return firstFixedParameter_;} 00037 00043 void setParameters(unsigned int parametrisation, 00044 const std::vector<Scalar> ¶ms, 00045 const AlgebraicSymMatrix ¶mCovariance, 00046 const AlgebraicMatrix &derivatives, 00047 unsigned int firstFixedParam, float chi2); 00048 00049 private: 00050 unsigned int parametrisation_; 00051 std::vector<Scalar> parameters_; 00052 AlgebraicSymMatrix paramCovariance_; 00053 AlgebraicMatrix derivatives_; 00054 unsigned int firstFixedParameter_; 00055 float chi2_; 00056 00057 }; 00058 00059 00060 // To get the typedef for the collection: 00061 #include "DataFormats/Alignment/interface/TkFittedLasBeamCollectionFwd.h" 00062 00063 #endif