JSFBeamGenerationCain
class description - source file - inheritance tree
public:
JSFBeamGenerationCain()
JSFBeamGenerationCain(const JSFBeamGenerationCain&)
virtual ~JSFBeamGenerationCain()
Double_t BS1DFunction(Double_t* x, Double_t* p)
Double_t BS2DFunction(Double_t* x, Double_t* p)
static TClass* Class()
virtual void GenBeamStrahlung(Double_t& eminus, Double_t& eplus)
virtual void GenBeamStrahlung(TLorentzVector& ecm, TLorentzVector& vtx)
Double_t GenBSEnergy1(const Double_t eini, const Double_t xrand = -1.0)
Bool_t GenBSEnergy2(Double_t& eminus, Double_t& eplus)
virtual void GenEnergySpread(Double_t& eminus, Double_t& eplus)
Double_t GetBndOrder()
TF2* GetBS2DFunction()
Double_t GetBSEnergy2Weight(const Double_t xbsm, const Double_t xbsp, Double_t& eminus, Double_t& eplus)
JSFBeamGenerationCain::EIBType GetIBType()
virtual Double_t GetIBWidth()
void GetLumRatio(Double_t* ratio)
Double_t GetLumRatio(Int_t i)
Double_t* GetPCnt()
Int_t GetPCntSize()
virtual Double_t GetWeight(const Double_t random_initial_eminus, const Double_t random_initial_eplus, const Double_t random_bs_eminus, const Double_t random_bs_eplus, Double_t& eminus, Double_t& eplus)
virtual TClass* IsA() const
void MakeBSMap()
Double_t PolFunc6(Double_t* x, Double_t* p)
virtual void Print()
void SetBSParameters(const Int_t beamdataformat, const TString parametername, const Double_t luminosity, const Double_t nominalE, const Double_t* lumratio, const Double_t bndorder, const Double_t* pedge1, const Double_t edgelimit, const Int_t fnedge2, const Double_t* pedge2, const Int_t nfits, const Int_t npmax, const Double_t* pcnt)
void SetIBParameters(const Double_t width, const JSFBeamGenerationCain::EIBType type = kUniform)
void SetIBParameters(const Double_t nominalE, const Double_t width, const JSFBeamGenerationCain::EIBType type = kUniform)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
Double_t fLumRatio[3] Luminosity of each part.
Double_t fBndOrder < 10^(fBndOrder) region is uniform
Double_t fPEdge1[3] parabola parameter of low X region.
Double_t fPEdgeLimit Boundary of lowX and HighX.
Int_t fNEdge2 Number of parameters used to describe high X region
Double_t* fPEdge2 [fNEdge2] Parameters to describe high X region.
Int_t fNfits Number of fit parameter
Int_t fNpmax Max number of parameter
Int_t fPCntSize Size of fPCnt Array
Double_t* fPCnt [fPCntSize] Parameters for central part.
JSFBeamGenerationCain::EIBType fIBType Type of nominal energy spread
Double_t fIBWidth Relative width(sigma) of initial beam spread
Int_t fMdiv No. of division in one axis
Int_t fMapsize size of array for random generation (fMdiv*fMdiv)
Double_t* fMxmin [fMapsize] xmin in each cell
Double_t* fMxmax [fMapsize] xmax in each cell
Double_t* fMymin [fMapsize] ymin in each cell
Double_t* fMymax [fMapsize] ymax in each cell
Double_t* fMaint [fMapsize] Acumulated integral of bin
Double_t* fMvmax [fMapsize] Maximum of each bin
TF2* fBS2DFunction ! BS2DFunction
Double_t fTotalInt Total integration
public:
static const JSFBeamGenerationCain::EIBType kUniform
static const JSFBeamGenerationCain::EIBType kGauss
JSFBeamGeneration
Generate JLC beam momentum
$Id: JSFBeamGeneration.cxx,v 1.2 2003/02/04 01:18:33 miyamoto Exp $
JSFBeamGenerationCain()
~JSFBeamGenerationCain()
void SetBSParameters(const Int_t beamdataformat, const TString parametername,
const Double_t luminosity, const Double_t nominalE, const Double_t lumratio[3],
const Double_t bndorder, const Double_t pedge1[3], const Double_t edgelimit,
const Int_t fnedge2, const Double_t pedge2[], const Int_t nfits,
const Int_t npmax, const Double_t pcnt[])
void SetIBParameters( const Double_t width, const EIBType type)
void SetIBParameters(const Double_t nominalE,
const Double_t width, const EIBType type )
void Print()
void GenEnergySpread(Double_t &eminus, Double_t &eplus)
void GenBeamStrahlung(Double_t &eminus, Double_t &eplus)
Double_t GetWeight(const Double_t xebm, const Double_t xebp,
const Double_t xbsm, const Double_t xbsp,
Double_t &xeminus, Double_t &xeplus)
Using the input four random number, generate beam energy, eminus and eplus.
Pointer to bases object is used to get additional random number
xebm, xebp, xbsm, xbsp must be uniform random number between 0 to 1.
Output energies, xeminus, xeplus are scaled energy [0,1+alpha]
void GenBeamStrahlung(TLorentzVector &pecm, TLorentzVector &pvtx)
Double_t GenBSEnergy1(const Double_t eini, const Double_t xrand)
Bool_t GenBSEnergy2(Double_t &eminus, Double_t &eplus)
When both electron and positron have energy loss.
Double_t GetBSEnergy2Weight(const Double_t xbsm, const Double_t xbsp,
Double_t &eminus, Double_t &eplus)
When both electron and positron have energy loss.
Double_t BS1DFunction(Double_t *x, Double_t *p)
Double_t BS2DFunction(Double_t *xi, Double_t *par)
Double_t PolFunc6(Double_t *xi, Double_t *par)
void MakeBSMap()
Create a data for beam generation.
Inline Functions
void GetLumRatio(Double_t* ratio)
Double_t GetLumRatio(Int_t i)
Double_t GetBndOrder()
JSFBeamGenerationCain::EIBType GetIBType()
Double_t GetIBWidth()
Double_t* GetPCnt()
Int_t GetPCntSize()
TF2* GetBS2DFunction()
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
JSFBeamGenerationCain JSFBeamGenerationCain(const JSFBeamGenerationCain&)
Last update: Tue Jan 20 15:55:47 2004
ROOT page - Home page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.