Fork me on GitHub

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

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

new Hector version

File size: 2.7 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
27#include "H_BeamLine.h"
28
29#define NOT_YET_COMPUTED -666
30
31/// Reconstruction of parameters at IP using measurements with roman pots
32class H_RecRPObject {
33 public:
34 H_RecRPObject();
35 H_RecRPObject(const float, const float, const H_AbstractBeamLine* );
36 H_RecRPObject(const H_RecRPObject&);
37 H_RecRPObject& operator=(const H_RecRPObject&);
38 ~H_RecRPObject() {delete f_1; delete f_2; delete g_1; delete g_2;
39 delete d_1; delete d_2; delete k_1; delete k_2;
40 delete l_1; delete l_2;
41 delete thebeam;};
42
43 inline float getX1() const {return x1;};
44 inline float getX2() const {return x2;};
45 inline float getY1() const {return y1;};
46 inline float getY2() const {return y2;};
47 inline float getS1() const {return s1;};
48 inline float getS2() const {return s2;};
49
50 float getTX();
51 float getTY();
52 float getE();
53 float getE(int );
54 float getQ2();
55 float getPt();
56
57 void setPositions(const float, const float, const float, const float);
58 void setPosition_det1(const float, const float);
59 void setPosition_det2(const float, const float);
60 void setDetPos(const float, const float);
61 void setERange(const float, const float);
62 void computeERange();
63 void initialize();
64 void computeAll();
65
66 protected:
67
68 float emin, emax;
69 float x1, x2, y1, y2, s1, s2;
70 float txip, tyip, energy, q2, pt;
71 H_AbstractBeamLine* thebeam;
72 TF1* f_1, *f_2;
73 TF1* g_1, *g_2;
74 TF1* d_1, *d_2;
75 TF1* k_1, *k_2;
76 TF1* l_1, *l_2;
77 friend std::ostream& operator<< (std::ostream& os, const H_RecRPObject& rp);
78};
79
80#endif
Note: See TracBrowser for help on using the repository browser.