#ifndef _H_RecRPObject_ #define _H_RecRPObject_ /* * ---- Hector the simulator ---- * A fast simulator of particles through generic beamlines. * J. de Favereau, X. Rouby ~~~ hector_devel@cp3.phys.ucl.ac.be * * http://www.fynu.ucl.ac.be/hector.html * * Centre de Physique des Particules et de Phénoménologie (CP3) * Université Catholique de Louvain (UCL) */ /// \file H_RecRPObject.h /// \brief Reconstructed information from objects detected by two roman pots #include "TF1.h" #include "H_BeamLine.h" #define NOT_YET_COMPUTED -666 class H_RecRPObject { public: H_RecRPObject(); H_RecRPObject(const float, const float, H_AbstractBeamLine* ); H_RecRPObject(const H_RecRPObject&); H_RecRPObject& operator=(const H_RecRPObject&); ~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; }; inline float getX1() const {return x1;}; inline float getX2() const {return x2;}; inline float getY1() const {return y1;}; inline float getY2() const {return y2;}; inline float getS1() const {return s1;}; inline float getS2() const {return s2;}; float getTX(); float getTY(); float getE(); float getE(int ); float getQ2(); float getPt(); void setPositions(const float, const float, const float, const float); void setPosition_det1(const float, const float); void setPosition_det2(const float, const float); void setDetPos(const float, const float); void setERange(const float, const float); void computeERange(); void initialize(); void computeAll(); protected: float emin, emax; float x1, x2, y1, y2, s1, s2; float txip, tyip, energy, q2, pt; H_AbstractBeamLine* thebeam; TF1* f_1, *f_2; TF1* g_1, *g_2; TF1* d_1, *d_2; TF1* k_1, *k_2; TF1* l_1, *l_2; }; #endif