60     PBound(0), Parameterisation(0), HMaker(0)
 
   63   FlagParticleContainment = 1;  
 
   70     PBound(0), Parameterisation(0), HMaker(0)
 
   73   FlagParticleContainment = 1;  
 
   99   if(FlagParamType != 0)                  
 
  110       select     = CheckParticleDefAndContainment(fastTrack);  
 
  120 GFlashShowerModel::CheckParticleDefAndContainment(
const G4FastTrack& fastTrack)
 
  130     if(FlagParticleContainment == 1)  
 
  132       filter=CheckContainment(fastTrack); 
 
  149   CrossShower = DirectionShower.
cross(OrthoShower);
 
  153   G4int CosPhi[4] = {1,0,-1,0};
 
  154   G4int SinPhi[4] = {0,1,0,-1};
 
  157   G4int NlateralInside=0;
 
  160   for(
int i=0; i<4 ;i++)
 
  163     Position = InitialPositionShower       + 
 
  165     R*CosPhi[i]*OrthoShower     +
 
  166     R*SinPhi[i]*CrossShower     ;
 
  173   if(NlateralInside==4) filter=
true;
 
  187   ElectronDoIt(fastTrack,fastStep);
 
  191 GFlashShowerModel::ElectronDoIt(
const G4FastTrack& fastTrack,
 
  212   CrossShower = DirectionShower.
cross(OrthoShower);
 
  243   G4int NSpotDeposited =0;
 
  253     if(Bound < stepLength)
 
  263     ZEndStep=ZEndStep+Dz;
 
  266     if(EnergyNow > EnergyStop)
 
  268       LastEneIntegral  = EneIntegral;
 
  271                                    (EneIntegral-LastEneIntegral)*Energy);
 
  272       LastNspIntegral  = NspIntegral;
 
  274       DNsp             = 
std::max(1., std::floor( (NspIntegral-LastNspIntegral)
 
  281       DNsp = 
std::max(1., std::floor( (1.- NspIntegral)
 
  284     EnergyNow  = EnergyNow - DEne;
 
  297     StepLenght        = StepLenght + Dz/2.00;  
 
  298     NewPositionShower = NewPositionShower + 
 
  299     StepLenght*DirectionShower;
 
  300     StepLenght        = Dz/2.00;
 
  303     for (
int i = 0; i < DNsp; i++)
 
  318             Dz/DNsp*DirectionShower*(i+1/2.-DNsp/2.)  +
 
  319             RSpot*std::cos(PhiSpot)*OrthoShower       +  
 
  320             RSpot*std::sin(PhiSpot)*CrossShower;      
 
  324       HMaker->
make(&Spot, &fastTrack);
 
  327   while(EnergyNow > 0.0 && Bound> 0.0);     
 
G4ParticleDefinition * GetDefinition() const 
 
static G4Electron * ElectronDefinition()
 
G4ThreeVector GetPrimaryTrackLocalPosition() const 
 
const G4Track * GetPrimaryTrack() const 
 
G4ThreeVector GetPrimaryTrackLocalDirection() const 
 
virtual G4double GetNspot()=0
 
void DoIt(const G4FastTrack &, G4FastStep &)
 
virtual G4double GetX0()=0
 
void SetPosition(const G4ThreeVector &point)
 
const G4ThreeVector & GetPosition() const 
 
G4bool IsApplicable(const G4ParticleDefinition &)
 
GFlashParticleBounds * PBound
 
void make(GFlashEnergySpot *aSpot, const G4FastTrack *aT)
 
G4double GetMaxEneToParametrise(G4ParticleDefinition &particleType)
 
G4double GetKineticEnergy() const 
 
G4double GetMinEneToParametrise(G4ParticleDefinition &particleType)
 
virtual EInside Inside(const G4ThreeVector &p) const =0
 
virtual void GenerateLongitudinalProfile(G4double Energy)=0
 
void SetEnergy(const G4double &E)
 
virtual G4double GetAveR90()=0
 
G4VSolid * GetEnvelopeSolid() const 
 
static G4Positron * PositronDefinition()
 
const G4ThreeVector & GetMomentumDirection() const 
 
G4double ApplySampling(const G4double DEne, const G4double Energy)
 
G4double GetEneToKill(G4ParticleDefinition &particleType)
 
T max(const T t1, const T t2)
brief Return the largest of the two arguments 
 
virtual G4double GetAveT90()=0
 
void SetPrimaryTrackPathLength(G4double)
 
Hep3Vector orthogonal() const 
 
T min(const T t1, const T t2)
brief Return the smallest of the two arguments 
 
G4bool ModelTrigger(const G4FastTrack &)
 
Hep3Vector cross(const Hep3Vector &) const 
 
virtual G4double IntegrateEneLongitudinal(G4double LongitudinalStep)=0
 
GFlashShowerModel(G4String, G4Envelope *)
 
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
 
virtual G4double GenerateRadius(G4int ispot, G4double Energy, G4double LongitudinalPosition)=0
 
void SetTotalEnergyDeposited(G4double anEnergyPart)
 
static const G4double pos
 
GVFlashShowerParameterisation * Parameterisation
 
virtual G4double IntegrateNspLongitudinal(G4double LongitudinalStep)=0