#include "hmdctaskset.h"

HMdcTaskSet


class description - source file - inheritance tree (.pdf)

class HMdcTaskSet : public HTaskSet

Inheritance Chart:
TObject
<-
TNamed
<-
HTask
<-
HTaskSet
<-
HMdcTaskSet
    private:
void copySetup() void getSets() void getSetupContainer() void parseArguments(TString) void setDefaults() public:
HMdcTaskSet() HMdcTaskSet(Text_t* name, Text_t* title) ~HMdcTaskSet() static TClass* Class() HMdcCalibrater1* getCalibrater1() HMdcDeDx2Maker* getDeDx2Maker() HMdcDeDxMaker* getDeDxMaker() HMdcDigitizer* getDigitizer() HMdcSetup* getMdcSetup() virtual TClass* IsA() const HTask* make(const char* select, Option_t* option) void printOptions() void printStatus() void setVersionDeDx(Int_t vers) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
static Int_t ilevel counter for arguments of analysis levels static Int_t irealorsimulation counter for arguments of real/simulation static Int_t icalibrater counter for arguments of calibrater mode static Int_t itimecuts counter for arguments of calibrater time cuts static Int_t itracker counter for arguments of tracker type static Int_t imagnet counter for arguments of magnet status static Int_t itrackermode counter for arguments of tracker mode (DUBNA) static Int_t analysisLevel 0=raw,1=cal1,2=cal2,3=hit,4=fit static Int_t cal1TimeCutFlag 0=nocuts, 1=cuts static Int_t cal1ModeFlag 1=nostartandcal,2=startandcal,3=nostartandnocal static Int_t tracker 1=dubna,2=santiago static Bool_t isCoilOff kTRUE=magnetoff,kFALSE=magneton static Int_t typeClustFinder 0=combinedchamberclusters,1=singlechamberclusters static Int_t nLayers[6][4] number of layers per module for trackfinder static Int_t nLevel[4] levels for hit finding in seg1 and seg2 static Int_t mdcForSeg1 -1=don't fill HMdcSeg for segment 1, static Int_t mdcForSeg2 -1=don't fill HMdcSeg for segment 1, static Int_t fitAuthor DUBNA:0=Hedar, 1=Alexandr static Bool_t fitNTuple DUBNA:kTRUE=fill NTuple,kFALSE=fill nothing static Bool_t fitPrint DUBNA:kTRUE=print debug,kFALSE=print nothing static Int_t fitVersion DUBNA:1=old,2=new static Int_t fitIndep DUBNA: 0=MDC fit, 1=segment fit static Int_t isSimulation 1=sim.0=real,2=merge static HMdcDigitizer* mdcdigi static HMdcCalibrater1* calibrater1 static HMdcDeDxMaker* dedxmaker static HMdcDeDx2Maker* dedx2maker ! Int_t versionDeDx ! 0: no dedx, 1=old, 2=new static HMdcSetup* mdcsetup static HMdcSetup* mdcsetuplocal static HMdcCalibrater1Setup* calibrater1setlocal static HMdcDigitizerSetup* digisetlocal static HMdcTrackFinderSetup* trackfindersetlocal static HMdcClusterToHitSetup* clustertohitsetlocal static HMdc12FitSetup* fittersetlocal static HMdcCommonSetup* commonsetlocal static Bool_t isCreated static Int_t rtdbinput

Class Description

 HMdcTaskSet

 This HTaskSet contains the tasks for the Mdc detector

 HMdcTaskSet::make("selectionstring","optionstring");

 SELECTION : if selectionstring="rtdb" HMdcTaskSet is initialized
             via RuntimeDb. If this flag is set, all input from the
             optionstring will be ignored.
 ----------------------------------------------------------------


 OPTIONS :
 ----------------------------------------------------------------
     All settings are initialized to default values. The options set in the
     optionstring will override the defaults for the specified parameters.
     If selectionstring is set to "rtdb", all values in optionstring will be
     ignored.

     real  (default),simulation
     or merge                       -- real data, simulation data or embedding
     dubna (default) or santiago    -- selects hit finder

     Maximum data level
         raw                        -- only unpacker
         cal1                       -- up to calibrater1
         cal2                       -- up to calibrater2
         hit              (default) -- up to hit finder
         fit                        -- up to track fitter

     HMdcCalibrater1:
         NoStartAndNoCal            -- do not use start,
                                       do not use calibration
         NoStartAndCal              -- do not use start,
                                       use calibration
         StartAndCal      (default) -- use start,
                                       use calibration
         NoTimeCuts                 -- do not use time cuts
         TimeCuts         (default) -- use time cuts

     DUBNA TRACKER:
         MagnetOn         (default) -- Magnetic field
         MagnetOff                  -- Magnetic field off
         CombinedClusters (default) -- Cluster search in
                                       combined chambers
         ChamberClusters            -- Cluster search in
                                       individual chambers
         MixedClusters              -- Cluster search in
                                       combined chambers and after it
                                       in individual chambers

 Note: Thanks to TString, options can be separated and written any way
       you want, such as

             HMdcTaskSet::make("","MagnetOFF,NOstartandNOcal")
             HMdcTaskSet::make("","ChamberClusters & STARTandCAL")

 For testing a pointer for the MdcDigitizer can be retrieved to set the options from the macro:
 mdcdigi=(HMdcDigitizer*)mdcTasks->HMdcTaskSet::getDigitizer();

 In the same way a pointer to MdcCalibrater1() can be retrieved:
 calibrater1=(HMdcCalibrater1*)mdcTasks->HMdcTaskSet::getCalibrater1();

 A pointer to MdcDeDxMaker() can be retrieved:
 mdcdedxmaker=(HMdcDeDxMaker*)mdcTasks->HMdcTaskSet::getDeDxMaker();

 Full control over all parameters can be gained by retrieving
 the pointer to the internal setup object(example):

 create taskset        HMdcTaskSet *mymdctasks   = new HMdcTaskSet();
                       Int_t testLayers[6][4]={{5,6,6,6},{6,6,6,6},{6,6,6,6},{6,6,6,6},{6,6,6,6},{6,6,6,6}};
                       Int_t testLevel[4]={10,50,10,30};

 get pointer to setup  HMdcSetup* mysetup=mymdctasks->getMdcSetup();
 set values            mysetup->getMdcTrackFinderSet()->setNLayers(&testLayers[0][0]);
  ...                   mysetup->getMdcTrackFinderSet()->setNLevel (&testLevel[0]);
  ...                   mysetup->getMdc12FitSet()      ->setMdc12FitSet(1,1,1,kTRUE,kFALSE);
  ...
 return pointer to
 Taskset                       HTaskSet *mdcTasks    = mymdctasks->make("","");
 For the setup objects of the other tasks it works in the same way, the description can be
 found in HMdcSetup.

 
For more information, see this analysis logbook entry.



HMdcTaskSet(Text_t name[],Text_t title[]) : HTaskSet(name,title)
 Constructor

HMdcTaskSet(void) : HTaskSet()
 Default constructor

~HMdcTaskSet(void)
 Destructor.

void copySetup()

void getSets()

void setDefaults()
 define default values of all arguments

void getSetupContainer()
 gets the pointer to setup container,
 init the container with the actual runId (or RefId),
 copies the setup object to the local setup object and
 retrieves the pointer to the sub setup objects.

HTask* make(const char *select, Option_t *option)
 Returns a pointer to the Mdc task.
 The task is created according to the specified options in Option_t *option
 and select. If no option is specified default values will be used. If select
 specifies rtdb the parameters will be used from runtimedb container HMdcSetup
 and the parameters in option will be ignored.

void parseArguments(TString s1)
 The option string is searched for known arguments and
 the internal variables of the task are defined according
 to the arguments. Not set options will be defined by the
 default values.
 If the string is empty default values will be used.
 If unknown arguments are found error messages will be displayed
 and the program will be exited.
 If two arguments for the same type of option are found an error
 message will show up and the program is exited too.

void printOptions()
 Prints the options of HMdcTaskSet

HMdcDigitizer* getDigitizer()
 Returns a pointer to the HMdcDigitizer.
 If the pointer is 0 an error message will be displayed
 and the program will be exited.

HMdcCalibrater1* getCalibrater1()
 Returns a pointer to the HMdcCalibrater1.
 If the pointer is 0 an error message will be displayed
 and the program will be exited.

HMdcDeDxMaker* getDeDxMaker()
 Returns a pointer to the HMdcDeDxMaker.
 If the pointer is 0 an error message will be displayed
 and the program will be exited.

HMdcDeDx2Maker* getDeDx2Maker()
 Returns a pointer to the HMdcDeDx2Maker.
 If the pointer is 0 an error message will be displayed
 and the program will be exited.

HMdcSetup* getMdcSetup()

void printStatus()
 Prints the status of the configuration of
 HMdcTaskSet.



Inline Functions


               void setVersionDeDx(Int_t vers)
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)


Author: Dan Magestro
Last update: Fri Jan 26 12:16:08 2007


ROOT page - Class index - Class Hierarchy - Top of the page

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.