Ignore:
Timestamp:
Nov 5, 2010, 3:45:55 PM (14 years ago)
Author:
garnier
Message:

update ti head

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4NuclearLevelManager.hh

    r819 r1340  
    2424// ********************************************************************
    2525//
    26 //
     26// $Id: G4NuclearLevelManager.hh,v 1.5 2010/10/10 23:01:39 mkelsey Exp $
    2727// -------------------------------------------------------------------
    2828//      GEANT 4 class file
     
    4646//              reading from experimental data.
    4747//        02 May 2003,   Vladimir Ivanchenko remove rublic copy contructor
    48 //     
     48//        06 Oct 2010, M. Kelsey -- Use object storage, not pointers, drop
     49//              public access to list
    4950// -------------------------------------------------------------------
    5051
     
    5455#include "globals.hh"
    5556#include "G4PtrLevelVector.hh"
    56 #include "G4NuclearLevel.hh"
    57 #include "G4ios.hh"
    58 #include <fstream>
     57#include <iosfwd>
     58
     59class G4NuclearLevel;
     60
    5961
    6062class G4NuclearLevelManager
     
    7173  void SetNucleus(const G4int Z, const G4int A, const G4String& filename);
    7274
    73   G4bool IsValid() const;
     75  G4bool IsValid() const { return _validity; }
    7476
    75   G4int NumberOfLevels() const;
     77  G4int NumberOfLevels() const { return (_levels ? _levels->size() : 0); }
    7678
    77   const G4PtrLevelVector* GetLevels() const;
     79  const G4NuclearLevel* GetLevel(G4int i) const;
    7880
    79   const G4NuclearLevel* NearestLevel(const G4double energy, const G4double eDiffMax=9999.*GeV) const;
     81  const G4NuclearLevel* NearestLevel(const G4double energy,
     82                                     const G4double eDiffMax=9999.*GeV) const;
    8083
    8184  const G4NuclearLevel* LowestLevel() const;
     
    8891 
    8992private: 
    90 
    9193  const G4NuclearLevelManager& operator=(const G4NuclearLevelManager &right);
    9294  G4bool operator==(const G4NuclearLevelManager &right) const;
     
    9496
    9597  G4bool Read(std::ifstream& aDataFile);
    96  
     98  G4bool ReadDataLine(std::ifstream& dataFile);
     99  G4bool ReadDataItem(std::istream& dataFile, G4double& x);
     100  void ProcessDataLine();
     101
    97102  void MakeLevels();
     103  void ClearLevels();
     104
     105  G4NuclearLevel* UseLevelOrMakeNew(G4NuclearLevel* level);
     106  void AddDataToLevel(G4NuclearLevel* level);
     107  void FinishLevel(G4NuclearLevel* level);
    98108
    99109  G4int _nucleusA;
     
    102112  G4bool _validity;
    103113  G4PtrLevelVector* _levels;
    104  
     114
     115  // Buffers for reading data file
     116  char buffer[30];              // For doubles in scientific notation
    105117  G4double _levelEnergy;
    106118  G4double _gammaEnergy;
Note: See TracChangeset for help on using the changeset viewer.