Changeset 963 for trunk/source/processes


Ignore:
Timestamp:
Apr 6, 2009, 12:34:39 PM (15 years ago)
Author:
garnier
Message:

update processes

Location:
trunk/source/processes
Files:
89 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/management/History

    r819 r963  
    1 $Id: History,v 1.51.2.1.2.1 2008/04/25 11:47:06 kurasige Exp $
     1$Id: History,v 1.58 2008/06/23 08:58:40 gcosmo Exp $
    22-------------------------------------------------------------------
    33
     
    1717     * Reverse chronological order (last date on top), please *
    1818     ----------------------------------------------------------
    19 - Apr. 25, 2008   H.Kurashige (procman-V09-00-06)
     19
     20- Jun. 23, 2008   G.Cosmo (procman-V09-01-03)
     21- Fixed un-necessary double deletion/creation of vector in
     22  G4ProcessVector::operator=()
     23
     24- Mar. 20, 2008   H.Kurashige (procman-V09-01-02)
     25- revert changes in G4processmanager::StartTracking
     26
     27- Mar. 14, 2008   H.Kurashige (procman-V09-01-01)
     28- fix warning message of g++
     29- Change order of invocation of processes in G4processmanager::StartTracking
     30
     31- Dec. 15, 2007   H.Kurashige (procman-V09-01-00)
    2032- fixed a bug of invoking ResetNumberOfInteractionLengthLeft
    2133  at the zero length step 
    2234- allow zero mean free path for PostStepDoIt
    23 
     35- add ProcessSubType to G4VProcess
    2436
    2537- Dec. 12, 2007   G.Cosmo (procman-V09-00-05a)
    2638- Moved inline definitions of virtual methods in G4WrapperProcess to
    27   .cc file.
     39  .cc file. Included in tag "procman-V09-00-".
    2840
    2941- Nov. 28, 2007   H.Kurashige (procman-V09-00-05)
  • trunk/source/processes/management/include/G4IVContinuousDiscreteProcess.hh

    r819 r963  
    2626//
    2727// $Id: G4IVContinuousDiscreteProcess.hh,v 1.8 2006/06/29 21:07:14 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// $Id:
  • trunk/source/processes/management/include/G4IVRestDiscreteProcess.hh

    r819 r963  
    2626//
    2727// $Id: G4IVRestDiscreteProcess.hh,v 1.8 2006/06/29 21:07:16 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// $Id:
  • trunk/source/processes/management/include/G4ParticleTypes.hh

    r819 r963  
    2626//
    2727// $Id: G4ParticleTypes.hh,v 1.6 2006/06/29 21:07:18 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4ProcTblElement.hh

    r819 r963  
    2626//
    2727// $Id: G4ProcTblElement.hh,v 1.11 2006/06/29 21:07:20 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4ProcTblElement.icc

    r819 r963  
    2626//
    2727// $Id: G4ProcTblElement.icc,v 1.8 2006/06/29 21:07:22 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4ProcessAttribute.hh

    r819 r963  
    2626//
    2727// $Id: G4ProcessAttribute.hh,v 1.5 2006/06/29 21:07:24 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4ProcessManager.hh

    r819 r963  
    2626//
    2727// $Id: G4ProcessManager.hh,v 1.16 2007/10/02 08:23:20 kurasige Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4ProcessManager.icc

    r819 r963  
    2626//
    2727// $Id: G4ProcessManager.icc,v 1.6 2007/03/30 01:02:28 kurasige Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4ProcessManagerMessenger.hh

    r819 r963  
    2626//
    2727// $Id: G4ProcessManagerMessenger.hh,v 1.7 2006/06/29 21:07:30 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4ProcessTable.hh

    r819 r963  
    2727//
    2828// $Id: G4ProcessTable.hh,v 1.10 2006/06/29 21:07:32 gunter Exp $
    29 // GEANT4 tag $Name: $
     29// GEANT4 tag $Name: geant4-09-02-ref-02 $
    3030//
    3131//
  • trunk/source/processes/management/include/G4ProcessTable.icc

    r819 r963  
    2626//
    2727// $Id: G4ProcessTable.icc,v 1.5 2006/06/29 21:07:34 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//  History:
  • trunk/source/processes/management/include/G4ProcessTableMessenger.hh

    r819 r963  
    2626//
    2727// $Id: G4ProcessTableMessenger.hh,v 1.7 2006/06/29 21:07:36 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4ProcessType.hh

    r819 r963  
    2626//
    2727// $Id: G4ProcessType.hh,v 1.5 2006/06/29 21:07:38 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4ProcessVector.hh

    r819 r963  
    2626//
    2727// $Id: G4ProcessVector.hh,v 1.10 2006/06/29 21:07:40 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4ProcessVector.icc

    r819 r963  
    2626//
    2727// $Id: G4ProcessVector.icc,v 1.5 2006/06/29 21:07:42 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030inline G4bool G4ProcessVector::operator==(const G4ProcessVector &right) const
  • trunk/source/processes/management/include/G4VContinuousDiscreteProcess.hh

    r819 r963  
    2525//
    2626//
    27 // $Id: G4VContinuousDiscreteProcess.hh,v 1.8.4.1 2008/04/25 11:47:06 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4VContinuousDiscreteProcess.hh,v 1.9 2007/11/15 04:10:18 kurasige Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4VContinuousProcess.hh

    r819 r963  
    2626//
    2727// $Id: G4VContinuousProcess.hh,v 1.6 2006/06/29 21:07:46 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4VDiscreteProcess.hh

    r819 r963  
    2626
    2727//
    28 // $Id: G4VDiscreteProcess.hh,v 1.8.4.1 2008/04/25 11:47:06 kurasige Exp $
    29 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     28// $Id: G4VDiscreteProcess.hh,v 1.9 2007/11/15 04:10:18 kurasige Exp $
     29// GEANT4 tag $Name: geant4-09-02-ref-02 $
    3030//
    3131//
  • trunk/source/processes/management/include/G4VProcess.hh

    r819 r963  
    2525//
    2626//
    27 // $Id: G4VProcess.hh,v 1.24 2007/10/02 08:23:20 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4VProcess.hh,v 1.25 2007/11/15 04:09:58 kurasige Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
     
    5353//   Added PreparePhysicsTable  20 Aug. 2004 H.Kurashige
    5454//   Added isXXXXDoItIsEnabled   2 Oct. 2007 H.Kurashige
     55//   Added ProcessSubType   15 Nov. 2007 H.Kurashige
    5556
    5657#ifndef G4VProcess_h
     
    261262      //  Set the process type.
    262263
     264      G4int GetProcessSubType() const;
     265      //  Returns the process sub type.
     266
     267      void SetProcessSubType(G4int );
     268      //  Set the process sub type.
     269
    263270      static const G4String& GetProcessTypeName(G4ProcessType );
    264271      //  Returns the process type name
     
    329336      //  The type of the process
    330337
     338      G4int theProcessSubType;
     339      //  The sub type of the process
     340
    331341      G4double thePILfactor;
    332342      // factor for PhysicsInteractionLength
     
    379389}
    380390
     391inline
     392 G4int G4VProcess::GetProcessSubType() const
     393{
     394  return theProcessSubType;
     395}
     396
     397inline
     398 void G4VProcess::SetProcessSubType(G4int value)
     399{
     400 theProcessSubType = value;
     401}
     402
    381403inline  void G4VProcess::SetVerboseLevel(G4int value)
    382404{
  • trunk/source/processes/management/include/G4VRestContinuousDiscreteProcess.hh

    r819 r963  
    2525//
    2626//
    27 // $Id: G4VRestContinuousDiscreteProcess.hh,v 1.8.4.1 2008/04/25 11:47:06 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4VRestContinuousDiscreteProcess.hh,v 1.9 2007/11/15 04:10:18 kurasige Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4VRestContinuousProcess.hh

    r819 r963  
    2626//
    2727// $Id: G4VRestContinuousProcess.hh,v 1.6 2006/06/29 21:07:54 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4VRestDiscreteProcess.hh

    r819 r963  
    2525//
    2626//
    27 // $Id: G4VRestDiscreteProcess.hh,v 1.8.4.1 2008/04/25 11:47:07 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4VRestDiscreteProcess.hh,v 1.9 2007/11/15 04:10:18 kurasige Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4VRestProcess.hh

    r819 r963  
    2626//
    2727// $Id: G4VRestProcess.hh,v 1.6 2006/06/29 21:07:58 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/include/G4WrapperProcess.hh

    r819 r963  
    2626//
    2727// $Id: G4WrapperProcess.hh,v 1.9 2007/12/12 10:09:49 gcosmo Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4IVContinuousDiscreteProcess.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4IVContinuousDiscreteProcess.cc,v 1.9.4.1 2008/04/25 11:47:07 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4IVContinuousDiscreteProcess.cc,v 1.10 2007/11/15 04:10:18 kurasige Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// $Id:
  • trunk/source/processes/management/src/G4IVRestDiscreteProcess.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4IVRestDiscreteProcess.cc,v 1.9.4.1 2008/04/25 11:47:07 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4IVRestDiscreteProcess.cc,v 1.10 2007/11/15 04:10:18 kurasige Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// $Id:
  • trunk/source/processes/management/src/G4ProcTblElement.cc

    r819 r963  
    2626//
    2727// $Id: G4ProcTblElement.cc,v 1.7 2006/06/29 21:08:06 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4ProcessAttribute.cc

    r819 r963  
    2626//
    2727// $Id: G4ProcessAttribute.cc,v 1.5 2006/06/29 21:08:08 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4ProcessManager.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4ProcessManager.cc,v 1.34 2007/11/28 17:47:57 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4ProcessManager.cc,v 1.36 2008/03/20 02:57:09 kurasige Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4ProcessManagerMessenger.cc

    r819 r963  
    2626//
    2727// $Id: G4ProcessManagerMessenger.cc,v 1.10 2006/06/29 21:08:12 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4ProcessTable.cc

    r819 r963  
    2626//
    2727// $Id: G4ProcessTable.cc,v 1.13 2007/10/06 05:33:58 kurasige Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4ProcessTableMessenger.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4ProcessTableMessenger.cc,v 1.17 2006/06/29 21:08:16 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4ProcessTableMessenger.cc,v 1.18 2008/03/14 02:55:04 kurasige Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
     
    438438  for (idx = 0; idx < 1000 ; idx ++ ) {
    439439    G4String typeName = G4VProcess::GetProcessTypeName(G4ProcessType(idx));
    440     if ( isFoundEndMark = typeName.contains("---")) break;
     440    isFoundEndMark = typeName.contains("---");
     441    if ( isFoundEndMark ) break;
    441442  }
    442443  if ( isFoundEndMark ) {
  • trunk/source/processes/management/src/G4ProcessVector.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4ProcessVector.cc,v 1.4 2006/06/29 21:08:18 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4ProcessVector.cc,v 1.5 2008/06/23 08:58:26 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
     
    3838#include "G4ProcessVector.hh"
    3939
    40 
    4140/////// Constructors
    42 G4ProcessVector::G4ProcessVector(size_t):pProcVector(0)
     41//
     42G4ProcessVector::G4ProcessVector(size_t)
    4343{
    44    pProcVector = new G4ProcVector();
     44  pProcVector = new G4ProcVector();
    4545}
    4646
     
    5151
    5252/////// destructor
     53//
    5354G4ProcessVector::~G4ProcessVector()
    5455{
    5556  // delete pProcVector
    56   if (pProcVector != 0 ) {
     57  //
     58  if (pProcVector != 0 )
     59  {
    5760    pProcVector->clear();
    5861    delete pProcVector;
     
    6164
    6265////// assignment oeprator
     66//
    6367G4ProcessVector & G4ProcessVector::operator=(G4ProcessVector &right)
    6468{
    65   if (this != &right) {
     69  if (this != &right)
     70  {
    6671    // delete pProcVector
    67     if (pProcVector != 0 ) {
     72    //
     73    if (pProcVector != 0 )
     74    {
    6875      pProcVector->clear();
    6976      delete pProcVector;
     
    7380   
    7481    // copy all contents in  pProcVector
    75     if (pProcVector != 0) {
    76       pProcVector->clear();
    77       delete pProcVector;
    78     }
    79     pProcVector = new G4ProcVector();
     82    //
    8083    G4ProcVector::iterator i;
    81     for (i = pProcVector->begin(); i!= pProcVector->end(); ++i) {
     84    for (i = pProcVector->begin(); i!= pProcVector->end(); ++i)
     85    {
    8286      pProcVector->push_back(*i);
    8387    }
     
    8589  return *this;
    8690}
    87 
    88 
  • trunk/source/processes/management/src/G4VContinuousDiscreteProcess.cc

    r819 r963  
    2626//
    2727// $Id: G4VContinuousDiscreteProcess.cc,v 1.6 2007/10/02 08:23:20 kurasige Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4VContinuousProcess.cc

    r819 r963  
    2626//
    2727// $Id: G4VContinuousProcess.cc,v 1.5 2007/10/02 08:23:20 kurasige Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4VDiscreteProcess.cc

    r819 r963  
    2626//
    2727// $Id: G4VDiscreteProcess.cc,v 1.6 2007/10/02 08:23:20 kurasige Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4VProcess.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4VProcess.cc,v 1.15.2.1 2008/04/25 11:47:07 kurasige Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4VProcess.cc,v 1.16 2007/11/15 04:10:18 kurasige Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
     
    5252                    theProcessName(aName),
    5353                    theProcessType(aType),
     54                    theProcessSubType(-1),
    5455                    thePILfactor(1.0),
    55                     enableAtRestDoIt(true),
    56                     enableAlongStepDoIt(true),
    57                     enablePostStepDoIt(true),
     56                    enableAtRestDoIt(true),
     57                    enableAlongStepDoIt(true),
     58                    enablePostStepDoIt(true),
    5859                    verboseLevel(0)
     60
    5961{
    6062  pParticleChange = &aParticleChange;
     
    7173            theProcessName(right.theProcessName),
    7274            theProcessType(right.theProcessType),
     75            theProcessSubType(right.theProcessSubType),
    7376            thePILfactor(1.0),
    74             enableAtRestDoIt(true),
    75             enableAlongStepDoIt(true),
    76             enablePostStepDoIt(true),
    77             verboseLevel(right.verboseLevel)
     77            enableAtRestDoIt(right.enableAtRestDoIt),
     78            enableAlongStepDoIt(right.enableAlongStepDoIt),
     79            enablePostStepDoIt(right.enablePostStepDoIt),
     80            verboseLevel(right.verboseLevel)
    7881{
    7982}
     
    8689    theNumberOfInteractionLengthLeft -= previousStepSize/currentInteractionLength;
    8790    if(theNumberOfInteractionLengthLeft<0.) {
    88       theNumberOfInteractionLengthLeft=perMillion;
     91       theNumberOfInteractionLengthLeft=perMillion;
    8992    }         
    90    
     93
    9194  } else {
    9295#ifdef G4VERBOSE
     
    186189{
    187190  G4cout << "Process Name " << theProcessName ;
    188   G4cout << " : Type[" << GetProcessTypeName(theProcessType) << "]"<< G4endl;
     191  G4cout << " : Type[" << GetProcessTypeName(theProcessType) << "]";
     192  G4cout << " : SubType[" << theProcessSubType << "]"<< G4endl;
    189193}
    190194
  • trunk/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc

    r819 r963  
    2626//
    2727// $Id: G4VRestContinuousDiscreteProcess.cc,v 1.6 2007/10/02 08:23:20 kurasige Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4VRestContinuousProcess.cc

    r819 r963  
    2626//
    2727// $Id: G4VRestContinuousProcess.cc,v 1.6 2007/10/02 08:23:20 kurasige Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4VRestDiscreteProcess.cc

    r819 r963  
    2626//
    2727// $Id: G4VRestDiscreteProcess.cc,v 1.6 2007/10/02 08:23:20 kurasige Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4VRestProcess.cc

    r819 r963  
    2626//
    2727// $Id: G4VRestProcess.cc,v 1.6 2007/10/02 08:23:20 kurasige Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/management/src/G4WrapperProcess.cc

    r819 r963  
    2626//
    2727// $Id: G4WrapperProcess.cc,v 1.1 2007/12/12 10:09:49 gcosmo Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/optical/History

    r819 r963  
    1616     * Reverse chronological order (last date on top), please *
    1717     ----------------------------------------------------------
     18
     1914th Jan 2009 Peter Gumplinger (op-V09-02-00)
     20              respond to bug report 1040 by fixing G4OpBoundaryProcess.cc
     21
     2207th Nov 2008 Peter Gumplinger (op-V09-01-09)
     23              use new global/HEPRandom's G4RandomTools.hh
     24
     2524th Oct 2008 Peter Gumplinger (op-V09-01-08)
     26              use local G4OpProcessSubType.hh
     27
     2821st Oct 2008 Peter Gumplinger (op-V09-01-07)
     29              add SetProcessSubType for G4OpAbsorption, G4OpBoundaryProcess,
     30              G4OpRayleigh and G4OpWLS
     31
     3218th Aug 2008 Peter Gumplinger (op-V09-01-06)
     33              use signatures G4SwapPtr(T*& and G4SwapObj(T*
     34              in G4OpBoundaryProcess - to work with global-V09-01-12
     35
     3615th Aug 2008 Peter Gumplinger (op-V09-01-05)
     37              replaced G4SwapPtr with G4SwapObj for Rindex
     38              in G4OpBoundaryProcess - serious error since op-V09-01-00
     39              (see also Problem Report 1020)
     40
     414th July 2008 Peter Gumplinger (op-V09-01-04)
     42              In G4OpWLS now SetTouchableHandle(aTrack.GetTouchableHandle())
     43              for the secondaries in the DoIt.
     44              In G4OpBoundaryProcess.cc initialize the pointer:
     45              G4LogicalSurface* Surface = NULL;
     46
     4727th June 2008 Peter Gumplinger (op-V09-01-03)
     48               In G4OpBoundaryProcess changed unsafe cast
     49               (G4OpticalSurface*) to dynamic_cast<G4OpticalSurface*>
     50               following suggestion in bug-report #1014
     51
     526th June 2008 Peter Gumplinger (op-V09-01-02)
     53              G4OpRayleigh, G4OpWLS = trivial name changes:
     54              momentum->energy, momenta->energies
     55
     565th June 2008 Peter Gumplinger (op-V09-01-00)
     57              G4OpBoundaryProcess: Removed G4Swap methods - replaced by
     58              G4SwapPtr. Removed G4IsotropicRand method - replaced by
     59              G4RandomDirection. Add commented code to change absorption
     60              at a dielectric/metal boundary into transmission.
    1861
    196229th Oct 2007 Peter Gumplinger (op-V09-00-01)
  • trunk/source/processes/optical/include/G4OpAbsorption.hh

    r819 r963  
    2626//
    2727// $Id: G4OpAbsorption.hh,v 1.9 2006/06/29 21:08:36 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030////////////////////////////////////////////////////////////////////////
  • trunk/source/processes/optical/include/G4OpBoundaryProcess.hh

    r819 r963  
    2525//
    2626//
    27 // $Id: G4OpBoundaryProcess.hh,v 1.16 2007/10/15 21:16:24 gum Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4OpBoundaryProcess.hh,v 1.18 2008/11/07 17:59:37 gum Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
     
    6868#include "geomdefs.hh"
    6969#include "Randomize.hh"
     70
     71#include "G4RandomTools.hh"
     72#include "G4RandomDirection.hh"
     73
    7074#include "G4Step.hh"
    7175#include "G4VDiscreteProcess.hh"
     
    162166private:
    163167
    164         void G4Swap(G4double* a, G4double* b) const;
    165 
    166         void G4Swap(G4Material* a, G4Material* b) const;
    167 
    168         void G4VectorSwap(G4ThreeVector* vec1, G4ThreeVector* vec2) const;
    169 
    170168        G4bool G4BooleanRand(const G4double prob) const;
    171 
    172         G4ThreeVector G4IsotropicRand() const;
    173 
    174         G4ThreeVector G4LambertianRand(const G4ThreeVector& normal);
    175 
    176         G4ThreeVector G4PlaneVectorRand(const G4ThreeVector& normal) const;
    177169
    178170        G4ThreeVector GetFacetNormal(const G4ThreeVector& Momentum,
     
    229221
    230222inline
    231 void G4OpBoundaryProcess::G4Swap(G4double* a, G4double* b) const
    232 {
    233         // swaps the contents of the objects pointed
    234         // to by 'a' and 'b'!
    235 
    236   G4double temp;
    237 
    238   temp = *a;
    239   *a = *b;
    240   *b = temp;
    241 }
    242 
    243 inline
    244 void G4OpBoundaryProcess::G4Swap(G4Material* a, G4Material* b) const
    245 {
    246         // ONLY swaps the pointers; i.e. what used to be pointed
    247         // to by 'a' is now pointed to by 'b' and vice versa!
    248 
    249    G4Material* temp = a;
    250 
    251    a = b;
    252    b = temp;
    253 }
    254 
    255 inline
    256 void G4OpBoundaryProcess::G4VectorSwap(G4ThreeVector* vec1,
    257                                        G4ThreeVector* vec2) const
    258 {
    259         // swaps the contents of the objects pointed
    260         // to by 'vec1' and 'vec2'!
    261 
    262   G4ThreeVector temp;
    263 
    264   temp = *vec1;
    265   *vec1 = *vec2;
    266   *vec2 = temp;
    267 }
    268 
    269 inline
    270223G4bool G4OpBoundaryProcess::G4BooleanRand(const G4double prob) const
    271224{
     
    273226
    274227  return (G4UniformRand() < prob);
    275 }
    276 
    277 inline
    278 G4ThreeVector G4OpBoundaryProcess::G4IsotropicRand() const
    279 {
    280   /* Returns a random isotropic unit vector. */
    281 
    282   G4ThreeVector vect;
    283   G4double len2;
    284 
    285   do {
    286 
    287     vect.setX(G4UniformRand() - 0.5);
    288     vect.setY(G4UniformRand() - 0.5);
    289     vect.setZ(G4UniformRand() - 0.5);
    290 
    291     len2 = vect.mag2();
    292 
    293   } while (len2 < 0.01 || len2 > 0.25);
    294 
    295   return vect.unit();
    296 }
    297 
    298 inline
    299 G4ThreeVector G4OpBoundaryProcess::
    300               G4LambertianRand(const G4ThreeVector& normal)
    301 {
    302   /* Returns a random lambertian unit vector. */
    303 
    304   G4ThreeVector vect;
    305   G4double ndotv;
    306 
    307   do {
    308     vect = G4IsotropicRand();
    309 
    310     ndotv = normal * vect;
    311 
    312     if (ndotv < 0.0) {
    313       vect = -vect;
    314       ndotv = -ndotv;
    315     }
    316 
    317   } while (!G4BooleanRand(ndotv));
    318   return vect;
    319 }
    320 
    321 inline
    322 G4ThreeVector G4OpBoundaryProcess::
    323               G4PlaneVectorRand(const G4ThreeVector& normal) const
    324 
    325   /* This function chooses a random vector within a plane given
    326      by the unit normal */
    327 {
    328   G4ThreeVector vec1 = normal.orthogonal();
    329 
    330   G4ThreeVector vec2 = vec1.cross(normal);
    331 
    332   G4double phi = twopi*G4UniformRand();
    333   G4double cosphi = std::cos(phi);
    334   G4double sinphi = std::sin(phi);
    335 
    336   return cosphi * vec1 + sinphi * vec2;
    337228}
    338229
  • trunk/source/processes/optical/include/G4OpRayleigh.hh

    r819 r963  
    2626//
    2727// $Id: G4OpRayleigh.hh,v 1.9 2006/06/29 21:08:40 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/optical/include/G4OpWLS.hh

    r819 r963  
    2626//
    2727// $Id: G4OpWLS.hh,v 1.4 2006/06/29 21:08:42 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030////////////////////////////////////////////////////////////////////////
  • trunk/source/processes/optical/src/G4OpAbsorption.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4OpAbsorption.cc,v 1.7 2006/06/29 21:08:50 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4OpAbsorption.cc,v 1.9 2008/10/24 19:52:28 gum Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030////////////////////////////////////////////////////////////////////////
     
    5252
    5353#include "G4ios.hh"
     54#include "G4OpProcessSubType.hh"
     55
    5456#include "G4OpAbsorption.hh"
    5557
     
    7678           G4cout << GetProcessName() << " is created " << G4endl;
    7779        }
     80
     81        SetProcessSubType(fOpAbsorption);
    7882}
    7983
  • trunk/source/processes/optical/src/G4OpBoundaryProcess.cc

    r819 r963  
    6767
    6868#include "G4ios.hh"
     69#include "G4OpProcessSubType.hh"
     70
    6971#include "G4OpBoundaryProcess.hh"
    7072#include "G4GeometryTolerance.hh"
     
    9395           G4cout << GetProcessName() << " is created " << G4endl;
    9496        }
     97
     98        SetProcessSubType(fOpBoundary);
    9599
    96100        theStatus = Undefined;
     
    220224        OpticalSurface = NULL;
    221225
    222         G4LogicalSurface* Surface = G4LogicalBorderSurface::GetSurface
    223                                     (pPreStepPoint ->GetPhysicalVolume(),
    224                                      pPostStepPoint->GetPhysicalVolume());
     226        G4LogicalSurface* Surface = NULL;
     227
     228        Surface = G4LogicalBorderSurface::GetSurface
     229                  (pPreStepPoint ->GetPhysicalVolume(),
     230                   pPostStepPoint->GetPhysicalVolume());
    225231
    226232        if (Surface == NULL){
     
    249255        }
    250256
    251         //      if (Surface) OpticalSurface = dynamic_cast <G4OpticalSurface*> (Surface->GetSurfaceProperty());
    252         if (Surface) OpticalSurface = (G4OpticalSurface*) Surface->GetSurfaceProperty();
     257        if (Surface) OpticalSurface =
     258           dynamic_cast <G4OpticalSurface*> (Surface->GetSurfaceProperty());
    253259
    254260        if (OpticalSurface) {
     
    429435
    430436          DielectricMetal();
     437
     438          // Uncomment the following lines if you wish to have
     439          //         Transmission instead of Absorption
     440          // if (theStatus == Absorption) {
     441          //    return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep);
     442          // }
    431443
    432444        }
     
    579591           if( !G4BooleanRand(theReflectivity) && n == 1 ) {
    580592
     593             // Comment out DoAbsorption and uncomment theStatus = Absorption;
     594             // if you wish to have Transmission instead of Absorption
     595
    581596             DoAbsorption();
     597             // theStatus = Absorption;
    582598             break;
    583599
     
    657673              Through = false;
    658674              theGlobalNormal = -theGlobalNormal;
    659               G4Swap(Material1,Material2);
    660               G4Swap(&Rindex1,&Rindex2);
     675              G4SwapPtr(Material1,Material2);
     676              G4SwapObj(&Rindex1,&Rindex2);
    661677           }
    662678
     
    864880                else {
    865881                   Swap = !Swap;
    866                    G4Swap(Material1,Material2);
    867                    G4Swap(&Rindex1,&Rindex2);
     882                   G4SwapPtr(Material1,Material2);
     883                   G4SwapObj(&Rindex1,&Rindex2);
    868884                }
    869885                if ( theFinish == groundbackpainted )
  • trunk/source/processes/optical/src/G4OpRayleigh.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4OpRayleigh.cc,v 1.14 2006/06/29 21:08:54 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4OpRayleigh.cc,v 1.17 2008/10/24 19:51:12 gum Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
     
    5757
    5858#include "G4ios.hh"
     59#include "G4OpProcessSubType.hh"
     60
    5961#include "G4OpRayleigh.hh"
    6062
     
    7880           : G4VDiscreteProcess(processName, type)
    7981{
     82        SetProcessSubType(fOpRayleigh);
    8083
    8184        thePhysicsTable = 0;
     
    248251        const G4Material* aMaterial = aTrack.GetMaterial();
    249252
    250         G4double thePhotonMomentum = aParticle->GetTotalMomentum();
     253        G4double thePhotonEnergy = aParticle->GetTotalEnergy();
    251254
    252255        G4double AttenuationLength = DBL_MAX;
     
    258261           AttenuationLength =
    259262                (*thePhysicsTable)(aMaterial->GetIndex())->
    260                            GetValue(thePhotonMomentum, isOutRange);
     263                           GetValue(thePhotonEnergy, isOutRange);
    261264        }
    262265        else {
     
    270273             if(AttenuationLengthVector){
    271274               AttenuationLength = AttenuationLengthVector ->
    272                                     GetProperty(thePhotonMomentum);
     275                                    GetProperty(thePhotonEnergy);
    273276             }
    274277             else{
     
    305308
    306309        // Retrieve vectors for refraction index
    307         // and photon momentum from the material properties table
     310        // and photon energy from the material properties table
    308311
    309312        G4MaterialPropertyVector* Rindex = aMPT->GetProperty("RINDEX");
     
    325328           while (++(*Rindex)) {
    326329
    327                 e = (Rindex->GetPhotonMomentum());
     330                e = (Rindex->GetPhotonEnergy());
    328331
    329332                refraction_index = Rindex->GetProperty();
     
    332335
    333336                if (verboseLevel>0) {
    334                         G4cout << Rindex->GetPhotonMomentum() << " MeV\t";
     337                        G4cout << Rindex->GetPhotonEnergy() << " MeV\t";
    335338                        G4cout << xlambda << " mm\t";
    336339                }
     
    347350                }
    348351                RayleighScatteringLengths->
    349                         InsertValues(Rindex->GetPhotonMomentum(), Dist);
     352                        InsertValues(Rindex->GetPhotonEnergy(), Dist);
    350353           }
    351354
  • trunk/source/processes/optical/src/G4OpWLS.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4OpWLS.cc,v 1.9 2007/10/30 03:53:36 gum Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4OpWLS.cc,v 1.13 2008/10/24 19:50:50 gum Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030////////////////////////////////////////////////////////////////////////
     
    4646
    4747#include "G4ios.hh"
     48#include "G4OpProcessSubType.hh"
     49
    4850#include "G4OpWLS.hh"
    4951#include "G4WLSTimeGeneratorProfileDelta.hh"
     
    6163  : G4VDiscreteProcess(processName, type)
    6264{
     65  SetProcessSubType(fOpWLS);
     66
    6367  theIntegralTable = 0;
    6468 
     
    161165  for (G4int i = 0; i < NumPhotons; i++) {
    162166   
    163     // Determine photon momentum
     167    // Determine photon energy
    164168   
    165169    G4double CIIvalue = G4UniformRand()*CIImax;
    166     G4double sampledMomentum =
     170    G4double sampledEnergy =
    167171      WLSIntegral->GetEnergy(CIIvalue);
    168172   
    169173    if (verboseLevel>1) {
    170       G4cout << "sampledMomentum = " << sampledMomentum << G4endl;
     174      G4cout << "sampledEnergy = " << sampledEnergy << G4endl;
    171175      G4cout << "CIIvalue =        " << CIIvalue << G4endl;
    172176    }
     
    217221       photonPolarization.z());
    218222   
    219     aWLSPhoton->SetKineticEnergy(sampledMomentum);
     223    aWLSPhoton->SetKineticEnergy(sampledEnergy);
    220224   
    221225    // Generate new G4Track object:
     
    230234    G4Track* aSecondaryTrack =
    231235      new G4Track(aWLSPhoton,aSecondaryTime,aSecondaryPosition);
    232    
    233     aSecondaryTrack->SetTouchableHandle((G4VTouchable*)0);
     236   
     237    aSecondaryTrack->SetTouchableHandle(aTrack.GetTouchableHandle());
     238    // aSecondaryTrack->SetTouchableHandle((G4VTouchable*)0);
    234239   
    235240    aSecondaryTrack->SetParentID(aTrack.GetTrackID());
     
    285290         
    286291          // Retrieve the first intensity point in vector
    287           // of (photon momentum, intensity) pairs
     292          // of (photon energy, intensity) pairs
    288293         
    289294          theWLSVector->ResetIterator();
     
    295300          if (currentIN >= 0.0) {
    296301
    297             // Create first (photon momentum)
     302            // Create first (photon energy)
    298303           
    299304            G4double currentPM = theWLSVector->
    300               GetPhotonMomentum();
     305              GetPhotonEnergy();
    301306           
    302307            G4double currentCII = 0.0;
     
    311316            G4double prevIN  = currentIN;
    312317           
    313             // loop over all (photon momentum, intensity)
     318            // loop over all (photon energy, intensity)
    314319            // pairs stored for this material
    315320           
     
    317322              {
    318323                currentPM = theWLSVector->
    319                   GetPhotonMomentum();
     324                  GetPhotonEnergy();
    320325               
    321326                currentIN=theWLSVector->
     
    355360  const G4Material* aMaterial = aTrack.GetMaterial();
    356361
    357   G4double thePhotonMomentum = aParticle->GetTotalMomentum();
     362  G4double thePhotonEnergy = aParticle->GetTotalEnergy();
    358363
    359364  G4MaterialPropertiesTable* aMaterialPropertyTable;
     
    369374    if ( AttenuationLengthVector ){
    370375      AttenuationLength = AttenuationLengthVector->
    371         GetProperty (thePhotonMomentum);
     376        GetProperty (thePhotonEnergy);
    372377    }
    373378    else {
  • trunk/source/processes/parameterisation/History

    r819 r963  
    1 $Id: History,v 1.37.2.2 2008/04/23 08:51:21 gcosmo Exp $
     1$Id: History,v 1.39 2008/03/26 14:54:40 gcosmo Exp $
    22-------------------------------------------------------------------
    33
     
    1818     ----------------------------------------------------------
    1919
    20 April 23 2008, G. Cosmo (param-V09-00-02)
    21 - Tag for release 9.1.p02.
    22 
    2320March 13 2008, G. Cosmo (param-V09-01-00)
    24 - Cleared compilation warnings in G4GeometryManager on gcc-4.3.0 for
    25   ambiguous use of parentheses in nested if-else statements.
     21- Cleared compilation warnings in G4FastSimulationManagerProcess and
     22  G4FastSimulationMessenger on gcc-4.3.0 for ambiguous use of
     23  parentheses in nested if-else statements.
    2624
    2725November 30 2007, M. Verderi
  • trunk/source/processes/parameterisation/include/G4FastSimulationManager.hh

    r819 r963  
    2626//
    2727// $Id: G4FastSimulationManager.hh,v 1.13 2007/05/11 13:50:20 mverderi Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/parameterisation/include/G4FastSimulationManagerProcess.hh

    r819 r963  
    2626//
    2727// $Id: G4FastSimulationManagerProcess.hh,v 1.16 2007/11/30 18:05:14 mverderi Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/parameterisation/include/G4FastSimulationMessenger.hh

    r819 r963  
    2626//
    2727// $Id: G4FastSimulationMessenger.hh,v 1.7 2007/05/11 13:50:20 mverderi Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/parameterisation/include/G4FastStep.hh

    r819 r963  
    2626//
    2727// $Id: G4FastStep.hh,v 1.8 2006/06/29 21:09:14 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/parameterisation/include/G4FastStep.icc

    r819 r963  
    2626//
    2727// $Id: G4FastStep.icc,v 1.5 2006/06/29 21:09:16 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// $id: G4ParticleChange.icc,v 1.6 1998/04/14 02:25:54 kurasige Exp $
  • trunk/source/processes/parameterisation/include/G4FastTrack.hh

    r819 r963  
    2626//
    2727// $Id: G4FastTrack.hh,v 1.8 2007/05/11 13:50:20 mverderi Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// $Id:
  • trunk/source/processes/parameterisation/include/G4GlobalFastSimulationManager.hh

    r819 r963  
    2626//
    2727// $Id: G4GlobalFastSimulationManager.hh,v 1.13 2007/05/11 13:50:20 mverderi Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// 
  • trunk/source/processes/parameterisation/include/G4VFastSimulationModel.hh

    r819 r963  
    2626//
    2727// $Id: G4VFastSimulationModel.hh,v 1.7 2006/06/29 21:09:24 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/parameterisation/src/G4FastSimulationManager.cc

    r819 r963  
    2626//
    2727// $Id: G4FastSimulationManager.cc,v 1.13 2007/05/11 13:50:20 mverderi Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//---------------------------------------------------------------
  • trunk/source/processes/parameterisation/src/G4FastSimulationManagerProcess.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4FastSimulationManagerProcess.cc,v 1.17.2.1 2008/04/23 08:50:16 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4FastSimulationManagerProcess.cc,v 1.18 2008/03/13 16:03:23 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/parameterisation/src/G4FastSimulationMessenger.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4FastSimulationMessenger.cc,v 1.8.2.1 2008/04/23 08:50:16 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4FastSimulationMessenger.cc,v 1.9 2008/03/13 16:03:23 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030
  • trunk/source/processes/parameterisation/src/G4FastStep.cc

    r819 r963  
    2626//
    2727// $Id: G4FastStep.cc,v 1.16 2006/06/29 21:09:32 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//---------------------------------------------------------------
  • trunk/source/processes/parameterisation/src/G4FastTrack.cc

    r819 r963  
    2626//
    2727// $Id: G4FastTrack.cc,v 1.10 2006/06/29 21:09:34 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//---------------------------------------------------------------
  • trunk/source/processes/parameterisation/src/G4GlobalFastSimulationManager.cc

    r819 r963  
    2626//
    2727// $Id: G4GlobalFastSimulationManager.cc,v 1.20 2007/05/11 13:50:20 mverderi Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// 
  • trunk/source/processes/parameterisation/src/G4VFastSimulationModel.cc

    r819 r963  
    2626//
    2727// $Id: G4VFastSimulationModel.cc,v 1.7 2007/05/11 13:50:20 mverderi Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//---------------------------------------------------------------
  • trunk/source/processes/scoring/History

    r819 r963  
    1 $Id: History,v 1.16 2007/05/30 17:49:56 ahoward Exp $
     1$Id: History,v 1.18 2008/09/07 17:12:38 asaim Exp $
    22-------------------------------------------------------------------
    33
     
    1717     * Reverse chronological order (last date on top), please *
    1818     ----------------------------------------------------------
     19
     20September 7th, 2008 M.Asai (procscore-V09-01-01)
     21- Correction of incorrect modification in the previous tag.
     22
     23February 12th, 2008 M.Asai (procscore-V09-01-00)
     24- Add copying non-ionizing energy deposit in G4Step.
    1925
    2026May 30th A.Howard (procscore-V08-03-03)
  • trunk/source/processes/scoring/include/G4ParallelWorldScoringProcess.hh

    r819 r963  
    2626//
    2727// $Id: G4ParallelWorldScoringProcess.hh,v 1.4 2007/05/30 17:47:10 ahoward Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
  • trunk/source/processes/scoring/src/G4ParallelWorldScoringProcess.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4ParallelWorldScoringProcess.cc,v 1.8 2007/05/30 17:47:11 ahoward Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4ParallelWorldScoringProcess.cc,v 1.11 2008/09/06 06:18:12 asaim Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
     
    376376  fGhostStep->SetStepLength(step.GetStepLength());
    377377  fGhostStep->SetTotalEnergyDeposit(step.GetTotalEnergyDeposit());
     378  fGhostStep->SetNonIonizingEnergyDeposit(step.GetNonIonizingEnergyDeposit());
    378379  fGhostStep->SetControlFlag(step.GetControlFlag());
    379380
  • trunk/source/processes/transportation/History

    r819 r963  
    1 $Id: History,v 1.147 2008/01/17 10:31:17 gcosmo Exp $
     1$Id: History,v 1.151 2008/11/26 13:03:28 japost Exp $
    22-------------------------------------------------------------------
    33
     
    1717     * Reverse chronological order (last date on top), please *
    1818     ----------------------------------------------------------
     19November 26th, 2008, J.Apostolakis  transport-V09-01-03
     20----------------------------------
     21- G4CoupledTransportation:
     22  o Fix: initialise new data member (in constructor) - found by STT
     23
     24November 21st, 2008, J.Apostolakis  transport-V09-01-02
     25----------------------------------
     26- G4Transportation & G4CoupledTransportation:
     27  o Performance improvement/correction
     28     Avoid to compute safety at end of step for neutral particles
     29
     30November 21st, 2008, J.Apostolakis  transport-V09-01-01
     31----------------------------------
     32
     33- G4Transportation & G4CoupledTransportation:
     34  o Push value & origin of safety to SafetyHelper
     35     only when its value comes from ComputeSafety
    1936
    2037January 17th, 2008, J.Apostolakis  transport-V09-01-00
  • trunk/source/processes/transportation/include/G4CoupledTransportation.hh

    r819 r963  
    2525//
    2626//
    27 // $Id: G4CoupledTransportation.hh,v 1.6 2007/05/29 13:50:14 japost Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4CoupledTransportation.hh,v 1.7 2008/11/21 18:27:42 japost Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
     
    6161#include "G4Step.hh"
    6262#include "G4ParticleChangeForTransport.hh"
     63class G4SafetyHelper;
    6364
    6465class G4CoupledTransportation : public G4VProcess
     
    216217     G4double fMaxEnergyKilled;
    217218
     219     G4SafetyHelper* fpSafetyHelper;  // To pass it the safety value obtained
     220
    218221  // Verbosity
    219222     G4int    fVerboseLevel;
  • trunk/source/processes/transportation/include/G4CoupledTransportation.icc

    r819 r963  
    2626//
    2727// $Id: G4CoupledTransportation.icc,v 1.4 2007/05/29 13:50:15 japost Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030
  • trunk/source/processes/transportation/include/G4NeutronKiller.hh

    r819 r963  
    2525//
    2626// $Id: G4NeutronKiller.hh,v 1.2 2007/06/01 07:53:26 ahoward Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929//---------------------------------------------------------------------------
  • trunk/source/processes/transportation/include/G4NeutronKillerMessenger.hh

    r819 r963  
    2525//
    2626// $Id: G4NeutronKillerMessenger.hh,v 1.2 2007/06/01 07:53:26 ahoward Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929//---------------------------------------------------------------------------
  • trunk/source/processes/transportation/include/G4StepLimiter.hh

    r819 r963  
    2626//
    2727// $Id: G4StepLimiter.hh,v 1.4 2007/06/01 07:53:26 ahoward Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// class description
  • trunk/source/processes/transportation/include/G4TrackTerminator.hh

    r819 r963  
    2626//
    2727// $Id: G4TrackTerminator.hh,v 1.4 2007/06/01 07:53:26 ahoward Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// ----------------------------------------------------------------------
  • trunk/source/processes/transportation/include/G4Transportation.hh

    r819 r963  
    2525//
    2626//
    27 // $Id: G4Transportation.hh,v 1.16 2007/11/08 17:59:38 japost Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4Transportation.hh,v 1.17 2007/11/09 15:39:20 japost Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030//
     
    5555#include "G4Step.hh"
    5656#include "G4ParticleChangeForTransport.hh"
     57class G4SafetyHelper;
    5758
    5859class G4Transportation : public G4VProcess
     
    205206     G4bool   fShortStepOptimisation;
    206207
     208     G4SafetyHelper* fpSafetyHelper;  // To pass it the safety value obtained
     209
    207210  // Verbosity
    208211     G4int    fVerboseLevel;
  • trunk/source/processes/transportation/include/G4Transportation.icc

    r819 r963  
    2626//
    2727// $Id: G4Transportation.icc,v 1.11 2007/11/08 17:59:52 japost Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030
  • trunk/source/processes/transportation/include/G4UserSpecialCuts.hh

    r819 r963  
    2525//
    2626// $Id: G4UserSpecialCuts.hh,v 1.11 2007/06/01 07:53:26 ahoward Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// class description
  • trunk/source/processes/transportation/include/G4VTrackTerminator.hh

    r819 r963  
    2626//
    2727// $Id: G4VTrackTerminator.hh,v 1.8 2007/06/01 07:53:26 ahoward Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// ----------------------------------------------------------------------
  • trunk/source/processes/transportation/src/G4CoupledTransportation.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4CoupledTransportation.cc,v 1.24 2007/12/07 16:29:07 japost Exp $
     27// $Id: G4CoupledTransportation.cc,v 1.27 2008/11/26 13:01:28 japost Exp $
    2828// --> Merged with 1.60.4.2.2.3 2007/05/09 09:30:28 japost
    29 // GEANT4 tag $Name: $
     29// GEANT4 tag $Name: geant4-09-02-ref-02 $
    3030// ------------------------------------------------------------
    3131//  GEANT 4 class implementation
     
    8686  }
    8787  fPathFinder=  G4PathFinder::GetInstance();
     88  fpSafetyHelper = transportMgr->GetSafetyHelper();  // New
    8889
    8990  // Following assignment is to fix small memory leak from simple use of 'new'
     
    289290      fPreviousMassSafety = newMassSafety ;         
    290291      fPreviousFullSafety = newFullSafety ;
    291       // fSafetyHelper->SetCurrentSafety( newFullSafety, startPosition);
     292      // fpSafetyHelper->SetCurrentSafety( newFullSafety, startPosition);
    292293
    293294#ifdef G4DEBUG_TRANSPORT
     
    397398
    398399  // Update safety for the end-point, if becomes negative at the end-point.
    399   //                                       To-Try:  No safety update if at a boundary
    400   if( startFullSafety < endpointDistance ) // && !fAnyGeometryLimitedStep )
     400
     401  if(   (startFullSafety < endpointDistance )
     402        && ( particleCharge != 0.0 ) )        //  Only needed to prepare for Mult Scat.
     403   //   && !fAnyGeometryLimitedStep )          // To-Try:  No safety update if at a boundary
    401404  {
    402405      G4double endFullSafety =
     
    408411        //   ==> so we use the all-geometry safety as a precaution
    409412
     413      fpSafetyHelper->SetCurrentSafety( endFullSafety, fTransportEndPosition);
     414        // Pushing safety to Helper avoids recalculation at this point
     415
    410416      G4ThreeVector centerPt= G4ThreeVector(0.0, 0.0, 0.0);  // Used for return value
    411417      G4double endMassSafety= fPathFinder->ObtainSafety( fNavigatorId, centerPt);
     
    415421      fPreviousFullSafety = endFullSafety;
    416422      fPreviousSftOrigin = fTransportEndPosition ;
    417       // fSafetyHelper->SetCurrentSafety( endFullSafety, fTransportEndPosition);
    418423
    419424      // The convention (Stepping Manager's) is safety from the start point
  • trunk/source/processes/transportation/src/G4NeutronKiller.cc

    r819 r963  
    2525//
    2626// $Id: G4NeutronKiller.cc,v 1.2 2007/06/01 07:53:27 ahoward Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929//---------------------------------------------------------------------------
  • trunk/source/processes/transportation/src/G4NeutronKillerMessenger.cc

    r819 r963  
    2525//
    2626// $Id: G4NeutronKillerMessenger.cc,v 1.2 2007/06/01 07:53:27 ahoward Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929//---------------------------------------------------------------------------
  • trunk/source/processes/transportation/src/G4StepLimiter.cc

    r819 r963  
    2626//
    2727// $Id: G4StepLimiter.cc,v 1.4 2007/06/01 07:53:27 ahoward Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// --------------------------------------------------------------
  • trunk/source/processes/transportation/src/G4Transportation.cc

    r819 r963  
    2525//
    2626//
    27 // $Id: G4Transportation.cc,v 1.72.2.1 2007/12/07 17:18:11 japost Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4Transportation.cc,v 1.72.2.3 2008/11/21 18:35:15 japost Exp $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// ------------------------------------------------------------
     
    3737// geometrical sub-volumes of the detectors.
    3838//
    39 // It is also tasked with part of updating the "safety".
     39// It is also tasked with the key role of proposing the "isotropic safety",
     40//   which will be used to update the post-step point's safety.
    4041//
    4142// =======================================================================
    4243// Modified:   
    43 //            19 Jan  2006, P.MoraDeFreitas: Fix for suspended tracks (StartTracking)
    44 //            11 Aug  2004, M.Asai: Add G4VSensitiveDetector* for updating stepPoint.
    45 //            21 June 2003, J.Apostolakis: Calling field manager with
    46 //                            track, to enable it to configure its accuracy
    47 //            13 May  2003, J.Apostolakis: Zero field areas now taken into
    48 //                            account correclty in all cases (thanks to W Pokorski).
    49 //            29 June 2001, J.Apostolakis, D.Cote-Ahern, P.Gumplinger:
    50 //                          correction for spin tracking   
    51 //            20 Febr 2001, J.Apostolakis:  update for new FieldTrack
    52 //            22 Sept 2000, V.Grichine:     update of Kinetic Energy
     44//   20 Nov  2008, J.Apostolakis: Push safety to helper - after ComputeSafety
     45//    9 Nov  2007, J.Apostolakis: Flag for short steps, push safety to helper
     46//   19 Jan  2006, P.MoraDeFreitas: Fix for suspended tracks (StartTracking)
     47//   11 Aug  2004, M.Asai: Add G4VSensitiveDetector* for updating stepPoint.
     48//   21 June 2003, J.Apostolakis: Calling field manager with
     49//                     track, to enable it to configure its accuracy
     50//   13 May  2003, J.Apostolakis: Zero field areas now taken into
     51//                     account correclty in all cases (thanks to W Pokorski).
     52//   29 June 2001, J.Apostolakis, D.Cote-Ahern, P.Gumplinger:
     53//                     correction for spin tracking   
     54//   20 Febr 2001, J.Apostolakis:  update for new FieldTrack
     55//   22 Sept 2000, V.Grichine:     update of Kinetic Energy
    5356// Created:  19 March 1997, J. Apostolakis
    5457// =======================================================================
     
    5861#include "G4ParticleTable.hh"
    5962#include "G4ChordFinder.hh"
     63#include "G4SafetyHelper.hh"
    6064#include "G4FieldManagerStore.hh"
    6165class G4VSensitiveDetector;
     
    8993  fFieldPropagator = transportMgr->GetPropagatorInField() ;
    9094
    91   // fpSafetyHelper = fpTransportManager->GetSafetyHelper();  // New
     95  fpSafetyHelper =   transportMgr->GetSafetyHelper();  // New
    9296
    9397  // Cannot determine whether a field exists here,
     
    108112G4Transportation::~G4Transportation()
    109113{
    110 
    111   // --- Alternative code to delete 'junk data' in touchable handle
    112   //  ** Corresponds to the case that the constructor has
    113   //       fCurrentTouchableHandle = new G4TouchableHistory();
    114   //  ** Likely incorrect - as at the end of the simulation
    115   //     the handle no longer holds the original 'null' history
    116   // G4VTouchable*  pTouchable= fCurrentTouchableHandle();  //  Incorrect
    117   // delete  pTouchable;  // Incorrect
    118 
    119114  if( (fVerboseLevel > 0) && (fSumEnergyKilled > 0.0 ) ){
    120115    G4cout << " G4Transportation: Statistics for looping particles " << G4endl;
     
    233228       fPreviousSftOrigin = startPosition ;
    234229       fPreviousSafety    = newSafety ;
    235        // fSafetyHelper->SetCurrentSafety( newSafety, startPosition);
     230       // fpSafetyHelper->SetCurrentSafety( newSafety, startPosition);
    236231
    237232       // The safety at the initial point has been re-calculated:
     
    312307     fPreviousSftOrigin = startPosition ;
    313308     fPreviousSafety    = currentSafety ;         
    314      // fSafetyHelper->SetCurrentSafety( newSafety, startPosition);
     309     // fpSafetyHelper->SetCurrentSafety( newSafety, startPosition);
    315310       
    316311     // Get the End-Position and End-Momentum (Dir-ection)
     
    415410  if( currentSafety < endpointDistance )
    416411  {
    417       G4double endSafety =
     412      // if( particleCharge == 0.0 )
     413      //    G4cout  << "  Avoiding call to ComputeSafety : charge = 0.0 " << G4endl;
     414 
     415      if( particleCharge != 0.0 ) {
     416
     417         G4double endSafety =
    418418               fLinearNavigator->ComputeSafety( fTransportEndPosition) ;
    419       currentSafety      = endSafety ;
    420       fPreviousSftOrigin = fTransportEndPosition ;
    421       fPreviousSafety    = currentSafety ;
    422       // fSafetyHelper->SetCurrentSafety( currentSafety, fTransportEndPosition);
    423 
    424       // Because the Stepping Manager assumes it is from the start point,
    425       //  add the StepLength
    426       //
    427       currentSafety     += endpointDistance ;
     419        currentSafety      = endSafety ;
     420        fPreviousSftOrigin = fTransportEndPosition ;
     421        fPreviousSafety    = currentSafety ;
     422         fpSafetyHelper->SetCurrentSafety( currentSafety, fTransportEndPosition);
     423
     424        // Because the Stepping Manager assumes it is from the start point,
     425        //  add the StepLength
     426        //
     427        currentSafety     += endpointDistance ;
    428428
    429429#ifdef G4DEBUG_TRANSPORT
    430       G4cout.precision(12) ;
    431       G4cout << "***G4Transportation::AlongStepGPIL ** " << G4endl  ;
    432       G4cout << "  Called Navigator->ComputeSafety at " << fTransportEndPosition
    433              << "    and it returned safety= " << endSafety << G4endl ;
    434       G4cout << "  Adding endpoint distance " << endpointDistance
    435              << "   to obtain pseudo-safety= " << currentSafety << G4endl ;
     430        G4cout.precision(12) ;
     431        G4cout << "***G4Transportation::AlongStepGPIL ** " << G4endl  ;
     432        G4cout << "  Called Navigator->ComputeSafety at " << fTransportEndPosition
     433                << "    and it returned safety= " << endSafety << G4endl ;
     434        G4cout << "  Adding endpoint distance " << endpointDistance
     435                << "   to obtain pseudo-safety= " << currentSafety << G4endl ;
    436436#endif
     437      }
    437438  }           
    438439
  • trunk/source/processes/transportation/src/G4UserSpecialCuts.cc

    r819 r963  
    2626//
    2727// $Id: G4UserSpecialCuts.cc,v 1.17 2007/06/01 07:53:27 ahoward Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// --------------------------------------------------------------
  • trunk/source/processes/transportation/src/G4VTrackTerminator.cc

    r819 r963  
    2626//
    2727// $Id: G4VTrackTerminator.cc,v 1.7 2007/06/01 07:53:27 ahoward Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2929//
    3030// ----------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.