__________________________________________________[C++ CLASS IMPLEMENTATION] Name: expconf/src/TMrbSubevent.cxx Purpose: MARaBOU configuration: subevent definition Description: Implements class methods to define subevents Header files: TMrbConfig.h -- MARaBOU class definitions Keywords: Author: R. Lutter Mailto: <a href=mailto:rudi.lutter@physik.uni-muenchen.de>R. Lutter</a> Revision: $Id: TMrbSubevent.cxx,v 1.45 2011/05/18 11:04:49 Marabou Exp $ Date:
| TMrbSubevent() | |
| TMrbSubevent(const TMrbSubevent&) | |
| TMrbSubevent(const Char_t* SevtName, const Char_t* SevtTitle = "", Int_t Crate = -1) | |
| virtual | ~TMrbSubevent() |
| void | TObject::AbstractMethod(const char* method) const |
| void | AddEvent(TMrbEvent* Evt) |
| Bool_t | AddModule(TMrbModule* Module) |
| Bool_t | AddParam(TMrbModuleChannel* Param) |
| void | AllocateHistograms(Bool_t Flag = kTRUE) |
| virtual Bool_t | AllowsMultipleModules() const |
| virtual void | TObject::AppendPad(Option_t* option = "") |
| virtual void | Browse(TBrowser* Browser) |
| virtual Bool_t | CheckModuleID(TMrbModule* Module) const |
| static TClass* | Class() |
| virtual const char* | TObject::ClassName() const |
| virtual void | TNamed::Clear(Option_t* option = "") |
| virtual TObject* | TNamed::Clone(const char* newname = "") const |
| virtual Int_t | TNamed::Compare(const TObject* obj) const |
| virtual void | TNamed::Copy(TObject& named) const |
| void | CreateHistoArray(const Char_t* ArrayName = NULL) |
| virtual void | TObject::Delete(Option_t* option = "")MENU |
| virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
| virtual void | TObject::Draw(Option_t* option = "") |
| virtual void | TObject::DrawClass() constMENU |
| virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
| virtual void | TObject::Dump() constMENU |
| virtual void | TObject::Error(const char* method, const char* msgfmt) const |
| virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
| virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
| virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
| Bool_t | ExplicitParamNamesToBeUsed() |
| virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
| virtual void | TNamed::FillBuffer(char*& buffer) |
| void | FillHistogramsIfTrueHitOnly(Bool_t Flag = kTRUE) |
| TMrbEvent* | FindEvent(const Char_t* EvtName) const |
| TMrbModule* | FindModule(const Char_t* ModuleName) const |
| TMrbModule* | FindModuleByID(TMrbConfig::EMrbModuleID ModuleID, TMrbModule* After = NULL) const |
| TMrbModule* | FindModuleByID(TMrbNamedX* ModuleID, TMrbModule* After = NULL) const |
| TMrbModule* | FindModuleBySerial(Int_t ModuleSerial) const |
| TMrbModule* | FindModuleByType(UInt_t ModuleType, TMrbModule* After = NULL) const |
| TMrbModule* | FindModuleByType(TMrbNamedX* ModuleType, TMrbModule* After = NULL) const |
| virtual TObject* | TObject::FindObject(const char* name) const |
| virtual TObject* | TObject::FindObject(const TObject* obj) const |
| TMrbModuleChannel* | FindParam(const Char_t* ParamName) const |
| Int_t | Get(const Char_t* ParamName, const Char_t* RegName) const |
| Int_t | Get(const Char_t* ParamName, Int_t RegIndex) const |
| UInt_t | GetAnalyzeOptions(TMrbEvent* Parent = NULL) const |
| virtual const Char_t* | GetCommonCodeFile() const |
| UInt_t | GetConfigOptions(TMrbEvent* Parent = NULL) const |
| Int_t | GetCrate() const |
| const Char_t* | GetDescr() |
| virtual Option_t* | TObject::GetDrawOption() const |
| static Long_t | TObject::GetDtorOnly() |
| const Char_t* | GetHistoArrayName() |
| Int_t | GetHitDataLength() |
| virtual const char* | TObject::GetIconName() const |
| UInt_t | GetLegalDataTypes() const |
| TObjArray* | GetLofEvents() |
| TObjArray* | GetLofModules() |
| const Char_t* | GetLofModulesAsString(TString& LofModules) const |
| TObjArray* | GetLofParams() |
| const Char_t* | GetLofParamsAsString(TString& LofParams) const |
| TMrbNamedX* | GetMbsBranch() |
| Int_t | GetMbsBranchNo() |
| virtual const char* | TNamed::GetName() const |
| const Char_t* | GetNameOfXhit() |
| Int_t | GetNofEvents() const |
| Int_t | GetNofModules() const |
| Int_t | GetNofParams() const |
| Int_t | GetNofShorts() const |
| virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
| static Bool_t | TObject::GetObjectStat() |
| virtual Option_t* | TObject::GetOption() const |
| const Char_t* | GetPrefix() const |
| virtual const Char_t* | GetPrivateCodeFile() const |
| UInt_t | GetReadoutOptions(TMrbEvent* Parent = NULL) const |
| Int_t | GetSerial() const |
| UInt_t | GetSubtype() const |
| virtual const char* | TNamed::GetTitle() const |
| UInt_t | GetType() const |
| virtual UInt_t | TObject::GetUniqueID() const |
| virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
| virtual Bool_t | HasFixedLengthFormat() const |
| virtual ULong_t | TNamed::Hash() const |
| Bool_t | HasIndexedParams() const |
| virtual Bool_t | HasPrivateCode() const |
| Bool_t | HasXhit() |
| void | Help() |
| Bool_t | HistoArrayToBeCreated() |
| Bool_t | HistosToBeAllocated() const |
| Bool_t | HistosToBeFilledIfTrueHit() const |
| virtual void | TObject::Info(const char* method, const char* msgfmt) const |
| virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
| virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
| virtual void | TObject::Inspect() constMENU |
| void | TObject::InvertBit(UInt_t f) |
| virtual TClass* | IsA() const |
| virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
| virtual Bool_t | TObject::IsFolder() const |
| Bool_t | IsInArrayMode() const |
| Bool_t | TObject::IsOnHeap() const |
| virtual Bool_t | IsRaw() const |
| virtual Bool_t | TNamed::IsSortable() const |
| Bool_t | TObject::IsZombie() const |
| virtual void | TNamed::ls(Option_t* option = "") const |
| Bool_t | MakeAnalyzeCode(ofstream& AnaStrm, TMrbConfig::EMrbAnalyzeTag TagIndex, const Char_t* Extension) |
| Bool_t | MakeAnalyzeCode(ofstream& AnaStrm, TMrbConfig::EMrbAnalyzeTag TagIndex, TMrbEvent* Event, TMrbTemplate& Template, const Char_t* Prefix = NULL) |
| Bool_t | MakeConfigCode(ofstream& CfgStrm, TMrbConfig::EMrbConfigTag TagIndex, TMrbTemplate& Template, const Char_t* Prefix = NULL) |
| virtual Bool_t | MakeRcFile(ofstream& RcStrm, TMrbConfig::EMrbRcFileTag TagIndex, const Char_t* ResourceName) |
| virtual Bool_t | MakeReadoutCode(ofstream& RdoStrm, TMrbConfig::EMrbReadoutTag TagIndex, TMrbTemplate& Template, const Char_t* Prefix = NULL) |
| virtual Bool_t | MakeSpecialAnalyzeCode(ofstream& AnaStrm, TMrbConfig::EMrbAnalyzeTag TagIndex, TMrbTemplate& Template) |
| void | TObject::MayNotUse(const char* method) const |
| virtual Bool_t | NeedsBranchMode() const |
| virtual Bool_t | NeedsHitBuffer() const |
| virtual Bool_t | NeedsModulesToBeAssigned() const |
| TMrbModule* | NextModule(TMrbModule* After = NULL) const |
| virtual Bool_t | TObject::Notify() |
| void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
| static void | TObject::operator delete(void* ptr) |
| static void | TObject::operator delete(void* ptr, void* vp) |
| static void | TObject::operator delete[](void* ptr) |
| static void | TObject::operator delete[](void* ptr, void* vp) |
| void* | TObject::operator new(size_t sz) |
| void* | TObject::operator new(size_t sz, void* vp) |
| void* | TObject::operator new[](size_t sz) |
| void* | TObject::operator new[](size_t sz, void* vp) |
| TNamed& | TNamed::operator=(const TNamed& rhs) |
| virtual void | TObject::Paint(Option_t* option = "") |
| virtual void | TObject::Pop() |
| Bool_t | PrefixToBePrepended() const |
| void | PrependPrefix(const Char_t* Prefix) |
| void | PrependPrefix(Bool_t Flag = kTRUE) |
| virtual void | Print() const |
| virtual void | Print(Option_t* Option) const |
| void | Print(ostream& OutStrm, const Char_t* Prefix = "") const |
| virtual Int_t | TObject::Read(const char* name) |
| virtual void | TObject::RecursiveRemove(TObject* obj) |
| void | TObject::ResetBit(UInt_t f) |
| virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
| virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
| virtual Bool_t | SerialToBeCreated() const |
| Bool_t | Set(const Char_t* ParamName, const Char_t* RegName, Int_t Value) |
| Bool_t | Set(const Char_t* ParamName, Int_t RegIndex, Int_t Value) |
| Bool_t | SetAnalyzeOptions(Option_t* Options = "byName:Histograms") |
| void | SetArrayMode(Bool_t ArrayMode = kTRUE) |
| void | TObject::SetBit(UInt_t f) |
| void | TObject::SetBit(UInt_t f, Bool_t set) |
| Bool_t | SetConfigOptions(Option_t* Options = "") |
| virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
| static void | TObject::SetDtorOnly(void* obj) |
| Bool_t | SetMbsBranch(TMrbNamedX* MbsBranch) |
| Bool_t | SetMbsBranch(Int_t MbsBranchNo, const Char_t* MbsBranchName = NULL) |
| virtual void | TNamed::SetName(const char* name)MENU |
| virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
| static void | TObject::SetObjectStat(Bool_t stat) |
| Bool_t | SetParamName(Int_t ParamNo, Char_t* ParamName) |
| Bool_t | SetReadoutOptions(Option_t* Options = "") |
| virtual void | TNamed::SetTitle(const char* title = "")MENU |
| virtual void | TObject::SetUniqueID(UInt_t uid) |
| virtual void | ShowMembers(TMemberInspector& insp) |
| virtual Bool_t | SingleModuleOnly() const |
| virtual Int_t | TNamed::Sizeof() const |
| virtual void | Streamer(TBuffer& b) |
| void | StreamerNVirtual(TBuffer& b) |
| virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
| Bool_t | TObject::TestBit(UInt_t f) const |
| Int_t | TObject::TestBits(UInt_t f) const |
| Bool_t | Use(const Char_t* Assignment, Bool_t BookHistos = kTRUE) |
| Bool_t | Use(const Char_t* ModuleName, const Char_t* Assignment, Bool_t BookHistos = kTRUE) |
| virtual void | TObject::UseCurrentStyle() |
| void | UseExplicitParamNames(Bool_t Flag = kTRUE) |
| Bool_t | UseXhit(Int_t DataLength) |
| Bool_t | UseXhit(const Char_t* HitName, Int_t DataLength = -1) |
| virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
| virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
| virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
| virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
| void | TObject::MakeZombie() |
| enum TObject::EStatusBits { | kCanDelete | |
| kMustCleanup | ||
| kObjInCanvas | ||
| kIsReferenced | ||
| kHasUUID | ||
| kCannotPick | ||
| kNoContextMenu | ||
| kInvalidObject | ||
| }; | ||
| enum TObject::[unnamed] { | kIsOnHeap | |
| kNotDeleted | ||
| kZombie | ||
| kBitMask | ||
| kSingleKey | ||
| kOverwrite | ||
| kWriteDelete | ||
| }; |
| UInt_t | fAnalyzeOptions | ... in MakeAnalyzeCode() |
| Bool_t | fArrayMode | kTRUE if subevent data are stored in an array |
| UInt_t | fConfigOptions | ... in MakeConfigCode() |
| Int_t | fCrate | crate number |
| Bool_t | fCreateHistoArray | kTRUE if histo array / .histlist file is to be created |
| Bool_t | fExplicitParamNames | kTRUE if explicit param names to be used |
| Bool_t | fHasIndexedParams | if there are TArrayX params |
| TString | fHistoArrayName | name of histo array / .histlist file |
| Bool_t | fHistosToBeAllocated | kTRUE if histograms to be allocated for all params |
| Bool_t | fHistosToBeFilledIfTrueHit | fill histograms if is it true hit |
| Int_t | fHitDataLength | length of hit data |
| UInt_t | fLegalDataTypes | datatypes legal for this type of subevent |
| TObjArray | fLofEvents | |
| TObjArray | fLofModules | |
| TObjArray | fLofParams | list of params |
| TMrbNamedX | fMbsBranch | branch within MBS |
| TString | TNamed::fName | object identifier |
| Int_t | fNofEvents | list of parent events |
| Int_t | fNofModules | list of modules housing these params |
| Int_t | fNofParams | number of params |
| Int_t | fNofShorts | number of 16 bit words; |
| TString | fPrefix | prefix to be prepended to params & histos |
| Bool_t | fPrependPrefix | kTRUE if subevents has its own prefix |
| UInt_t | fReadoutOptions | options used in MakeReadoutCode() |
| Int_t | fSerial | header words: unique subevent id |
| TString | fSevtDescr | description |
| UInt_t | fSevtSubtype | subevent subtype |
| UInt_t | fSevtType | subevent type |
| TMrbModule* | fSoftModule | internal module name, simulated by software |
| TString | TNamed::fTitle | object title |
| TString | fXhit | a special (extended) hit |

__________________________________________________________________[C++ CTOR] Name: TMrbSubevent Purpose: Create a subevent Arguments: Char_t * SevtName -- subevent name Char_t * SevtTitle -- ... and title Int_t Crate -- crate number Results: -- Exceptions: Description: Class constructor Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::AddParam Purpose: Add a new param to subevent Arguments: TMrbModuleChannel * Param -- param addr Results: kTRUE/kFALSE Exceptions: Description: Adds a param to list. Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::FindModuleByID Purpose: Find a module by its id Arguments: EMrbModuleID ModuleID -- module id TMrbModule * After -- search to be started after this module Results: TMrbModule * Module -- module address Exceptions: Description: Loops thru the list of modules to find next module having specified id Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::FindModuleByType Purpose: Find a module by its type Arguments: UInt_t ModuleType -- module type TMrbModule * After -- search to be started after this module Results: TMrbModule * Module -- module address Exceptions: Description: Loops thru the list of modules to find next module having specified type Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::FindModuleBySerial Purpose: Find a module by its unique serial number Arguments: Int_t ModuleSerial -- serial number Results: TMrbModule * Module -- module address Exceptions: Description: Loops thru the list of modules to find specified serial number Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::Use Purpose: Assign parameters Arguments: Char_t * ModuleName -- module which houses these channels Char_t * Assignment -- param name(s) & channel number(s) Bool_t BookHistos -- kTRUE if to book histograms for these channels Results: kTRUE/kFALSE Exceptions: Description: Defines which subaddresses to be used by assigning meangingful names. Assignment may be a single param name or a set of names, separated by blanks. Subsequent names will be assigned subsequent channel numbers. Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::SetParamName Purpose: Set param name explicitly Arguments: Int_t ParamNo -- param number Char_t * ParamName -- name to be assigned Results: kTRUE/kFALSE Exceptions: Description: Overwrites param names explicitly Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::MakeAnalyzeCode Purpose: Write a piece of code for data analysis Arguments: ofstream & AnaStrm -- file output stream EMrbAnalyzeTag TagIndex -- index of tag word from template file Char_t * Extension -- file extensions to be appended (.h or .cxx) Results: Exceptions: Description: Writes code needed for data analysis. Searches for following files: (1) if subevent has private code (1a) Subevent_<Name>.<Extension>.code (1b) <PrivateCodeFile>.<Extension>.code (1c) Subevent_<Class>.<Extension>.code (2) standard: Subevent.<Extension>.code Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::MakeAnalyzeCode Purpose: Write a piece of code for data analysis Arguments: ofstream & AnaStrm -- file output stream EMrbAnalyzeTag TagIndex -- index of tag word from template file TMrbEvent * Event -- associated event TMrbTemplate & Template -- template Char_t * Prefix -- prefix to select template code Results: Exceptions: Description: Writes code needed for data analysis. Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::MakeConfigCode Purpose: Write some lines to the config file Arguments: ofstream & CfgStrm -- file output stream EMrbConfigTag TagIndex -- index of tag word from template file TMrbTemplate & Template -- template Char_t * Prefix -- prefix to select template code Results: Exceptions: Description: Writes code into config file. Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::Print Purpose: Output current subevent definitions Arguments: ofstream & Out -- output stream Char_t * Prefix -- prefix to be output in front Results: -- Exceptions: Description: Outputs current subevent definition to stdout. Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::Set Purpose: Set register values Arguments: Char_t * ParamName -- parameter name Char_t * RegName -- register name Int_t Value -- value to be set Results: kTRUE/kFALSE Exceptions: Description: Sets register values of specified param Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::Set Purpose: Set register values Arguments: Char_t * ParamName -- parameter name Int_t RegIndex -- register index Int_t Value -- value to be set Results: kTRUE/kFALSE Exceptions: Description: Sets register values of specified param Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::Get Purpose: Get register values Arguments: Char_t * ParamName -- parameter name Char_t * RegName -- register name Results: Int_t Value -- value to be set Exceptions: Description: Gets register values of specified param Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::Get Purpose: Get register values Arguments: Char_t * ParamName -- parameter name Int_t RegIndex -- register index Results: Int_t Value -- value to be set Exceptions: Description: Gets register values of specified param Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::SetReadoutOptions Purpose: Define some options to be used in MakeReadoutCode() Arguments: Char_t * Options -- options to be set Results: kTRUE/kFALSE Exceptions: Description: Sets readout options for this subevent individually Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::SetAnalyzeOptions Purpose: Define some options to be used in MakeAnalyzeCode() Arguments: Char_t * Options -- options to be set Results: kTRUE/kFALSE Exceptions: Description: Sets analyze options for this subevent individually Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::SetConfigOptions Purpose: Define some options to be used in MakeConfigCode() Arguments: Char_t * Options -- options to be set Results: kTRUE/kFALSE Exceptions: Description: Sets config options for this subevent individually Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::GetReadoutOptions Purpose: Return current options for method MakeReadoutCode() Arguments: TMrbEvent * Parent -- parent event Results: UInt_t Options -- readout options Exceptions: Description: Returns readout options: local options if fReadoutOptions is set options of parent event otherwise Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::GetAnalyzeOptions Purpose: Return current options for method MakeAnalyzeCode() Arguments: TMrbEvent * Parent -- parent event Results: UInt_t Options -- readout options Exceptions: Description: Returns analyze options: local options if fAnalyzeOptions is set options of parent event otherwise Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::GetConfigOptions Purpose: Return current options for method MakeConfigCode() Arguments: TMrbEvent * Parent -- parent event Results: UInt_t Options -- readout options Exceptions: Description: Returns config options: local options if fConfigOptions is set options of parent event otherwise Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::GetLofModulesAsString Purpose: Return a colon-separated string with module names Arguments: TString & LofModules -- where to store module names Results: Char_t * LofModules -- string containing module names Exceptions: Description: Returns a colon-separated string with module names. Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::GetLofParamsAsString Purpose: Return a colon-separated string with module names Arguments: TString & LofParams -- where to store module names Results: Char_t * LofParams -- string containing module names Exceptions: Description: Returns a colon-separated string with module names. Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::UseXhit Purpose: Define a special hit to be used instead of TUsrHit Arguments: Char_t * HitName -- name to be used Int_t DataLength -- length if additional hit data in words Results: kTRUE/kFALSE Exceptions: Description: Defines a new object inherited from normal TUsrHit. Adds some additional data (i.e. trace data). Code will be generated automatically depending on argument DataLength. If DataLength is missing (or = -1) no code generation will take place, it is then up to the user to provide his own class. Keywords:
________________________________________________________________[C++ METHOD] Name: TMrbSubevent::SetMbsBranch Purpose: Assign subevent to a mbs branch Arguments: Int_t MbsBranchNo -- mbs branch number Char_t * BranchName -- name Results: kTRUE/kFALSE Exceptions: Description: Assigns module to a mbs branch. Keywords:
{ return(kFALSE); }{ return(kFALSE); }{ return(kFALSE); }params to be addressed in array mode?
{ fArrayMode = ArrayMode; }