Problem 625

Summary: Allow subclassing of G4VCrossSectionhandler
Product: Geant4 Reporter: marcus.h.mendenhall
Component: processes/electromagnetic/lowenergyAssignee: Maria.Grazia.Pia
Status: CLOSED INVALID    
Severity: enhancement CC: robert.a.weller
Priority: P2    
Version: 6.1   
Hardware: All   
OS: All   

Description marcus.h.mendenhall 2004-05-18 07:25:16 CEST
In the process of developing a process for handling screened Coulomb scattering, I needed to use
G4VCrossSectionhandler, but to read data ibto it from another source than the file tree it expects.
When I went to subclass it to override LoadData(), I discovered that the data arrays it generates are
classed as private.  If it would not break anyone else's plans, is there any reason why the last section of
the heasder file G4VCrossSectionhandler.hh cannot be modified to look like:

protected:

  // Hide copy constructor and assignment operator
  G4VCrossSectionHandler(const G4VCrossSectionHandler&);
  G4VCrossSectionHandler & operator=(const G4VCrossSectionHandler &right);

  G4VDataSetAlgorithm* interpolation;

  G4double eMin;
  G4double eMax;
  G4int nBins;

  G4double unit1;
  G4double unit2;

  G4int zMin;
  G4int zMax;

  G4DataVector activeZ;

  std::map<G4int,G4VEMDataSet*,std::less<G4int> > dataMap;

  std::vector<G4VEMDataSet*>* crossSections;

instead of having this stuff all private?

Thanks in advance.

Marcus Mendenhall
Comment 1 Maria.Grazia.Pia 2004-06-25 04:58:59 CEST
Analysis and design is handled in Geant4 Low Energy Electromagnetic Physics
Working Group as a controlled process. If you have new user requirements, that
are not satisfied by the present code, please submit them to us, so that we can
handle them according to a controlled software process. Please note that no
design modifications take place just as quick changes proposed in a Problem
Report, but they are subject to planned design iterations.
Best wishes,
Maria Grazia Pia