ROOT logo
//*-- AUTHOR : Ilse Koenig, Tomasz Wojcik, Wolfgang Koenig
//*-- Created : 19/01/2005

//Modified 24/08/2005 Filip Krizek
// Modified by M.Golubeva 01.11.2006

//_HADES_CLASS_DESCRIPTION 
///////////////////////////////////////////////////////////////////////////////
//
// HWallTaskSet
//
// This HTaskSet contains the tasks for the Forward Wall
// The tasklist can be be configured via make(const Char_t* select,const Option_t* option)
//
///////////////////////////////////////////////////////////////////////////////

#include "hwalltaskset.h"
#include "hwalldigitizer.h"
#include "hwallcalibrater.h"
#include "hwallonehitf.h"
#include "hwallhitf.h"
#include "hwallhitfsim.h"
#include "hwalleventplanef.h"


#include "TObjString.h"

using namespace std;


HWallTaskSet::HWallTaskSet(const Text_t name[],const Text_t title[])
: HTaskSet(name,title)
{
    fdoEventPlane = kTRUE;
}
HWallTaskSet::~HWallTaskSet(void)
{

}

HTask* HWallTaskSet::make(const Char_t* select,const Option_t* option) {
    // Returns a pointer to the task or taskset specified by 'select'
    // select :   real or simulation
    // option :   noeventplane = do not run HWallEventPlaneF (runs by default)

    HTaskSet *tasks    = new HTaskSet("Wall","List of Forward Wall tasks");

    TString sel = select;
    TString opt = option;
    sel.ToLower();
    opt.ToLower();
    parseArguments(opt);

    if(sel.CompareTo("") == 0){
	Error("make()","You have to specify \"real\" or \"simulation\" in \"select\"! (has been moved from \"option\")");
	exit(1);
    }


    if(sel.CompareTo("simulation") == 0){
	tasks->add( new HWallDigitizer("wall.digi","wall.digi"));
	tasks->add( new HWallHitFSim("wall.hitfs","wall.hitfs"));
    }

    if(sel.CompareTo("real") == 0){
	tasks->add( new HWallCalibrater("wall.cal","wall.cal") );
	tasks->add( new HWallOneHitF("wall.onehitf","wall.onehitf"));
	tasks->add( new HWallHitF("wall.hitf","wall.hitf"));
    }

    if(fdoEventPlane) tasks->add(new HWallEventPlaneF("wall.eventplane","wall.eventplane")) ;

    return tasks;
}
void HWallTaskSet::parseArguments(TString s1)
{

    s1.ToLower();
    s1.ReplaceAll(" ", "");

    if (0 != s1.Length()) {
	TIterator*   myiter     = NULL;
	TObjString*  stemp      = NULL;
	TString      argument;
	TObjArray* myarguments = s1 .Tokenize(",");

	// iterate over the list of arguments and compare it
	// to the known key words.
	myiter = myarguments->MakeIterator();
	myiter->Reset();
	while (0 != (stemp = static_cast<TObjString*>(myiter->Next()))) {
	    argument = stemp->GetString();
	    Info("parseArguments()","option: %s", argument.Data() );
	    if (0 == argument.CompareTo("noeventplane")) {
		fdoEventPlane = kFALSE;
	    } else {
               Warning("parseArguments()","Unknown option \"%s\" will be ignored!",argument.Data());
	    }
	}
	delete myiter;
	myiter = NULL;

	myarguments ->Delete();
	delete myarguments;

    }
}

ClassImp(HWallTaskSet)










 hwalltaskset.cc:1
 hwalltaskset.cc:2
 hwalltaskset.cc:3
 hwalltaskset.cc:4
 hwalltaskset.cc:5
 hwalltaskset.cc:6
 hwalltaskset.cc:7
 hwalltaskset.cc:8
 hwalltaskset.cc:9
 hwalltaskset.cc:10
 hwalltaskset.cc:11
 hwalltaskset.cc:12
 hwalltaskset.cc:13
 hwalltaskset.cc:14
 hwalltaskset.cc:15
 hwalltaskset.cc:16
 hwalltaskset.cc:17
 hwalltaskset.cc:18
 hwalltaskset.cc:19
 hwalltaskset.cc:20
 hwalltaskset.cc:21
 hwalltaskset.cc:22
 hwalltaskset.cc:23
 hwalltaskset.cc:24
 hwalltaskset.cc:25
 hwalltaskset.cc:26
 hwalltaskset.cc:27
 hwalltaskset.cc:28
 hwalltaskset.cc:29
 hwalltaskset.cc:30
 hwalltaskset.cc:31
 hwalltaskset.cc:32
 hwalltaskset.cc:33
 hwalltaskset.cc:34
 hwalltaskset.cc:35
 hwalltaskset.cc:36
 hwalltaskset.cc:37
 hwalltaskset.cc:38
 hwalltaskset.cc:39
 hwalltaskset.cc:40
 hwalltaskset.cc:41
 hwalltaskset.cc:42
 hwalltaskset.cc:43
 hwalltaskset.cc:44
 hwalltaskset.cc:45
 hwalltaskset.cc:46
 hwalltaskset.cc:47
 hwalltaskset.cc:48
 hwalltaskset.cc:49
 hwalltaskset.cc:50
 hwalltaskset.cc:51
 hwalltaskset.cc:52
 hwalltaskset.cc:53
 hwalltaskset.cc:54
 hwalltaskset.cc:55
 hwalltaskset.cc:56
 hwalltaskset.cc:57
 hwalltaskset.cc:58
 hwalltaskset.cc:59
 hwalltaskset.cc:60
 hwalltaskset.cc:61
 hwalltaskset.cc:62
 hwalltaskset.cc:63
 hwalltaskset.cc:64
 hwalltaskset.cc:65
 hwalltaskset.cc:66
 hwalltaskset.cc:67
 hwalltaskset.cc:68
 hwalltaskset.cc:69
 hwalltaskset.cc:70
 hwalltaskset.cc:71
 hwalltaskset.cc:72
 hwalltaskset.cc:73
 hwalltaskset.cc:74
 hwalltaskset.cc:75
 hwalltaskset.cc:76
 hwalltaskset.cc:77
 hwalltaskset.cc:78
 hwalltaskset.cc:79
 hwalltaskset.cc:80
 hwalltaskset.cc:81
 hwalltaskset.cc:82
 hwalltaskset.cc:83
 hwalltaskset.cc:84
 hwalltaskset.cc:85
 hwalltaskset.cc:86
 hwalltaskset.cc:87
 hwalltaskset.cc:88
 hwalltaskset.cc:89
 hwalltaskset.cc:90
 hwalltaskset.cc:91
 hwalltaskset.cc:92
 hwalltaskset.cc:93
 hwalltaskset.cc:94
 hwalltaskset.cc:95
 hwalltaskset.cc:96
 hwalltaskset.cc:97
 hwalltaskset.cc:98
 hwalltaskset.cc:99
 hwalltaskset.cc:100
 hwalltaskset.cc:101
 hwalltaskset.cc:102
 hwalltaskset.cc:103
 hwalltaskset.cc:104
 hwalltaskset.cc:105
 hwalltaskset.cc:106
 hwalltaskset.cc:107
 hwalltaskset.cc:108
 hwalltaskset.cc:109
 hwalltaskset.cc:110
 hwalltaskset.cc:111
 hwalltaskset.cc:112
 hwalltaskset.cc:113
 hwalltaskset.cc:114
 hwalltaskset.cc:115
 hwalltaskset.cc:116
 hwalltaskset.cc:117
 hwalltaskset.cc:118
 hwalltaskset.cc:119