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
// ------------------------------------------------
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;
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)
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
// 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