using namespace std;
#include "hhodotaskset.h"
#include "hhodocalibrater.h"
#include "hhodohitffiber.h"
#include "hhodohitfdiamond.h"
#include "hhodohit2start.h"
#include "hdebug.h"
#include "haddef.h"
#include <iostream>
#include <iomanip>
#include "TObjString.h"
HTask* HHodoTaskSet::make(const Char_t *sel,const Option_t* opt)
{
HTaskSet *tasks = new HTaskSet("Hodo","List of Hodoscopes tasks");
TString option=opt;
TString select=sel;
select.ToLower();
option.ToLower();
if(option.Contains("apr07")) option+=",fiber=0,diamond=1,diamond=2,diamond=3,startcopymod=1";
if( select.Contains("sim") ) {
Error("HodoTaskSet::make","No Simulation Task existing for HODO");
}
if( select.Contains("real") ) {
tasks->add( new HHodoCalibrater("hodo.cal","Hodo cal") );
for(Int_t i=0; i<10; i++){
TString tmp;
tmp="fiber=";
tmp+=i;
if(option.Contains(tmp)){
HHodoHitFFiber *t;
t=new HHodoHitFFiber("hodo.hitffiber","Hodo hitffiber");
t->set_mod(i);
tasks->add(t);
}
tmp="diamond=";
tmp+=i;
if(option.Contains(tmp)){
HHodoHitFDiamond *t;
t=new HHodoHitFDiamond("hodo.hitfdiamond","Hodo hitfdiamond");
t->set_mod(i);
tasks->add(t);
}
}
if(option.Contains("startcopymod")){
Int_t m=-1;
if(option.Contains("startcopymod=0")) m=0;
if(option.Contains("startcopymod=1")) m=1;
if(option.Contains("startcopymod=2")) m=2;
if(option.Contains("startcopymod=3")) m=3;
if(option.Contains("startcopymod=4")) m=4;
if(option.Contains("startcopymod=5")) m=5;
if(option.Contains("startcopymod=6")) m=6;
if(option.Contains("startcopymod=7")) m=7;
if(option.Contains("startcopymod=8")) m=8;
if(option.Contains("startcopymod=9")) m=9;
#warning "Has to be optimized"
if(m==-1){
cerr << "startcopymod needs =value [0-9] "
<< endl;
}else{
HHodoHit2Start *t=new HHodoHit2Start("hodo.hit2start","Hodo hit2start");
t->set_mod(m);
tasks->add(t);
}
}
}
return tasks;
}
ClassImp(HHodoTaskSet);
Last change: Sat May 22 12:57:37 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.