class TS800: public TObject


The TS800 class inherits from TObject. This Class provides the structure for the S800 device. Raw event data is filled into the class members.

For additional information not provided here please see the S800 website at, http://groups.nscl.msu.edu/s800/

I. Unpacking

II. Coordinate System

The S800 focal plane coordinate are defined in the following way,

Dispersive plane: x-axis Non-Disperssive plane: y-axis Beam Direction: z-axis

If one is standing at the target position this translates to,

III. Important Data Members

IV. Examples

Related References

[1] Bazin, D., Caggiano, JA, Sherrill, BM, Yurkon, J., and Zeller, A.: The S800 spectrograph, Nuclear Inst. and Methods in Physics Research, B 204, Elsevier, 629-633, 2003[Full Text]

[2] Yurkon, J., Bazin, D., Benenson, W., Morrissey, DJ, Sherrill, BM, Swan, D., and Swanson, R.: Focal plane detector for the S800 high-resolution spectrometer, Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment 422(1), Elsevier Science, 291-295, 1999 [Full Text]

 

Function Members (Methods)

public:
TS800()
TS800(const TS800&)
virtual~TS800()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Bool_tCalculate(Long64_t entry)
Int_tCalculate(Option_t* prefix = "", Option_t* path = "", Option_t* treeName = "", Bool_t calcTracking = kTRUE, Option_t* option = "RECREATE")
Int_tCalibrate(Long64_t entry)
Int_tCalibrate(Option_t* prefix = "", Option_t* path = "", Option_t* treeName = "", Option_t* option = "RECREATE")
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* option = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidCopy(TObject& s800) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tGenPrime(Option_t* output = "", Option_t* treeName = "", Option_t* option = "RECREATE")
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
voidGetEntry(Int_t i)
virtual const char*TObject::GetIconName() const
virtual const Char_t*GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const Char_t*GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
voidInitClass()
voidInitTree(TTree* tree)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
Bool_tLoadPIDShifts(const Char_t* fileName)
Bool_tLoadYtaShifts(const Char_t* fileName)
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::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)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCrdcCalFile(Char_t* crdc1Path, Char_t* crdc1Path)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEuler(Double_t phi, Double_t theta, Double_t psi)
voidSetFpTrackShifts(Int_t runNum)
voidSetName(const Char_t* name)
voidSetNameTitle(const Char_t* name, const Char_t* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPIDShifts(Int_t runNum)
voidSetTitle(const Char_t* title = "")
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Int_tUnpack(UShort_t* pEvent)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
TBranch*b_crdc1!
TBranch*b_crdc2!
TBranch*b_e1!
TBranch*b_e2!
TBranch*b_e3!
TBranch*b_fNwords!
TBranch*b_fpTrack!
TBranch*b_ic!
TBranch*b_imTrack!
TBranch*b_s800map!
TBranch*b_tcrdc1!
TBranch*b_tcrdc2!
TBranch*b_tof!
TBranch*b_tppac1!
TBranch*b_tppac2!
TBranch*b_trigger!
TS800Crdccrdc1CRDC1
Char_t*crdc1CalPath! CRDC1 calibration filename.
TS800Crdccrdc2CRDC2
Char_t*crdc2CalPath! CRDC2 calibration filename.
TS800Scintillatore1Focal Plane E1 scintillator class.
TS800Scintillatore2Focal Plane E2 scintillator class.
TS800Scintillatore3Focal Plane E3 scintillator class.
Bool_tfAddRndm! Add random number to convert from short data types to double.
TTree*fChain! Pointer to current TTree or TChain
Int_tfCurrent! Current Tree number in a TChain
Double_tfEulerPhi! Phi Euler angle.
Double_tfEulerPsi! Psi Euler angle.
Double_tfEulerTheta! Theata Euler angle.
TH1FfHICShifts! Histo of IC shifts as a function of run number.
TH1FfHToFShifts[2]! Histos of ToF shifts as a function of run number.
TH1FfHYtaShifts! Histo of Yta shifts as a function of run number.
UShort_tfNwordsNumber of words in an S800 event.
TS800FpTrackfpTrackFocal Plane tracking class.
TS800IonChambericIon Chamber class.
TS800ImTrackimTrackIntermediate Imagage tracking class.
Double_tkBrho! Spectrometer brho value.
Double_tkBrhoA! Analysis line brho value.
TStringname! Object identifier.
TS800Maps800mapS800 inverse map class.
TS800Crdctcrdc1
TS800Crdctcrdc2
TS800TimeOfFlighttofTime of Flight class.
TS800Tppactppac1II tracking PPAC1 class.
TS800Tppactppac2II tracking PPAC2 class.
TS800TriggertriggerTrigger class.
protected:
Int_tfAnalysisState! Current analysis state of fChain.
TStringfName! Object identifier.
TStringfTitle! Object title.
private:
TRandom3fRandom! The class's random number generator.

Class Charts

Inheritance Chart:
TObject
TS800

Function documentation

TS800(const TS800& )
 -- Copy Constructor.
Bool_t Calculate(Long64_t entry)
 -- Calculate an entry for the specified S800 components.

Int_t Calculate(Option_t* prefix = "", Option_t* path = "", Option_t* treeName = "", Bool_t calcTracking = kTRUE, Option_t* option = "RECREATE")
 -- Calculate specified S800 components.

Int_t Calibrate(Long64_t entry)
 -- Calibrate an entry.
 Current coponents callibrated:  E1,E2, and E3 scintilators ONLY.
Int_t Calibrate(Option_t* prefix = "", Option_t* path = "", Option_t* treeName = "", Option_t* option = "RECREATE")
 -- Calibrates TS800 components.

void Copy(TObject& s800) const
 -- Copy this method.
Bool_t GenPrime(Option_t* output = "", Option_t* treeName = "", Option_t* option = "RECREATE")
 -- Generate primary S800 data tree.

void InitClass()
 -- Intialize the class to default settings.

void InitTree(TTree* tree)
 -- Associate this class with a tree containing TS800 branches.
 Each InitTree() method of the TS800 sub-classes are called.  By initializing the
 tree we set the data member addresses of this class with the branch addresses
 of the tree.

 When we call GetEntry() (either for a class or individual branch) the data members
 from this class are filled with the values of the branches in the tree
 (See GetEntry()).
void Clear(Option_t* option = "")
 -- Clear TS800 data members and sub-classes.

void GetEntry(Int_t i)
 -- Set all data member values to those of entry i in the current tree.

Bool_t LoadPIDShifts(const Char_t* fileName)
 -- Load the file containing the S800 PID shifts.

 Commented lines are denoted by the '#' character.  Each line has the following
 format,

 <RUN NUMBER>     <IC SHIFT>       <TOF SHIFT>

Bool_t LoadYtaShifts(const Char_t* fileName)
 -- Load the file containing the S800 Yta shifts.

 Commented lines are denoted by the '#' character.  Each line has the following
 format,

 <RUN NUMBER>     <YTA SHIFT>

void SetCrdcCalFile(Char_t* crdc1Path, Char_t* crdc1Path)
 -- Set the path of the CRDC calibration files.
 These files contain some or all of the following settings for each CRDC,
     1. CRDC pad pedestal values.
     2. CRDC pad slopes.
     3. CRDC pad offsets.

 The file is formatted to match that used for SpecTcl at the NSCL.  For example,
     .
     .
     set s800.fp.crdc1.pad.ped.056 294
     set s800.fp.crdc1.pad.ped.057 297
     set s800.fp.crdc1.pad.ped.058 299
     .
     .
     set s800.fp.crdc1.pad.slope.056 1.00
     set s800.fp.crdc1.pad.slope.057 1.10
     set s800.fp.crdc1.pad.slope.058 1.08
     .
     .
     set s800.fp.crdc1.pad.offset.056 14
     set s800.fp.crdc1.pad.offset.057 17
     set s800.fp.crdc1.pad.offset.058 19

void SetPIDShifts(Int_t runNum)
 --
void SetFpTrackShifts(Int_t runNum)
 --
void SetName(const Char_t* name)
 -- Change (i.e. set) the name of the TS800.

void SetTitle(const Char_t* title = "")
 -- Change (i.e. set) the title of the TS800.

void SetNameTitle(const Char_t* name, const Char_t* title)
 -- Change (i.e. set) all the TS800 parameters (name and title).

Int_t Unpack(UShort_t* pEvent)
 -- Unpack raw event data from a S800 sub-packet.

TS800()
{fRandom.SetSeed(0);}
virtual ~TS800()
{}
const Char_t * GetName() const
{ return fName; }
const Char_t * GetTitle() const
{ return fTitle; }
void SetEuler(Double_t phi, Double_t theta, Double_t psi)

Last change: Sun Dec 21 12:38:53 2008
Last generated: 2008-12-21 12:38

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.