VGM Version 5.3
Loading...
Searching...
No Matches
IIsotope.h
Go to the documentation of this file.
1// $Id$
2
3// -----------------------------------------------------------------------
4// The VGM package of the Virtual Geometry Model
5// Copyright (C) 2007, Ivana Hrivnacova
6// All rights reserved.
7//
8// For the licensing terms see vgm/LICENSE.
9// Contact: ivana@ipno.in2p3.fr
10// -----------------------------------------------------------------------
11
13//
19
20#ifndef VGM_I_ISOTOPE_H
21#define VGM_I_ISOTOPE_H
22
23#include <iostream>
24#include <string>
25
26namespace VGM {
28{
29 public:
30 virtual ~IIsotope() {}
31
32 // methods
35 virtual std::string Name() const = 0;
38 virtual int Z() const = 0;
41 virtual int N() const = 0;
45 virtual double A() const = 0;
46};
47} // namespace VGM
48
49std::ostream& operator<<(std::ostream& out, const VGM::IIsotope& isotope);
50
51#endif // VGM_I_ISOTOPE_H
std::ostream & operator<<(std::ostream &out, const VGM::IIsotope &isotope)
Definition isotope.cxx:21
The VGM interface to elements.
Definition IIsotope.h:28
virtual int N() const =0
Return the effective number of nucleons.
virtual std::string Name() const =0
Return the name of this element.
virtual double A() const =0
Return the effective effective mass of a mole in g/mole.
virtual int Z() const =0
Return the effective atomic number.
virtual ~IIsotope()
Definition IIsotope.h:30
VGM interfaces.
Definition VMedium.h:28