Fork me on GitHub

source: svn/trunk/external/Hector/H_RecRPObject.h@ 1364

Last change on this file since 1364 was 1360, checked in by Pavel Demin, 11 years ago

add Hector module

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision Date
File size: 2.8 KB
Line 
1#ifndef _H_RecRPObject_
2#define _H_RecRPObject_
3
4 /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
5 * *
6* --<--<-- A fast simulator --<--<-- *
7* / --<--<-- of particle --<--<-- *
8* ----HECTOR----< *
9* \ -->-->-- transport through -->-->-- *
10* -->-->-- generic beamlines -->-->-- *
11* *
12* JINST 2:P09005 (2007) *
13* X Rouby, J de Favereau, K Piotrzkowski (CP3) *
14* http://www.fynu.ucl.ac.be/hector.html *
15* *
16* Center for Cosmology, Particle Physics and Phenomenology *
17* Universite catholique de Louvain *
18* Louvain-la-Neuve, Belgium *
19 * *
20 * * * * * * * * * * * * * * * * * * * * * * * * * * * */
21
22/// \file H_RecRPObject.h
23/// \brief Reconstructed information from objects detected by two roman pots
24
25#include "TF1.h"
26#include <cmath>
27
28#include "H_BeamLine.h"
29
30#define NOT_YET_COMPUTED -666
31
32/// Reconstruction of parameters at IP using measurements with roman pots
33class H_RecRPObject {
34 public:
35 H_RecRPObject();
36 H_RecRPObject(const float, const float, const H_AbstractBeamLine* );
37 H_RecRPObject(const float, const float, const H_AbstractBeamLine& ); // old-fashioned -- to be deleted
38 H_RecRPObject(const H_RecRPObject&);
39 H_RecRPObject& operator=(const H_RecRPObject&);
40 ~H_RecRPObject() {delete f_1; delete f_2; delete g_1; delete g_2;
41 delete d_1; delete d_2; delete k_1; delete k_2;
42 delete l_1; delete l_2;
43 delete thebeam;};
44
45 inline float getX1() const {return x1;};
46 inline float getX2() const {return x2;};
47 inline float getY1() const {return y1;};
48 inline float getY2() const {return y2;};
49 inline float getS1() const {return s1;};
50 inline float getS2() const {return s2;};
51
52 float getTX();
53 float getTY();
54 float getE();
55 float getE(int );
56 float getQ2();
57 float getPt();
58
59 void setPositions(const float, const float, const float, const float);
60 void setPosition_det1(const float, const float);
61 void setPosition_det2(const float, const float);
62 void setDetPos(const float, const float);
63 void setERange(const float, const float);
64 void computeERange();
65 void initialize();
66 void computeAll();
67
68 protected:
69
70 float emin, emax;
71 float x1, x2, y1, y2, s1, s2;
72 float txip, tyip, energy, q2, pt;
73 H_AbstractBeamLine* thebeam;
74 TF1* f_1, *f_2;
75 TF1* g_1, *g_2;
76 TF1* d_1, *d_2;
77 TF1* k_1, *k_2;
78 TF1* l_1, *l_2;
79 friend std::ostream& operator<< (std::ostream& os, const H_RecRPObject& rp);
80};
81
82#endif
83
Note: See TracBrowser for help on using the repository browser.