1 | #ifndef _Hector_parameters_
|
---|
2 | #define _Hector_parameters_
|
---|
3 |
|
---|
4 | /*
|
---|
5 | ---- Hector the simulator ----
|
---|
6 | A fast simulator of particles through generic beamlines.
|
---|
7 | J. de Favereau, X. Rouby ~~~ hector_devel@cp3.phys.ucl.ac.be
|
---|
8 |
|
---|
9 | http://www.fynu.ucl.ac.be/hector.html
|
---|
10 | J.~de Favereau, X.~Rouby and K.~Piotrzkowski,
|
---|
11 | Hector, a fast simulator for the transport of particles in beamlines,
|
---|
12 | JINST 2, P09005 (2007)
|
---|
13 | arXiv:0707.1198 [physics.acc-ph]
|
---|
14 |
|
---|
15 | Centre de Physique des Particules et de Phénoménologie (CP3)
|
---|
16 | Université Catholique de Louvain (UCL)
|
---|
17 | */
|
---|
18 |
|
---|
19 | /// \file H_Parameters.h
|
---|
20 | /// \brief Class aiming at gathering all parameters that must be defined.
|
---|
21 | ///
|
---|
22 | /// Units : angles [\f$ \mu \f$rad], distances [\f$ \mu \f$m], energies [GeV], c=[1].
|
---|
23 |
|
---|
24 | #include <cmath>
|
---|
25 |
|
---|
26 | /* from physics and maths */
|
---|
27 | /// proton mass [GeV]
|
---|
28 | const double MP=0.93827;
|
---|
29 | /// proton charge [e]
|
---|
30 | const double QP=1.;
|
---|
31 | /// pi
|
---|
32 | #ifndef __PI__
|
---|
33 | #define __PI__
|
---|
34 | const double PI=acos(-1.);
|
---|
35 | #endif
|
---|
36 | /// conversion factor for \f$\mu\f$rad <-> rad
|
---|
37 | const double URAD=1000000.;
|
---|
38 |
|
---|
39 | /* beam parameters */
|
---|
40 | /// beam nominal energy in GeV
|
---|
41 | const double BE=7000.;
|
---|
42 | /// beam energy divergence, in GeV
|
---|
43 | const double SBE=0.79;
|
---|
44 | /// beam nominal energy in TeV
|
---|
45 | const double BETEV=7.;
|
---|
46 | /// beam S @ IP
|
---|
47 | const double PS=0.;
|
---|
48 | /// beam X @ IP
|
---|
49 | const double PX=-500.;
|
---|
50 | /// beam Y @ IP
|
---|
51 | const double PY=0.;
|
---|
52 | /// beam longitudinal dispersion
|
---|
53 | const double SS=0.;
|
---|
54 | /// beam lateral width SX @ IP
|
---|
55 | const double SX=16.63;
|
---|
56 | /// beam lateral width SY @ IP
|
---|
57 | const double SY=16.63;
|
---|
58 | /// beam transverse direction angle TX @ IP
|
---|
59 | const double TX=0.;
|
---|
60 | /// beam transverse direction angle TY @ IP
|
---|
61 | const double TY=0.;
|
---|
62 | /// beam angular divergence STX @ IP
|
---|
63 | const double STX=30.23;
|
---|
64 | /// beam angular divergence STY @ IP
|
---|
65 | const double STY=30.23;
|
---|
66 | /// half crossing angle at IP [\f$ \mu \f$RAD]
|
---|
67 | const double CRANG=142.5;
|
---|
68 |
|
---|
69 | // local defines, used in H_BeamParticle & H_OpticalElements
|
---|
70 | #define LENGTH_VEC 5
|
---|
71 | #define INDEX_X 0
|
---|
72 | #define INDEX_TX 1
|
---|
73 | #define INDEX_Y 2
|
---|
74 | #define INDEX_TY 3
|
---|
75 | #define INDEX_S 4
|
---|
76 | // (x,theta_x,y,theta_y,s)
|
---|
77 | //
|
---|
78 |
|
---|
79 | /// include Pythia libraries ? (not included on some ROOT installations)
|
---|
80 | //#define _include_pythia_
|
---|
81 |
|
---|
82 | const unsigned int TM = 0; // not used anymore. left for backward compatibility
|
---|
83 | const unsigned int AM = 1; // not used anymore. left for backward compatibility
|
---|
84 |
|
---|
85 |
|
---|
86 | /* display parameters */
|
---|
87 | /// Verbose mode ?
|
---|
88 | const bool VERBOSE=false;
|
---|
89 |
|
---|
90 | #endif
|
---|
91 |
|
---|