BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
ReadEb.h
Go to the documentation of this file.
1/****************************************
2 * Read CMS energy from data base for
3 * psi(3770) production
4 *
5 * 2012-1-05 created pingrg
6 *
7 ***************************************/
8#ifndef DTagAlg_ReadBeamInfFromDb_H
9#define DTagAlg_ReadBeamInfFromDb_H
10
11#include "CLHEP/Vector/ThreeVector.h"
12#include "DatabaseSvc/IDatabaseSvc.h"
13#include <iostream>
14#include <mysql.h>
15
16class ReadEb {
17
18public:
19 ReadEb( int run )
20 : m_run( -1 )
21 , m_isRunValid( false )
22 , m_beamE( 0 )
23 , m_beta( 0.011, 0, 0 )
24 , m_usecbE( true ) {
25 if ( run != previousRun )
26 {
27 previousRun = run;
28 ReadDb( run );
29 }
30 }
31
32 virtual ~ReadEb() {}
33
34 double getEcms() { return m_Ecms; }
35 double getXangle() { return m_xangle; }
36 inline CLHEP::Hep3Vector getbeta() { return m_beta; }
37 inline void setcalib( bool calib ) { m_usecbE = calib; }
38
39private:
40 MYSQL* OpenDb() const;
41 void ReadDb( int run );
42 void CloseDb( MYSQL* mysql ) const;
43
44 IDatabaseSvc* m_dbsvc;
45 int m_run;
46 bool m_isRunValid;
47 double m_beamE;
48 static double m_Ecms;
49 static double m_xangle;
50 bool m_usecbE;
51 CLHEP::Hep3Vector m_beta;
52 static int previousRun;
53};
54
55#endif
virtual ~ReadEb()
Definition ReadEb.h:32
double getXangle()
Definition ReadEb.h:35
double getEcms()
Definition ReadEb.h:34
void setcalib(bool calib)
Definition ReadEb.h:37
CLHEP::Hep3Vector getbeta()
Definition ReadEb.h:36
ReadEb(int run)
Definition ReadEb.h:19