BOSS 7.0.7
BESIII Offline Software System
Loading...
Searching...
No Matches
KinematicData.h
Go to the documentation of this file.
1#ifndef DECAYCHAIN_KINEMATICDATA_H
2#define DECAYCHAIN_KINEMATICDATA_H
3
4#include "CLHEP/Vector/LorentzVector.h"
5
6using CLHEP::HepLorentzVector;
7
8namespace DecayChain {
9
11{
12 public:
14 KinematicData(const HepLorentzVector& p4);
15
16 void setUserTag( const int tag );
17 void setCharge( const int aCharge );
18 //void setMass( const double aMass );
19 void setP4( const HepLorentzVector& aMomentum );
20#ifdef EXTEND
21 void recover() const { m_p4 = m_p4_bakup; }
22#endif
23
24 int userTag() const;
25 int charge() const;
26 double mass() const;
27 double energy() const;
28 //const Hep3Vector& momentum() const;
29 const HepLorentzVector& p4() const;
30
31 private:
32 int m_userTag;
33 int m_charge;
34 mutable HepLorentzVector m_p4;
35#ifdef EXTEND
36 void bakup() { if(m_hasbeenbakup) return; m_p4_bakup = m_p4; m_hasbeenbakup=true; }
37 HepLorentzVector m_p4_bakup;
38 bool m_hasbeenbakup;
39#endif
40};
41}
42
43#endif
void setCharge(const int aCharge)
void setP4(const HepLorentzVector &aMomentum)
void setUserTag(const int tag)
const HepLorentzVector & p4() const