class THaVDCCluster: public TObject


THaVDCCluster

A group of VDC hits and routines for linear fitting of drift distances.


Function Members (Methods)

public:
THaVDCCluster(THaVDCPlane* owner = 0)
THaVDCCluster(const THaVDCCluster&)
virtual~THaVDCCluster()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddHit(THaVDCHit* hit)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
virtual voidCalcChisquare(Double_t& chi2, Int_t& nhits) const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* opt = "")
virtual voidClearFit()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tCompare(const TObject* obj) const
virtual voidConvertTimeToDist()
virtual voidTObject::Copy(TObject& object) 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 voidEstTrackParameters()
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
virtual voidFitTrack(THaVDCCluster::EMode mode = kSimple)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
THaVDCHit*GetHit(Int_t i) const
THaVDCHit**GetHits()
virtual const char*TObject::GetIconName() const
Double_tGetIntercept() const
Double_tGetLocalSlope() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
THaVDCHit*GetPivot() const
Int_tGetPivotWireNum() const
THaVDCPlane*GetPlane() const
Double_tGetSigmaIntercept() const
Double_tGetSigmaSlope() const
Int_tGetSize() const
Double_tGetSlope() const
Double_tGetTimeCorrection() const
virtual const char*TObject::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
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
boolIsFitOK() const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsSortable() const
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)
THaVDCCluster&operator=(const THaVDCCluster&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") 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)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetIntercept(Double_t intercept)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPivot(THaVDCHit* piv)
voidSetPlane(THaVDCPlane* plane)
voidSetSlope(Double_t slope)
voidSetTimeCorrection(Double_t deltat)
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:
virtual voidCalcDist()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidFitSimpleTrack()
virtual voidFitSimpleTrackWgt()
voidTObject::MakeZombie()

Data Members

public:
enum EMode { kSimple
kT0
kFull
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
static const Int_tMAX_SIZEAssume no more than 16 hits per cluster
Double_tfChi2chi2 for the cluster
boolfFitOKFlag indicating that fit results valid
THaVDCHit*fHits[16][fSize] Hits associated w/this cluster
Double_tfInt
Double_tfLocalSlopeLocal slope, from FitTrack()
Double_tfNDoFNDoF in local chi2 calculation
THaVDCHit*fPivotPivot - hit with smallest drift time
THaVDCPlane*fPlanePlane the cluster belongs to
Double_tfSigmaIntIntercept and error
Double_tfSigmaSlopeSlope and error in slope
Double_tfSigmaT0Fitted common timing offset and error
Int_tfSizeSize of cluster (no. of hits)
Double_tfSlope
Double_tfT0
Double_tfTimeCorrectioncorrection to be applied when fitting
static const Double_tkBig

Class Charts

Inheritance Chart:
TObject
THaVDCCluster

Function documentation

THaVDCCluster( const THaVDCCluster& rhs )
 Copy constructor
THaVDCCluster& operator=(const THaVDCCluster& )
 Assignment operator
~THaVDCCluster()
 Destructor
void AddHit(THaVDCHit* hit)
Add a hit to the cluster
void Clear(Option_t* opt = "")
 Clear the contents of the cluster
void ClearFit()
 Clear fit results only
Int_t Compare(const TObject* obj) const
 Compare this cluster to another via the wire number of the pivot.
 Returns -1 if comparison cannot be made (unlike class, no pivot).
void EstTrackParameters()
 Estimate Track Parameters
 Calculates pivot wire and uses its position as position of cluster
 Estimates the slope based on the distance between the first and last
 wires to be hit in the U (or V) and detector Z directions
void ConvertTimeToDist()
 Convert TDC Times in wires to drift distances
void CalcDist()
 Calculate and store the distance of the fitted-track to the wires.
  We can then inspect the quality of the fits
void FitTrack(THaVDCCluster::EMode mode = kSimple)
 Fit track to drift distances. Supports three modes:

 kSimple:  Linear fit, ignore t0 and multihits
 kT0:      Fit t0, but ignore mulithits
 kFull:    Analyze multihits and fit t0

 FIXME: kT0 and kFull are not yet implemented. Identical to kSimple.
void FitSimpleTrack()
 Perform linear fit on drift times. Calculates slope, intercept, and errors.
 Assume t0 = 0.
void FitSimpleTrackWgt()
 Perform linear fit on drift times. Calculates slope, intercept, and errors.
 Does not assume the uncertainty is the same for all hits.

 Assume t0 = 0.
Int_t GetPivotWireNum()
 Get wire number of cluster pivot (hit with smallest drift distance)
void CalcChisquare(Double_t& chi2, Int_t& nhits) const
 given the parameters of the track (slope and intercept), calculate the
 residual chi2 for the cluster
void Print(Option_t* opt = "") const
 Print contents of cluster
THaVDCCluster( THaVDCPlane* owner = NULL )
{}
Bool_t IsSortable()
{ return kTRUE; }
THaVDCHit** GetHits()
Get and Set Functions
{ return fHits; }
THaVDCHit * GetHit(Int_t i) const
{ return fHits[i]; }
THaVDCPlane* GetPlane()
{ return fPlane; }
Int_t GetSize()
{ return fSize; }
Double_t GetSlope()
{ return fSlope; }
Double_t GetLocalSlope()
{ return fLocalSlope; }
Double_t GetSigmaSlope()
{ return fSigmaSlope; }
Double_t GetIntercept()
{ return fInt; }
Double_t GetSigmaIntercept()
{ return fSigmaInt; }
THaVDCHit* GetPivot()
{ return fPivot; }
Double_t GetTimeCorrection()
{ return fTimeCorrection; }
bool IsFitOK()
{ return fFitOK; }
void SetPlane(THaVDCPlane* plane)
{ fPlane = plane; }
void SetIntercept(Double_t intercept)
{ fInt = intercept; }
void SetSlope(Double_t slope)
{ fSlope = slope;}
void SetPivot(THaVDCHit* piv)
{ fPivot = piv; }
void SetTimeCorrection(Double_t deltat)
    void SetUVTrack(THaVDCUVTrack * uvtrack) {fUVTrack = uvtrack;}
    void SetTrack(THaTrack * track) {fTrack = track;}
{ fTimeCorrection = deltat; }

Last change: Sat Nov 7 21:26:55 2009
Last generated: 2009-11-07 21:26

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.