[3] | 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 |
|
---|