CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
BasicSingleVertexState.h
Go to the documentation of this file.
1 #ifndef BasicSingleVertexState_H
2 #define BasicSingleVertexState_H
3 
5 
6 //#include "CommonReco/CommonVertex/interface/RefCountedVertexSeed.h"
7 
8 
14 
15 public:
16 
20  BasicSingleVertexState(const GlobalPoint & pos, const GlobalError & posErr,
21  const double & weightInMix = 1.0);
22  BasicSingleVertexState(const GlobalPoint & pos, const GlobalWeight & posWeight,
23  const double & weightInMix = 1.0);
25  const GlobalWeight & posWeight,
26  const double & weightInMix = 1.0);
27 
30  virtual BasicSingleVertexState* clone() const
31  {
32  return new BasicSingleVertexState(*this);
33  }
34 
35  GlobalPoint position() const;
36  GlobalError error() const;
37  GlobalWeight weight() const;
39  double weightInMixture() const;
40 
44  bool isValid() const {return valid;}
45 
46 private:
47 
48  void computePosition() const;
49  void computeError() const;
50  void computeWeight() const;
51  void computeWeightTimesPos() const;
52 
58 
59  mutable bool thePosAvailable;
60  mutable bool theErrAvailable;
61  mutable bool theWeightAvailable;
63 
64  bool valid;
65 };
66 
67 #endif
AlgebraicVector3 theWeightTimesPos
GlobalWeight weight() const
GlobalError error() const
virtual BasicSingleVertexState * clone() const
GlobalPoint position() const
ROOT::Math::SVector< double, 3 > AlgebraicVector3
AlgebraicVector3 weightTimesPosition() const