Fork me on GitHub

source: svn/trunk/Utilities/Hector/include/H_RecRPObject.h@ 6

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

first commit

File size: 1.9 KB
Line 
1#ifndef _H_RecRPObject_
2#define _H_RecRPObject_
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 *
11 * Centre de Physique des Particules et de Phénoménologie (CP3)
12 * Université Catholique de Louvain (UCL)
13*/
14
15/// \file H_RecRPObject.h
16/// \brief Reconstructed information from objects detected by two roman pots
17
18#include "TF1.h"
19
20#include "H_BeamLine.h"
21
22#define NOT_YET_COMPUTED -666
23
24class H_RecRPObject {
25 public:
26 H_RecRPObject();
27 H_RecRPObject(const float, const float, H_AbstractBeamLine* );
28 H_RecRPObject(const H_RecRPObject&);
29 H_RecRPObject& operator=(const H_RecRPObject&);
30 ~H_RecRPObject() {if(f_1) delete f_1; if(f_2) delete f_2; if(g_1) delete g_1; if(g_2) delete g_2; if(d_1) delete d_1; if(d_2) delete d_2; if(k_1) delete k_1; if(k_2) delete k_2; if(l_1) delete l_1; if(l_2) delete l_2; };
31
32 inline float getX1() const {return x1;};
33 inline float getX2() const {return x2;};
34 inline float getY1() const {return y1;};
35 inline float getY2() const {return y2;};
36 inline float getS1() const {return s1;};
37 inline float getS2() const {return s2;};
38
39 float getTX();
40 float getTY();
41 float getE();
42 float getE(int );
43 float getQ2();
44 float getPt();
45
46 void setPositions(const float, const float, const float, const float);
47 void setPosition_det1(const float, const float);
48 void setPosition_det2(const float, const float);
49 void setDetPos(const float, const float);
50 void setERange(const float, const float);
51 void computeERange();
52 void initialize();
53 void computeAll();
54
55 protected:
56
57 float emin, emax;
58 float x1, x2, y1, y2, s1, s2;
59 float txip, tyip, energy, q2, pt;
60 H_AbstractBeamLine* thebeam;
61 TF1* f_1, *f_2;
62 TF1* g_1, *g_2;
63 TF1* d_1, *d_2;
64 TF1* k_1, *k_2;
65 TF1* l_1, *l_2;
66};
67
68#endif
Note: See TracBrowser for help on using the repository browser.