NAGASH 0.9.8
Next Generation Analysis System
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Static Protected Attributes | Private Attributes | Friends | List of all members
NAGASH::Job Class Reference

Virtual base class for all kinds of jobs inside NAGASH, handled by Analysis. More...

#include "NAGASH/Job.h"

Inheritance diagram for NAGASH::Job:
NAGASH::LoopEvent

Public Member Functions

 Job ()=delete
 
 Job (const ConfigTool &c)
 Constructor.
 
 Job (const Job &)=delete
 
 Job (Job &&)=delete
 
virtual ~Job ()=default
 
Joboperator= (const Job &)=delete
 
Joboperator= (Job &&)=delete
 
std::shared_ptr< ResultGroupResultGroupUser ()
 get the ResultGroup.
 

Protected Member Functions

std::shared_ptr< ConfigToolConfigUser ()
 get the ConfigTool.
 
int JobNumber ()
 get the number of job inside Analysis.
 
std::shared_ptr< MSGToolMSGUser ()
 get the MSGTool.
 
std::shared_ptr< TimerTimerUser ()
 get the Timer.
 
std::shared_ptr< ToolkitToolkitUser ()
 get the Toolkit.
 

Static Protected Attributes

static std::recursive_mutex DefaultMutex = std::recursive_mutex()
 Default mutex, for multi-thread usage.
 

Private Attributes

std::shared_ptr< ConfigToolconfig
 
int jobnumber
 
std::shared_ptr< MSGToolmsg
 
std::shared_ptr< ResultGroupresult
 
std::shared_ptr< Timertimer
 
std::shared_ptr< Toolkittoolkit
 

Friends

class Analysis
 

Detailed Description

Virtual base class for all kinds of jobs inside NAGASH, handled by Analysis.

Note that each Job class defined by the user should contain the following static function which can be called by Analysis:

NAGASH::StatusCode UserJob::Process(const NAGASH::ConfigTool &config, std::shared_ptr<NAGASH::ResultGroup> result, ....some other parameters....)
{
// the first argument is the ConfigTool that you should pass to constructor
// the second argument is the ResultGroup you want to save. Returned by Analysis::SubmitJob().
UserJob ujob(config, ....some other parameters....);
// ... do something ...
// merge the result so that it can be saved
result->Merge(ujob.ResultGroupUser())
}
provide interface to config objects in NAGASH.
Definition ConfigTool.h:14
std::shared_ptr< ResultGroup > result
Definition Job.h:66
std::shared_ptr< ConfigTool > config
Definition Job.h:62
StatusCode
Definition Global.h:76

Details can be seen in topic Analysis Classes.

Definition at line 40 of file Job.h.

Constructor & Destructor Documentation

◆ Job() [1/4]

NAGASH::Job::Job ( const ConfigTool c)
inline

Constructor.

Parameters
cinput ConfigTool.

Definition at line 72 of file Job.h.

◆ Job() [2/4]

NAGASH::Job::Job ( )
delete

◆ Job() [3/4]

NAGASH::Job::Job ( const Job )
delete

◆ Job() [4/4]

NAGASH::Job::Job ( Job &&  )
delete

◆ ~Job()

virtual NAGASH::Job::~Job ( )
virtualdefault

Member Function Documentation

◆ ConfigUser()

std::shared_ptr< ConfigTool > NAGASH::Job::ConfigUser ( )
inlineprotected

get the ConfigTool.

Definition at line 87 of file Job.h.

◆ JobNumber()

int NAGASH::Job::JobNumber ( )
inlineprotected

get the number of job inside Analysis.

Definition at line 92 of file Job.h.

◆ MSGUser()

std::shared_ptr< MSGTool > NAGASH::Job::MSGUser ( )
inlineprotected

get the MSGTool.

Definition at line 89 of file Job.h.

◆ operator=() [1/2]

Job & NAGASH::Job::operator= ( const Job )
delete

◆ operator=() [2/2]

Job & NAGASH::Job::operator= ( Job &&  )
delete

◆ ResultGroupUser()

std::shared_ptr< ResultGroup > NAGASH::Job::ResultGroupUser ( )
inline

get the ResultGroup.

Definition at line 91 of file Job.h.

◆ TimerUser()

std::shared_ptr< Timer > NAGASH::Job::TimerUser ( )
inlineprotected

get the Timer.

Definition at line 90 of file Job.h.

◆ ToolkitUser()

std::shared_ptr< Toolkit > NAGASH::Job::ToolkitUser ( )
inlineprotected

get the Toolkit.

Definition at line 88 of file Job.h.

Friends And Related Symbol Documentation

◆ Analysis

friend class Analysis
friend

Definition at line 51 of file Job.h.

Member Data Documentation

◆ config

std::shared_ptr<ConfigTool> NAGASH::Job::config
private

Definition at line 62 of file Job.h.

◆ DefaultMutex

std::recursive_mutex NAGASH::Job::DefaultMutex = std::recursive_mutex()
inlinestaticprotected

Default mutex, for multi-thread usage.

Definition at line 59 of file Job.h.

◆ jobnumber

int NAGASH::Job::jobnumber
private

Definition at line 67 of file Job.h.

◆ msg

std::shared_ptr<MSGTool> NAGASH::Job::msg
private

Definition at line 63 of file Job.h.

◆ result

std::shared_ptr<ResultGroup> NAGASH::Job::result
private

Definition at line 66 of file Job.h.

◆ timer

std::shared_ptr<Timer> NAGASH::Job::timer
private

Definition at line 65 of file Job.h.

◆ toolkit

std::shared_ptr<Toolkit> NAGASH::Job::toolkit
private

Definition at line 64 of file Job.h.


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