THaAnalysisObject Abstract base class for a detector or subdetector. Derived classes must define all internal variables, a constructor that registers any internal variables of interest in the global physics variable list, and a Decode() method that fills the variables based on the information in the THaEvData structure.
virtual | ~THaAnalysisObject() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual Int_t | Begin(THaRunBase* r = 0) |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | Clear(Option_t*) |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual void | TNamed::Copy(TObject& named) const |
static Int_t | DefineVarsFromList(const void* list, THaAnalysisObject::EType type, THaAnalysisObject::EMode mode, const char* var_prefix, const TObject* obj, const char* prefix, const char* here) |
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 Int_t | End(THaRunBase* r = 0) |
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) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
static void | GeoToSph(Double_t th_geo, Double_t ph_geo, Double_t& th_sph, Double_t& ph_sph) |
const char* | GetConfig() const |
virtual const char* | GetDBFileName() const |
Int_t | GetDebug() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
TDatime | GetInitDate() const |
virtual const char* | TNamed::GetName() 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* | GetPrefix() const |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() 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 |
THaAnalysisObject::EStatus | Init() |
virtual THaAnalysisObject::EStatus | Init(const TDatime& run_time) |
virtual Int_t | InitOutput(THaOutput*) |
virtual void | TObject::Inspect() constMENU |
static Bool_t | IntersectPlaneWithRay(const TVector3& xax, const TVector3& yax, const TVector3& org, const TVector3& ray_start, const TVector3& ray_vect, Double_t& length, TVector3& intersect) |
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 | IsInit() const |
Bool_t | IsOK() const |
Bool_t | IsOKOut() |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
Bool_t | TObject::IsZombie() const |
static Int_t | LoadDB(FILE* file, const TDatime& date, const DBRequest* request, const char* prefix = "", Int_t search = 0) |
static Int_t | LoadDB(FILE* file, const TDatime& date, const TagDef* tags, const char* prefix = "", Int_t search = 0) |
static Int_t | LoadDBvalue(FILE* file, const TDatime& date, const char* tag, Double_t& value) |
static Int_t | LoadDBvalue(FILE* file, const TDatime& date, const char* tag, Int_t& value) |
static Int_t | LoadDBvalue(FILE* file, const TDatime& date, const char* tag, string& text) |
static Int_t | LoadDBvalue(FILE* file, const TDatime& date, const char* tag, TString& text) |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
static FILE* | OpenFile(const char* name, const TDatime& date, const char* here = "OpenFile()", const char* filemode = "r", const int debug_flag = 1) |
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) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") 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(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
static Int_t | SeekDBconfig(FILE* file, const char* tag, const char* label = "config", Bool_t end_on_tag = false) |
static Int_t | SeekDBdate(FILE* file, const TDatime& date, Bool_t end_on_tag = false) |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
void | SetConfig(const char* label) |
virtual void | SetDebug(Int_t level) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
virtual void | SetName(const char* name) |
virtual void | SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual Int_t | TNamed::Sizeof() const |
static void | SphToGeo(Double_t th_sph, Double_t ph_sph, Double_t& th_geo, Double_t& ph_geo) |
THaAnalysisObject::EStatus | Status() 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 |
virtual void | TObject::UseCurrentStyle() |
static vector<std::string> | vsplit(const string& s) |
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 Int_t | DefineVariables(THaAnalysisObject::EMode mode = kDefine) |
Int_t | DefineVarsFromList(const VarDef* list, THaAnalysisObject::EMode mode = kDefine, const char* var_prefix = "") const |
Int_t | DefineVarsFromList(const RVarDef* list, THaAnalysisObject::EMode mode = kDefine, const char* var_prefix = "") const |
Int_t | DefineVarsFromList(const void* list, THaAnalysisObject::EType type, THaAnalysisObject::EMode mode, const char* var_prefix = "") const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
THaAnalysisObject* | FindModule(const char* name, const char* classname, bool do_error = true) |
static vector<std::string> | GetDBFileList(const char* name, const TDatime& date, const char* here = "GetDBFileList()") |
virtual const char* | Here(const char*) const |
virtual void | MakePrefix() |
void | MakePrefix(const char* basename) |
void | TObject::MakeZombie() |
virtual FILE* | OpenFile(const TDatime& date) |
virtual FILE* | OpenRunDBFile(const TDatime& date) |
static char* | ReadComment(FILE* fp, char* buf, const int len) |
virtual Int_t | ReadDatabase(const TDatime& date) |
virtual Int_t | ReadRunDatabase(const TDatime& date) |
virtual Int_t | RemoveVariables() |
THaAnalysisObject& | operator=(const THaAnalysisObject&) |
enum EStatus { | kOK | |
kNotinit | ||
kInitError | ||
kFileError | ||
}; | ||
enum EType { | kVarDef | |
kRVarDef | ||
}; | ||
enum EMode { | kDefine | |
kDelete | ||
}; | ||
enum EProperties { | kNeedsRunDB | |
}; | ||
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
static const Double_t | kBig | = 1.e38; // default junk value |
TString | fConfig | Configuration to use from database |
Int_t | fDebug | Debug level |
TDatime | fInitDate | Date passed to Init |
Bool_t | fIsInit | Flag indicating that ReadDatabase done |
Bool_t | fIsSetup | Flag indicating that DefineVariables done. |
TString | TNamed::fName | object identifier |
Bool_t | fOKOut | Flag indicating object-output prepared |
char* | fPrefix | Name prefix for global variables |
UInt_t | fProperties | Properties of this object (see EProperties) |
THaAnalysisObject::EStatus | fStatus | Initialization status flag |
TString | TNamed::fTitle | object title |
Inheritance Chart: | ||||||||||||||||||||||||||||||||||||||||||||
|
Method usually called right before the start of the event loop for 'run'. Begin() is similar to Init(), but since there is a default Init() implementing standard database and global variable setup, Begin() can be used to implement start-of-run setup tasks for each module cleanly without interfering with the standard Init() prodecure. The default Begin() method does nothing.
Default method for defining global variables. Currently does nothing.
Add/delete variables defined in 'list' to/from the list of global variables, using prefix of the current apparatus. Internal function that can be called during initialization.
Actual implementation of the variable definition utility function. Static function that can be used by classes other than THaAnalysisObjects
Method usually called right after the end of the event loop for 'run'. May be used by modules to clean up, compute averages, write summaries, etc. The default End() method does nothing.
Locate the object 'name' in the global list of Analysis Modules and check if it inherits from 'classname' (if given), and whether it is properly initialized. Return pointer to valid object, else return NULL. If do_error == true (default), also print error message and set fStatus to kInitError. If do_error == false, do not test if object is initialized.
Return the database file searchlist as a vector of strings. The file names are relative to the current directory.
Return a string consisting of 'here' followed by fPrefix. Used for generating diagnostic messages. The return value points to an internal static buffer that one should not try to delete ;)
This method is called from THaAnalyzer::DoInit, after THaOutput is initialized. The TTree to work with can be retrieved like: TTree *tree = output->GetTree() tree is the TTree to append the branches to construct all branches here. Set kOKOut=true if all is okay, and return 0 anything else will trigger error messages.
Open database file and return a pointer to the C-style file descriptor.
Read blank and comment lines ( those starting non-starting with a space (' '), returning the comment. If the line is data, then nothing is done and NULL is returned (so one can search for the next data line with: while ( ReadComment(fp, buf, len) );
Set the "configuration" to select in the database.
In text-based database files, this will make the database reader
seek to a section header [ config=label ] if the module supports it.
Find intersection point of plane (given by 'xax', 'yax', 'org') with ray (given by 'ray_start', 'ray_vect'). Returns true if intersection found, else false (ray parallel to plane). Output is in 'length' and 'intersect', where intersect = ray_start + length*ray_vect 'length' and 'intersect' must be provided by the caller.
Convert geographical to spherical angles. Units are rad. th_geo and ph_geo can be anything. th_sph is in [0,pi], ph_sph in [-pi,pi].
Convert spherical to geographical angles. Units are rad. th_sph and ph_sph can be anything, although th_sph outside [0,pi] is not really meaningful. th_geo is in [-pi,pi] and ph_sph in [-pi/2,pi/2]
Load a data value tagged with 'key' from the database 'file'.
Lines before the first valid time stamp or starting with "#" are ignored.
If 'key' is found, then the most recent value seen (based on time stamps
and position within the file) is returned in 'text'.
Values with time stamps later than 'date' are ignored.
This allows incremental organization of the database where
only changes are recorded with time stamps.
Return 0 if success, 1 if key not found, <0 if unexpected error.
Locate key in database, convert the text found to double-precision, and return result in 'value'. This is a convenience function.
Locate key in database, convert the text found to integer and return result in 'value'. This is a convenience function.
Locate key in database, convert the text found to TString and return result in 'text'. This is a convenience function.
Load a list of parameters from the database file 'f' according to
the contents of the 'req' structure (see VarDef.h).
Compatibility function to read database with old 'TagDef' request structure
Starting from the current position in 'file', look for the configuration 'tag'. Position the file on the line immediately following the tag. If no tag found, return to the original position in the file. Return zero if not found, 1 otherwise. Configuration tags have the form [ config=tag ]. If 'label' is given explicitly, it replaces 'config' in the tag string, for example label="version" will search for [ version=tag ]. If 'label' is empty (""), search for just [ tag ]. If 'end_on_tag' is true, quit if any non-matching tag found, i.e. anything matching "*[*]*" except "[config=anything]". Useful for segmenting databases (esp. VDC) for different experimental configurations.
Starting from the current position in file 'f', look for a date tag matching time stamp 'date'. Position the file on the line immediately following the tag. If no tag found, return to the original position in the file. Return zero if not found, 1 otherwise. Date tags must be in SQL format: [ yyyy-mm-dd hh:mi:ss ]. If 'end_on_tag' is true, end the search at the next non-date tag; otherwise, search through end of file. Useful for sub-segmenting database files.
Static utility function to split a string into whitespace-separated strings