ProSHADE: ProSHADE_run Class Reference

| ProSHADE 0.7.5.1 (JAN 2021) Protein Shape Detection

Public Member Functions | List of all members
ProSHADE_run Class Reference

This class provides the access point to the library. More...

`#include <ProSHADE.hpp>`

## Public Member Functions
| ProSHADE_run (ProSHADE_settings *settings)
| Contructor for the ProSHADE_run class. More...
| ~ProSHADE_run (void)
| Destructor for the ProSHADE class. More...
proshade_unsign | getNoStructures (void)
| This function returns the number of structures used. More...
proshade_signed | getVerbose (void)
| This function returns the verbose value. More...
proshade_unsign | getNoRecommendedSymmetryAxes (void)
| This function returns the number of detected recommended symmetry axes. More...
proshade_unsign | getNoSymmetryAxes (void)
| This function returns the number of detected recommended symmetry axes. More...
std::vector< proshade_double > | getEnergyLevelsVector (void)
| This function returns the energy level distances vector from the first to all other structures. More...
std::vector< proshade_double > | getTraceSigmaVector (void)
| This function returns the trace sigma distances vector from the first to all other structures. More...
std::vector< proshade_double > | getRotationFunctionVector (void)
| This function returns the full rotation function distances vector from the first to all other structures. More...
std::string | getSymmetryType (void)
| This is the main accessor function for the user to get to know what symmetry type ProSHADE has detected and recommends. More...
proshade_unsign | getSymmetryFold (void)
| This is the main accessor function for the user to get to know what symmetry fold ProSHADE has detected and recommends. More...
std::vector< std::string > | getSymmetryAxis (proshade_unsign axisNo)
| This function returns a single symmetry axis as a vector of strings from the recommended symmetry axes list. More...
std::vector< std::vector< proshade_double > > | getAllCSyms (void)
| This function returns a all symmetry axes as a vector of vectors of doubles. More...
std::vector< proshade_signed > | getOriginalBounds (proshade_unsign strNo)
| This function returns a specific structure original bounds. More...
std::vector< proshade_signed > | getReBoxedBounds (proshade_unsign strNo)
| This function returns a specific structure re-boxed bounds. More...
proshade_double | getMapValue (proshade_unsign strNo, proshade_unsign mapIndex)
| This function returns a single, specific structure map value. More...
std::vector< proshade_double > | getEulerAngles (void)
| This function returns the vector of Euler angles with best overlay correlation. More...
std::vector< proshade_double > | getOptimalRotMat (void)
| This function returns the vector forming rotation matrix (rows first) with best overlay correlation. More...
std::vector< proshade_double > | getTranslationToOrigin (void)
| This function returns the negative values of the position of the rotation centre (the point about which the rotation should be done). More...
std::vector< proshade_double > | getOriginToOverlayTranslation (void)
| This function returns the translation required to move the structure from origin to optimal overlay. More...

## Detailed Description

This class provides the access point to the library.

This class codes the object that the user of the library needs to create (and presumably delete) in order to get access to the ProSHADE library.

Definition at line 38 of file ProSHADE.hpp.

## Constructor & Destructor Documentation

## ◆ ProSHADE_run()

ProSHADE_run::ProSHADE_run | ( | ProSHADE_settings * | settings | ) |

Contructor for the ProSHADE_run class.

This is where all the decisions regarding what should be done are made. It takes the settings and based on them, it decides what to do and how to report the results.

Parameters

  [in] | settings | ProSHADE_settings object specifying what should be done.

Definition at line 1358 of file ProSHADE.cpp.

1359 {
1360 //================================================ Wellcome message if required
1361 ProSHADE_internal_messages::printWellcomeMessage ( settings->verbose );
1362
1363 //================================================ Save the general information
1364 this->noStructures = static_cast<proshade_unsign> ( settings->inputFiles.size() );
1365 this->verbose = static_cast<proshade_signed> ( settings->verbose );
1366
1367 //================================================ Try to run ProSHADE
1368 try
1369 {
1370 //============================================ Depending on task, switch to correct function to call
1371 switch ( settings->task )
1372 {
1373 case NA:
1374 throw ProSHADE_exception ( "No task has been specified.", "E000001", __FILE__, __LINE__, __func__, "ProSHADE requires to be told which particular functiona-\n : lity (task) is requested from it. In order to do so, the\n : command line arguments specifying task need to be used\n : (if used from command line), or the ProSHADE_settings\n : object needs to have the member variable \'Task\' set to\n : one of the following values: Distances, Symmetry,\n : OverlayMap or MapManip." );
1375 break;
1376
1377 case Symmetry:
1378 ProSHADE_internal_tasks::SymmetryDetectionTask ( settings, &this->RecomSymAxes, &this->allCSymAxes );
1379 this->setSymmetryResults ( settings );
1380 break;
1381
1382 case Distances:
1383 ProSHADE_internal_tasks::DistancesComputationTask ( settings, &this->enLevs, &this->trSigm, &this->rotFun );
1384 break;
1385
1386 case OverlayMap:
1387 ProSHADE_internal_tasks::MapOverlayTask ( settings, &this->coordRotationCentre, &this->eulerAngles, &this->overlayTranslation );
1388 break;
1389
1390 case MapManip:
1391 ProSHADE_internal_tasks::MapManipulationTask ( settings, &this->originalBounds, &this->reboxedBounds, &this->manipulatedMaps );
1392 break;
1393 }
1394 }
1395
1396 //================================================ If this is ProSHADE exception, give all available info and terminate gracefully :-)
1397 catch ( ProSHADE_exception& err )
1398 {
1399 std::cerr << std::endl << "=====================" << std::endl << "!! ProSHADE ERROR !!" << std::endl << "=====================" << std::endl << std::flush;
1400 std::cerr << "Error Code : " << err.get_errc() << std::endl << std::flush;
1401 std::cerr << "ProSHADE version : " << __PROSHADE_VERSION__ << std::endl << std::flush;
1402 std::cerr << "File : " << err.get_file() << std::endl << std::flush;
1403 std::cerr << "Line : " << err.get_line() << std::endl << std::flush;
1404 std::cerr << "Function : " << err.get_func() << std::endl << std::flush;
1405 std::cerr << "Message : " << err.what() << std::endl << std::flush;
1406 std::cerr << "Further information : " << err.get_info() << std::endl << std::endl << std::flush;
1407
1408 //============================================ Done
1409 ProSHADE_internal_messages::printTerminateMessage ( settings->verbose );
1410 exit ( EXIT_FAILURE );
1411 }
1412
1413 //================================================ Well, give all there is and just end
1414 catch ( ... )
1415 {
1416 std::cerr << std::endl << "=====================" << std::endl << "!! ProSHADE ERROR !!" << std::endl << "=====================" << std::endl << std::flush;
1417
1418 //============================================ Try to find out more
1419 #if __cplusplus >= 201103L
1420 std::exception_ptr exc = std::current_exception();
1421 try
1422 {
1423 if (exc)
1424 {
1425 std::rethrow_exception ( exc );
1426 }
1427 }
1428 catch ( const std::exception& e )
1429 {
1430 std::cerr << "Caught unknown exception with following information: " << e.what() << std::endl << std::flush;
1431 }
1432 #else
1433 std::cerr << "Unknown error with no further explanation available. Please contact the author for help." << std::endl << std::flush;
1434 #endif
1435 std::cerr << "Terminating..." << std::endl << std::endl << std::flush;
1436
1437 //============================================ Done
1438 ProSHADE_internal_messages::printTerminateMessage ( settings->verbose );
1439 exit ( EXIT_FAILURE );
1440 }
1441
1442 //================================================ Terminating message
1443 ProSHADE_internal_messages::printTerminateMessage ( settings->verbose );
1444
1445 //================================================ Done
1446
1447 }

## ◆ ~ProSHADE_run()

ProSHADE_run::~ProSHADE_run | ( | void |  | ) |

Destructor for the ProSHADE class.

This destructor is responsible for releasing all memory used by the executing object

Definition at line 1453 of file ProSHADE.cpp.

1454 {
1455 //================================================ Release reboxing pointers
1456 if ( this->originalBounds.size() > 0 ) { for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( this->originalBounds.size() ); iter++ ) { delete[] this->originalBounds.at(iter); } }
1457 if ( this->reboxedBounds.size() > 0 ) { for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( this->reboxedBounds.size() ); iter++ ) { delete[] this->reboxedBounds.at(iter); } }
1458 if ( this->manipulatedMaps.size() > 0 ) { for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( this->manipulatedMaps.size() ); iter++ ) { delete[] this->manipulatedMaps.at(iter); } }
1459
1460 //================================================ Clear vectors
1461 this->enLevs.clear ( );
1462 this->trSigm.clear ( );
1463 this->rotFun.clear ( );
1464
1465 //================================================ Delete symmetry axes memory
1466 if ( this->RecomSymAxes.size() > 0 )
1467 {
1468 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( this->RecomSymAxes.size() ); iter++ )
1469 {
1470 delete[] this->RecomSymAxes.at(iter);
1471 }
1472 this->RecomSymAxes.clear ( );
1473 }
1474
1475 //================================================ Done
1476
1477 }

## Member Function Documentation

## ◆ getAllCSyms()

std::vector< std::vector< proshade_double > > ProSHADE_run::getAllCSyms | ( | void |  | ) |

This function returns a all symmetry axes as a vector of vectors of doubles.

Parameters

  [out] | val | A vector of vectors of doubles containing all the symmetries axis fold, x, y, z axis element, angle and peak height in this order.

Definition at line 2408 of file ProSHADE.cpp.

2409 {
2410 //================================================ Done
2411 return ( this->allCSymAxes );
2412
2413 }

## ◆ getEnergyLevelsVector()

std::vector< proshade_double > ProSHADE_run::getEnergyLevelsVector | ( | void |  | ) |

This function returns the energy level distances vector from the first to all other structures.

Parameters

  [out] | enLevs | Vector of doubles of the distances.

Definition at line 2290 of file ProSHADE.cpp.

2291 {
2292 //================================================ Return the value
2293 return ( this->enLevs );
2294 }

## ◆ getEulerAngles()

std::vector< proshade_double > ProSHADE_run::getEulerAngles | ( | void |  | ) |

This function returns the vector of Euler angles with best overlay correlation.

Parameters

  [out] | ret | Vector of Euler angles (ZXZ convention) which lead to the globally best overlay correlation.

Definition at line 2515 of file ProSHADE.cpp.

2516 {
2517 //================================================ Sanity check
2518 if ( this->eulerAngles.size() != 3 )
2519 {
2520 ProSHADE_internal_messages::printWarningMessage ( this->verbose, "!!! ProSHADE WARNING !!! Requested rotation/translation values for Overlay functionality without having successfully computed it. Please check the correct task was used and no other warnings/errors were obtained.", "WO00042" );
2521 return ( std::vector< proshade_double > ( ) );
2522 }
2523
2524 //================================================ Return required value
2525 return ( this->eulerAngles );
2526
2527 }

## ◆ getMapValue()

proshade_double ProSHADE_run::getMapValue | ( | proshade_unsign | strNo,
|  | proshade_unsign | mapIndex
| ) |  |

This function returns a single, specific structure map value.

Parameters

  [in] | strNo | The index of the structure for which the map value is to be returned.
  [in] | mapIndex | The map array index of which the value is returned.
  [out] | val | The map density value for the particular mapIndex position.

Definition at line 2477 of file ProSHADE.cpp.

2478 {
2479 //================================================ Return the value
2480 return ( this->manipulatedMaps.at(strNo)[mapIndex] );
2481 }

## ◆ getNoRecommendedSymmetryAxes()

proshade_unsign ProSHADE_run::getNoRecommendedSymmetryAxes | ( | void |  | ) |

This function returns the number of detected recommended symmetry axes.

Parameters

  [out] | val | The length of the recommended symmetry axes vector.

Definition at line 2350 of file ProSHADE.cpp.

2351 {
2352 //================================================ Return the value
2353 return ( static_cast<proshade_unsign> ( this->RecomSymAxes.size() ) );
2354 }

## ◆ getNoStructures()

proshade_unsign ProSHADE_run::getNoStructures | ( | void |  | ) |

This function returns the number of structures used.

Parameters

  [in] | noStructures | Number of structures supplied to the settings object.

Definition at line 2320 of file ProSHADE.cpp.

2321 {
2322 //================================================ Return the value
2323 return ( this->noStructures );
2324 }

## ◆ getNoSymmetryAxes()

proshade_unsign ProSHADE_run::getNoSymmetryAxes | ( | void |  | ) |

This function returns the number of detected recommended symmetry axes.

Parameters

  [out] | val | The length of the recommended symmetry axes vector.

Definition at line 2340 of file ProSHADE.cpp.

2341 {
2342 //================================================ Return the value
2343 return ( static_cast<proshade_unsign> ( this->RecomSymAxes.size() ) );
2344 }

## ◆ getOptimalRotMat()

std::vector< proshade_double > ProSHADE_run::getOptimalRotMat | ( | void |  | ) |

This function returns the vector forming rotation matrix (rows first) with best overlay correlation.

Parameters

  [out] | ret | Vector forming rotation matrix (rows first) which lead to the globally best overlay correlation.

Definition at line 2533 of file ProSHADE.cpp.

2534 {
2535 //================================================ Sanity check
2536 if ( this->eulerAngles.size() != 3 )
2537 {
2538 ProSHADE_internal_messages::printWarningMessage ( this->verbose, "!!! ProSHADE WARNING !!! Requested rotation/translation values for Overlay functionality without having successfully computed it. Please check the correct task was used and no other warnings/errors were obtained.", "WO00042" );
2539 return ( std::vector< proshade_double > ( ) );
2540 }
2541
2542 //================================================ Obtain the optimal rotation matrix
2543 proshade_double* rotMat = new proshade_double[9];
2544 ProSHADE_internal_misc::checkMemoryAllocation ( rotMat, __FILE__, __LINE__, __func__ );
2545 ProSHADE_internal_maths::getRotationMatrixFromEulerZXZAngles ( this->eulerAngles.at(0), this->eulerAngles.at(1), this->eulerAngles.at(2), rotMat );
2546
2547 //================================================ Copy to the output variable
2548 std::vector< proshade_double > ret;
2549 for ( proshade_unsign iter = 0; iter < 9; iter++ ) { ProSHADE_internal_misc::addToDoubleVector ( &ret, rotMat[iter] ); }
2550
2551 //================================================ Release the memory
2552 delete[] rotMat;
2553
2554 //================================================ Return required value
2555 return ( ret );
2556
2557 }

## ◆ getOriginalBounds()

std::vector< proshade_signed > ProSHADE_run::getOriginalBounds | ( | proshade_unsign | strNo | ) |

This function returns a specific structure original bounds.

Parameters

  [in] | strNo | The index of the structure for which the bounds are to be returned.

Definition at line 2419 of file ProSHADE.cpp.

2420 {
2421 //================================================ Sanity checks
2422 if ( noStructures <= strNo )
2423 {
2424 ProSHADE_internal_messages::printWarningMessage ( this->verbose, "!!! ProSHADE WARNING !!! Requested bounds for structure index which does not exist. Returning empty vector.", "WB00041" );
2425 return ( std::vector< proshade_signed > ( ) );
2426 }
2427
2428 //================================================ Initialise local variables
2429 std::vector< proshade_signed > ret;
2430
2431 //================================================ Input the axis data as strings
2432 ProSHADE_internal_misc::addToSignedVector ( &ret, this->originalBounds.at( strNo )[0] );
2433 ProSHADE_internal_misc::addToSignedVector ( &ret, this->originalBounds.at( strNo )[1] );
2434 ProSHADE_internal_misc::addToSignedVector ( &ret, this->originalBounds.at( strNo )[2] );
2435 ProSHADE_internal_misc::addToSignedVector ( &ret, this->originalBounds.at( strNo )[3] );
2436 ProSHADE_internal_misc::addToSignedVector ( &ret, this->originalBounds.at( strNo )[4] );
2437 ProSHADE_internal_misc::addToSignedVector ( &ret, this->originalBounds.at( strNo )[5] );
2438
2439 //================================================ Done
2440 return ( ret );
2441 }

## ◆ getOriginToOverlayTranslation()

std::vector< proshade_double > ProSHADE_run::getOriginToOverlayTranslation | ( | void |  | ) |

This function returns the translation required to move the structure from origin to optimal overlay.

Parameters

  [out] | ret | Translation required to move structure from origin to optimal overlay.

Definition at line 2587 of file ProSHADE.cpp.

2588 {
2589 //================================================ Sanity check
2590 if ( this->overlayTranslation.size() != 3 )
2591 {
2592 ProSHADE_internal_messages::printWarningMessage ( this->verbose, "!!! ProSHADE WARNING !!! Requested rotation/translation values for Overlay functionality without having successfully computed it. Please check the correct task was used and no other warnings/errors were obtained.", "WO00042" );
2593 return ( std::vector< proshade_double > ( ) );
2594 }
2595
2596 //================================================ Return required value
2597 return ( this->overlayTranslation );
2598
2599 }

## ◆ getReBoxedBounds()

std::vector< proshade_signed > ProSHADE_run::getReBoxedBounds | ( | proshade_unsign | strNo | ) |

This function returns a specific structure re-boxed bounds.

Parameters

  [in] | strNo | The index of the structure for which the bounds are to be returned.

Definition at line 2447 of file ProSHADE.cpp.

2448 {
2449 //================================================ Sanity checks
2450 if ( noStructures <= strNo )
2451 {
2452 ProSHADE_internal_messages::printWarningMessage ( this->verbose, "!!! ProSHADE WARNING !!! Requested bounds for structure index which does not exist. Returning empty vector.", "WB00041" );
2453 return ( std::vector< proshade_signed > ( ) );
2454 }
2455
2456 //================================================ Initialise local variables
2457 std::vector< proshade_signed > ret;
2458
2459 //================================================ Input the axis data as strings
2460 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[0] );
2461 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[1] );
2462 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[2] );
2463 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[3] );
2464 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[4] );
2465 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[5] );
2466
2467 //================================================ Done
2468 return ( ret );
2469 }

## ◆ getRotationFunctionVector()

std::vector< proshade_double > ProSHADE_run::getRotationFunctionVector | ( | void |  | ) |

This function returns the full rotation function distances vector from the first to all other structures.

Parameters

  [out] | rotFun | Vector of doubles of the distances.

Definition at line 2310 of file ProSHADE.cpp.

2311 {
2312 //================================================ Return the value
2313 return ( this->rotFun );
2314 }

## ◆ getSymmetryAxis()

std::vector< std::string > ProSHADE_run::getSymmetryAxis | ( | proshade_unsign | axisNo | ) |

This function returns a single symmetry axis as a vector of strings from the recommended symmetry axes list.

Parameters

  [in] | axisNo | The index of the axis to be returned.
  [out] | val | A vector of strings containing the symmetry axis fold, x, y, z axis element, angle and peak height in this order.

Definition at line 2361 of file ProSHADE.cpp.

2362 {
2363 //================================================ Sanity checks
2364 if ( static_cast<proshade_unsign> ( this->RecomSymAxes.size() ) <= axisNo )
2365 {
2366 ProSHADE_internal_messages::printWarningMessage ( this->verbose, "!!! ProSHADE WARNING !!! Requested symmetry index does not exist. Returning empty vector.", "WS00039" );
2367 return ( std::vector< std::string > ( ) );
2368 }
2369
2370 //================================================ Initialise local variables
2371 std::vector< std::string > ret;
2372
2373 //================================================ Input the axis data as strings
2374 std::stringstream ssHlp;
2375 ssHlp << this->RecomSymAxes.at(axisNo)[0];
2376 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2377 ssHlp.str ( "" );
2378
2379 ssHlp << this->RecomSymAxes.at(axisNo)[1];
2380 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2381 ssHlp.str ( "" );
2382
2383 ssHlp << this->RecomSymAxes.at(axisNo)[2];
2384 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2385 ssHlp.str ( "" );
2386
2387 ssHlp << this->RecomSymAxes.at(axisNo)[3];
2388 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2389 ssHlp.str ( "" );
2390
2391 ssHlp << this->RecomSymAxes.at(axisNo)[4];
2392 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2393 ssHlp.str ( "" );
2394
2395 ssHlp << this->RecomSymAxes.at(axisNo)[5];
2396 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2397 ssHlp.str ( "" );
2398
2399 //================================================ Done
2400 return ( ret );
2401
2402 }

## ◆ getSymmetryFold()

proshade_unsign ProSHADE_run::getSymmetryFold | ( | void |  | ) |

This is the main accessor function for the user to get to know what symmetry fold ProSHADE has detected and recommends.

Parameters

  [out] | symRecommFold | This is the fold of ProSHADE detected and recommended symmetry (C and D symmetry types only).

Definition at line 1493 of file ProSHADE.cpp.

1494 {
1495 //================================================ Return the value
1496 return ( this->symRecommFold );
1497 }

## ◆ getSymmetryType()

std::string ProSHADE_run::getSymmetryType | ( | void |  | ) |

This is the main accessor function for the user to get to know what symmetry type ProSHADE has detected and recommends.

Parameters

  [out] | symRecommType | This is the value ( ""=None, C=cyclic, D=Dihedral, T=Tetrahedral, O=Octahedral or I=Icosahedral) of ProSHADE detected and recommended symmetry.

Definition at line 1483 of file ProSHADE.cpp.

1484 {
1485 //================================================ Return the value
1486 return ( this->symRecommType );
1487 }

## ◆ getTraceSigmaVector()

std::vector< proshade_double > ProSHADE_run::getTraceSigmaVector | ( | void |  | ) |

This function returns the trace sigma distances vector from the first to all other structures.

Parameters

  [out] | trSigm | Vector of doubles of the distances.

Definition at line 2300 of file ProSHADE.cpp.

2301 {
2302 //================================================ Return the value
2303 return ( this->trSigm );
2304 }

## ◆ getTranslationToOrigin()

std::vector< proshade_double > ProSHADE_run::getTranslationToOrigin | ( | void |  | ) |

This function returns the negative values of the position of the rotation centre (the point about which the rotation should be done).

Parameters

  [out] | ret | Vector specifying the negative values of the rotation centre - i.e. the translation of the rotation centre to the origin.

Definition at line 2563 of file ProSHADE.cpp.

2564 {
2565 //================================================ Sanity check
2566 if ( this->coordRotationCentre.size() != 3 )
2567 {
2568 ProSHADE_internal_messages::printWarningMessage ( this->verbose, "!!! ProSHADE WARNING !!! Requested rotation/translation values for Overlay functionality without having successfully computed it. Please check the correct task was used and no other warnings/errors were obtained.", "WO00042" );
2569 return ( std::vector< proshade_double > ( ) );
2570 }
2571
2572 //================================================ Create return variable with negative values of the internal varariable
2573 std::vector < proshade_double > ret;
2574 ProSHADE_internal_misc::addToDoubleVector ( &ret, -this->coordRotationCentre.at(0) );
2575 ProSHADE_internal_misc::addToDoubleVector ( &ret, -this->coordRotationCentre.at(1) );
2576 ProSHADE_internal_misc::addToDoubleVector ( &ret, -this->coordRotationCentre.at(2) );
2577
2578 //================================================ Return required value
2579 return ( ret );
2580
2581 }

## ◆ getVerbose()

proshade_signed ProSHADE_run::getVerbose | ( | void |  | ) |

This function returns the verbose value.

Parameters

  [in] | verbose | How loud the run should be?

Definition at line 2330 of file ProSHADE.cpp.

2331 {
2332 //================================================ Return the value
2333 return ( this->verbose );
2334 }

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

- src/proshade/ProSHADE.hpp
- src/proshade/ProSHADE.cpp

ProSHADE_internal_tasks::MapOverlayTask
void MapOverlayTask(ProSHADE_settings *settings, std::vector< proshade_double > *rotationCentre, std::vector< proshade_double > *eulerAngles, std::vector< proshade_double > *finalTranslation)
The symmetry detection task driver function.
Definition: ProSHADE_tasks.cpp:371
ProSHADE_exception
This class is the representation of ProSHADE exception.
Definition: ProSHADE_exceptions.hpp:37
ProSHADE_internal_maths::getRotationMatrixFromEulerZXZAngles
void getRotationMatrixFromEulerZXZAngles(proshade_double eulerAlpha, proshade_double eulerBeta, proshade_double eulerGamma, proshade_double *matrix)
Function to find the rotation matrix from Euler angles (ZXZ convention).
Definition: ProSHADE_maths.cpp:1005
ProSHADE_internal_messages::printWarningMessage
void printWarningMessage(proshade_signed verbose, std::string message, std::string warnCode)
General stderr message printing (used for warnings).
Definition: ProSHADE_messages.cpp:101
ProSHADE_settings::verbose
proshade_signed verbose
Should the software report on the progress, or just be quiet? Value between -1 (nothing) and 4 (loud)
Definition: ProSHADE_settings.hpp:185
ProSHADE_internal_misc::addToDoubleVector
void addToDoubleVector(std::vector< proshade_double > *vecToAddTo, proshade_double elementToAdd)
Adds the element to the vector.
Definition: ProSHADE_misc.cpp:77
ProSHADE_internal_tasks::SymmetryDetectionTask
void SymmetryDetectionTask(ProSHADE_settings *settings, std::vector< proshade_double * > *axes, std::vector< std::vector< proshade_double > > *allCs)
The symmetry detection task driver function.
Definition: ProSHADE_tasks.cpp:286
ProSHADE_internal_tasks::MapManipulationTask
void MapManipulationTask(ProSHADE_settings *settings, std::vector< proshade_signed * > *originalBounds, std::vector< proshade_signed * > *reboxedBounds, std::vector< proshade_double * > *manipulatedMaps)
The re-boxing task driver function.
Definition: ProSHADE_tasks.cpp:35
ProSHADE_internal_misc::addToSignedVector
void addToSignedVector(std::vector< proshade_signed > *vecToAddTo, proshade_signed elementToAdd)
Adds the element to the vector.
Definition: ProSHADE_misc.cpp:121
ProSHADE_settings::task
ProSHADE_Task task
This custom type variable determines which task to perfom (i.e. symmetry detection,...
Definition: ProSHADE_settings.hpp:89
ProSHADE_internal_tasks::DistancesComputationTask
void DistancesComputationTask(ProSHADE_settings *settings, std::vector< proshade_double > *enLevs, std::vector< proshade_double > *trSigm, std::vector< proshade_double > *rotFun)
The distances computation task driver function.
Definition: ProSHADE_tasks.cpp:147
ProSHADE_internal_messages::printWellcomeMessage
void printWellcomeMessage(proshade_signed verbose)
Wellcome message printing.
Definition: ProSHADE_messages.cpp:31
ProSHADE_internal_messages::printTerminateMessage
void printTerminateMessage(proshade_signed verbose)
Final message printing.
Definition: ProSHADE_messages.cpp:49
ProSHADE_internal_misc::checkMemoryAllocation
void checkMemoryAllocation(chVar checkVar, std::string fileP, unsigned int lineP, std::string funcP, std::string infoP="This error may occurs when ProSHADE requests memory to be\n : allocated to it and this operation fails. This could\n : happen when not enough memory is available, either due to\n : other processes using a lot of memory, or when the machine\n : does not have sufficient memory available. Re-run to see\n : if this problem persists.")
Checks if memory was allocated properly.
Definition: ProSHADE_misc.hpp:65
ProSHADE_settings::inputFiles
std::vector< std::string > inputFiles
This vector contains the filenames of all input structure files.
Definition: ProSHADE_settings.hpp:92
ProSHADE_internal_misc::addToStringVector
void addToStringVector(std::vector< std::string > *vecToAddTo, std::string elementToAdd)
Adds the element to the vector.
Definition: ProSHADE_misc.cpp:33