Psi4
Public Member Functions | Private Attributes | List of all members
psi::CartesianEntry Class Reference

#include <coordentry.h>

Inheritance diagram for psi::CartesianEntry:
psi::CoordEntry

Public Member Functions

 CartesianEntry (int entry_number, double Z, double charge, double mass, const std::string &symbol, const std::string &label, std::shared_ptr< CoordValue > x, std::shared_ptr< CoordValue > y, std::shared_ptr< CoordValue > z)
 
 CartesianEntry (int entry_number, double Z, double charge, double mass, const std::string &symbol, const std::string &label, std::shared_ptr< CoordValue > x, std::shared_ptr< CoordValue > y, std::shared_ptr< CoordValue > z, const std::map< std::string, std::string > &basis, const std::map< std::string, std::string > &shells)
 
const Vector3compute ()
 Computes the values of the coordinates (in whichever units were inputted), returning them in a Vector. More...
 
void set_coordinates (double x, double y, double z)
 
CoordEntryType type ()
 The type of CoordEntry Specialization. More...
 
void print_in_input_format ()
 Prints the updated geometry, in the format provided by the user. More...
 
std::string string_in_input_format ()
 String of the updated geometry, in the format provided by the user (analog of print_in_input_format) More...
 
void invalidate ()
 Flags the current coordinates as being outdated. More...
 
std::shared_ptr< CoordEntryclone (std::vector< std::shared_ptr< CoordEntry > > &, std::map< std::string, double > &map)
 Clones the current object, using a user-provided variable array, for deep copying. More...
 
- Public Member Functions inherited from psi::CoordEntry
 CoordEntry (int entry_number, double Z, double charge, double mass, const std::string &symbol, const std::string &label="")
 
 CoordEntry (int entry_number, double Z, double charge, double mass, const std::string &symbol, const std::string &label, const std::map< std::string, std::string > &basis, const std::map< std::string, std::string > &shells)
 
virtual ~CoordEntry ()
 
bool is_computed () const
 Whether the current atom's coordinates are up-to-date. More...
 
bool is_equivalent_to (const std::shared_ptr< CoordEntry > &other) const
 Whether this atom has the same mass and basis sets as another atom. More...
 
const bool & is_ghosted () const
 Whether the current atom is ghosted or not. More...
 
void set_ghosted (bool ghosted)
 Flag the atom as either ghost or real. More...
 
const double & Z () const
 The nuclear charge of the current atom (0 if ghosted). More...
 
const double & charge () const
 The "atomic charge" of the current atom (for SAD purposes). More...
 
const double & mass () const
 The atomic mass of the current atom. More...
 
const std::string & symbol () const
 The atomic symbol. More...
 
const std::string & label () const
 The atom label. More...
 
const int & entry_number () const
 The order in which this appears in the full atom list. More...
 
void set_nuclear_charge (double newZ)
 Set the nuclear charge for this atom (primarily used in ECP calculations to modify Z). More...
 
void set_basisset (const std::string &name, const std::string &type="BASIS")
 
const std::string & basisset (const std::string &type="BASIS") const
 
const std::map< std::string,
std::string > & 
basissets () const
 
void set_shell (const std::string &name, const std::string &type="BASIS")
 
const std::string & shell (const std::string &type="BASIS") const
 
const std::map< std::string,
std::string > & 
shells () const
 
void set_mass (double mass)
 

Private Attributes

std::shared_ptr< CoordValuex_
 
std::shared_ptr< CoordValuey_
 
std::shared_ptr< CoordValuez_
 

Additional Inherited Members

- Public Types inherited from psi::CoordEntry
enum  CoordEntryType { CartesianCoord, ZMatrixCoord }
 
- Static Protected Member Functions inherited from psi::CoordEntry
static double r (const Vector3 &a1, const Vector3 &a2)
 Computes the distance between two sets of coordinates. More...
 
static double a (const Vector3 &a1, const Vector3 &a2, const Vector3 &a3)
 Computes the angle (in rad.) between three sets of coordinates. More...
 
static double d (const Vector3 &a1, const Vector3 &a2, const Vector3 &a3, const Vector3 &a4)
 Computes the dihedral (in rad.) between four sets of coordinates. More...
 
- Protected Attributes inherited from psi::CoordEntry
int entry_number_
 
bool computed_
 
Vector3 coordinates_
 
double Z_
 Atomic number of the atom. More...
 
double charge_
 
double mass_
 
std::string symbol_
 Label of the atom minus any extra info (H1 => H) More...
 
std::string label_
 Original label from the molecule from the input file (H1) More...
 
bool ghosted_
 Is this a ghost atom? More...
 
std::map< std::string,
std::string > 
basissets_
 Different types of basis sets that can be assigned to this atom. More...
 
std::map< std::string,
std::string > 
shells_
 Short string representation of the numerical contents of basis. More...
 

Constructor & Destructor Documentation

CartesianEntry::CartesianEntry ( int  entry_number,
double  Z,
double  charge,
double  mass,
const std::string &  symbol,
const std::string &  label,
std::shared_ptr< CoordValue x,
std::shared_ptr< CoordValue y,
std::shared_ptr< CoordValue z 
)
CartesianEntry::CartesianEntry ( int  entry_number,
double  Z,
double  charge,
double  mass,
const std::string &  symbol,
const std::string &  label,
std::shared_ptr< CoordValue x,
std::shared_ptr< CoordValue y,
std::shared_ptr< CoordValue z,
const std::map< std::string, std::string > &  basis,
const std::map< std::string, std::string > &  shells 
)

Member Function Documentation

std::shared_ptr<CoordEntry> psi::CartesianEntry::clone ( std::vector< std::shared_ptr< CoordEntry > > &  atoms,
std::map< std::string, double > &  map 
)
inlinevirtual

Clones the current object, using a user-provided variable array, for deep copying.

Implements psi::CoordEntry.

const Vector3 & CartesianEntry::compute ( )
virtual

Computes the values of the coordinates (in whichever units were inputted), returning them in a Vector.

Implements psi::CoordEntry.

void psi::CartesianEntry::invalidate ( )
inlinevirtual

Flags the current coordinates as being outdated.

Implements psi::CoordEntry.

void CartesianEntry::print_in_input_format ( )
virtual

Prints the updated geometry, in the format provided by the user.

Implements psi::CoordEntry.

void CartesianEntry::set_coordinates ( double  x,
double  y,
double  z 
)
virtual

Given the current set of coordinates, updates the values of this atom's coordinates, and any variables that may depend on it.

Implements psi::CoordEntry.

std::string CartesianEntry::string_in_input_format ( )
virtual

String of the updated geometry, in the format provided by the user (analog of print_in_input_format)

Implements psi::CoordEntry.

CoordEntryType psi::CartesianEntry::type ( )
inlinevirtual

The type of CoordEntry Specialization.

Implements psi::CoordEntry.

Member Data Documentation

std::shared_ptr<CoordValue> psi::CartesianEntry::x_
private
std::shared_ptr<CoordValue> psi::CartesianEntry::y_
private
std::shared_ptr<CoordValue> psi::CartesianEntry::z_
private

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