X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TFluka%2FTFluka.h;h=6a659ccdad06890b7f41579a61374438095cd24d;hb=c32da87924a459f46841c6e2f09acf834b1db1a2;hp=c63767152e294c16e262ed4a5eeb1e46d5a27587;hpb=1b7bf6a6dd6d91d5b00644a0f4b7c49c5708745a;p=u%2Fmrichter%2FAliRoot.git diff --git a/TFluka/TFluka.h b/TFluka/TFluka.h index c63767152e2..6a659ccdad0 100644 --- a/TFluka/TFluka.h +++ b/TFluka/TFluka.h @@ -191,7 +191,11 @@ class TFluka : public TVirtualMC { virtual Int_t PDGFromId(Int_t pdg) const; virtual void DefineParticles() {Warning("DefineParticles", "Not yet implemented !\n");} + virtual Bool_t SetDecayMode(Int_t /*pdg*/, + Float_t /*bratio*/[6], Int_t /*mode*/[6][3]) + {return kFALSE;} + // // methods for step management // ------------------------------------------------ @@ -309,7 +313,8 @@ class TFluka : public TVirtualMC { virtual Bool_t DefineParticle(Int_t, const char*, TMCParticleType, Double_t, Double_t, Double_t, const TString&, Double_t, Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Bool_t, Bool_t = kFALSE, const TString& = "", Int_t = 0, Double_t = 0.0, Double_t = 0.0) {return kFALSE;} - virtual Bool_t DefineIon(const char*, int, int, int, double, double) {return kFALSE;} + virtual Bool_t DefineIon(const char* name , Int_t z, Int_t a, Int_t q, Double_t exE, Double_t mass); + virtual TString ParticleName(int pdg) const; virtual Double_t ParticleMass(int pdg) const; virtual Double_t ParticleMassFPC(int fpc) const; @@ -403,9 +408,7 @@ class TFluka : public TVirtualMC { void GetPrimaryElectronPosition(Int_t i, Double_t& x, Double_t& y, Double_t& z, Double_t& t) const; void SetCurrentPrimaryElectronIndex(Int_t i) {fPrimaryElectronIndex = i;} void PrimaryIonisationStepping(Int_t nprim); - - void AddIon(Int_t a, Int_t z) const; - Int_t GetIonPdg(Int_t z, Int_t a, Int_t i = 0) const; + void CalcPrimaryIonisationTime(); private: // Copy constructor and operator= declared but not implemented (-Weff++ flag) @@ -433,6 +436,9 @@ class TFluka : public TVirtualMC { Double_t fYsco; // Fluka Draw procedures formal parameter Double_t fZsco; // Fluka Draw procedures formal parameter Double_t fPint[4]; // 4-vector of particle after interaction + Double_t* fPItime; // Time distribution of primary ionisations + Double_t* fPIlength; // Track length distribution of primary ionisations + Int_t fNPI; // Number of primary ionisation steps Bool_t fTrackIsEntering; // Flag for track entering Bool_t fTrackIsExiting; // Flag for track exiting Bool_t fTrackIsNew; // Flag for new track @@ -457,9 +463,12 @@ class TFluka : public TVirtualMC { // SetProcess, SetCut and user Scoring dynamic storage TObjArray* fUserConfig; // List of user physics configuration TObjArray* fUserScore; // List of user scoring options + // User defined Ion + Bool_t fUserIons; // User requests ion transport + // - ClassDef(TFluka,1) //C++ interface to Fluka montecarlo + ClassDef(TFluka,1) // C++ interface to Fluka montecarlo // Temporary implementation of new functions