class THaMWDCGroup: public TObject

Function Members (Methods)

public:
THaMWDCGroup(THaMWDCGroup& G)
THaMWDCGroup(vector<THaMWDCHit*> H, UInt_t planebits, TMatrixD* matrix)
THaMWDCGroup(THaMWDCHit** H, Int_t n, UInt_t planebits, TMatrixD* matrix)
virtual~THaMWDCGroup()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
Int_tDoCoarseTracking()
Int_tDoFineTracking(Double_t toffset = 0.0)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
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
Double_tGetChi2()
Double_tGetChi2Cont(int i)
Double_tGetChi2NDoF()
Double_tGetCoarseChi2Cont(int i)
TMatrixD*GetConstructMatrix()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
THaMWDCHit*GetHit(Int_t i)
vector<THaMWDCHit*>GetHits()
virtual const char*TObject::GetIconName() const
UInt_tGetLRbits()
virtual const char*TObject::GetName() const
Double_tGetNDoF()
UInt_tGetNHits()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetPhi()
UInt_tGetPlaneBits()
UInt_tGetStatusBits()
Double_tGetTheta()
virtual const char*TObject::GetTitle() const
THaTrackGetTrack()
virtual UInt_tTObject::GetUniqueID() const
Double_tGetX()
Double_tGetY()
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
virtual voidTObject::Inspect() const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsCoarse()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsFine()
virtual Bool_tTObject::IsFolder() const
Bool_tIsFresh()
Bool_tIsL1Group()
Bool_tIsL2Group()
Bool_tIsOK()
Bool_tTObject::IsOnHeap() const
Bool_tIsSimilarTrack(THaTrack track)
virtual Bool_tTObject::IsSortable() const
Bool_tIsValidTrack()
Bool_tTObject::IsZombie() const
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)
THaMWDCGroup&operator=(const THaMWDCGroup&)
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 = "") const
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)
voidSetChi2Cont()
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
voidSetL1Group(Bool_t b)
voidSetL2Group(Bool_t b)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetTrackNumber(Int_t track_number)
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
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:
Double_tCalcChiSquared(THaMWDCGroup::ETrackingMode mode, Double_t* coords, THaTrack track, Double_t* chi2cont)
voidCheckHitData()
voidDetermineValidTrack()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_tDoLRDiff()
Int_tDoLRDiffForType(THaMWDCPlane::EPlaneType type)
THaTrackFindTrack(THaMWDCGroup::ETrackingMode mode, Double_t* chi2cont, Double_t toffset = 0.0)
Bool_tFitsChamber()
voidGeneratePlaneIndex()
vector<THaMWDCHit*>GetHitsOfType(THaMWDCPlane::EPlaneType type)
Int_tGetPlaneIndexForHit(Int_t hit)
voidTObject::MakeZombie()
voidReset()
voidTransformCoordToTrack(Double_t* coord, Double_t* track)

Data Members

public:
enum EGroupStatus { kFresh
kCoarse
kFine
kValidTrack
kOK
kL1
kL2
};
enum ETrackingMode { kCoarseTracking
kFineTracking
kTrialFineTracking
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_tfChi2Cont[20]
Double_tfChi2NDoF
Double_tfCoarseChi2Cont[20]
TMatrixD*fConstructMatrix
UInt_tfGroupStatus
vector<THaMWDCHit*>fHits
UInt_tfLRbits
UInt_tfPlaneBits
Int_tfPlaneIndex[20]
THaTrackfTrack

Class Charts

Inheritance Chart:
TObject
THaMWDCGroup

Function documentation

THaMWDCGroup(vector<THaMWDCHit*> H, UInt_t planebits, TMatrixD* matrix)
THaMWDCGroup(THaMWDCHit** H, Int_t n, UInt_t planebits, TMatrixD* matrix)
THaMWDCGroup(THaMWDCGroup& G)
~THaMWDCGroup()
void SetTrackNumber(Int_t track_number)
 Set the track number to associate hits with track in ROOT file
void SetChi2Cont()
 Set the chi2 contribution to THaMWDCHit for output
Int_t DoCoarseTracking()
 Find coarse track (just use wire positions)
 Get coarse track
Int_t DoFineTracking(Double_t toffset = 0.0)
 Find fine track (use drift times, scintillator times)
 Get fine track
Bool_t IsSimilarTrack(THaTrack track)
Determine if the two track are similar or not spacially
THaTrack FindTrack(THaMWDCGroup::ETrackingMode mode, Double_t* chi2cont, Double_t toffset = 0.0)
 Find track given a mode:
 kCoarseTracking: Don't use drift times
Int_t DoLRDiff()
Int_t DoLRDiffForType(THaMWDCPlane::EPlaneType type)
 Does L/R differentiation for hits in planes of the same type
void TransformCoordToTrack(Double_t* coord, Double_t* track)
 Take plane coordinates and find track coordinates
Double_t CalcChiSquared(THaMWDCGroup::ETrackingMode mode, Double_t* coords, THaTrack track, Double_t* chi2cont)
 Calculate chi^2 and save chi^2 contributions for track
void DetermineValidTrack()
Make sure track is reasonable
Bool_t FitsChamber()
Determine if the track is within the chamber parameters
void CheckHitData()
 Check is DataValid flag for all hits
 Group is NOT OK if any hits don't have valid data
void Reset()
 Set group properties to default values
vector<THaMWDCHit*> GetHitsOfType(THaMWDCPlane::EPlaneType type)
Find all hits of a specific orientation and return them in a vector
void GeneratePlaneIndex()
 Plane index is used to map the hits (stored sequentially
 with respect to the plane ordering) to the plane index
 that is used to do the plane coordinate transformation
 to track coordinates
THaTrack GetTrack()
 Basic data retrival
 Track information
{ return fTrack;}
Double_t GetX()
{ return fGroupStatus & (kCoarse|kFine) ? fTrack.GetX() : 1e9;}
Double_t GetY()
{ return fGroupStatus & (kCoarse|kFine) ? fTrack.GetY() : 1e9;}
Double_t GetTheta()
{ return fGroupStatus & (kCoarse|kFine) ? fTrack.GetTheta() : 1e9;}
Double_t GetPhi()
{ return fGroupStatus & (kCoarse|kFine) ? fTrack.GetPhi() : 1e9;}
Double_t GetChi2()
{ return fGroupStatus & (kCoarse|kFine) ? fTrack.GetChi2() : 1e9;}
Double_t GetNDoF()
{ return fGroupStatus & (kCoarse|kFine) ? fTrack.GetNDoF() : 1e9;}
Double_t GetChi2NDoF()
{ return fGroupStatus & (kCoarse|kFine) ? fChi2NDoF : 1e9;}
UInt_t GetNHits()
 Group information
{ return fHits.size();}
vector<THaMWDCHit*> GetHits()
{ return fHits; }
THaMWDCHit* GetHit(Int_t i)
{ return fHits[i]; }
UInt_t GetPlaneBits()
{ return fPlaneBits;}
UInt_t GetLRbits()
{ return fLRbits; }
TMatrixD* GetConstructMatrix()
{ return fConstructMatrix; }
Double_t GetChi2Cont(int i)
{ return fChi2Cont[i]; }
Double_t GetCoarseChi2Cont(int i)
{ return fCoarseChi2Cont[i];}
UInt_t GetStatusBits()
 Group status
{ return fGroupStatus;}
Bool_t IsOK()
{ return (fGroupStatus & kOK ? true : false); }
Bool_t IsL1Group()
{ return (fGroupStatus & kL1 ? true : false); }
Bool_t IsL2Group()
{ return (fGroupStatus & kL2 ? true : false); }
Bool_t IsFresh()
{ return (fGroupStatus & kFresh ? true : false); }
Bool_t IsCoarse()
{ return (fGroupStatus & kCoarse ? true : false); }
Bool_t IsFine()
{ return (fGroupStatus & kFine ? true : false); }
Bool_t IsValidTrack()
{ return (fGroupStatus & kValidTrack ? true : false); }
void SetL1Group(Bool_t b)
{if(b) fGroupStatus |= kL1; else fGroupStatus &= ~kL1; }
void SetL2Group(Bool_t b)
{if(b) fGroupStatus |= kL2; else fGroupStatus &= ~kL2; }
Int_t GetPlaneIndexForHit(Int_t hit)
{ return fPlaneIndex[hit]; }

Last update: Tue Jul 7 19:26:17 2009

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.