Page MenuHomeHEPForge

EvtManyDeltaFuncLineShape.cpp
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

EvtManyDeltaFuncLineShape.cpp

//--------------------------------------------------------------------------
//
// Environment:
// This software is part of the EvtGen package developed jointly
// for the BaBar and CLEO collaborations. If you use all or part
// of it, please give an appropriate acknowledgement.
//
// Copyright Information: See EvtGen/COPYRIGHT
// Copyright (C) 1998 Caltech, UCSB
//
// Module: EvtLineShape.cc
//
// Description: Store particle properties for one particle.
//
// Modification history:
//
// Lange March 10, 2001 Module created
// Dvoretskii June 03, 2002 Reimplemented rollMass()
//
//------------------------------------------------------------------------
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtPatches.hh"
#include "EvtGenBase/EvtManyDeltaFuncLineShape.hh"
#include "EvtGenBase/EvtRandom.hh"
#include "EvtGenBase/EvtTwoBodyVertex.hh"
#include "EvtGenBase/EvtBlattWeisskopf.hh"
#include "EvtGenBase/EvtPropBreitWignerRel.hh"
#include "EvtGenBase/EvtPropBreitWigner.hh"
#include "EvtGenBase/EvtPDL.hh"
#include "EvtGenBase/EvtSpinType.hh"
EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape() {
}
EvtManyDeltaFuncLineShape::~EvtManyDeltaFuncLineShape() {
}
EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(double mass, double width, double maxRange, EvtSpinType::spintype sp) {
_mass=mass;
_width=width;
_spin=sp;
_maxRange=maxRange;
double maxdelta = width;
_massMax=mass+maxdelta;
_massMin=mass-maxdelta;
if ( _massMin< 0. ) _massMin=0.;
}
EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(const EvtManyDeltaFuncLineShape& x):
EvtAbsLineShape( x ) {
_mass=x._mass;
_width=x._width;
_spin=x._spin;
_massMax=x._massMax;
_massMin=x._massMin;
_maxRange=x._maxRange;
}
EvtManyDeltaFuncLineShape& EvtManyDeltaFuncLineShape::operator=(const EvtManyDeltaFuncLineShape& x){
_mass=x._mass;
_massMax=x._massMax;
_massMin=x._massMin;
_width=x._width;
_maxRange=x._maxRange;
_spin=x._spin;
return *this;
}
EvtAbsLineShape* EvtManyDeltaFuncLineShape::clone() {
return new EvtManyDeltaFuncLineShape(*this);
}
double EvtManyDeltaFuncLineShape::getMassProb(double mass, double massPar,int nDaug, double *massDau) {
double dTotMass=0.;
int i;
for (i=0; i<nDaug; i++) {
dTotMass+=massDau[i];
}
if ( (mass<dTotMass) ) return 0.;
if ( massPar>0.0000000001 ) {
if ( mass > massPar) return 0.;
}
return 1.;
}
double EvtManyDeltaFuncLineShape::getRandMass(EvtId*,int, EvtId*, EvtId*, double, double *) {
int nDelta = int((_massMax - _massMin)/_width);
nDelta++;
double rand=EvtRandom::Flat(0.,float(nDelta));
int randI=int(rand);
return _massMin+randI*_width;
}

File Metadata

Mime Type
text/x-c
Expires
Tue, Sep 30, 4:43 AM (21 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6519416
Default Alt Text
EvtManyDeltaFuncLineShape.cpp (2 KB)

Event Timeline