The TExperiment provides the structure for holding a typical experiment at the NSCL. For each device a class is constructed. For example there is a class that represents HiRA (THiRA) and the S800 (TS800). An instance of these classes is then instanciated in TExperiment.
TExperiment is then a contruct that describes the entire experiment.
Run information can be displayed using the command, tree->GetUserInfo()->Print() This information can also be stored and used in any processing scripts written for this tree. For example, to get the number of times the run was paused we could do, Char_t *ch; ch = (Char_t*)tree->GetUserInfo->FindObject("Pauses")->GetTitle();TExperiment() | |
TExperiment(const char* name) | |
virtual | ~TExperiment() |
void | TObject::AbstractMethod(const char* method) const |
void | AddTarget(const char* name, const char* title, Int_t ladder, Int_t ladderPos, Double_t thickness, Int_t Z, Int_t A) |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
void | Calculate() |
void | Calibrate() |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
Bool_t | ConvertEvtFile(Char_t* evtFileList) |
Bool_t | ConvertEvtFile(Char_t* evtFile, Char_t* rootFile, Option_t* nBufs = "0") |
virtual void | TNamed::Copy(TObject& named) const |
void | CreateFolders() |
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 |
TH2F* | DrawSummary(TH2F* h, TBranch* b, unsigned short* d, Int_t c, Float_t range, Option_t* eventList = "") |
TH2F* | DrawSummary(TH2F* h, TBranch* b, short* d, Int_t c, Float_t range, Option_t* eventList = "") |
TH2F* | DrawSummary(TH2F* h, TBranch* b, int* d, Int_t c, Float_t range, Option_t* eventList = "") |
TH2F* | DrawSummary(TH2F* h, TBranch* b, float* d, Int_t c, Float_t range, Option_t* eventList = "") |
TH2F* | DrawSummary(TH2F* h, TBranch* b, double* d, Int_t c, Float_t range, Option_t* eventList = "") |
virtual void | TObject::Dump() constMENU |
void | DumpClassInfo() |
void | DumpInfo() |
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 |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() 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 |
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 |
void | InitClass() |
void | InitTree(TTree* itree) |
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 | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
Bool_t | TObject::IsZombie() const |
Long64_t | LoadTree(Long64_t entry) |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
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() |
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 = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
Bool_t | SetEventFilePath(Char_t* path) |
Bool_t | SetExperimentNumber(Char_t* number) |
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 | SetRootFilePath(Char_t* path) |
void | SetTarget(const char* targetName) |
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 |
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() |
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 | ||
}; |
TNamed* | analysisState | ! Number indicating current TTree analysis state. 0=RAW 1=CAL etc. |
TNamed* | avgEventRate | ! Average number of events/s. |
TNamed* | avgType1EventRate | ! Average number of data events/s. |
TNamed* | avgType1WordRate | ! Average number of data words/s. |
TNamed* | avgWordRate | ! Average number of words/s. |
TBranch* | b_hira | ! |
TNamed* | dateCreated | ! Run creation date. |
TNamed* | dateEnded | ! Run end date. |
TNamed* | elapsedTime | ! Elapsed runtime (seconds). |
Char_t* | evtFilePath | ! Source of event files. |
TNamed* | evtSize | ! Event file size. |
TNamed* | expNumber | ! Experiment ID number. |
TTree* | fChain | ! Pointer to the analyzed TTree or TChain. |
Int_t | fCurrent | ! Current Tree number in a TChain. |
TTarget* | fTarget | ! Currently selected target. |
TObjArray* | fTargets | ! Array of fixed targets. |
TFolder | f_constants | ! |
TFolder | f_scaler | ! |
TBufferHeader* | header | Buffer header class. |
THiRA* | hira | ! |
Bool_t | kElogFill | ! Elog fill flag. |
Bool_t | kEpicsFill | ! Epics fill flag. |
Bool_t | kFourPiFill | ! 4Pi fill flag. |
Bool_t | kHiraCsIFill | ! HiRA CsI fill flag. |
Bool_t | kHiraFill | ! HiRA fill flag. |
Bool_t | kMcpFill | ! MCP fill flag. |
Bool_t | kS800Fill | ! S800 fill flag. |
Bool_t | kScalerFill | ! Scaler fill flag. |
TMcp* | mcp | ! |
TNamed* | nBuffers | ! Total number of Buffers. |
TNamed* | nPauses | ! Number of times run was paused. |
TNamed* | nResumes | ! Number of times run was resumed. |
TNamed* | nTotalEntities | ! Total number of entities. |
TNamed* | nTotalType1Entities | ! Total number of data entities. |
TNamed* | nTotalType1Words | ! Total number of used data words. |
TNamed* | nTotalWords | ! Total number of used words. |
TNamed* | note | ! Run note. |
TObjArray | notesArray | ! Array to hold run notes. |
TNamed* | primaryBeam | ! Primary beam. |
TNamed* | primaryEnergy | ! Primary beam energy. |
Char_t* | rootFilePath | ! Destination of ROOT files. |
TNamed* | rootSize | ! Root file size. |
TNamed* | runComments | ! Run Comments. |
TNamed* | runNumber | ! Run number. |
TNamed* | runTitle | ! Run title. |
TNamed* | runType | ! Run type. |
TS800* | s800 | ! |
TScaler* | scalers | ! |
TNamed* | secondaryBeam | ! Secondary beam. |
TNamed* | secondaryEnergy | ! Secondary beam energy. |
TNamed* | timeCreated | ! Run creation time. |
TNamed* | timeEnded | ! Run end time. |
TString | TNamed::fName | object identifier |
TString | TNamed::fTitle | object title |
TGeoManager* | fGManager | ! |
UShort_t* | p | ! Pointer to event buffers. |
Inheritance Chart: | ||||||||
|
-- Default constructor. If a sub-class inherits from TObject and you do not want the fBits and fUniqueID to be streamed out to the root file then it is advisable to add the line, MyClass::Class()->IgnoreTObjectStreamer(); This will save, in some cases, a significant amount of disk space when writing a root file.
-- Add a target to the experimental setup.
-- Create all initial folders. Folders can be useful for storing global constants, calibration file data, run information . . . among other things. This method should call all sub-class CreateFolders methods.
-- Output all run information. This output should include all information in the UserInfoList of the current TTree. In addition scaler values are output along with any quantities calculated with these values.
-- Initialize the class and sub-classes. The InitClass method of all member classes should be called here. This method is responsible for setting all the defaults of the member classes.
-- Initialze a tree. Set the branch addresses for all members of all classes. IMPORTANT: This method assumes that classes are created using the object oriented method described in the ROOT Users Manual or that the corresponding class has a valid InitTree method.
-- Convert an event file to a ROOT file. An event file is opened for reading and a root file created for writing. A buffer is read and each entitiy in the buffer is looped over. The buffer header is read and the buffer type is determined. NOTE: If the root file already exist it will be overwritten!!! For additional information on the buffer structure please see, http://docs.nscl.msu.edu
-- Convert multiple event files to ROOT files. Note that the argument of this method is the name of a file containing the names of the event files to be converted. IT SHOULD NOT CONTAIN THE FULL PATH!!! The location of the event files is set by calling the method SetEventFilePath().
-- Sets the event file source path. This is the location from which event files will be read.
-- Sets the experiment number of this instance of TExperiment.
-- Sets the root file destination path. Any root file generated from an event file will be written to this directory.
Define any templates here.