virtual AliDigitizer *CreateDigitizer(AliRunDigitizer *manager) const;
virtual AliLoader *MakeLoader(const char* topfoldername);
virtual AliTriggerDetector *CreateTriggerDetector() const { return new AliTRDTrigger(); }
-
+ void SetPrimaryIonisation(Bool_t flag = kTRUE) {fPrimaryIonisation = flag;}
protected:
AliTRDgeometry *fGeometry; // The TRD geometry
Float_t fGasDensity; // The density of the drift gas
Float_t fFoilDensity; // The density of the entrance window foil
Float_t fGasNobleFraction; // The fraction of noble gas in the mixture
-
+ Bool_t fPrimaryIonisation; // switch between Fluka(true) and geant3(false)
private:
AliTRD(const AliTRD &trd);
// Set the maximum step size to a very large number for all
// neutral particles and those outside the driftvolume
- gMC->SetMaxStep(kBig);
+ if (!fPrimaryIonisation) gMC->SetMaxStep(kBig);
// If not charged track or already stopped or disappeared, just return.
if ((!gMC->TrackCharge()) ||
if ((gMC->Etot() - gMC->TrackMass()) < kEkinMinStep) {
return;
}
- gMC->SetMaxStep(fStepSize);
+ if (!fPrimaryIonisation) gMC->SetMaxStep(fStepSize);
}