Fork me on GitHub

source: svn/trunk/Utilities/Hector/include/H_Parameters.h@ 255

Last change on this file since 255 was 235, checked in by Xavier Rouby, 16 years ago

changing ugly #define statements to a nice enum

File size: 2.2 KB
Line 
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]
28const double MP=0.93827;
29 /// proton charge [e]
30const double QP=1.;
31 /// conversion factor for \f$\mu\f$rad <-> rad
32const double URAD=1000000.;
33
34/* beam parameters */
35 /// beam nominal energy in GeV
36const double BE=7000.;
37 /// beam energy divergence, in GeV
38const double SBE=0.79;
39 /// beam nominal energy in TeV
40const double BETEV=7.;
41 /// beam S @ IP
42const double PS=0.;
43 /// beam X @ IP
44const double PX=-500.;
45 /// beam Y @ IP
46const double PY=0.;
47 /// beam longitudinal dispersion
48const double SS=0.;
49 /// beam lateral width SX @ IP
50const double SX=16.63;
51 /// beam lateral width SY @ IP
52const double SY=16.63;
53 /// beam transverse direction angle TX @ IP
54const double TX=0.;
55 /// beam transverse direction angle TY @ IP
56const double TY=0.;
57 /// beam angular divergence STX @ IP
58const double STX=30.23;
59 /// beam angular divergence STY @ IP
60const double STY=30.23;
61 /// half crossing angle at IP [\f$ \mu \f$RAD]
62const double CRANG=142.5;
63
64// local defines, used in H_BeamParticle & H_OpticalElements
65enum {INDEX_X=0, INDEX_TX, INDEX_Y, INDEX_TY, INDEX_S, LENGTH_VEC};
66// (x,theta_x,y,theta_y,s)
67
68/// include Pythia libraries ? (not included on some ROOT installations)
69//#define _include_pythia_
70
71const unsigned int TM = 0; // not used anymore. left for backward compatibility
72const unsigned int AM = 1; // not used anymore. left for backward compatibility
73
74
75/* display parameters */
76 /// Verbose mode ?
77const bool VERBOSE=false;
78
79#endif
80
Note: See TracBrowser for help on using the repository browser.