BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/BesDChain/include/BesDChain/util/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 public:
13 KinematicData( const HepLorentzVector& p4 );
14
15 void setUserTag( const int tag );
16 void setCharge( const int aCharge );
17 // void setMass( const double aMass );
18 void setP4( const HepLorentzVector& aMomentum );
19#ifdef EXTEND
20 void recover() const { m_p4 = m_p4_bakup; }
21#endif
22
23 int userTag() const;
24 int charge() const;
25 double mass() const;
26 double energy() const;
27 // const Hep3Vector& momentum() const;
28 const HepLorentzVector& p4() const;
29
30 private:
31 int m_userTag;
32 int m_charge;
33 mutable HepLorentzVector m_p4;
34#ifdef EXTEND
35 void bakup() {
36 if ( m_hasbeenbakup ) return;
37 m_p4_bakup = m_p4;
38 m_hasbeenbakup = true;
39 }
40 HepLorentzVector m_p4_bakup;
41 bool m_hasbeenbakup;
42#endif
43 };
44} // namespace DecayChain
45
46#endif
void setCharge(const int aCharge)
void setP4(const HepLorentzVector &aMomentum)
void setUserTag(const int tag)
const HepLorentzVector & p4() const