protected: float abs(float a) float Eres(float energy) public: LumiFast LumiFast() void ~LumiFast() float GetBdl() float GetBeta() float GetEnergyDn() float GetEnergyGam() float GetEnergyGamTrue() float GetEnergyTrueDn() float GetEnergyTrueUp() float GetEnergyUp() float GetERes() float GetEScaleDn() float GetEScaleUp() float GetEWindowMax() float GetEWindowMin() GenGamma* GetGenerator() float GetPosRes() TF1* GetThetaDist() float GetXMax() float GetXMin() float GetXOffset() float GetXPosDn() float GetXPosGam() float GetXPosGamTrue() float GetXPosUp() float GetYMaxDn() float GetYMaxUp() float GetYMinDn() float GetYMinUp() float GetYOffset() float GetYPosDn() float GetYPosGam() float GetYPosGamTrue() float GetYPosUp() float GetZ() float GetZMagnet() float GetZSpectro() float GetZTrue() int IsCoincidence() int IsHitDn() int IsHitUp() void NewEvent() void ProcessEvent() void SetBdl(float new_bdl) void SetBeta(float beta) void SetEnergyLoss(int isloss) void SetEnergyRes(float neweres) void SetEScaleDn(float new_escale) void SetEScaleUp(float new_escale) void SetEWindow(float Emin, float Emax) void SetEWindowMax(float Emax) void SetEWindowMin(float Emin) void SetGenerator(GenGamma* generator) void SetNyStripsDn(int nstrips) void SetNyStripsUp(int nstrips) void SetPosRes(float newres) void SetScattering(int iscat) void SetXOffset(float new_offset) void SetYOffset(float new_offset) void Show()
private: float fBdl Integral BdL float fysep separation of to calorimeters float fyoffset offset of the spectrometer float fxoffset offset of the spectrometer int fnxstrips number of fiducial x strips int fnystrips_up number of fiducial y strips up int fnystrips_dn number of fiducial y strips dn float fxmax assume symmetric and same for both detectors float fzmagnet z-position of magnet float fzspectro z-position of spectrometer int fIsScattering switch on/off the scattering int fIsEnergyLoss switch on/off the energy loss in the window float fEwindowMin float fEwindowMax float fEnergy_res Energy resolution float fPos_res Position resolution float fEscale_up relative energy scale (e.g. 1.=true energy) float fEscale_dn float fEnergy_e electron energy float fEnergy_p positron energy float fxpos_gam photon hit position float fypos_gam float fEnergy_up float fEnergy_dn float fypos_up float fxpos_up float fypos_dn float fxpos_dn TF1* fThetaDist GenGamma* fGenerator GenGamma* fGenInternal default generator
The simulation steps are:
In the class GenGamma:
In the class LumiFast:
float Eres(float energy) float abs(float a) LumiFast LumiFast() void ~LumiFast() float GetYMinUp() float GetYMaxUp() float GetYMinDn() float GetYMaxDn() float GetXMax() float GetXMin() float GetYOffset() float GetXOffset() float GetBdl() float GetZMagnet() float GetZSpectro() float GetBeta() void SetBeta(float beta) float GetERes() float GetPosRes() float GetEScaleUp() float GetEScaleDn() float GetEnergyTrueUp() float GetEnergyTrueDn() float GetEnergyGamTrue() float GetXPosGamTrue() float GetYPosGamTrue() float GetZTrue() float GetEnergyUp() float GetEnergyDn() float GetYPosUp() float GetXPosUp() float GetYPosDn() float GetXPosDn() float GetZ() float GetXPosGam() float GetYPosGam() float GetEnergyGam() float GetEWindowMin() float GetEWindowMax() GenGamma* GetGenerator() TF1* GetThetaDist() void SetBdl(float new_bdl) void SetEScaleUp(float new_escale) void SetEScaleDn(float new_escale) void SetEWindowMin(float Emin) void SetEWindowMax(float Emax) void SetEWindow(float Emin, float Emax) void SetScattering(int iscat) void SetEnergyLoss(int isloss) void SetPosRes(float newres) void SetEnergyRes(float neweres) void SetYOffset(float new_offset) void SetXOffset(float new_offset) void SetNyStripsUp(int nstrips) void SetNyStripsDn(int nstrips) void SetGenerator(GenGamma* generator) void NewEvent() void ProcessEvent() int IsCoincidence() int IsHitUp() int IsHitDn() void Show()