CMS 3D CMS Logo

BasicVertexState.h
Go to the documentation of this file.
1 #ifndef BasicVertexState_H
2 #define BasicVertexState_H
3 
5 
9 
10 #include <vector>
11 
12 class VertexState;
13 
18 
19 public:
20 
23 
24 public:
25 
26  virtual ~BasicVertexState() {}
27 
28  template<typename T, typename... Args>
29  static std::shared_ptr<BasicVertexState> build(Args && ...args){ return std::make_shared<T>(std::forward<Args>(args)...);}
30 
31 
32  virtual pointer clone() const = 0;
33 
36  virtual GlobalPoint position() const = 0;
37  virtual GlobalError error() const = 0;
38  virtual GlobalError error4D() const = 0;
39  virtual double time() const = 0;
40  virtual double timeError() const = 0;
41  virtual GlobalWeight weight() const = 0;
42  virtual GlobalWeight weight4D() const = 0;
43  virtual AlgebraicVector3 weightTimesPosition() const = 0;
44  virtual AlgebraicVector4 weightTimesPosition4D() const = 0;
45  virtual double weightInMixture() const = 0;
46  virtual std::vector<VertexState> components() const;
47  virtual bool isValid() const = 0;
48  virtual bool is4D() const = 0;
49 
50 };
51 
52 #endif
virtual AlgebraicVector4 weightTimesPosition4D() const =0
virtual GlobalError error() const =0
virtual GlobalWeight weight() const =0
std::shared_ptr< T > pointer
Definition: ProxyBase11.h:27
virtual double time() const =0
Proxy::pointer pointer
virtual double weightInMixture() const =0
static std::shared_ptr< BasicVertexState > build(Args &&...args)
ROOT::Math::SVector< double, 3 > AlgebraicVector3
virtual GlobalPoint position() const =0
virtual double timeError() const =0
virtual AlgebraicVector3 weightTimesPosition() const =0
virtual ~BasicVertexState()
virtual GlobalError error4D() const =0
virtual std::vector< VertexState > components() const
virtual GlobalWeight weight4D() const =0
virtual pointer clone() const =0
ROOT::Math::SVector< double, 4 > AlgebraicVector4
virtual bool isValid() const =0
long double T
virtual bool is4D() const =0