G4VContinuousProcess

public G4VProcess

Abstract class which defines the public behavior of Continuous physics interactions.

class

  //  Abstract class which defines the public behavior of
  //  Continuous physics interactions.
  public:     

      G4VContinuousProcess(const G4String& ,
               G4ProcessType   aType = fNotDefined );
      G4VContinuousProcess(G4VContinuousProcess &);

      virtual ~G4VContinuousProcess();

  public:  // with description   
      virtual G4double AlongStepGetPhysicalInteractionLength(
                             const G4Track& track,
                 G4double  previousStepSize,
                 G4double  currentMinimumStep,
                 G4double& proposedSafety,
                             G4GPILSelection* selection
                );

      virtual G4VParticleChange* AlongStepDoIt(
                 const G4Track& ,
                 const G4Step& 
                );

     //  no operation in  AtRestDoIt and  PostStepDoIt
      virtual G4double PostStepGetPhysicalInteractionLength(
                             const G4Track&,
                 G4double,
                 G4ForceCondition* 
                ){ return -1.0; };

      virtual G4double AtRestGetPhysicalInteractionLength(
                             const G4Track& ,
                 G4ForceCondition* 
                ) { return -1.0; };

     //  no operation in  AtRestDoIt and PostStepDoIt
      virtual G4VParticleChange* AtRestDoIt(
                 const G4Track& ,
                 const G4Step&
                ) {return 0;};

      virtual G4VParticleChange* PostStepDoIt(
                 const G4Track& ,
                 const G4Step& 
                ) {return 0;};

  protected: // with description   
    virtual G4double GetContinuousStepLimit(const G4Track& aTrack,
                             G4double  previousStepSize,
                             G4double  currentMinimumStep,
                 G4double& currentSafety
                                                             )=0;
    // This pure virtual function is used to calculate step limit
    // for AlongStep in the derived processes  

  private:
    // this is the returnd value of  G4GPILSelection in 
    // the arguments of AlongStepGPIL()
    G4GPILSelection  valueGPILSelection;

  protected: // with description 
    // these two methods are set/get methods for valueGPILSelection
    void SetGPILSelection(G4GPILSelection selection)
    { valueGPILSelection = selection;};

    G4GPILSelection GetGPILSelection() const{return valueGPILSelection;};


  private:
  // hide default constructor and assignment operator as private 
      G4VContinuousProcess();
      G4VContinuousProcess & operator=(const G4VContinuousProcess &right);
© Hongyi Wu            updated: 2018-08-07 05:41:57

results matching ""

    No results matching ""