FairRoot/PandaRoot
MergedConstraint.h
Go to the documentation of this file.
1 // ******************************************************
2 // DecayTreeFitter Package
3 // We thank the original author Wouter Hulsbergen
4 // (BaBar, LHCb) for providing the sources.
5 // http://arxiv.org/abs/physics/0503191v1 (2005)
6 // Adaptation & Development for PANDA: Ralf Kliemt (2015)
7 // ******************************************************
8 #ifndef MERGEDCONSTRAINT_H
9 #define MERGEDCONSTRAINT_H 1
10 
11 #include <vector>
12 #include "Constraint.h"
13 #include "Rtypes.h"
14 
15 namespace DecayTreeFitter
16 {
18  {
19  public:
20  typedef std::vector<Constraint*> constraintlist ;
21 
23  virtual ~MergedConstraint() {}
24 
27  int d(0) ;
28  for(constraintlist::iterator it = m_list.begin() ;
29  it != m_list.end(); ++it) d += (*it)->dim() ;
30  setDim(d) ;
31  }
32 
33  virtual ErrCode project(const FitParams* fitpar, Projection& p) const ;
34 
36  m_list.push_back(c) ;
37  setDim(dim()+c->dim()) ;
38  setNIter(std::max(nIter(),c->nIter())) ;
39  }
40 
41  virtual void print(std::ostream& os=std::cout) const ;
42 
43  private:
45  ClassDef ( MergedConstraint,1 )
46  } ;
47 
48 }
49 
50 #endif
Double_t p
Definition: anasim.C:58
TObjArray * d
std::vector< Constraint * > constraintlist
unsigned int nIter() const
Definition: Constraint.h:53
void setDim(unsigned int d)
Definition: Constraint.h:80
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
Definition: P4_F32vec4.h:26
unsigned int dim() const
Definition: Constraint.h:51
MergedConstraint(const constraintlist &list)
virtual void print(std::ostream &os=std::cout) const
void setNIter(unsigned int d)
Definition: Constraint.h:81
virtual ErrCode project(const FitParams *fitpar, Projection &p) const