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 
13 class BasicSingleVertexState GCC11_FINAL : public BasicVertexState {
14 
15 public:
16 
19  BasicSingleVertexState();
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);
24  BasicSingleVertexState(const AlgebraicVector3 & weightTimesPosition,
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
virtual GlobalWeight weight() const =0
virtual GlobalError error() const =0
GloballyPositioned< float >::GlobalPoint GlobalPoint
Definition: MagVolume.h:20
virtual double weightInMixture() const =0
bool isValid() const
GlobalWeight theWeight
virtual AlgebraicVector3 weightTimesPosition() const =0
virtual GlobalPoint position() const =0
AlgebraicVector3 theWeightTimesPos
ROOT::Math::SVector< double, 3 > AlgebraicVector3
virtual BasicSingleVertexState * clone() const
Unlimited (trivial) bounds.