Ignore:
Timestamp:
Jan 8, 2010, 11:56:51 AM (15 years ago)
Author:
garnier
Message:

update geant4.9.3 tag

Location:
trunk/source/processes/hadronic/models/im_r_matrix
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/im_r_matrix/History

    r962 r1228  
    1414     * Please list in reverse chronological order (last date on top)
    1515     ---------------------------------------------------------------
     16
     1730-Nov-2009 Gunter Folger                hadr-im_r-V09-02-02
     18-  Fix compilation error in gcc 4.3 (typeinfo)
     19
     2020-Nov-2009 Gunter Folger                hadr-im_r-V09-02-01
     21-  Reduce usage of strings. Maps of cross sections use G4Particledefinition
     22   in place of particle name
     23
     2419-Nov-2009 Gunter Folger/Tatsumi Koi    hadr-im_r-V09-02-00
     25-  G4CollisionComposite.cc: Fix for reproducability provided by Tatsumi.
     26   Removed the dependance of the energy grid of the cross section set
     27   on the order of the particles by forcing heavier particle to be at rest
     28   when caching the cross section.
    1629
    17308-Dec-2008  Gunter Folger           hadr-im_r-V09-01-01
  • trunk/source/processes/hadronic/models/im_r_matrix/include/G4CollisionInitialState.hh

    r1196 r1228  
    2626//
    2727// $Id: G4CollisionInitialState.hh,v 1.4.4.2 2006/06/29 20:31:14 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-03-cand-01 $
     28// GEANT4 tag $Name: geant4-09-03 $
    2929//
    3030// $Id: G4CollisionInitialState.hh,v 1.0 1998/06/30
  • trunk/source/processes/hadronic/models/im_r_matrix/include/G4ListOfCollisions.hh

    r1196 r1228  
    2626//
    2727// $Id: G4ListOfCollisions.hh,v 1.1.4.2 2006/06/29 20:35:35 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-03-cand-01 $
     28// GEANT4 tag $Name: geant4-09-03 $
    2929//
    3030// $Id: G4ListOfCollisions.hh,v 1.0 1998/06/30
  • trunk/source/processes/hadronic/models/im_r_matrix/include/G4VCrossSectionSource.hh

    r819 r1228  
    7676                   G4double eParam, G4double power) const;
    7777
    78   G4String FindKeyParticle(const G4KineticTrack& trk1,const G4KineticTrack& trk2) const;
     78  G4ParticleDefinition * FindKeyParticle(const G4KineticTrack& trk1,const G4KineticTrack& trk2) const;
    7979 
    8080  // Transverse pion mass
  • trunk/source/processes/hadronic/models/im_r_matrix/include/G4XNNElasticLowE.hh

    r819 r1228  
    7878  static const G4double _eStepLog;
    7979
    80   std::map <G4String, G4PhysicsVector*, std::less<G4String> > xMap;
     80  std::map <G4ParticleDefinition *, G4PhysicsVector*, std::less<G4ParticleDefinition *> > xMap;
    8181
    8282  G4double _eMin;
  • trunk/source/processes/hadronic/models/im_r_matrix/include/G4XNNTotalLowE.hh

    r819 r1228  
    6666  static const G4int tableSize;
    6767
    68   std::map <G4String, G4LowEXsection *, std::less<G4String> > theCrossSections;
    69   typedef std::map <G4String, G4LowEXsection*, std::less<G4String> > LowEMap;
     68  std::map <G4ParticleDefinition *, G4LowEXsection *,
     69  std::less<G4ParticleDefinition *> > theCrossSections;
     70  typedef std::map <G4ParticleDefinition *, G4LowEXsection*, std::less<G4ParticleDefinition *> > LowEMap;
    7071
    7172};
  • trunk/source/processes/hadronic/models/im_r_matrix/include/G4XPDGElastic.hh

    r819 r1228  
    2525//
    2626//
    27 // $Id: G4XPDGElastic.hh,v 1.2 2006/06/29 20:36:48 gunter Exp $ //
     27// $Id: G4XPDGElastic.hh,v 1.2.2.1 2009/11/20 16:25:08 gunter Exp $ //
    2828// ---------------------------------------------------------------
    2929//      GEANT4 Class file
     
    4848#include <map>
    4949
    50 typedef std::pair<G4String,G4String> G4StringPair;
     50typedef std::pair<G4ParticleDefinition *,G4ParticleDefinition *> G4pDefPair;
    5151
    5252class G4KineticTrack;
     
    9696  static const G4double npbarPDGFit[7];
    9797
    98   std::map <G4StringPair, std::vector<G4double>, std::less<G4StringPair> > xMap;
     98  std::map <G4pDefPair, std::vector<G4double>, std::less<G4pDefPair> > xMap;
    9999
    100   typedef std::map <G4StringPair, std::vector<G4double>, std::less<G4StringPair> > PairDoubleMap;
     100  typedef std::map <G4pDefPair, std::vector<G4double>, std::less<G4pDefPair> > PairDoubleMap;
    101101
    102102  //  G4double pMinFit;
  • trunk/source/processes/hadronic/models/im_r_matrix/include/G4XPDGTotal.hh

    r819 r1228  
    4848#include <vector>
    4949
    50 typedef std::pair<G4String,G4String> G4StringPair;
     50typedef std::pair<G4ParticleDefinition *,G4ParticleDefinition *> G4pDefPair;
    5151
    5252class G4KineticTrack;
     
    9797  static const G4double gammagammaPDGFit[5];
    9898
    99   std::map <G4StringPair, std::vector<G4double>, std::less<G4StringPair> > xMap;
    100   typedef std::map <G4StringPair, std::vector<G4double>, std::less<G4StringPair> > PairDoubleMap;
     99  std::map <G4pDefPair, std::vector<G4double>, std::less<G4pDefPair> > xMap;
     100  typedef std::map <G4pDefPair, std::vector<G4double>, std::less<G4pDefPair> > PairDoubleMap;
    101101
    102102  //  G4double eMinFit;
  • trunk/source/processes/hadronic/models/im_r_matrix/src/G4CollisionManager.cc

    r819 r1228  
    2727#include "G4HadronicException.hh"
    2828#include "G4CollisionInitialState.hh"
     29#include "G4BCAction.hh"
     30
     31#include <typeinfo>
    2932
    3033G4CollisionManager::G4CollisionManager()
     
    178181  {
    179182    collision = *i;
     183    G4int tgtPdg=collision->GetTarget() ?
     184           collision->GetTarget()->GetDefinition()->GetPDGEncoding() : 0;
    180185    G4cout << "  collision " << collision << " time: "
    181186           << collision->GetCollisionTime()/second << " proj: "
    182            << collision->GetPrimary() << " trgt: "
    183            << collision->GetTarget() << G4endl;
     187           << collision->GetPrimary() << "/pdg="
     188           << collision->GetPrimary()->GetDefinition()->GetPDGEncoding()
     189           << " trgt: "
     190           << collision->GetTarget() << "/pdg="
     191           << tgtPdg
     192           << " Collision type: "<< typeid(*collision->GetGenerator()).name()
     193           << G4endl;
    184194  }
    185195}
  • trunk/source/processes/hadronic/models/im_r_matrix/src/G4Scatterer.cc

    r819 r1228  
    2424// ********************************************************************
    2525//
    26 // $Id: G4Scatterer.cc,v 1.13.2.4 2006/06/29 20:40:31 gunter Exp $ //
     26// $Id: G4Scatterer.cc,v 1.13.2.4.2.1 2009/11/20 16:25:08 gunter Exp $ //
    2727//
    2828
     
    126126//          << G4endl;
    127127
    128            // global optimization
    129 //         static const G4double maxCrossSection = 500*millibarn;
    130128           if(pi*distance>maxCrossSection) return time;
    131129           
  • trunk/source/processes/hadronic/models/im_r_matrix/src/G4VCrossSectionSource.cc

    r819 r1228  
    2424// ********************************************************************
    2525//
    26 // $Id: G4VCrossSectionSource.cc,v 1.5 2006/08/19 21:50:47 dennis Exp $ //
     26// $Id: G4VCrossSectionSource.cc,v 1.5.2.1 2009/11/20 16:25:08 gunter Exp $ //
    2727//
    2828
     
    4646
    4747
    48 G4String G4VCrossSectionSource::
     48G4ParticleDefinition * G4VCrossSectionSource::
    4949FindKeyParticle(const G4KineticTrack& trk1,const G4KineticTrack& trk2) const
    5050{
    51   G4String result;
     51  G4ParticleDefinition * result;
    5252 
    5353  G4ParticleDefinition * p1 = trk1.GetDefinition();
     
    5757      (p1==G4Neutron::Neutron() && p2==G4Neutron::Neutron()) )
    5858  {
    59     result = G4Proton::Proton()->GetParticleName();
     59    result = G4Proton::Proton();
    6060  }
    6161  else if( (p1==G4Neutron::Neutron() && p2==G4Proton::Proton()) ||
    6262           (p2==G4Neutron::Neutron() && p1==G4Proton::Proton()) )
    6363  {
    64     result = G4Neutron::Neutron()->GetParticleName();
     64    result = G4Neutron::Neutron();
    6565  }
    6666  else
  • trunk/source/processes/hadronic/models/im_r_matrix/src/G4XNNElasticLowE.cc

    r962 r1228  
    111111      np->PutValue(i,value);
    112112    }
    113   xMap[G4Proton::ProtonDefinition()->GetParticleName()] = pp;
    114   xMap[G4Neutron::NeutronDefinition()->GetParticleName()] = np;
     113  xMap[G4Proton::ProtonDefinition()] = pp;
     114  xMap[G4Neutron::NeutronDefinition()] = np;
    115115}
    116116
     
    118118G4XNNElasticLowE::~G4XNNElasticLowE()
    119119{
    120   G4String name_proton = "proton";
    121   G4String name_neutron = "neutron";
    122   delete xMap[name_proton];
    123   delete xMap[name_neutron];
     120  delete xMap[G4Proton::ProtonDefinition()];
     121  delete xMap[G4Neutron::NeutronDefinition()];
    124122}
    125123
     
    144142  G4bool dummy = false;
    145143
    146   G4String key = FindKeyParticle(trk1,trk2);
    147 
    148   typedef std::map <G4String, G4PhysicsVector*, std::less<G4String> > StringPhysMap;
     144  G4ParticleDefinition * key = FindKeyParticle(trk1,trk2);
     145
     146  typedef std::map <G4ParticleDefinition *, G4PhysicsVector*, std::less<G4ParticleDefinition *> > StringPhysMap;
    149147
    150148  if (xMap.find(key)!= xMap.end())
     
    154152      for (iter = xMap.begin(); iter != xMap.end(); ++iter)
    155153        {
    156           G4String str = (*iter).first;
     154          G4ParticleDefinition * str = (*iter).first;
    157155          if (str == key)
    158156            {
     
    166164                  sigma = physVector->GetValue(_eMin,dummy);
    167165                }
     166                //G4cout << " sqrtS / sigma " << sqrtS/GeV << " / " <<
     167                //          sigma/millibarn << G4endl;
    168168            }
    169169        }
     
    181181  G4bool dummy = false;
    182182  G4int i;
    183   G4String key = G4Proton::ProtonDefinition()->GetParticleName();
     183  G4ParticleDefinition * key = G4Proton::ProtonDefinition();
    184184  G4PhysicsVector* pp = 0;
    185185
    186   typedef std::map <G4String, G4PhysicsVector*, std::less<G4String> > StringPhysMap;
     186  typedef std::map <G4ParticleDefinition *, G4PhysicsVector*, std::less<G4ParticleDefinition *> > StringPhysMap;
    187187  StringPhysMap::const_iterator iter;
    188188
    189189  for (iter = xMap.begin(); iter != xMap.end(); ++iter)
    190190    {
    191       G4String str = (*iter).first;
     191      G4ParticleDefinition * str = (*iter).first;
    192192      if (str == key)
    193193        {
     
    210210  G4cout << Name() << ", np cross-section: " << G4endl;
    211211
    212   key = G4Neutron::NeutronDefinition()->GetParticleName();
     212  key = G4Neutron::NeutronDefinition();
    213213  G4PhysicsVector* np = 0;
    214214  for (iter = xMap.begin(); iter != xMap.end(); ++iter)
    215215    {
    216       G4String str = (*iter).first;
     216      G4ParticleDefinition * str = (*iter).first;
    217217      if (str == key)
    218218        {
  • trunk/source/processes/hadronic/models/im_r_matrix/src/G4XNNTotalLowE.cc

    r962 r1228  
    6565      it.second=npTot[i]; np->push_back(it);
    6666    }
    67   theCrossSections[G4Proton::ProtonDefinition()->GetParticleName()] = pp;
    68   theCrossSections[G4Neutron::NeutronDefinition()->GetParticleName()] = np;
     67  theCrossSections[G4Proton::ProtonDefinition()] = pp;
     68  theCrossSections[G4Neutron::NeutronDefinition()] = np;
    6969}
    7070
     
    7272G4XNNTotalLowE::~G4XNNTotalLowE()
    7373{
    74   G4String name_proton = "proton";
    75   G4String name_neutron = "neutron";
    7674 
    77   delete theCrossSections[name_proton];
    78   delete theCrossSections[name_neutron];
     75  delete theCrossSections[G4Proton::ProtonDefinition()];
     76  delete theCrossSections[G4Neutron::NeutronDefinition()];
    7977}
    8078
     
    8381  G4double result = 0.;
    8482  G4double sqrtS = (trk1.Get4Momentum() + trk2.Get4Momentum()).mag();
    85   G4String key = FindKeyParticle(trk1,trk2);
     83  G4ParticleDefinition * key = FindKeyParticle(trk1,trk2);
    8684
    8785  if (theCrossSections.find(key)!= theCrossSections.end())
  • trunk/source/processes/hadronic/models/im_r_matrix/src/G4XPDGElastic.cc

    r819 r1228  
    2525//
    2626//
    27 // $Id: G4XPDGElastic.cc,v 1.3 2006/06/29 20:42:42 gunter Exp $ //
     27// $Id: G4XPDGElastic.cc,v 1.3.2.1 2009/11/20 16:25:08 gunter Exp $ //
    2828// -------------------------------------------------------------------
    2929//     
     
    7474G4XPDGElastic::G4XPDGElastic()
    7575{
    76   G4String proton = G4Proton::ProtonDefinition()->GetParticleName();
    77   G4String neutron = G4Neutron::NeutronDefinition()->GetParticleName();
    78   G4String piPlus = G4PionPlus::PionPlusDefinition()->GetParticleName();
    79   G4String piMinus = G4PionMinus::PionMinusDefinition()->GetParticleName();
    80   G4String KPlus = G4KaonPlus::KaonPlusDefinition()->GetParticleName();
    81   G4String KMinus = G4KaonMinus::KaonMinusDefinition()->GetParticleName();
    82   G4String antiproton = G4AntiProton::AntiProtonDefinition()->GetParticleName();
    83  
    84   std::pair<G4String,G4String> pp(proton,proton);
    85   std::pair<G4String,G4String> pn(proton,neutron);
    86   std::pair<G4String,G4String> piPlusp(piPlus,proton);
    87   std::pair<G4String,G4String> piMinusp(piMinus,proton);
    88   std::pair<G4String,G4String> KPlusp(KPlus,proton);
    89   std::pair<G4String,G4String> KMinusp(KMinus,proton);
    90   std::pair<G4String,G4String> nn(neutron,neutron);
    91   std::pair<G4String,G4String> ppbar(proton,antiproton);
    92   std::pair<G4String,G4String> npbar(antiproton,neutron);
     76  G4ParticleDefinition * proton = G4Proton::ProtonDefinition();
     77  G4ParticleDefinition * neutron = G4Neutron::NeutronDefinition();
     78  G4ParticleDefinition * piPlus = G4PionPlus::PionPlusDefinition();
     79  G4ParticleDefinition * piMinus = G4PionMinus::PionMinusDefinition();
     80  G4ParticleDefinition * KPlus = G4KaonPlus::KaonPlusDefinition();
     81  G4ParticleDefinition * KMinus = G4KaonMinus::KaonMinusDefinition();
     82  G4ParticleDefinition * antiproton = G4AntiProton::AntiProtonDefinition();
     83 
     84  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> pp(proton,proton);
     85  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> pn(proton,neutron);
     86  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> piPlusp(piPlus,proton);
     87  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> piMinusp(piMinus,proton);
     88  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> KPlusp(KPlus,proton);
     89  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> KMinusp(KMinus,proton);
     90  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> nn(neutron,neutron);
     91  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> ppbar(proton,antiproton);
     92  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> npbar(antiproton,neutron);
    9393
    9494  std::vector<G4double> ppData;
     
    159159  G4ParticleDefinition* def1 = trk1.GetDefinition();
    160160  G4ParticleDefinition* def2 = trk2.GetDefinition();
    161   G4String name1 = def1->GetParticleName();
    162   G4String name2 = def2->GetParticleName();     
    163161 
    164162  G4double sqrtS = (trk1.Get4Momentum() + trk2.Get4Momentum()).mag();
     
    182180     
    183181      // Order the pair: first is the lower mass particle, second is the higher mass one
    184       std::pair<G4String,G4String> trkPair(def1->GetParticleName(),def2->GetParticleName());
     182      std::pair<G4ParticleDefinition *,G4ParticleDefinition *> trkPair(def1,def2);
    185183      if (def1->GetPDGMass() > def2->GetPDGMass())
    186         trkPair = std::pair<G4String,G4String>(def2->GetParticleName(),def1->GetParticleName());
     184        trkPair = std::pair<G4ParticleDefinition *,G4ParticleDefinition *>(def2,def1);
    187185     
    188186      std::vector<G4double> data;
     
    204202          for (iter = xMap.begin(); iter != xMap.end(); ++iter)
    205203            {
    206               std::pair<G4String,G4String> thePair = (*iter).first;
     204              std::pair<G4ParticleDefinition *,G4ParticleDefinition *> thePair = (*iter).first;
    207205              if (thePair == trkPair)
    208206                {
     
    245243    {
    246244      G4cout << "WARNING! G4XPDGElastic::PDGElastic "     
    247              << name1 << "-" << name2
     245             << def1->GetParticleName() << "-" << def2->GetParticleName()
    248246             << " elastic cross section: momentum "
    249247             << pLab << " GeV, negative cross section "
  • trunk/source/processes/hadronic/models/im_r_matrix/src/G4XPDGTotal.cc

    r819 r1228  
    6868G4XPDGTotal::G4XPDGTotal()
    6969{
    70   std::pair<G4String,G4String> pp(G4Proton::ProtonDefinition()->GetParticleName(),
    71                                     G4Proton::ProtonDefinition()->GetParticleName());
    72   std::pair<G4String,G4String> pn(G4Proton::ProtonDefinition()->GetParticleName(),
    73                                     G4Neutron::NeutronDefinition()->GetParticleName());
    74   std::pair<G4String,G4String> piPlusp(G4PionPlus::PionPlusDefinition()->GetParticleName(),
    75                                          G4Proton::ProtonDefinition()->GetParticleName());
    76   std::pair<G4String,G4String> piMinusp(G4PionMinus::PionMinusDefinition()->GetParticleName(),
    77                                           G4Proton::ProtonDefinition()->GetParticleName());
    78   std::pair<G4String,G4String> KPlusp(G4KaonPlus::KaonPlusDefinition()->GetParticleName(),
    79                                         G4Proton::ProtonDefinition()->GetParticleName());
    80   std::pair<G4String,G4String> KPlusn(G4KaonPlus::KaonPlusDefinition()->GetParticleName(),
    81                                         G4Neutron::NeutronDefinition()->GetParticleName());
    82   std::pair<G4String,G4String> KMinusp(G4KaonMinus::KaonMinusDefinition()->GetParticleName(),
    83                                          G4Proton::ProtonDefinition()->GetParticleName());
    84   std::pair<G4String,G4String> KMinusn(G4KaonMinus::KaonMinusDefinition()->GetParticleName(),
    85                                          G4Neutron::NeutronDefinition()->GetParticleName());
    86   std::pair<G4String,G4String> gp(G4Gamma::GammaDefinition()->GetParticleName(),
    87                                     G4Proton::ProtonDefinition()->GetParticleName());
    88   std::pair<G4String,G4String> gg(G4Gamma::GammaDefinition()->GetParticleName(),
    89                                     G4Gamma::GammaDefinition()->GetParticleName());
    90   std::pair<G4String,G4String> nn(G4Neutron::NeutronDefinition()->GetParticleName(),
    91                                     G4Neutron::NeutronDefinition()->GetParticleName());
     70  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> pp(G4Proton::ProtonDefinition(),
     71                                    G4Proton::ProtonDefinition());
     72  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> pn(G4Proton::ProtonDefinition(),
     73                                    G4Neutron::NeutronDefinition());
     74  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> piPlusp(G4PionPlus::PionPlusDefinition(),
     75                                         G4Proton::ProtonDefinition());
     76  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> piMinusp(G4PionMinus::PionMinusDefinition(),
     77                                          G4Proton::ProtonDefinition());
     78  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> KPlusp(G4KaonPlus::KaonPlusDefinition(),
     79                                        G4Proton::ProtonDefinition());
     80  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> KPlusn(G4KaonPlus::KaonPlusDefinition(),
     81                                        G4Neutron::NeutronDefinition());
     82  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> KMinusp(G4KaonMinus::KaonMinusDefinition(),
     83                                         G4Proton::ProtonDefinition());
     84  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> KMinusn(G4KaonMinus::KaonMinusDefinition(),
     85                                         G4Neutron::NeutronDefinition());
     86  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> gp(G4Gamma::GammaDefinition(),
     87                                    G4Proton::ProtonDefinition());
     88  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> gg(G4Gamma::GammaDefinition(),
     89                                    G4Gamma::GammaDefinition());
     90  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> nn(G4Neutron::NeutronDefinition(),
     91                                    G4Neutron::NeutronDefinition());
    9292 
    9393  std::vector<G4double> nnData;
     
    170170
    171171  // Order the pair: first is the lower mass particle, second is the higher mass one
    172   std::pair<G4String,G4String> trkPair(def1->GetParticleName(),def2->GetParticleName());
     172  std::pair<G4ParticleDefinition *,G4ParticleDefinition *> trkPair(def1,def2);
    173173
    174174  if (def1->GetPDGMass() > def2->GetPDGMass())
    175     trkPair = std::pair<G4String,G4String>(def2->GetParticleName(),def1->GetParticleName());
     175    trkPair = std::pair<G4ParticleDefinition *,G4ParticleDefinition *>(def2,def1);
    176176 
    177177  std::vector<G4double> data;   
     
    183183      for (iter = xMap.begin(); iter != xMap.end(); ++iter)
    184184        {
    185           std::pair<G4String,G4String> thePair = (*iter).first;
     185          std::pair<G4ParticleDefinition *,G4ParticleDefinition *> thePair = (*iter).first;
    186186          if (thePair == trkPair)
    187187            {
Note: See TracChangeset for help on using the changeset viewer.