[3] | 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 |
|
---|
| 24 | class 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
|
---|