40 void geometry( TString tag, Bool_t agml=
true )
42 TString cmd =
"DETP GEOM "; cmd += tag;
43 if ( !geant_maker ) geant_maker = (
St_geant_Maker *)chain->GetMaker(
"geant");
44 geant_maker -> LoadGeometry(cmd);
48 void command( TString cmd )
50 if ( !geant_maker ) geant_maker = (
St_geant_Maker *)chain->GetMaker(
"geant");
51 geant_maker -> Do( cmd );
69 TString name =
"lamXi0";
70 TString title =
"Lambda Xi0 Dibaryon";
71 Double_t mass = 2.430543;
72 Bool_t stable =
false;
73 Double_t width = 2.5E-15;
75 TString _class =
"dibaryon";
76 Int_t pdgCode = 2033223122;
79 TParticlePDG *part = data.
AddParticle(name, title, mass, stable, width, charg3, _class, pdgCode, 0, g3Code );
88 TString name =
"omega(782)";
89 TString title =
"omgea(782)";
90 Double_t mass = 0.782;
91 Bool_t stable =
false;
94 TString _class =
"meson";
98 TParticlePDG *part = data.
AddParticle(name, title, mass, stable, width, charg3, _class, pdgCode, 0, g3Code );
103 gSystem->Load(
"libgstar.so");
104 command(
"call gstar");
109 void trig( Int_t n=1 )
111 for ( Int_t i=0; i<n; i++ )
116 kinematics->
Kine(1,
"lamXi0", 0.0, 10.0, -1.0, +1.0 );
138 gSystem->Load(
"libKinematics.so");
146 void starsim( Int_t nevents=1, Int_t rngSeed=1234 )
148 gROOT->ProcessLine(
".L bfc.C");
150 TString simple =
"y2012 geant gstar usexgeom agml ";
154 gSystem->Load(
"libVMC.so");
156 gSystem->Load(
"StarGeneratorUtil.so" );
157 gSystem->Load(
"StarGeneratorEvent.so" );
158 gSystem->Load(
"StarGeneratorBase.so" );
160 gSystem->Load(
"libMathMore.so" );
161 gSystem->Load(
"xgeometry.so" );
174 _primary -> SetFileName(
"kinematics.starsim.root");
175 chain -> AddBefore(
"geant", _primary );
190 command(
"gkine -4 0");
191 command(
"gfile o pythia6.starsim.fzd");
198 ptDist =
new TF1(
"ptDist",
"(x/[0])/(1+(x/[0])^2)^6",0.0,10.0);
199 ptDist->SetParameter(0, pt0);
202 etaDist =
new TF1(
"etaDist",
"-TMath::Erf(x+2.6)*TMath::Erf(x-2.6)",-0.8,+0.8);
void Print(const Option_t *opts="head") const
Star Simple Kinematics Generator.
virtual void Clear(Option_t *option="")
User defined functions.
static StarParticleData & instance()
Returns a reference to the single instance of this class.
Interface to PDG information.
void AddGenerator(StarGenerator *gener)
void AddParticle(const Char_t *name, TParticlePDG *particle)
Add a particle to the database.
Int_t Init()
Initialize generator.
static void seed(UInt_t s)
Base class for event records.
StarGenEvent * event()
Return a pointer to the event.
Main steering class for event generation.
static void capture()
Capture gRandom random number generator.
Sparse class to hold track kinematics.
void Kine(Int_t ntrack, const Char_t *type="pi+,pi-,K+,K-,proton,antiproton", Double_t ptlow=0.0, Double_t pthigh=500.0, Double_t ylow=-10.0, Double_t yhigh=+10.0, Double_t philow=0.0, Double_t phihigh=TMath::TwoPi())