CMS 3D CMS Logo

BasicSingleVertexState.h

Go to the documentation of this file.
00001 #ifndef BasicSingleVertexState_H
00002 #define BasicSingleVertexState_H
00003 
00004 #include "RecoVertex/VertexPrimitives/interface/BasicVertexState.h"
00005 
00006 //#include "CommonReco/CommonVertex/interface/RefCountedVertexSeed.h"
00007 
00008 
00013 class BasicSingleVertexState : public BasicVertexState {
00014 
00015 public:
00016 
00019   BasicSingleVertexState();
00020   BasicSingleVertexState(const GlobalPoint & pos, const GlobalError & posErr,
00021                 const double & weightInMix = 1.0);
00022   BasicSingleVertexState(const GlobalPoint & pos, const GlobalWeight & posWeight,
00023                 const double & weightInMix = 1.0);
00024   BasicSingleVertexState(const AlgebraicVector3 & weightTimesPosition,
00025                 const GlobalWeight & posWeight,
00026                 const double & weightInMix = 1.0);
00027 
00030   virtual BasicSingleVertexState* clone() const
00031   {
00032     return new BasicSingleVertexState(*this);
00033   }
00034 
00035   GlobalPoint position() const;
00036   GlobalError error() const;
00037   GlobalWeight weight() const;
00038   AlgebraicVector3 weightTimesPosition() const;
00039   double weightInMixture() const;
00040 
00043 //   RefCountedVertexSeed seedWithoutTracks() const;
00044 
00045 private:
00046 
00047   void computePosition() const;
00048   void computeError() const;
00049   void computeWeight() const;
00050   void computeWeightTimesPos() const;
00051 
00052   mutable GlobalPoint thePos;
00053   mutable bool thePosAvailable;
00054   mutable GlobalError theErr;
00055   mutable bool theErrAvailable;
00056   mutable GlobalWeight theWeight;
00057   mutable bool theWeightAvailable;
00058   mutable AlgebraicVector3 theWeightTimesPos;
00059   mutable bool theWeightTimesPosAvailable;
00060 
00061   bool isValid;
00062   double theWeightInMix;
00063 };
00064 
00065 #endif

Generated on Tue Jun 9 17:46:13 2009 for CMSSW by  doxygen 1.5.4