Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
CompareMaterial Struct Reference

#include <G4DNAMolecularMaterial.hh>

Public Member Functions

bool operator() (const G4Material *mat1, const G4Material *mat2) const
 

Detailed Description

Definition at line 39 of file G4DNAMolecularMaterial.hh.

Member Function Documentation

bool CompareMaterial::operator() ( const G4Material mat1,
const G4Material mat2 
) const

Definition at line 42 of file G4DNAMolecularMaterial.cc.

References G4Material::GetBaseMaterial().

43 {
44  if(mat1==0 && mat2==0) return false; //(mat1 == mat2)
45  if(mat1==0) return true; // mat1 < mat2
46  if(mat2==0) return false; //mat2 < mat1
47 
48  const G4Material* baseMat1 = mat1->GetBaseMaterial();
49  const G4Material* baseMat2 = mat2->GetBaseMaterial();
50 
51  if((baseMat1 || baseMat2) == 0) // None of the materials derives from a base material
52  {
53  return mat1 < mat2;
54  }
55  else if(baseMat1 && baseMat2) // Both materials derive from a base material
56  {
57  return baseMat1 < baseMat2;
58  }
59 
60  else if(baseMat1 && (baseMat2 == 0)) // Only the material 1 derives from a base material
61  {
62  return baseMat1 < mat2;
63  }
64  // only case baseMat1==0 && baseMat2 remains
65  return mat1 < baseMat2;
66 }
const G4Material * GetBaseMaterial() const
Definition: G4Material.hh:231

The documentation for this struct was generated from the following files: