ProSHADE: ProSHADE_run Class Reference

| ProSHADE 0.7.5.4 (MAR 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 1369 of file ProSHADE.cpp.

1370 {
1371 //================================================ Wellcome message if required
1372 ProSHADE_internal_messages::printWellcomeMessage ( settings->verbose );
1373
1374 //================================================ Save the general information
1375 this->noStructures = static_cast<proshade_unsign> ( settings->inputFiles.size() );
1376 this->verbose = static_cast<proshade_signed> ( settings->verbose );
1377
1378 //================================================ Try to run ProSHADE
1379 try
1380 {
1381 //============================================ Depending on task, switch to correct function to call
1382 switch ( settings->task )
1383 {
1384 case NA:
1385 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." );
1386 break;
1387
1388 case Symmetry:
1389 ProSHADE_internal_tasks::SymmetryDetectionTask ( settings, &this->RecomSymAxes, &this->allCSymAxes );
1390 this->setSymmetryResults ( settings );
1391 break;
1392
1393 case Distances:
1394 ProSHADE_internal_tasks::DistancesComputationTask ( settings, &this->enLevs, &this->trSigm, &this->rotFun );
1395 break;
1396
1397 case OverlayMap:
1398 ProSHADE_internal_tasks::MapOverlayTask ( settings, &this->coordRotationCentre, &this->eulerAngles, &this->overlayTranslation );
1399 break;
1400
1401 case MapManip:
1402 ProSHADE_internal_tasks::MapManipulationTask ( settings, &this->originalBounds, &this->reboxedBounds, &this->manipulatedMaps );
1403 break;
1404 }
1405 }
1406
1407 //================================================ If this is ProSHADE exception, give all available info and terminate gracefully :-)
1408 catch ( ProSHADE_exception& err )
1409 {
1410 std::cerr << std::endl << "=====================" << std::endl << "!! ProSHADE ERROR !!" << std::endl << "=====================" << std::endl << std::flush;
1411 std::cerr << "Error Code : " << err.get_errc() << std::endl << std::flush;
1412 std::cerr << "ProSHADE version : " << __PROSHADE_VERSION__ << std::endl << std::flush;
1413 std::cerr << "File : " << err.get_file() << std::endl << std::flush;
1414 std::cerr << "Line : " << err.get_line() << std::endl << std::flush;
1415 std::cerr << "Function : " << err.get_func() << std::endl << std::flush;
1416 std::cerr << "Message : " << err.what() << std::endl << std::flush;
1417 std::cerr << "Further information : " << err.get_info() << std::endl << std::endl << std::flush;
1418
1419 //============================================ Done
1420 ProSHADE_internal_messages::printTerminateMessage ( settings->verbose );
1421 exit ( EXIT_FAILURE );
1422 }
1423
1424 //================================================ Well, give all there is and just end
1425 catch ( ... )
1426 {
1427 std::cerr << std::endl << "=====================" << std::endl << "!! ProSHADE ERROR !!" << std::endl << "=====================" << std::endl << std::flush;
1428
1429 //============================================ Try to find out more
1430 #if __cplusplus >= 201103L
1431 std::exception_ptr exc = std::current_exception();
1432 try
1433 {
1434 if (exc)
1435 {
1436 std::rethrow_exception ( exc );
1437 }
1438 }
1439 catch ( const std::exception& e )
1440 {
1441 std::cerr << "Caught unknown exception with following information: " << e.what() << std::endl << std::flush;
1442 }
1443 #else
1444 std::cerr << "Unknown error with no further explanation available. Please contact the author for help." << std::endl << std::flush;
1445 #endif
1446 std::cerr << "Terminating..." << std::endl << std::endl << std::flush;
1447
1448 //============================================ Done
1449 ProSHADE_internal_messages::printTerminateMessage ( settings->verbose );
1450 exit ( EXIT_FAILURE );
1451 }
1452
1453 //================================================ Terminating message
1454 ProSHADE_internal_messages::printTerminateMessage ( settings->verbose );
1455
1456 //================================================ Done
1457
1458 }

## ◆ ~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 1464 of file ProSHADE.cpp.

1465 {
1466 //================================================ Release reboxing pointers
1467 if ( this->originalBounds.size() > 0 ) { for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( this->originalBounds.size() ); iter++ ) { delete[] this->originalBounds.at(iter); } }
1468 if ( this->reboxedBounds.size() > 0 ) { for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( this->reboxedBounds.size() ); iter++ ) { delete[] this->reboxedBounds.at(iter); } }
1469 if ( this->manipulatedMaps.size() > 0 ) { for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( this->manipulatedMaps.size() ); iter++ ) { delete[] this->manipulatedMaps.at(iter); } }
1470
1471 //================================================ Clear vectors
1472 this->enLevs.clear ( );
1473 this->trSigm.clear ( );
1474 this->rotFun.clear ( );
1475
1476 //================================================ Delete symmetry axes memory
1477 if ( this->RecomSymAxes.size() > 0 )
1478 {
1479 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( this->RecomSymAxes.size() ); iter++ )
1480 {
1481 delete[] this->RecomSymAxes.at(iter);
1482 }
1483 this->RecomSymAxes.clear ( );
1484 }
1485
1486 //================================================ Done
1487
1488 }

## 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 2428 of file ProSHADE.cpp.

2429 {
2430 //================================================ Done
2431 return ( this->allCSymAxes );
2432
2433 }

## ◆ 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 2310 of file ProSHADE.cpp.

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

## ◆ 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 2535 of file ProSHADE.cpp.

2536 {
2537 //================================================ Sanity check
2538 if ( this->eulerAngles.size() != 3 )
2539 {
2540 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" );
2541 return ( std::vector< proshade_double > ( ) );
2542 }
2543
2544 //================================================ Return required value
2545 return ( this->eulerAngles );
2546
2547 }

## ◆ 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 2497 of file ProSHADE.cpp.

2498 {
2499 //================================================ Return the value
2500 return ( this->manipulatedMaps.at(strNo)[mapIndex] );
2501 }

## ◆ 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 2370 of file ProSHADE.cpp.

2371 {
2372 //================================================ Return the value
2373 return ( static_cast<proshade_unsign> ( this->RecomSymAxes.size() ) );
2374 }

## ◆ 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 2340 of file ProSHADE.cpp.

2341 {
2342 //================================================ Return the value
2343 return ( this->noStructures );
2344 }

## ◆ 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 2360 of file ProSHADE.cpp.

2361 {
2362 //================================================ Return the value
2363 return ( static_cast<proshade_unsign> ( this->RecomSymAxes.size() ) );
2364 }

## ◆ 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 2553 of file ProSHADE.cpp.

2554 {
2555 //================================================ Sanity check
2556 if ( this->eulerAngles.size() != 3 )
2557 {
2558 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" );
2559 return ( std::vector< proshade_double > ( ) );
2560 }
2561
2562 //================================================ Obtain the optimal rotation matrix
2563 proshade_double* rotMat = new proshade_double[9];
2564 ProSHADE_internal_misc::checkMemoryAllocation ( rotMat, __FILE__, __LINE__, __func__ );
2565 ProSHADE_internal_maths::getRotationMatrixFromEulerZXZAngles ( this->eulerAngles.at(0), this->eulerAngles.at(1), this->eulerAngles.at(2), rotMat );
2566
2567 //================================================ Copy to the output variable
2568 std::vector< proshade_double > ret;
2569 for ( proshade_unsign iter = 0; iter < 9; iter++ ) { ProSHADE_internal_misc::addToDoubleVector ( &ret, rotMat[iter] ); }
2570
2571 //================================================ Release the memory
2572 delete[] rotMat;
2573
2574 //================================================ Return required value
2575 return ( ret );
2576
2577 }

## ◆ 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 2439 of file ProSHADE.cpp.

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

## ◆ 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 2607 of file ProSHADE.cpp.

2608 {
2609 //================================================ Sanity check
2610 if ( this->overlayTranslation.size() != 3 )
2611 {
2612 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" );
2613 return ( std::vector< proshade_double > ( ) );
2614 }
2615
2616 //================================================ Return required value
2617 return ( this->overlayTranslation );
2618
2619 }

## ◆ 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 2467 of file ProSHADE.cpp.

2468 {
2469 //================================================ Sanity checks
2470 if ( noStructures <= strNo )
2471 {
2472 ProSHADE_internal_messages::printWarningMessage ( this->verbose, "!!! ProSHADE WARNING !!! Requested bounds for structure index which does not exist. Returning empty vector.", "WB00041" );
2473 return ( std::vector< proshade_signed > ( ) );
2474 }
2475
2476 //================================================ Initialise local variables
2477 std::vector< proshade_signed > ret;
2478
2479 //================================================ Input the axis data as strings
2480 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[0] );
2481 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[1] );
2482 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[2] );
2483 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[3] );
2484 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[4] );
2485 ProSHADE_internal_misc::addToSignedVector ( &ret, this->reboxedBounds.at( strNo )[5] );
2486
2487 //================================================ Done
2488 return ( ret );
2489 }

## ◆ 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 2330 of file ProSHADE.cpp.

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

## ◆ 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 2381 of file ProSHADE.cpp.

2382 {
2383 //================================================ Sanity checks
2384 if ( static_cast<proshade_unsign> ( this->RecomSymAxes.size() ) <= axisNo )
2385 {
2386 ProSHADE_internal_messages::printWarningMessage ( this->verbose, "!!! ProSHADE WARNING !!! Requested symmetry index does not exist. Returning empty vector.", "WS00039" );
2387 return ( std::vector< std::string > ( ) );
2388 }
2389
2390 //================================================ Initialise local variables
2391 std::vector< std::string > ret;
2392
2393 //================================================ Input the axis data as strings
2394 std::stringstream ssHlp;
2395 ssHlp << this->RecomSymAxes.at(axisNo)[0];
2396 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2397 ssHlp.str ( "" );
2398
2399 ssHlp << this->RecomSymAxes.at(axisNo)[1];
2400 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2401 ssHlp.str ( "" );
2402
2403 ssHlp << this->RecomSymAxes.at(axisNo)[2];
2404 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2405 ssHlp.str ( "" );
2406
2407 ssHlp << this->RecomSymAxes.at(axisNo)[3];
2408 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2409 ssHlp.str ( "" );
2410
2411 ssHlp << this->RecomSymAxes.at(axisNo)[4];
2412 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2413 ssHlp.str ( "" );
2414
2415 ssHlp << this->RecomSymAxes.at(axisNo)[5];
2416 ProSHADE_internal_misc::addToStringVector ( &ret, ssHlp.str() );
2417 ssHlp.str ( "" );
2418
2419 //================================================ Done
2420 return ( ret );
2421
2422 }

## ◆ 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 1504 of file ProSHADE.cpp.

1505 {
1506 //================================================ Return the value
1507 return ( this->symRecommFold );
1508 }

## ◆ 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 1494 of file ProSHADE.cpp.

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

## ◆ 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 2320 of file ProSHADE.cpp.

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

## ◆ 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 2583 of file ProSHADE.cpp.

2584 {
2585 //================================================ Sanity check
2586 if ( this->coordRotationCentre.size() != 3 )
2587 {
2588 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" );
2589 return ( std::vector< proshade_double > ( ) );
2590 }
2591
2592 //================================================ Create return variable with negative values of the internal varariable
2593 std::vector < proshade_double > ret;
2594 ProSHADE_internal_misc::addToDoubleVector ( &ret, -this->coordRotationCentre.at(0) );
2595 ProSHADE_internal_misc::addToDoubleVector ( &ret, -this->coordRotationCentre.at(1) );
2596 ProSHADE_internal_misc::addToDoubleVector ( &ret, -this->coordRotationCentre.at(2) );
2597
2598 //================================================ Return required value
2599 return ( ret );
2600
2601 }

## ◆ 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 2350 of file ProSHADE.cpp.

2351 {
2352 //================================================ Return the value
2353 return ( this->verbose );
2354 }

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:188
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:92
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:95
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