/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Analysis/VertexFit/VertexFit-00-02-78/src/KinematicConstraints.cxx

Go to the documentation of this file.
00001 // #include <iostream>
00002 #include "VertexFit/KinematicConstraints.h"
00003 
00004 const int KinematicConstraints::Resonance = 1;
00005 const int KinematicConstraints::TotalEnergy = 2;
00006 const int KinematicConstraints::TotalMomentum = 4;
00007 const int KinematicConstraints::Position = 8;
00008 const int KinematicConstraints::ThreeMomentum = 16;
00009 const int KinematicConstraints::FourMomentum = 32;
00010 const int KinematicConstraints::EqualMass = 64;
00011 
00012 KinematicConstraints::KinematicConstraints(){
00013   m_Ec.clear();
00014   m_Dc.clear();
00015   m_dc.clear();
00016   m_Vm.clear();
00017   m_lambda.clear();
00018   m_ltrk.clear();
00019   m_nequal.clear();
00020   m_nc=0;
00021   m_mres = -1;
00022   m_etot = -1;
00023   m_ptot = -1;
00024   m_p3 = Hep3Vector(0, 0, 0);
00025   m_p4 = HepLorentzVector(0, 0, 0, 0);
00026   m_phipre = 0;
00027   m_lambdapre = 0;
00028   m_Vre = HepSymMatrix(1,0);
00029   m_Vme = HepSymMatrix(4,0);
00030   m_Vne = HepSymMatrix(1,0);
00031   m_Vpe = HepSymMatrix(2,0);
00032 }
00033 
00034 void KinematicConstraints::ResonanceConstraints(const double mres, std::vector<int> tlis, HepSymMatrix Vre) 
00035 {
00036   m_ltrk = tlis;
00037   m_nc = 1;
00038   setType(typeRes());
00039   setMres(mres);
00040   setVre(Vre);
00041   setVmeasure(Vre);
00042 }
00043 
00044 void KinematicConstraints::TotalEnergyConstraints(const double etot, std::vector<int> tlis) 
00045 {
00046   m_ltrk = tlis;
00047   m_nc = 1;
00048   setType(typeEtot());
00049   setEtot(etot);
00050   HepSymMatrix tmp(1,0);
00051   setVmeasure(tmp);
00052 }
00053 
00054 void KinematicConstraints::TotalMomentumConstraints(const double ptot, std::vector<int> tlis)
00055 {
00056   m_ltrk = tlis;
00057   m_nc = 1;
00058   setType(typePtot());
00059   setPtot(ptot);
00060   HepSymMatrix tmp(1,0);
00061   setVmeasure(tmp);
00062 }
00063 
00064 void KinematicConstraints::ThreeMomentumConstraints(const Hep3Vector p3, std::vector<int> tlis)
00065 {
00066   m_ltrk = tlis;
00067   m_nc = 3;
00068   setType(typeP3());
00069   setP3(p3);
00070   HepSymMatrix tmp(3,0);
00071   setVmeasure(tmp);
00072 }
00073 
00074 void KinematicConstraints::FourMomentumConstraints(const HepLorentzVector p4, std::vector<int> tlis, HepSymMatrix Vme)
00075 {
00076   m_ltrk = tlis;
00077   m_nc = 4;
00078   setType(typeP4());
00079   setP4(p4);
00080   setVme(Vme);
00081   m_Vm.push_back(Vme);
00082   setVmeasure(Vme);
00083 }
00084 
00085 void KinematicConstraints::EqualMassConstraints(std::vector<int> tlis1, std::vector<int> tlis2, HepSymMatrix Vne) 
00086 {
00087   m_ltrk.clear();
00088   for(unsigned int i = 0; i < tlis1.size(); i++)
00089     m_ltrk.push_back(tlis1[i]);
00090   for(unsigned int i = 0; i < tlis2.size(); i++)
00091     m_ltrk.push_back(tlis2[i]);
00092   m_nc = 1;
00093   setType(typeEqMass());
00094   setVne(Vne);
00095   m_Vm.push_back(Vne);
00096   m_nequal.clear();
00097   m_nequal.push_back(tlis1.size());
00098   m_nequal.push_back(tlis2.size());
00099   setVmeasure(Vne);
00100  
00101 }
00102 /*
00103 void KinematicConstraints::PositionConstraints(const double phipre, const double lambdapre, std::vector<int> tlis_V, HepSymMatrix Vpe) {
00104   m_ltrk_V = tlis_V;
00105   m_nc = 2;
00106   setType(typePoint());
00107   setPhipre(phipre);
00108   setLambdapre(lambdapre);
00109   setVpe(Vpe);
00110   m_Vm.push_back(Vpe);
00111   setVmeasure(Vpe);
00112 }
00113 */

Generated on Tue Nov 29 22:57:39 2016 for BOSS_7.0.2 by  doxygen 1.4.7