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 36 of file G4DNAMolecularMaterial.cc.

References G4Material::GetBaseMaterial().

00037 {
00038     if(mat1==0 && mat2==0) return false; //(mat1 == mat2)
00039     if(mat1==0) return true; // mat1 < mat2
00040     if(mat2==0) return false; //mat2 < mat1
00041 
00042     const G4Material* baseMat1 = mat1->GetBaseMaterial();
00043     const G4Material* baseMat2 = mat2->GetBaseMaterial();
00044 
00045     if((baseMat1 || baseMat2) == 0) // None of the materials derives from a base material
00046     {
00047         return mat1 < mat2;
00048     }
00049     else if(baseMat1 && baseMat2) // Both materials derive from a base material
00050     {
00051         return baseMat1 < baseMat2;
00052     }
00053 
00054     else if(baseMat1 && (baseMat2 == 0)) // Only the material 1 derives from a base material
00055     {
00056         return baseMat1 < mat2;
00057     }
00058     // only case baseMat1==0 && baseMat2 remains
00059     return mat1 < baseMat2;
00060 }


The documentation for this struct was generated from the following files:
Generated on Mon May 27 17:51:22 2013 for Geant4 by  doxygen 1.4.7