BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Analysis/VertexFit/include/VertexFit/GammaShape.h
Go to the documentation of this file.
1#ifndef VertexFit_GammaShape_H
2#define VertexFit_GammaShape_H
3
4//
5// use for gamma dynamic adjust
6//
7
8#include "CLHEP/Matrix/Matrix.h"
9#include "CLHEP/Matrix/SymMatrix.h"
10#include "CLHEP/Matrix/Vector.h"
11#include "CLHEP/Vector/LorentzVector.h"
12#include "CLHEP/Vector/ThreeVector.h"
13#include <cmath>
14using CLHEP::Hep3Vector;
15using CLHEP::HepLorentzVector;
16using CLHEP::HepMatrix;
17using CLHEP::HepSymMatrix;
18using CLHEP::HepVector;
19#include "CLHEP/Geometry/Point3D.h"
20#ifndef ENABLE_BACKWARDS_COMPATIBILITY
21typedef HepGeom::Point3D<double> HepPoint3D;
22#endif
23
25
26public:
27 // constructor & deconstructor
28 GammaShape();
30
31 GammaShape( const GammaShape& );
32
33 GammaShape( const double eorigin, const double epeak );
34 GammaShape( const HepLorentzVector p4, const double dphi, const double dthe,
35 const double de );
36
38 double peak( const double fitvalue );
39 double mean( const double epeak );
40 double tail( const double epeak );
41 double width( const double epeak );
42 double de( const double eorigin, const double peak );
43 double fitm( double x, double pk, double width, double tail, double mean );
44 // Set function
45 void settail( const double tail ) { m_tail = tail; }
46 void setwidth( const double width ) { m_width = width; }
47 void setpeak( const double peak ) { m_peak = peak; }
48 void sete( const double e ) { m_e = e; }
49 void setde( const double de ) { m_de = de; }
50 void setdphi( const double dphi ) { m_dphi = dphi; }
51 void setdtheta( const double dtheta ) { m_dtheta = dtheta; }
52
53 // get function
54 double gettail() const { return m_tail; }
55 double getwidth() const { return m_width; }
56 double getpeak() const { return m_peak; }
57 double gete() const { return m_e; }
58 double getde() const { return m_de; }
59 double getdphi() const { return m_dphi; }
60 double getdthe() const { return m_dtheta; }
61 // double getdlambda() const {return m_dlambda;}
62protected:
63private:
64 double m_tail; // gamma distribution information
65 double m_width;
66 double m_peak;
67 double m_e;
68 double m_de;
69 double m_dphi;
70 double m_dtheta;
71 // double m_dlambda;
72};
73#endif
HepGeom::Point3D< double > HepPoint3D
double tail(const double epeak)
double width(const double epeak)
GammaShape & operator=(const GammaShape &)
double peak(const double fitvalue)
double de(const double eorigin, const double peak)
double fitm(double x, double pk, double width, double tail, double mean)
double mean(const double epeak)