BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MagFieldReader.h
Go to the documentation of this file.
1#ifndef MAGFIELDREADER_H
2#define MAGFIELDREADER_H 1
3
4// Include files
5// from STL
6#include <string>
7
8// from Gaudi
9#include "BesTimerSvc/IBesTimerSvc.h"
10#include "GaudiKernel/Algorithm.h"
11#include "GaudiKernel/NTuple.h"
12
13// Forward references
14class IBesMagFieldSvc;
15
16/** @class MagFieldReader MagFieldReader.h
17 * @param An Algorithm to read and plot magnetic filed maps
18 * @param for x and y kept constant and varying z. The x, y
19 * @param positions and the z range can be set in job options.
20 *
21 */
22
23class MagFieldReader : public Algorithm {
24public:
25 /// Standard constructor
26 MagFieldReader( const std::string& name, ISvcLocator* pSvcLocator );
27
28 virtual ~MagFieldReader(){}; ///< Destructor
29
30 virtual StatusCode initialize(); ///< Algorithm initialization
31 virtual StatusCode execute(); ///< Algorithm execution
32 virtual StatusCode finalize(); ///< Algorithm finalization
33
34protected:
35private:
36 StatusCode readField();
37
38 // Pointer to the magnetic field service
39 IBesMagFieldSvc* m_pIMF;
40
41 // range and steps in z to get the magnetic field
42 double m_zMin, m_zMax, m_step;
43
44 // range in x and y
45 double m_xMin, m_xMax, m_yMin, m_yMax;
46
47 NTuple::Tuple* m_ntuple;
48 NTuple::Tuple* m_tuple1;
49 NTuple::Tuple* m_tuple2;
50 NTuple::Tuple* m_tuple3;
51 NTuple::Tuple* m_tuple4;
52 NTuple::Item<float> m_x, m_y, m_z, m_Bx, m_By, m_Bz, m_r;
53 NTuple::Item<float> m_x2, m_y2, m_z2, m_Bx2, m_By2, m_Bz2, m_r2;
54 NTuple::Item<float> m_x3, m_y3, m_z3, m_Bx3, m_By3, m_Bz3, m_r3, m_phi3;
55 NTuple::Item<float> m_sigma_bx, m_sigma_by, m_sigma_bz;
56 NTuple::Item<float> m_time;
57
58 std::string m_filename;
59
60 IBesTimerSvc* m_timersvc;
61 BesTimer* m_timer;
62};
63#endif // MAGFIELDREADER_H
NTuple::Array< double > m_z
NTuple::Array< double > m_x
NTuple::Tuple * m_tuple1
NTuple::Array< double > m_y
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared dimensionless $ !dummy photon IR regulator $ !crude photon multiplicity enhancement factor *EVENT $ !MC crude volume of PhhSpace *Sfactors $ !YFS formfactor IR part only $ !YFS formfactor non IR finite part $ !mass product $ !fermion momentum $ !fermion momentum $ !shadow of q1 fermion momentum $ m_r2(4)
MagFieldReader(const std::string &name, ISvcLocator *pSvcLocator)
Standard constructor.
virtual StatusCode execute()
Algorithm execution.
virtual ~MagFieldReader()
virtual StatusCode finalize()
Algorithm finalization.
virtual StatusCode initialize()
Destructor.