class HMdcWireData: public TObject

_HADES_CLASS_DESCRIPTION


  HMdcWireData

    Class keep one wire data for track fitter.

  HMdcWireArr

    Array of HMdcWireData objects.


Function Members (Methods)

public:
HMdcWireData()
HMdcWireData(const HMdcWireData&)
virtual~HMdcWireData()
voidTObject::AbstractMethod(const char* method) const
voidaddToTOffsetErr(HMdcTrackParam& par)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidcalcAnalytDeriv(HMdcTrackParam& par, Int_t flag = 0)
voidcalcDevAndFunct(HMdcTrackParam& par)
voidcalcDistanceSign(HMdcTrackParam& par)
voidcalcDriftTime(HMdcTrackParam& par)
voidcalcDriftTimeAndErr(HMdcTrackParam& par)
voidcalcDriftTimeAndErrAndInCell(HMdcTrackParam& par)
voidcalcDriftTimeAndFunct(HMdcTrackParam& par)
voidcalcDriftTimeAndInCell(HMdcTrackParam& par)
Double_tcalcDriftTimeForAlign(const HGeomVector& p1, const HGeomVector& p2)
voidcalcDriftTimeForDeriv(HMdcTrackParam& par)
voidcalcDTdPar(Int_t par, Double_t oneDv2Step)
voidcalcFunctional(HMdcTrackParam& par)
voidcalcFunctionalForDer(HMdcTrackParam& par)
voidcalcLeftRight(HMdcTrackParam& par)
Double_tcalcMod(HMdcTrackParam& par)
voidcalcTdcErrors(HMdcTrackParam& par)
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 = "")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
voidexcludeWire()
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
voidfillLookupTableForDer(HMdcTrackParam& par)
voidfillWireFitCont(HMdcWireFit* fWireFit) const
voidfillWireFitSimCont(HMdcWireFit* fWireFit, Int_t trackNum) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidgetAddress(Int_t& s, Int_t& m, Int_t& l, Int_t& c, Int_t& it)
Double_tgetAlpha() const
Bool_tgetAnalytDeriv(Float_t* der, HMdcTrackParam* par = 0)
Int_tgetCell() const
Double_tgetChi2() const
Double_tgetDev() const
HGeomVector&getDirection()
Double_tgetDistance() const
Int_tgetDistanceSign() const
virtual Option_t*TObject::GetDrawOption() const
Double_tgetDrTime() const
Double_tgetDrTimeDer() const
static Long_tTObject::GetDtorOnly()
Double_tgetErrTdcTime() const
Int_tgetGeantTrackNum() const
Char_tgetHitStatus() const
virtual const char*TObject::GetIconName() const
Bool_tgetIsWireUsed()
Int_tgetLayer() const
voidgetLocation(HLocation& loc) const
Int_tgetModIndex() const
Int_tgetModule() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Double_tgetOneDErrTdcTime2() const
virtual Option_t*TObject::GetOption() const
HGeomVector&getPoint(Int_t side)
HMdcSizesCellsLayer*getSCLayer() const
Int_tgetSector() const
Short_tgetSequentialIndex() const
Int_tgetSequentialLayNum() const
Double_tgetSignalTimeOffset() const
Double_tgetTdcTime() const
Double_tgetTdcTimeCal1() const
Int_tgetTimeIndx() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tgetWeight() const
Double_tgetWtNorm() 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
voidinitDTdPar(Int_t par)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tisAddressEq(Int_t s, Int_t m, Int_t l, Int_t c)
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tisInCell() const
Bool_tTObject::IsOnHeap() const
Bool_tisPassedFit() const
virtual Bool_tTObject::IsSortable() const
Bool_tisWireFromSecondSec() 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)
HMdcWireData&operator=(const HMdcWireData&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidprintIfDeleted() const
voidprintTime(Int_t iflag, HMdcTrackParam& par, Bool_t isGeant = kFALSE)
virtual Int_tTObject::Read(const char* name)
voidrecalcFunctional(HMdcTrackParam& par)
virtual voidTObject::RecursiveRemove(TObject* obj)
Bool_tremoveIfOneDistOutCell(HMdcWireData* wire2)
Bool_tremoveIfWeightLess(Double_t wtCut)
Bool_tremoveOneTimeIfItDoubleTime(HMdcWireData* time1)
voidremoveThisWire()
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)
static voidsetCal2Par(HMdcCal2Par* c2par)
voidsetCell(HMdcCal1* cal1, Int_t it, Bool_t isGeant, Bool_t sSec = kFALSE)
voidsetCell(Int_t s, Int_t m, Int_t l, Int_t c, Int_t it, Float_t t, Bool_t sSec = kFALSE)
voidsetCellsLists(HMdcList24GroupCells* ils, HMdcList24GroupCells* ols)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidsetDriftTimePar(HMdcDriftTimePar* par)
static voidTObject::SetDtorOnly(void* obj)
voidsetErrTdcTime(Double_t err)
voidsetGradP(Double_t* gr, TMatrixD* gr2, TMatrixD* mH)
voidsetHitStatM1toP1()
voidsetHitStatus(Int_t st)
voidsetNegTdcTimeTo0()
static voidTObject::SetObjectStat(Bool_t stat)
voidsetSequentialIndex(Short_t i)
voidsetSignalTimeOffset(Double_t offset)
voidsetSizesCellsLayer(HMdcSizesCellsLayer* fscl)
Int_tsetTukeyWeight(Double_t cwSig, Double_t c2Sig, Double_t c4Sig, Double_t tukeyScale)
Int_tsetTukeyWeight(Double_t cwSig, Double_t c2Sig, Double_t c4Sig, Double_t tukeyScale, Double_t& sumWt, Double_t& funct)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidsetUnitWeight()
voidsetWeightAndWtNorm(Double_t wt)
voidsetWeightEq0()
voidsetWeightEq1()
Bool_tsetWeightTo1or0(Double_t maxChi2, Double_t minWeight)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidsubtractWireOffset(HMdcTrackParam& par, Double_t sigSpeed)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Bool_ttestWeight1or0()
Int_tunsetFittedHit()
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()
private:
voidfillLookupTableForDer(const HGeomTransform* trans, HMdcTrackParam& par)
voidsetInitVal()

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:
Double_talphaimpact angle of track (see HMdcCal2ParSim)
Double_tcd2DsdP2[4]coeff. for d2Dist/dPar(x1,y1,x2,y2)
Double_tcd2DsdPkdPl[6]coeff. for d2Dist/dPkdPl, dVk/dPkdPl and
Double_tcdUkdPl[6][0-5] => (1,0),(2,0),(2,1),(3,0),(3,1),(3,2)
Double_tcdVkdPl[6]dUk/dPkdPl. [i] is element in sym.matrix (4,4)
Int_tcellMDC cell
Double_tchi2deviation^2 = (dev/errTdcTime)^2
Double_tdDirYdP[4]dDirY/dX1,dDirY/dY1,dDirY/dX2,dDirY/dY2
Double_tdDirZdP[4]dDirZ/dX1,dDirZ/dY1,dDirZ/dX2,dDirZ/dY2
Double_tdTdP[4]deriv. of Tcalc for track parameters
Double_tdTdPar[4][4] for 4 parameters of track
Double_tdYdP[4]dY/dX1,dY/dY1,dY/dX2,dY/dY2
Double_tdZdP[4]dZ/dX1,dZ/dY1,dZ/dX2,dZ/dY2
Double_tdevdeviation = driftTime + time_offset - tdcTime
Double_tdev0= driftTime - tdcTime
Double_tdevDerdeviation
HGeomVectordirvectors needed for calculation
Double_tdirY
Double_tdirZ
Double_tdistancedistance from track to wire
Int_tdistanceSignIs calculated at the filling HMdcClusFit
Double_tdriftTimecalculated drift time
Double_tdriftTimeDercalculated drift time
Double_terrTdcTimedrift time error
HMdcCal1*fMdcCal1pointer to the corresponding HMdcCal1 obj.
Int_tgeantTrackNumgeant track number
Double_t*gradpointer to grad in HMdcWireArr
TMatrixD*grad2pointer to grad2 in HMdcWireArr
Char_thitStatus=1 hit is used in fit
Bool_tinCell=kTRUE - track cross this cell
Bool_tisSecondSec=kTRUE - for second sec. in track (cosmic data)
Bool_tisWireUsedkTRUE if wires is used on final fit step
Bool_tisWireUsedPrkTRUE if wires was used on the prev. step
HMdcList24GroupCells*lInCllInputCells object in HMdcWireData
HMdcList24GroupCells*lOutCllInputCells object in HMdcWireData
Int_tlayerMDC layer
TMatrixD*matrHpointer to matrH in HMdcWireArr
Int_tmodInd=mod if isSecondSec=kFALSE
Int_tmoduleMDC module
Double_toneDErrTdcTime21./(errTdcTime^2)
static HMdcCal2Par*pCal2Par
static HMdcDriftTimePar*pDrTimePar
HMdcDriftTimeParBin*pDrTimeParBin
HGeomVectorpLof initial weight
HGeomVectorpR
HMdcSizesCellsLayer*pSCLayerHMdcSizesCells[sector][module][layer]
Int_tsectorMDC sector
Short_tsequentialIndexthis object index in array
Double_tsignalTimeOffsetsignal time offset (signal_path/signal_speed)
Double_ttdcTime= tdcTimeCal1 - signal_time_offset
Double_ttdcTimeCal1drift time from HMdcCal1
Int_ttimeIndx=1->time1, =2->time2 in HMdcCal1
Float_ttofgeant time offset
Bool_tuseInFit
Double_tweightweight of this hit in fit
Double_twtNorm= weight/errTdcTime^2
Double_tytrack parameters in wires coor. system.
Double_tz

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMdcWireData(const HMdcWireData& )
void setCell(Int_t s, Int_t m, Int_t l, Int_t c, Int_t it, Float_t t, Bool_t sSec = kFALSE)
void setCell(HMdcCal1* cal1, Int_t it, Bool_t isGeant, Bool_t sSec = kFALSE)
void setInitVal(void)
void setUnitWeight(void)
void setNegTdcTimeTo0(void)
  if(tdcTimeCal1<0.) tdcTimeCal1=0.; // dlya CC e+e- ok.; pp???!!!!!!!
void setSignalTimeOffset(Double_t offset)
 must be called after setCell !
void calcTdcErrors(HMdcTrackParam& par)
Bool_t setWeightTo1or0(Double_t maxChi2, Double_t minWeight)
void setWeightEq1(void)
void setWeightEq0(void)
Bool_t testWeight1or0(void)
void calcDistanceSign(HMdcTrackParam& par)
void calcDriftTime(HMdcTrackParam& par)
 calculation of distance to the wire, impact ang. and drift time
void calcDriftTimeAndErr(HMdcTrackParam& par)
 calculation of distance to the wire, impact ang., drift time
 and drift time error
void calcDriftTimeAndInCell(HMdcTrackParam& par)
 calculation of distance to the wire, impact ang. and drift time
void calcDriftTimeAndErrAndInCell(HMdcTrackParam& par)
 calculation of distance to the wire, impact ang., drift time
 and drift time error
void calcDriftTimeForDeriv(HMdcTrackParam& par)
 calculation drift time for derivatives
Double_t calcDriftTimeForAlign(const HGeomVector& p1, const HGeomVector& p2)
 p1,p2 - in ROTATED LAYER COOR.SYS.!!!
 For calculation of alignment parameters derivatives only
void fillLookupTableForDer(HMdcTrackParam& par)
void fillLookupTableForDer(const HGeomTransform* trans, HMdcTrackParam& par)
void calcAnalytDeriv(HMdcTrackParam& par, Int_t flag = 0)
 calculation of the first and second derivatives
 flag=0 - grad calculation only
 flag=1 - calculation first derivatives only
 flag=2 - calculation first and second derivatives
 flag=3 - calculation first and second derivatives +  errors
Bool_t getAnalytDeriv(Float_t* der, HMdcTrackParam* par = 0)
 This funct. is used in alignment only & must be called after track seg.fit.
 "par" - track parameters after track seg.fit.
 Return the derivatives dTcalc/dPk. k = 0,1,2,3
 If par==0 - time offset is assumed constant,
 else - dTof/dPk is added to dTcalc/dPk.
 Size of "der" must be >=4 !
void recalcFunctional(HMdcTrackParam& par)
 Recalculation of finctional without calculation of ditances
 (for the same parameters as before)
void calcFunctional(HMdcTrackParam& par)
void calcFunctionalForDer(HMdcTrackParam& par)
void calcDevAndFunct(HMdcTrackParam& par)
void getAddress(Int_t& s, Int_t& m, Int_t& l, Int_t& c, Int_t& it)
Bool_t removeIfWeightLess(Double_t wtCut)
 function return kTRUE if hit is removed
Int_t unsetFittedHit(void)
void getLocation(HLocation& loc) const
void fillWireFitCont(HMdcWireFit* fWireFit) const
 Filling of HMdcWireFit container
void fillWireFitSimCont(HMdcWireFit* fWireFit, Int_t trackNum) const
 Filling of HMdcWireFit container
void removeThisWire(void)
 Removing of wire from list of cells and setting hitStatus to -1
Bool_t removeOneTimeIfItDoubleTime(HMdcWireData* time1)
 Removing time1 or time2 from one wire for double hit
 "this" must be for time2 !
Bool_t removeIfOneDistOutCell(HMdcWireData* wire2)
 Removing "this" or wire2 from the same layer in "distance" out of cell
 return kTRUE if one wire is removed
void calcDriftTimeAndFunct(HMdcTrackParam& par)
 Calculation of functional without recalculation of time offset!
 (for investigation of finctional)
void calcDTdPar(Int_t par, Double_t oneDv2Step)
void printIfDeleted(void)
void subtractWireOffset(HMdcTrackParam& par, Double_t sigSpeed)
 Subtraction of wire time offset
! Function getSignPath(,,,,,,,Float_t outside) can be used for fake finding
void addToTOffsetErr(HMdcTrackParam& par)
void printTime(Int_t iflag, HMdcTrackParam& par, Bool_t isGeant = kFALSE)
Int_t setTukeyWeight(Double_t cwSig, Double_t c2Sig, Double_t c4Sig, Double_t tukeyScale, Double_t& sumWt, Double_t& funct)
Int_t setTukeyWeight(Double_t cwSig, Double_t c2Sig, Double_t c4Sig, Double_t tukeyScale)
Bool_t isAddressEq(Int_t s, Int_t m, Int_t l, Int_t c)
void calcLeftRight(HMdcTrackParam& par)
Double_t calcMod(HMdcTrackParam& par)
HMdcWireData(const HMdcWireData& )
~HMdcWireData(void)
{}
void setGradP(Double_t* gr, TMatrixD* gr2, TMatrixD* mH)
{grad=gr; grad2=gr2; matrH=mH;}
void setCellsLists(HMdcList24GroupCells* ils, HMdcList24GroupCells* ols)
void setWeightAndWtNorm(Double_t wt)
void setHitStatus(Int_t st)
{hitStatus=st;}
void setErrTdcTime(Double_t err)
{errTdcTime=err;}
void setSequentialIndex(Short_t i)
{sequentialIndex=i;}
void setSizesCellsLayer(HMdcSizesCellsLayer* fscl)
{pSCLayer=fscl;}
void setCal2Par(HMdcCal2Par* c2par)
{pCal2Par=c2par;}
void setDriftTimePar(HMdcDriftTimePar* par)
{pDrTimePar=par;}
void excludeWire(void)
{useInFit=kFALSE;}
Int_t getSector(void)
{return sector;}
Int_t getModule(void)
{return module;}
Int_t getModIndex(void)
{return modInd;}
Int_t getLayer(void)
{return layer;}
Int_t getCell(void)
{return cell;}
Int_t getTimeIndx(void)
{return timeIndx;}
Double_t getTdcTimeCal1(void)
{return tdcTimeCal1;}
Double_t getSignalTimeOffset(void)
{return signalTimeOffset;}
Double_t getTdcTime(void)
{return tdcTime;}
Double_t getErrTdcTime(void)
{return errTdcTime;}
Double_t getDrTime(void)
{return driftTime;}
Double_t getDev(void)
{return dev;}
Double_t getChi2(void)
{return chi2;}
Double_t getDistance(void)
{return distance;}
Int_t getDistanceSign(void)
{return distanceSign;}
Double_t getAlpha(void)
{return alpha;}
Bool_t isInCell(void)
{return inCell;}
Double_t getWeight(void)
{return weight;}
Char_t getHitStatus(void)
{return hitStatus;}
Double_t getOneDErrTdcTime2(void)
{return oneDErrTdcTime2;}
Double_t getWtNorm(void)
{return wtNorm;}
Double_t getDrTimeDer(void)
{return driftTimeDer;}
Short_t getSequentialIndex(void)
{return sequentialIndex;}
Int_t getGeantTrackNum(void)
{return geantTrackNum;}
Bool_t getIsWireUsed(void)
{return isWireUsed;}
HMdcSizesCellsLayer* getSCLayer(void)
{return pSCLayer;}
Bool_t isWireFromSecondSec(void)
{return isSecondSec;}
Int_t getSequentialLayNum(void)
{return layer+modInd*6;}
Bool_t isPassedFit(void)
{return hitStatus==1&&weight>0.1;}
void initDTdPar(Int_t par)
{if(hitStatus==1) dTdPar[par]=driftTimeDer;}
void setHitStatM1toP1(void)
{if(hitStatus==-1) hitStatus=1;}
HGeomVector& getDirection(void)
{return dir;}
HGeomVector& getPoint(Int_t side)
{return side ? pR:pL;}

Last change: Sat May 22 13:04:23 2010
Last generated: 2010-05-22 13:04

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.