Fork me on GitHub

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

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

new header in all files

File size: 4.0 KB
RevLine 
[54]1#ifndef _BFIELD_PROP_H_
2#define _BFIELD_PROP_H_
3
[260]4/***********************************************************************
5** **
6** /----------------------------------------------\ **
7** | Delphes, a framework for the fast simulation | **
8** | of a generic collider experiment | **
[346]9** \------------- arXiv:0903.2225v1 ------------/ **
[260]10** **
11** **
12** This package uses: **
13** ------------------ **
[443]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] **
[260]17** FROG: [hep-ex/0901.2718v1] **
[443]18** HepMC: Comput. Phys. Commun.134 (2001) 41 **
[260]19** **
20** ------------------------------------------------------------------ **
21** **
22** Main authors: **
23** ------------- **
24** **
[443]25** Severine Ovyn Xavier Rouby **
26** severine.ovyn@uclouvain.be xavier.rouby@cern **
[260]27** **
[443]28** Center for Particle Physics and Phenomenology (CP3) **
29** Universite catholique de Louvain (UCL) **
30** Louvain-la-Neuve, Belgium **
31** **
[260]32** Copyright (C) 2008-2009, **
[443]33** All rights reserved. **
[260]34** **
35***********************************************************************/
[54]36
37#include "TLorentzVector.h"
[223]38#include "SmearUtil.h"
39#include "BlockClasses.h"
40#include "TSimpleArray.h"
[54]41
42using namespace std;
43
[100]44class TrackPropagation {
[54]45
46 public:
47 // Constructor
[223]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
[248]55
56 // Propagation and bfield are very similar. At the end, after code cleaning,
[264]57 // only bfield will remain in this class
[54]58 void Propagation(const TRootGenParticle *Part,TLorentzVector &genMomentum);
[264]59 void bfield(TRootGenParticle *Part); // fills in Part->EtaCalo and Part->PhiCalo
[54]60
[100]61
62 private:
[193]63 unsigned int MAXITERATION;
64 RESOLution *DET;
[100]65
[193]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;
[199]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;
[193]89
90 unsigned int loop_overflow_counter;
[291]91 unsigned int aaa,bbb,ccc,ddd; // to be deleted
92
[54]93};
94
95#endif
96
97
Note: See TracBrowser for help on using the repository browser.