Ignore:
Timestamp:
Apr 17, 2009, 12:17:14 PM (15 years ago)
Author:
garnier
Message:

update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/electromagnetic/utils/include/G4VMscModel.hh

    r966 r991  
    2424// ********************************************************************
    2525//
    26 // $Id: G4VMscModel.hh,v 1.8 2009/02/24 09:56:03 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     26// $Id: G4VMscModel.hh,v 1.4 2008/03/10 10:39:28 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929// -------------------------------------------------------------------
     
    5454#include "G4MscStepLimitType.hh"
    5555#include "globals.hh"
    56 #include "G4ThreeVector.hh"
    57 #include "G4Track.hh"
    58 #include "G4SafetyHelper.hh"
    59 
    60 class G4ParticleChangeForMSC;
    6156
    6257class G4VMscModel : public G4VEmModel
     
    6964  virtual ~G4VMscModel();
    7065
    71   // empty
    72   virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
    73                                  const G4MaterialCutsCouple*,
    74                                  const G4DynamicParticle*,
    75                                  G4double tmin,
    76                                  G4double tmax);
    77 
    78   //================================================================
    79   //  Set parameters of multiple scattering models
    80   //================================================================
    81  
    8266  inline void SetStepLimitType(G4MscStepLimitType);
    8367
     
    9074  inline void SetSkin(G4double);
    9175
    92   inline void SetSampleZ(G4bool);
    93 
    94 protected:
    95 
    96   // initialisation of interface with geometry
    97   void InitialiseSafetyHelper();
    98 
    99   // shift point of the track PostStep
    100   void ComputeDisplacement(G4ParticleChangeForMSC*, 
    101                            const G4ThreeVector& displDir,
    102                            G4double displacement,
    103                            G4double postsafety);
    104 
    105   // compute safety
    106   inline G4double ComputeSafety(const G4ThreeVector& position, G4double limit);
    107 
    108   // compute linear distance to a geometry boundary
    109   inline G4double ComputeGeomLimit(const G4Track& position, G4double& presafety,
    110                                    G4double limit);
    111 
    11276private:
    11377
     
    11579  G4VMscModel & operator=(const  G4VMscModel &right);
    11680  G4VMscModel(const  G4VMscModel&);
    117 
    118   G4SafetyHelper* safetyHelper;
    11981
    12082protected:
     
    12688  G4double dtrl;
    12789  G4double lambdalimit;
    128   G4double geommax;
    12990
    13091  G4MscStepLimitType steppingAlgorithm;
     
    173134//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    174135
    175 inline void G4VMscModel::SetSampleZ(G4bool val)
    176 {
    177   samplez = val;
    178 }
    179 
    180 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    181 
    182 inline G4double G4VMscModel::ComputeSafety(const G4ThreeVector& position,
    183                                            G4double)
    184 {
    185   return safetyHelper->ComputeSafety(position);
    186 }
    187 
    188 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    189 
    190 inline G4double G4VMscModel::ComputeGeomLimit(const G4Track& track,
    191                                               G4double& presafety,
    192                                               G4double limit)
    193 {
    194   G4double res = geommax;
    195   if(track.GetVolume() != safetyHelper->GetWorldVolume()) {
    196     res = safetyHelper->CheckNextStep(
    197           track.GetStep()->GetPreStepPoint()->GetPosition(),
    198           track.GetMomentumDirection(),
    199           limit, presafety);
    200   }
    201   return res;
    202 }
    203 
    204 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    205 
    206136#endif
    207137
Note: See TracChangeset for help on using the changeset viewer.