class HMdcHit: public HMdcCellGroup6

_HADES_CLASS_DESCRIPTION

 HMdcHit

	This class represents one hit in one of the MDC
 planes. A hit is defined as a piece of a straight line
 reconstructed by a MDC chamber. It is, therefore, the highest
 level of information an individual chamber can provide.

	The coordinate system used in the MDC is the local
 MDC coordinate system. That is, in the z-midplane. For a
 particle moving outwards in the spectrometer, the z-midplane is
 defined at the entrance into the fourth cathode plane. x and y are
 expressed in mm

	xDir,yDir are the components of the three dimensional
 tangent unit vector to the track in the z-midplane, values equal
 to -1 indicate that the direction has not been calculated

      cov is the 5x5 covariance matrix of the fit.

 	The base class HMdcCellGroup  provides a mechanism to know
      which cells contributed to a particular hit. This info is retrieved
      with the following functions of this base class:

 * Int_t getNCells(Int_t layer)
	Returns the number of cells in layer "layer" which contributed
	to the hit.

 * Int_t getCell(Int_t layer,Int_t idx)
      For idx=0 returns the cell number of the first fired cell
      For idx=1 returns the cell number of the second fired cell
	.... (maximum idx=3)

 * Int_t HMdcHit::getSignId(Int_t layer,Int_t idx)
	Returns signal id (time/distance) in cell designed by
	idx (same criterium as before).

 * Int_t setSignId(Int_t layer,Int_t cell, Int_t t1,t2=0,t3=0,t4=0)
	Sets the signal ids and base cell number for layer "layer"
	Input:
	  layer --> Number of layer to set
	  cell  --> Number of the first cell fired in this layer
	  t1 - t4 --> SignalId for cells: "cell"+0, "cell"+1 ... "cell"+4
	              Possible values are:
	                0 --> This cell has not fired
	                1 --> First signal (time/distance) was used
	                2 --> Second signal (time/distance) was used

 * Short_t getTrackFinder()
      Returns the type of track finder (Dubna, Santiago, ...)
      For Dubna track finder it retutns 1.

    The meanings of data member "index" depend from type of track finder
 (Dubna, Santiago, ...)

 Dubna track finder:
   "index" is index of HMdcClusInf object
   in category catMdcClusInf (see mdctrackD/hmdcclusinf.cc)
   Function  getClusInfIndex() return this index.

   Number and oder of HMdcClusInf objects in catMdcClusInf
   are the very same as number and order of HMdcHit objects in
   catMdcHit. You can use it in T->Draw(...) function:
   T-Draw("HMdcHit.fData.y : HMdcClusInf.fData.clusSize", ...)


Function Members (Methods)

public:
HMdcHit()
HMdcHit(const HMdcHit&)
virtual~HMdcHit()
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
voidClear()
voidHMdcCellGroup6::clear()
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 = "")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
Int_tHMdcCellGroup::getCell(Int_t layer, Int_t idx)
Float_tgetChi2()
Short_tgetClusInfIndex()
HSymMat&getCovariance()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Float_tgetErrOffset()
voidgetErrPar(Float_t& p1, Float_t& p2, Float_t& p3, Float_t& p4, Float_t& p5)
Float_tgetErrX()
Float_tgetErrXDir()
Float_tgetErrY()
Float_tgetErrYDir()
Int_tgetFlag()
virtual const char*TObject::GetIconName() const
Int_tgetModule()
virtual const char*TObject::GetName() const
Int_tHMdcCellGroup::getNCells(Int_t layer)
Int_tHMdcCellGroup6::getNLayers()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
voidgetOff(Float_t& off, Float_t& err)
Float_tgetOffset()
virtual Option_t*TObject::GetOption() const
voidgetPar(Float_t& p1, Float_t& p2, Float_t& p3, Float_t& p4, Float_t& p5)
Float_tgetPhi()
voidgetSecMod(Int_t& isec, Int_t& imod)
Int_tgetSector()
Int_tHMdcCellGroup::getSignId(Int_t layer, Int_t idx)
Int_tHMdcCellGroup6::getSumWires()
Float_tgetTheta()
virtual const char*TObject::GetTitle() const
Short_tgetTrackFinder()
virtual UInt_tTObject::GetUniqueID() const
Float_tgetX()
voidgetX(Float_t& xl, Float_t& errx)
Float_tgetXDir()
voidgetXDir(Float_t& xl, Float_t& errx)
voidgetXY(Float_t& xl, Float_t& errx, Float_t& yl, Float_t& erry)
voidgetXYDir(Float_t& xl, Float_t& errx, Float_t& yl, Float_t& erry)
Float_tgetY()
voidgetY(Float_t& yl, Float_t& erry)
Float_tgetYDir()
voidgetYDir(Float_t& yl, Float_t& erry)
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
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() 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)
HMdcHit&operator=(const HMdcHit&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
voidprint()
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)
voidsetChi2(const Float_t chl)
voidsetClusInfIndex(const Short_t ind)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetFlag(const Int_t fl)
voidsetModule(Int_t imod)
static voidTObject::SetObjectStat(Bool_t stat)
voidsetOff(const Float_t off, const Float_t err)
voidsetPar(const Float_t xl, const Float_t yl, const Float_t xDirl, const Float_t yDirl, const Float_t offl)
voidsetPar(const Float_t xl, const Float_t erXl, const Float_t yl, const Float_t erYl, const Float_t xDirl, const Float_t erXDirl, const Float_t yDirl, const Float_t erYDirl, const Float_t offl, const Float_t erOffl)
voidsetSecMod(const Int_t is, const Int_t im)
voidsetSector(Int_t isec)
voidHMdcCellGroup::setSignId(Int_t layer, Int_t cell, Int_t t1, Int_t t2 = 0, Int_t t3 = 0, Int_t t4 = 0)
voidsetTrackFinder(Short_t trfn)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidsetX(const Float_t xl, const Float_t err)
voidsetXDir(const Float_t xl, const Float_t err)
voidsetXY(const Float_t xl, const Float_t errx, const Float_t yl, const Float_t erry)
voidsetXYDir(const Float_t xl, const Float_t errx, const Float_t yl, const Float_t erry)
voidsetY(const Float_t yl, const Float_t err)
voidsetYDir(const Float_t yl, const Float_t err)
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 voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidHMdcCellGroup::initLookups()
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
};
protected:
static UChar_tHMdcCellGroup::cellPosLookUp[4][256]!
Float_tchi2chi square per degree of freedom
HSymMat5covcovariance matrix of parameters
Int_tflaguser flag
UShort_tHMdcCellGroup6::iLayer[6]
Short_tindexindex of HMdcClusInf obj. |
static Bool_tHMdcCellGroup::lookUpsInitialized!
Int_tmodulemodule [0-3]
static UChar_tHMdcCellGroup::nCellsLookUp[256]!
Float_toffsettime offset [ns]
UShort_t*HMdcCellGroup::pLayer!pointer to layer information.
Int_tsectorsector [0-5]
Short_ttrFinder=1 - Dubna track finder (see hmdchit.cc)
Float_txx-coordinate of hit in MDC coordinate sys [mm]
Float_txDirx-direction of hit
Float_tyy-coordinate of hit in MDC coordinate sys [mm]
Float_tyDiry-direction of hit

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void Clear(void)
 reset data members to default values
void Streamer(TBuffer& b)
 Stream an object of class HMdcHit.
HMdcHit(const HMdcHit& )
 in catMdcClusInf category  |
{Clear();}
~HMdcHit(void)
{;}
void setX(const Float_t xl, const Float_t err)
void setY(const Float_t yl, const Float_t err)
void setXDir(const Float_t xl, const Float_t err)
void setYDir(const Float_t yl, const Float_t err)
void setOff(const Float_t off, const Float_t err)
void setXY(const Float_t xl, const Float_t errx, const Float_t yl, const Float_t erry)
void setXYDir(const Float_t xl, const Float_t errx, const Float_t yl, const Float_t erry)
void setPar(const Float_t xl, const Float_t yl, const Float_t xDirl, const Float_t yDirl, const Float_t offl)
void setChi2(const Float_t chl)
{chi2=chl;}
void setFlag(const Int_t fl)
{flag = fl;}
void setSecMod(const Int_t is, const Int_t im)
{sector=is; module=im;}
Float_t getX(void)
{ return x; }
Float_t getY(void)
{ return y; }
Float_t getXDir(void)
{ return xDir; }
Float_t getYDir(void)
{ return yDir; }
Float_t getOffset(void)
{ return offset; }
Float_t getErrX(void)
{ return cov.getErr(0); }
Float_t getErrY(void)
{ return cov.getErr(1); }
Float_t getErrXDir(void)
{ return cov.getErr(2); }
Float_t getErrYDir(void)
{ return cov.getErr(3); }
Float_t getErrOffset(void)
{ return cov.getErr(4); }
Float_t getTheta(void)
Float_t getPhi(void)
{ return TMath::ATan2(yDir,xDir); }
HSymMat & getCovariance(void)
{ return cov; }
void getX(Float_t& xl, Float_t& errx)
{xl=x; errx=cov.getErr(0);}
void getY(Float_t& yl, Float_t& erry)
{yl=y; erry=cov.getErr(1);}
void getXDir(Float_t& xl, Float_t& errx)
{xl=xDir; errx=cov.getErr(2);}
void getYDir(Float_t& yl, Float_t& erry)
{yl=yDir; erry=cov.getErr(3);}
void getXY(Float_t& xl, Float_t& errx, Float_t& yl, Float_t& erry)
void getXYDir(Float_t& xl, Float_t& errx, Float_t& yl, Float_t& erry)
void getOff(Float_t& off, Float_t& err)
{ off=offset; err=cov.getErr(4);}
void getPar(Float_t& p1, Float_t& p2, Float_t& p3, Float_t& p4, Float_t& p5)
void getErrPar(Float_t& p1, Float_t& p2, Float_t& p3, Float_t& p4, Float_t& p5)
Float_t getChi2(void)
{ return chi2;}
Int_t getFlag(void)
{ return flag;}
void getSecMod(Int_t& isec, Int_t& imod)
{isec=sector; imod=module;}
Int_t getSector(void)
{ return sector; }
Int_t getModule(void)
{ return module; }
void setSector(Int_t isec)
{sector=isec;}
void setModule(Int_t imod)
{module=imod;}
void print(void)
void setTrackFinder(Short_t trfn)
{trFinder=trfn;}
Short_t getTrackFinder(void)
{return trFinder;}
void setClusInfIndex(const Short_t ind)
 Methods for Dubna track finder:
{index=ind;}
Short_t getClusInfIndex(void)
{return index;}

Last change: Sat May 22 13:02:15 2010
Last generated: 2010-05-22 13:02

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.