StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
StBFChain Class Reference

#include <StBFChain.h>

Inheritance diagram for StBFChain:
StChain StMaker TDataSet

Public Member Functions

 StBFChain (const char *name="bfc", const Bool_t UseOwnHeader=kFALSE)
void Setup (Int_t mode=1)
virtual ~StBFChain ()
 Destructor. Call Finish() . See this method for detail on what is cleaned.
virtual Int_t Make (int number)
virtual Int_t Make ()
virtual Int_t Load ()
 Routine handling library loading depending on chain options.
virtual Int_t Instantiate ()
 Maker-instantiation handler. More...
virtual Int_t Init ()
virtual Int_t AddAB (const Char_t *after="", const StMaker *maker=0, const Int_t Opt=1)
virtual Int_t AddAfter (const Char_t *after, const StMaker *maker)
virtual Int_t AddBefore (const Char_t *before, const StMaker *maker)
void SetFlags (const Char_t *Chain="gstar tfs")
 Scan all flags, check if they are correct, manipulate the comment if necessary. More...
void Set_IO_Files (const Char_t *infile=0, const Char_t *outfile=0)
void SetInputFile (const Char_t *infile=0)
void SetOutputFile (const Char_t *outfile=0)
 Takes care of output file name (extension)
void SetTFile (TFile *tf)
TFile * GetTFile () const
virtual Int_t kOpt (const TString *Tag, Bool_t Check=kTRUE) const
 Check option if defined. More...
virtual Int_t kOpt (const Char_t *Tag, Bool_t Check=kTRUE) const
 Check option if defined (Char_t argument interface)
virtual void SetDbOptions (StMaker *db=0)
 Treats the DbV options used for database timestamp. More...
virtual void SetGeantOptions (StMaker *geant=0)
 Handles all geant options. More...
virtual void SetTreeOptions ()
 Creates output-tree branches.
virtual void SetOption (const Int_t k, const Char_t *chain="Chain")
 Enable/disable valid command line options.
virtual void SetOption (const Char_t *Opt, const Char_t *chain="Chain")
virtual void SetOption (const TString *Opt, const Char_t *chain="Chain")
virtual void SetOptions (const Char_t *Opt, const Char_t *chain="Chain")
virtual void SetOptionOff (const Char_t *Opt, const Char_t *chain="Chain")
virtual void SetOptionOff (const TString *Opt, const Char_t *chain="Chain")
virtual Int_t Finish ()
 Really the destructor (close files, delete pointers etc ...)
virtual Option_t * GetOption () const
virtual Bool_t GetOption (const Int_t k) const
 Returns chain-option state (on/off)
virtual Bool_t GetOption (const TString *Opt, Bool_t Check=kTRUE) const
virtual Bool_t GetOption (const Char_t *Opt, Bool_t Check=kTRUE) const
virtual Char_t * GetOptionString (const Char_t *)
 Returns the comment string associated to an option. More...
virtual const TString & GetFileIn () const
virtual const TString & GetFileOut () const
TString GetGeometry () const
virtual Long_t ProcessLine (const char *line)
virtual const char * GetCVS () const
- Public Member Functions inherited from StChain
 StChain (const char *name="bfcChain", const Bool_t UseOwnHeader=kFALSE)
virtual void Clear (Option_t *option="")
 User defined functions.
virtual Int_t IsChain () const
virtual Int_t MakeEvent ()
virtual Int_t EventLoop (Int_t jBeg, Int_t jEnd, StMaker *outMk=0)
virtual Int_t EventLoop (Int_t jEnd=1000000, StMaker *outMk=0)
Int_t GetVersion () const
Int_t GetVersionDate () const
Int_t GetNTotal () const
Int_t GetNFailed () const
void SetChainOpt (StChainOpt *opt)
virtual const StChainOptGetChainOpt () const
- Public Member Functions inherited from StMaker
 StMaker (const char *name="", const char *dummy=0)
 Constructor & Destructor.
virtual Int_t InitRun (Int_t runumber)
virtual void StartMaker ()
virtual Int_t IMake (Int_t number)
virtual void EndMaker (Int_t ierr)
virtual Int_t FinishRun (Int_t oldrunumber)
virtual void FatalErr (Int_t Ierr, const char *Com)
virtual void PrintInfo ()
virtual void NotifyMe (const char *, const void *)
virtual void AddMaker (StMaker *mk)
virtual void MakeDoc (const TString &, const TString &, Bool_t)
virtual void AddData (TDataSet *data, const char *dir=".data")
 User methods.
virtual TDataSetAddObj (TObject *obj, const char *dir, int owner=1)
virtual TDataSetToWhiteBoard (const char *name, void *dat)
virtual TDataSetToWhiteBoard (const char *name, void *dat, void *del)
virtual TDataSetToWhiteBoard (const char *name, TObject *dat, Int_t owner)
virtual TDataSetToWhiteConst (const char *name, TObject *dat)
virtual TDataSetToWhiteConst (const char *name, void *dat)
virtual TDataSetWhiteBoard (const char *name, void *v=0) const
virtual Int_t Skip (Int_t nskip)
virtual void AddConst (TDataSet *data=0)
virtual void AddHist (TH1 *h, const char *dir=0)
virtual void AddGarb (TDataSet *data=0)
virtual void AddRunco (TDataSet *data=0)
virtual void AddRunco (Double_t par, const char *name, const char *comment)
void AddRunCont (TDataSet *data=0)
virtual TList * GetHistList () const
virtual TH1 * GetHist (const char *histName) const
virtual StMakercd ()
virtual StMakerCd ()
virtual Int_t GetNumber () const
 STAR methods.
virtual void SetNumber (Int_t number)
virtual StMakerGetParentChain () const
virtual Int_t GetIventNumber () const
 Returns the current event number.
virtual void SetIventNumber (Int_t iv)
virtual Int_t GetEventNumber () const
virtual Int_t GetRunNumber () const
 Returns the current RunNumber.
virtual const TDatime & GetDateTime () const
virtual const TDatime & GetDBTime () const
virtual void SetDateTime (Int_t idat, Int_t itim)
virtual StEvtHddrGetEvtHddr () const
virtual Int_t GetDate () const
virtual Int_t GetTime () const
virtual const char * GetEventType () const
virtual TDataSetGetData (const char *name, const char *dir=".data") const
virtual TDataSetGetData () const
virtual TDataSetGetConst () const
virtual TDataSetGetDataSet (const char *logInput) const
virtual TDataSetDataSet (const char *logInput) const
virtual TDataSetGetInputDS (const char *logInput) const
virtual TDataSetGetDataBase (const char *logInput, const TDatime *td=0)
virtual TDataSetGetInputDB (const char *logInput)
virtual Int_t GetDebug () const
virtual Int_t Debug () const
virtual Int_t GetMakeReturn () const
virtual TList * Histograms () const
virtual TString GetAlias (const char *log, const char *dir=".aliases") const
virtual TString GetInput (const char *log) const
virtual TString GetOutput (const char *log) const
virtual TList * GetMakeList () const
virtual StMakerGetParentMaker () const
virtual StMakerGetMaker (const char *mkname)
virtual StMakerGetMakerInheritsFrom (const char *mktype) const
virtual Bool_t IsActive ()
virtual StMakerMaker (const char *mkname)
virtual void SetBIT (EMakerStatus k)
 Maker Status Bits.
virtual void ResetBIT (EMakerStatus k)
virtual Bool_t TestBIT (EMakerStatus k)
virtual void SetActive (Bool_t k=kTRUE)
 Setters for flags and switches.
virtual void SetDebug (Int_t l=1)
virtual void SetDEBUG (Int_t l=1)
virtual void SetFlavor (const char *flav, const char *tabname)
virtual void SetMakeReturn (Int_t ret)
virtual void SetAlias (const char *log, const char *act, const char *dir=".aliases")
virtual void AddAlias (const char *log, const char *act, const char *dir=".aliases")
virtual void SetInput (const char *log, const char *act)
virtual void SetOutput (const char *log, const char *act)
virtual void SetOutput (const char *log, TDataSet *ds)
virtual void SetOutput (TDataSet *ds)
virtual void SetOutputAll (TDataSet *ds, Int_t level=1)
virtual void SetMode (Int_t mode=0)
virtual void SetNotify (const char *about, StMaker *mk)
virtual Int_t GetMode ()
virtual Int_t GetDebug ()
virtual void NotifyEm (const char *about, const void *ptr)
virtual Double_t RealTime ()
virtual Double_t CpuTime ()
virtual void StartTimer (Bool_t reset=kFALSE)
virtual void StopTimer ()
virtual void PrintTimer (Option_t *option="")
virtual void PrintTotalTime ()
virtual const char * GetName () const
 special overload
TObject * GetDirObj (const char *dir) const
void SetDirObj (TObject *obj, const char *dir)
Int_t SetAttr (const char *key, const char *val, const char *to=".")
Int_t SetAttr (const char *key, Int_t val, const char *to=".")
Int_t SetAttr (const char *key, UInt_t val, const char *to=".")
Int_t SetAttr (const char *key, Double_t val, const char *to=".")
Int_t SetAttr (const StMaker *mk)
Int_t RemAttr (const char *key, const char *to=".")
const TAttrGetAttr () const
Int_t IAttr (const char *key) const
UInt_t UAttr (const char *key) const
Double_t DAttr (const char *key) const
const char * SAttr (const char *key) const
void PrintAttr () const
- Public Member Functions inherited from TDataSet
 TDataSet (const char *name="", TDataSet *parent=0, Bool_t arrayFlag=kFALSE)
 TDataSet (const TDataSet &src, EDataSetPass iopt=kAll)
 TDataSet (TNode &src)
 This copy ctor has been depricated (left for thwe sake of the backweard compatibility)
virtual ~TDataSet ()
 std::cout << "Default destructor for " << GetName() << " - " << GetTitle() << std::endl;
virtual void Add (TDataSet *dataset)
virtual void AddAt (TDataSet *dataset, Int_t idx=0)
virtual void AddAtAndExpand (TDataSet *dataset, Int_t idx=0)
virtual void AddFirst (TDataSet *dataset)
 Add TDataSet object at the beginning of the dataset list of this dataset.
virtual void AddLast (TDataSet *dataset)
 Add TDataSet object at the end of the dataset list of this dataset.
TDataSetAt (Int_t idx) const
virtual void Browse (TBrowser *b)
 Browse this dataset (called by TBrowser).
virtual TObject * Clone (const char *newname="") const
 the custom implementation fo the TObject::Clone
virtual void Delete (Option_t *opt="")
virtual TDataSetFind (const char *path) const
virtual TDataSetFindByName (const char *name, const char *path="", Option_t *opt="") const
virtual TDataSetFindByPath (const char *path) const
 Aliase for TDataSet::Find(const Char_t *path) method.
virtual TDataSetFindByTitle (const char *title, const char *path="", Option_t *opt="") const
TObject * FindObject (const char *name) const
TObject * FindObject (const TObject *o) const
virtual TDataSetFirst () const
 Return the first object in the list. Returns 0 when list is empty.
TObjArray * GetObjArray () const
virtual TSeqCollection * GetCollection () const
TList * GetList () const
virtual Int_t GetListSize () const
TObject * GetMother () const
virtual TObject * GetObject () const
 The depricated method (left here for the sake of the backward compatibility)
virtual TDataSetGetParent () const
virtual Long_t HasData () const
virtual TDataSetInstance () const
virtual TString Path () const
 return the full path of this data set
virtual EDataSetPass Pass (EDataSetPass(*callback)(TDataSet *), Int_t depth=0)
virtual EDataSetPass Pass (EDataSetPass(*callback)(TDataSet *, void *), void *user, Int_t depth=0)
virtual void PrintContents (Option_t *opt="") const
virtual Int_t Purge (Option_t *opt="")
virtual void Remove (TDataSet *set)
 Remiove the "set" from this TDataSet.
virtual TDataSetRemoveAt (Int_t idx)
virtual void SetMother (TDataSet *parent=0)
virtual void SetObject (TObject *obj)
 The depricated method (left here for the sake of the backward compatibility)
virtual void SetParent (TDataSet *parent=0)
virtual void SetWrite ()
virtual void Shunt (TDataSet *newParent=0)
virtual void Sort ()
 Sort recursively all members of the TDataSet with TList::Sort method.
virtual Bool_t IsEmpty () const
 return kTRUE if the "internal" collection has no member
virtual Bool_t IsFolder () const
virtual Bool_t IsMarked () const
virtual Bool_t IsThisDir (const char *dirname, int len=-1, int ignorecase=0) const
virtual TDataSetLast () const
 Return the last object in the list. Returns 0 when list is empty.
virtual void ls (Option_t *option="") const
virtual void ls (Int_t depth) const
void Mark ()
void UnMark ()
void MarkAll ()
 Mark all members of this dataset.
void UnMarkAll ()
 UnMark all members of this dataset.
void InvertAllMarks ()
 Invert mark bit for all members of this dataset.
void Mark (UInt_t flag, EBitOpt reset=kSet)
virtual TDataSetNext () const
virtual TDataSetPrev () const
virtual void Update ()
virtual void Update (TDataSet *set, UInt_t opt=0)
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const

Static Public Member Functions

static Int_t ParseString (const TString &tChain, TObjArray &Opt, Bool_t Sort=kFALSE)
- Static Public Member Functions inherited from StMaker
static StMakerNew (const char *classname, const char *name="", void *title=0)
static StMakerGetTopChain ()
static StMakerGetChain ()
static StMakerGetFailedMaker ()
static StMakerGetMaker (const TDataSet *ds)
 Static functions.
static EDataSetPass ClearDS (TDataSet *ds, void *user)
static const char * RetCodeAsString (Int_t kode)
static Int_t AliasDate (const char *alias)
static Int_t AliasTime (const char *alias)
static const char * AliasGeometry (const char *alias)
static const DbAlias_tGetDbAliases ()
static void SetTestMaker (StTestMaker *mk)
static Int_t Cleanup (TDataSet *&ds)
static void lsMakers (const StMaker *top)
- Static Public Member Functions inherited from TDataSet
static TDataSetGetMainSet ()
 return pointer to the main dataset
static TDataSetinstance ()

Additional Inherited Members

- Public Types inherited from StMaker
enum  EDebugLevel { kNormal, kDebug }
enum  EMakerStatus {
  kInitBeg = 1, kInitEnd = 2, kMakeBeg = 3, kCleaBeg = 4,
  kFiniBeg = 5, kFiniEnd = 6, kActive = 7
- Public Types inherited from TDataSet
enum  EDataSetPass {
  kContinue, kPrune, kStop, kUp,
  kStruct, kAll, kRefs, kMarked
enum  ESetBits { kMark = BIT(22), kArray = BIT(20) }
enum  EBitOpt { kSet = kTRUE, kReset = kFALSE }
- Public Attributes inherited from StMaker
enum StMaker:: { ... }  EModule_return_Status
- Protected Member Functions inherited from StMaker
StMessMgrGetLogger () const
virtual TDataSetFindDataSet (const char *logInput, const StMaker *uppMk=0, const StMaker *dowMk=0) const
- Protected Member Functions inherited from TDataSet
virtual void SetMother (TObject *mother)
 TDataSet (const char *name, const char *title)
void AddMain (TDataSet *set)
 add data set to main data set
TDataSetGetRealParent ()
 return real parent
void MakeCollection ()
 Create the internal container at once if any.
- Static Protected Member Functions inherited from TDataSet
static EDataSetPass SortIt (TDataSet *ds)
static EDataSetPass SortIt (TDataSet *ds, void *user)
- Protected Attributes inherited from StChain
- Protected Attributes inherited from StMaker
 list of logInput:ActualInput
 list of logOuput:ActualOuput
TList * m_Histograms
 Run Control parameters.
Int_t fTallyMaker [kStFatal+1]
Int_t m_Mode
Int_t m_Number
 Integer mode of maker.
Int_t m_LastRun
 Serial event number.
Int_t m_DebugLevel
 Last Run number.
Int_t m_MakeReturn
 Debug level.
TStopwatch m_Timer
 Make() return flag.
 Timer object.
 StMemStat for Make.
Int_t fStatus
 StMemStat for Clear.
 Maker status.
- Protected Attributes inherited from TDataSet
TSeqCollection * fList
- Static Protected Attributes inherited from StMaker
static StMakerfgTopChain = 0
 list of Histograms
static StMakerfgStChain = 0
 pointer to top StChain
static StMakerfgFailedMaker = 0
 current pointer to StChain
static StTestMakerfgTestMaker = 0
 current pointer to failed maker
static Int_t fgTallyMaker [kStFatal+1] = {0,0,0,0,0}
- Static Protected Attributes inherited from TDataSet
static TDataSetfgMainSet = &mainSet

Detailed Description

Yuri Fisyak, Jerome LAURET
1999/07/29 , 2001-2011 @(#)StRoot/StBFChain:


StBFChain.h,v 1.59 2019/11/19 17:26:17 jeromel Exp

Class to control "BFC" chain

This class :

Definition at line 32 of file StBFChain.h.

Member Function Documentation

Char_t * StBFChain::GetOptionString ( const Char_t *  Opt)

Returns the comment string associated to an option.

Any option passed a bla=XX is reshaped as follow ...

  • The SetFlags() function strip out the =XX part and replaces the comment by the value XX
  • This GetOptionString() returns the comment part so makers can globally access the option string.

Note : If the requested option is not part of the global BFC[] array, the kOpt() method is going to scream at you but it will still work. You can ask for that option to be added to the chain official options later whenever your code debugging is done. In other words, this method allows you to pass ANY options not officially declared and use it as test/work-around to pass any parameters to your maker.

However, if the parameters are to be used in production, we DO request/require that they are declared as a valid option.

Definition at line 1472 of file StBFChain.cxx.

References kOpt().

Int_t StBFChain::Instantiate ( )

Maker-instantiation handler.

This routine contains it all (make instantiation that is), from calibration precedence to parameter setting depending on option etc ... Other thing done here which deserves attention

  • The maker's SetMode() mechanism is treated here.
  • Calibration options like NoMySQLDb, NoCintCalDb or NoCintDb and path are set
  • SetFlavor() sim+ofl or sim, and filestreams is made

If a maker is added along with some flag options, this is the place to implement the switches.

Definition at line 214 of file StBFChain.cxx.

References StMaker::GetName(), kOpt(), kStErr, kStOk, StMaker::SetActive(), SetDbOptions(), SetGeantOptions(), StIOInterFace::SetIOMode(), and SetTreeOptions().

Int_t StBFChain::kOpt ( const TString *  tag,
Bool_t  Check = kTRUE 
) const

Check option if defined.

This method checks if the options are valid by comparing them to the list of declared options. This is called for each option passed as argument. The real sorting of all options is done in SetFlags().

Definition at line 1137 of file StBFChain.cxx.

Referenced by GetOptionString(), Instantiate(), kOpt(), and Setup().

virtual Int_t StBFChain::Make ( )

The Make() method is the one responsible for calling the maker's InitRun(). Note that that InitRun() is called for real data and if both of the following are true

  • a header exists
  • the run number changes

This is the ONLY place calling the InitRun() routine.

check privilege to skip event

Reimplemented from StChain.

Definition at line 72 of file StBFChain.h.

References StChain::Make().

void StBFChain::SetDbOptions ( StMaker mk = 0)

Treats the DbV options used for database timestamp.

Re-scan all options and search for dbv options. This method also sorts out the string-based database timestamp for reconstruction. Those have to be in phase with the geant geometry (see SetGeantOptions()) if simulation is being reconstructed.

The order matters since a later option would overwrite an earlier one. The mechanism introduced for a dynamic (i.e. not pre-defined) timestamp is that it will be used ONLY if there are no other timestamp options. Be aware of this precedence ...

Definition at line 1779 of file StBFChain.cxx.

References StMaker::GetName().

Referenced by Instantiate().

void StBFChain::SetFlags ( const Char_t *  chainOpts = "gstar tfs")

Scan all flags, check if they are correct, manipulate the comment if necessary.

This method checks if the options passed are correct and/or sorts out the extraneous information passed through the comment if applies. Two special flags exists, that is, dbv and sdt for database interraction ...

  • The dbv tag is used to setup the end-time for entries (time after which any database insertions will be ignored). This is used to provide a mechanism by which we can run production with a stable set of calibration constant and still allow for development value insertion to get in.
  • The sdt tag is used to setup the database look-up time stamp that is, on which date to look at the database. This is usefull if we want to decouple Geant geometry and database calibration constants. This may also be used to get database values when you do not run over a raw data file.
  • The geometry options are now dynamic. This includes BOTH Y(ear) based geometries and RY geometry (Real data) options. They are defined now in StMaker as a static map.

The GOptXXXvvvvvv options are used to pass an flexible option value vvvvvv to makers in the chain matching the name XXX. The three letter acronym will be following the detector sub-systems naming. If a maker uses such convenience, the basic rule applies:

  • the Maker MUST use a centralized conversion function of vvvvvv to a private structure with explicit naming of each switches
  • explaination on usage and the thourough explaination of the meaning of the values vvvvvv must be clearly added to the documentation

Definition at line 1510 of file StBFChain.cxx.

References TTable::AddAt(), StMaker::GetName(), SetOption(), and Setup().

void StBFChain::SetGeantOptions ( StMaker geantMk = 0)

Handles all geant options.

This method sets the Geant options that is the Geometry loading part. Depends on St_geant_Maker instantiated in the Instantiate() method. Please, change SetDbOptions()

Definition at line 1734 of file StBFChain.cxx.

Referenced by Instantiate().

void StBFChain::Setup ( Int_t  mode = 1)

This method can be called with mode 1 or 2 to enable chain setup 1 or chain setup 2.

Note: This constructor now accepts a second argument for the chain name. Embedding scripts were modified accordingly.

This was primarily set to make possible the transition between the regular chain and the ITTF chain options.

Definition at line 59 of file StBFChain.cxx.

References TTable::AddAt(), TTable::GetNRows(), and kOpt().

Referenced by SetFlags().

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