#ifndef HHYPBASEALGORITHM_H
#define HHYPBASEALGORITHM_H
#include "hreconstructor.h"
#include "hlocation.h"
#include "hhyplist.h"
#include "TArrayI.h"
#include "hevent.h"
#include "heventheader.h"
#include "hdetector.h"
#include "hratreeext.h"
#include "hmatrixcategory.h"
#include "hlinearcategory.h"
#include "hlinearcatiter.h"
#include "hlocation.h"
#include "hiterator.h"
#include "hdebug.h"
#include "hades.h"
#include "hypinfodef.h"
#include "hhyprecpar.h"
#include <hphysicsconstants.h>
#include "TObject.h"
#include "TArrayI.h"
#include "TString.h"
#include "hhypchannel.h"
class HHypBaseAlgorithm
{
protected:
Int_t sourceIdx;
Int_t exitIdx;
Int_t exitList;
Int_t initList;
TString algoName;
HHypList *mylist;
HHypRecPar *pParams;
TLorentzVector *beam;
Int_t beam_pid, target_pid;
HHypChannel *channel;
TString options;
TFile *histofile;
public:
HHypBaseAlgorithm(const Char_t *name_i = NULL,const Option_t par[] = NULL);
virtual ~ HHypBaseAlgorithm(void);
HHypList *GetList(void);
void SetBeam(TLorentzVector * mybeam) {beam = mybeam;};
void SetTargetPID(Int_t target){ target_pid=target;};
void SetBeamPID(Int_t projectile){ beam_pid=projectile;};
void SetHypChannel(HHypChannel * mychannel) {channel = mychannel;};
void SetParams(HHypRecPar * Params) {pParams = Params;};
Bool_t SetSourceChannelAlgIdx(Int_t i_id);
Bool_t SetExitList(Int_t e_list);
Bool_t SetInitList(Int_t i_list);
Bool_t SetExitChannelAlgIdx(Int_t e_id);
Int_t GetExitChannelAlgIdx();
const Char_t *GetName();
TString *GetOpt(TString st);
Int_t GetSourceChannelAlgIdx();
Bool_t skip;
void SetHFile(TFile * file) {histofile = file;};
TFile* GetHFile() {return histofile;};
virtual Bool_t execute();
virtual Bool_t init();
virtual Bool_t reinit();
virtual Bool_t finalize();
Bool_t base_execute();
Bool_t base_init();
Bool_t base_reinit();
Bool_t base_finalize();
ClassDef(HHypBaseAlgorithm, 0)
};
#endif // HHYPBASEALGORITHM_H
Last change: Sat May 22 12:57:40 2010
Last generated: 2010-05-22 12:57
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.