00001 #ifndef EcalTestBeam_PEcalTBInfo_h 00002 #define EcalTestBeam_PEcalTBInfo_h 00003 // -*- C++ -*- 00004 // 00005 // Package: EcalTestBeam 00006 // Class : PEcalTBInfo 00007 // 00008 // 00009 // $Id: PEcalTBInfo.h,v 1.2 2006/10/25 16:58:04 fabiocos Exp $ 00010 // 00011 00012 // system include files 00013 #include <string> 00014 #include <vector> 00015 #include <memory> 00016 00017 // user include files 00018 00019 class PEcalTBInfo { 00020 00021 typedef std::vector<float> FloatVector; 00022 typedef std::vector<int> IntVector; 00023 00024 public: 00025 PEcalTBInfo(); 00026 virtual ~PEcalTBInfo(); 00027 00028 // ---------- const member functions --------------------- 00029 int nCrystal() const {return nCrystal_; } 00030 00031 double etaBeam() const {return etaBeam_; } 00032 double phiBeam() const {return phiBeam_; } 00033 double dXbeam() const {return dXbeam_; } 00034 double dYbeam() const {return dYbeam_; } 00035 00036 double evXbeam() const {return evXbeam_; } 00037 double evYbeam() const {return evYbeam_; } 00038 00039 double phaseShift() const {return phaseShift_;} 00040 00041 // ---------- static member functions -------------------- 00042 00043 // ---------- member functions --------------------------- 00044 void clear(); 00045 00046 void setCrystal(int nCrystal); 00047 void setBeamDirection(double etaBeam, double phiBeam); 00048 void setBeamOffset(double dXbeam, double dYbeam); 00049 00050 void setBeamPosition(double evXbeam, double evYbeam); 00051 void setPhaseShift(double phaseShift); 00052 00053 private: 00054 // PEcalTBInfo(const PEcalTBInfo&); 00055 // const PEcalTBInfo& operator=(const PEcalTBInfo&); 00056 00057 // ---------- member data -------------------------------- 00058 00059 //fixed run beam parameters 00060 00061 int nCrystal_; 00062 00063 double etaBeam_,phiBeam_; 00064 double dXbeam_,dYbeam_; 00065 00066 //event beam parameters 00067 00068 double evXbeam_,evYbeam_; 00069 00070 // phase 00071 double phaseShift_; 00072 }; 00073 00074 00075 #endif