Revision e60bc961b69056a4925f129d0a2042471f999042 authored by Rene Brun on 19 September 2006, 14:37:13 UTC, committed by Rene Brun on 19 September 2006, 14:37:13 UTC
some changes in the class TGeoPNEntry (needed for alignment purposes): 1. Constructor of TGeoPNEntry performs a check upon definition of a symbolic link to a physical node. The check is done redundantly also upon creation of a physical node starting from a symbolic link to prevent mis-usage of these objects in-between geometries. 2. Allows storage of an additional user-defined TGeoHMatrix. The matrix should be created by the user but once TGeoPNEntry::SetMatrix() is called becomes owned by TGeoManager. git-svn-id: http://root.cern.ch/svn/root/trunk@16298 27541ba8-7e3a-0410-8455-c3a389f83636
1 parent cc15e88
TVenus.h
// @(#)root/venus:$Name: $:$Id: TVenus.h,v 1.1.1.1 2000/05/16 17:00:48 rdm Exp $
// Author: Ola Nordmann 21/09/95
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
//////////////////////////////////////////////////////////////////////////////
// //
// TVenus //
// //
// TVenus is an interface class between the event generator VENUS and //
// the ROOT system. The current implementation is based on VENUS 5.21 //
// //
// Authors of VENUS: //
// Klaus WERNER //
// Eugen FURLER (upgrade 5.04) //
// Michael HLADIK (upgrades 5.05, 5.13, 5.15, 5.17) //
// //
// Laboratoire Subatech, Universite de Nantes - IN2P3/CNRS - EMN //
// 4 rue Alfred Kastler, 44070 Nantes Cedex 03, France //
// //
// Email: <last name>@nanhp3.in2p3.fr //
// //
// VENUS is a Monte Carlo procedure to simulate hadronic interactions at //
// ultrarelativistic energies (hadron-hadron, hadron-nucleus, nucleus- //
// nucleus scattering). //
// //
// VENUS is based on Gribov-Regge theory (of multiple Pomeron exchange) //
// and classical relativistic string dynamics. A detailed description can // //
// be found in a review article, published in Physics Reports 232 (1993) //
// pp. 87-299. //
// //
// //
//////////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TVenus
#define ROOT_TVenus
#ifndef ROOT_TGenerator
#include "TGenerator.h"
#endif
class TVenus : public TGenerator {
protected:
Bool_t fAllStable;
Int_t fAProjectile;
Double_t fAveragePt;
Int_t fATarget;
Double_t fBaryonRadius;
Int_t fBreaking;
Bool_t fCascadeStable;
Int_t fCentralPoint;
TString fChoice;
Int_t fClean;
Int_t fCollisionTrigger;
Int_t fColourExchange;
Double_t fCore;
Int_t fCutKmaxor;
Double_t fCutMass;
Double_t fCutSemi;
Double_t fDecayTime;
Double_t fDensityRange;
Int_t fDualParton;
Int_t fEntropy1;
Double_t fEntropy2;
Int_t fEntropy3;
Int_t fEntropyCalc;
Double_t fGaussianRange;
Double_t fGribovCross;
Double_t fGribovDelta;
Double_t fGribovGamma;
Double_t fGribovR2;
Double_t fGribovSlope;
Double_t fImpactParameterMin;
Double_t fImpactParameterMax;
Double_t fInitialSeed;
Double_t fInteractionMass;
Double_t fInterval;
Int_t fIstore;
Int_t fJfradeSup;
Int_t fJintalOpt;
Double_t fJ_PsiEvolution;
Int_t fJ_PsiSteps;
Bool_t fKStable;
Bool_t fLabSys;
Bool_t fLambdaStable;
Bool_t fLastGeneration;
Double_t fMassTheta;
Int_t fMaxCollisions;
Int_t fMaxSpin;
Int_t fMaxValence;
Double_t fMeanQMomentum1;
Double_t fMeanQMomentum2;
Double_t fMeanQMomentum3;
Double_t fMesonRadius;
Int_t fMinEnergy;
Double_t fMinTime;
Int_t fMinValence;
Double_t fMuonAngle;
Double_t fMuonEnergy;
Double_t fNueEnergy;
Int_t fNumberOfEvents;
Double_t fIncidentMomentum;
Bool_t fOmegaStable;
Double_t fOsciQuantum;
Double_t fPIsospin;
Bool_t fPiZeroStable;
Double_t fPhaseSpace;
Double_t fPhiMin;
Double_t fPhiMax;
Double_t fPDiQuark;
Double_t fPPInelastic;
Int_t fPrintEvent;
Int_t fPrintMarks;
Int_t fPrintOption;
Int_t fPrintOption1;
Int_t fPrintOption2;
Int_t fPrintOption3;
Int_t fPrintSubOption;
Double_t fProjDiffProb;
Double_t fPSpinLight;
Double_t fPSpinHeavy;
Int_t fPTDistribution;
Double_t fPtRange;
Double_t fPud;
Int_t fQuarkPt;
Double_t fReacTime;
Int_t fRescale;
Double_t fResThreshold;
Int_t fRetries;
Double_t fRhoPhi;
Double_t fSeaProbability;
Double_t fSeaRatio;
Double_t fSeaValenceCut;
Double_t fSemihard;
Double_t fSigmaJ_Psi;
Bool_t fSigmaStable;
Int_t fSpaceTime;
Double_t fSpaceTimeStep;
Double_t fssQuarkMass;
Double_t fSQuarkMass;
Double_t fStringDecay;
Double_t fStringTension;
Double_t fTargDiffProb;
Double_t fTauMin;
Double_t fTauMax;
Int_t fTauSteps;
Bool_t fUpdate;
Double_t fuuQuarkMass;
Double_t fusQuarkMass;
Double_t fValenceFrac;
Int_t fVersion;
Int_t fZProjectile;
Int_t fZTarget;
public:
TVenus();
TVenus(char *choice, Int_t numberOfEvents, Int_t zprojectile,
Int_t aprojectile, Int_t ztarget, Int_t atarget,
Double_t incidentMomentum, Bool_t labSys,
Bool_t lastGeneration, Double_t impactParameterMin,
Double_t impactParameterMax, Double_t phiMin, Double_t phiMax);
virtual ~TVenus();
virtual void GenerateEvent(Option_t *option="");
virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="");
virtual TObjArray *ImportParticles(Option_t *option="");
virtual void SetVersionNumber(Int_t iversn = 521);
virtual void SetU_D_QuarkProductionProb(Float_t pud = 0.455);
virtual void SetQQ_QQbarProbability(Float_t pdiqua = 0.08);
virtual void SetLightFlavoursSpinProb(Float_t pspinl = 0.50);
virtual void SetHeavyFlavoursSpinProb(Float_t pspinh = 0.75);
virtual void SetIsoSpinProb(Float_t pispn = 0.50);
virtual void Setp_T_Distribution(Int_t ioptf = 1);
virtual void SetAveragep_T(Float_t ptf = 0.45);
virtual void SetStringTension(Float_t tensn = 1.0);
virtual void SetStringDecayParameter(Float_t parea = 0.20);
virtual void SetThresholdResonanceToString(Float_t delrem = 1.0);
virtual void SetCutOffForKmaxor(Int_t kutdiq = 4);
virtual void SetBreakingProcedureOption(Int_t iopbrk = 1);
virtual void SetQuarkp_TDistributionOption(Int_t ioptq = 2);
virtual void SetMeanTransverseQuarkMomentum(Float_t ptq1 = 0.260,
Float_t ptq2 = 0.0,
Float_t ptq3 = 0.0);
virtual void SetSemihardInteractionProb(Float_t phard = -1.0);
virtual void SetSemihardCutOff(Float_t pth = 1.0);
virtual void SetSeaRatio(Float_t rstras = 0.0);
virtual void SetProjectileDiffractiveProb(Float_t wproj = 0.32);
virtual void SetTargetDiffractiveProb(Float_t wtarg = 0.32);
virtual void SetStructureFunctionSeaValence(Float_t cutmsq = 2.0);
virtual void SetStructureFunctionCutOffMass(Float_t cutmss = 0.001);
virtual void SetDiffractiveValenceQuarkFrac(Float_t pvalen = 0.30);
virtual void SetPhaseSpace(Float_t delmss = 0.300);
virtual void SetGribovReggeGamma(Float_t grigam = 3.64*0.04);
virtual void SetGribovReggeRSquared(Float_t grirsq = 3.56*0.04);
virtual void SetGribovReggeDelta(Float_t gridel = 0.07);
virtual void SetGribovReggeSlope(Float_t grislo = 0.25*0.04);
virtual void SetGribovReggeCrossSecWeight(Float_t gricel = 1.5);
virtual void SetHardCoreDistance(Float_t core = 0.8);
virtual void SetJ_PsiNucleonCrossSec(Float_t sigj = 0.2);
virtual void SetReactionTime(Float_t taurea = 1.5);
virtual void SetBaryonRadius(Float_t radbar = 0.63);
virtual void SetMesonRadius(Float_t radmes = 0.40);
virtual void SetInteractionMass(Float_t amsiac = 0.8);
virtual void SetJIntaOption(Int_t iojint = 2);
virtual void SetPrintOptionAmprif(Float_t amprif = 0.0);
virtual void SetPrintOptionDelvol(Float_t delvol = 1.0);
virtual void SetPrintOptionDeleps(Float_t deleps = 1.0);
virtual void SetEntropyOption(Int_t iopent = 5,
Float_t uentro = 4.,
Int_t kentro = 10000);
virtual void SetDecayTime(Float_t taunll = 1.0);
virtual void SetOscillatorQuantum(Float_t omega = .500);
virtual void SetSpaceTimeEvolutionMinTau(Float_t taumin = 1.);
virtual void SetTauSteps(Int_t numtau = 86);
virtual void Setp_TDistributionRange(Float_t ptmx = 6.0);
virtual void SetGaussDistributionRange(Float_t gaumx = 8.0);
virtual void SetDensityDistributionRange(Float_t fctrmx = 10.0);
virtual void SetTryAgain(Int_t ntrymx = 10);
virtual void SetJ_PsiEvolutionTime(Float_t taumx = 20.0);
virtual void SetJ_PsiEvolutionTimeSteps(Int_t nsttau = 100);
virtual void SetMinimumEnergyOption(Int_t iopenu = 1);
virtual void SetBergerJaffeTheta(Float_t themas = 0.51225);
virtual void SetSeaProbability(Float_t prosea = -1.0);
virtual void SetInelasticProtonProtonCrossSec(Float_t sigppi = -1.0);
virtual void SetEntropyCalculated(Int_t ientro = 2);
virtual void SetDualPartonModel(Int_t idpm = 0);
virtual void SetAntiQuarkColourExchange(Int_t iaqu = 1);
virtual void SetMinNumberOfValenceQuarks(Int_t neqmn = -5);
virtual void SetMaxNumberOfValenceQuarks(Int_t neqmx = 5);
virtual void SetRapidityUpperLimit(Float_t ymximi = 2.0);
virtual void SetClean(Int_t nclean = 0);
virtual void SetCMToLabTransformation(Int_t labsys = 1);
virtual void SetMaxNumberOfCollisions(Int_t ncolmx = 10000);
virtual void SetMaxResonanceSpin(Int_t maxres = 99999);
virtual void SetMomentumRescaling(Int_t irescl = 1);
virtual void SetNueEnergy(Float_t elepti = 43.00);
virtual void SetMuonEnergy(Float_t elepto = 26.24);
virtual void SetMuonAngle(Float_t angmue = 3.9645/360.0*2*3.14159);
virtual void SetCollisionTrigger(Int_t ko1ko2 = 9999);
virtual void SetPrintOption(Int_t ish = 0);
virtual void SetPrintSubOption(Int_t ishsub = 0);
virtual void SetEventPrint(Int_t ishevt = 0);
virtual void SetPrintMarks(Int_t ipagi = 0);
virtual void SetMaxImpact(Float_t bmaxim = 10000.);
virtual void SetMinImpact(Float_t bminim = 0.);
virtual void SetStoreOnlyStable(Int_t istmax = 0);
virtual void SetInitialRandomSeed(Double_t seedi = 0.0);
virtual void SetJFRADESuppression(Int_t ifrade = 1);
virtual void SetResonanceStable(Bool_t stable = kFALSE);
virtual void SetKShortKLongStable(Bool_t stable);
virtual void SetLambdaStable(Bool_t stable);
virtual void SetSigmaStable(Bool_t stable);
virtual void SetCascadeStable(Bool_t stable);
virtual void SetOmegaStable(Bool_t stable);
virtual void SetPiZeroStable(Bool_t stable);
virtual void SetRhoPhiRatio(Float_t rhophi = 0.5);
virtual void SetSpaceTimeEvolution(Int_t ispall = 1);
virtual void SetMinTimeInEvolution(Float_t wtmini = -3.0);
virtual void SetTimeStepInEvolution(Float_t wtstep = 1.0);
virtual void SetCentralPointInEvolution(Int_t iwcent = 0);
virtual void SetsMass(Float_t smas = 0.0);
virtual void SetuuMass(Float_t uumas = 0.0);
virtual void SetusMass(Float_t usmas = 0.0);
virtual void SetssMass(Float_t ssmas = 0.0);
virtual void SetStorage(Int_t istore);
virtual void Show();
ClassDef(TVenus,1) //Venus event generator interface class
};
#endif
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...