Fork me on GitHub

source: svn/trunk/interface/BFieldProp.h@ 698

Last change on this file since 698 was 443, checked in by Xavier Rouby, 15 years ago

new header in all files

File size: 4.0 KB
Line 
1#ifndef _BFIELD_PROP_H_
2#define _BFIELD_PROP_H_
3
4/***********************************************************************
5** **
6** /----------------------------------------------\ **
7** | Delphes, a framework for the fast simulation | **
8** | of a generic collider experiment | **
9** \------------- arXiv:0903.2225v1 ------------/ **
10** **
11** **
12** This package uses: **
13** ------------------ **
14** ROOT: Nucl. Inst. & Meth. in Phys. Res. A389 (1997) 81-86 **
15** FastJet algorithm: Phys. Lett. B641 (2006) [hep-ph/0512210] **
16** Hector: JINST 2:P09005 (2007) [physics.acc-ph:0707.1198v2] **
17** FROG: [hep-ex/0901.2718v1] **
18** HepMC: Comput. Phys. Commun.134 (2001) 41 **
19** **
20** ------------------------------------------------------------------ **
21** **
22** Main authors: **
23** ------------- **
24** **
25** Severine Ovyn Xavier Rouby **
26** severine.ovyn@uclouvain.be xavier.rouby@cern **
27** **
28** Center for Particle Physics and Phenomenology (CP3) **
29** Universite catholique de Louvain (UCL) **
30** Louvain-la-Neuve, Belgium **
31** **
32** Copyright (C) 2008-2009, **
33** All rights reserved. **
34** **
35***********************************************************************/
36
37#include "TLorentzVector.h"
38#include "SmearUtil.h"
39#include "BlockClasses.h"
40#include "TSimpleArray.h"
41
42using namespace std;
43
44class TrackPropagation {
45
46 public:
47 // Constructor
48 TrackPropagation();
49 TrackPropagation(const string& DetDatacard);
50 TrackPropagation(const RESOLution * DetDatacard);
51 TrackPropagation(const TrackPropagation & tp);
52 TrackPropagation& operator=(const TrackPropagation & tp);
53 ~TrackPropagation() {delete DET;};
54 void init(); // for constructors
55
56 // Propagation and bfield are very similar. At the end, after code cleaning,
57 // only bfield will remain in this class
58 void Propagation(const TRootGenParticle *Part,TLorentzVector &genMomentum);
59 void bfield(TRootGenParticle *Part); // fills in Part->EtaCalo and Part->PhiCalo
60
61
62 private:
63 unsigned int MAXITERATION;
64 RESOLution *DET;
65
66
67 /// radial/longitudinal extensions of magnetic field volume
68 double R_max, z_max;
69 /// magnetic field components
70 double B_x, B_y, B_z;
71 /// particle charge
72 double q;
73 /// initial coordinate
74 double phi_0;
75 /// relativistic gamma \times m
76 double gammam;
77 /// giration frequency and radius
78 double omega, r;
79 /// center of the helix in the transverse plane
80 double x_c, y_c, R_c, Phi_c;
81 // variable for an intermediate computing
82 double rr;
83 /// times for exiting the magnetic field volume
84 double t, t_z, t_T;
85 /// coordinates of the exit point
86 double x_t, y_t, z_t, R_t, Phi_t, Theta_t, Eta_t;
87 /// energy-momentum of the exit point [Gev] et c=1
88 double Px_t, Py_t, Pz_t, PT_t, p_t, E_t;
89
90 unsigned int loop_overflow_counter;
91 unsigned int aaa,bbb,ccc,ddd; // to be deleted
92
93};
94
95#endif
96
97
Note: See TracBrowser for help on using the repository browser.