class HMdcWiresArr: public TObject

_HADES_CLASS_DESCRIPTION


  HMdcWireData

    Class keep one wire data for track fitter.

  HMdcWireArr

    Array of HMdcWireData objects.


Function Members (Methods)

public:
HMdcWiresArr()
HMdcWiresArr(const HMdcWiresArr&)
virtual~HMdcWiresArr()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Double_tcalcAGradAnalyt(HMdcTrackParam& par)
voidcalcAnalyticDerivatives1(HMdcTrackParam& par)
voidcalcAnalyticDerivatives2(HMdcTrackParam& par)
voidcalcDerivatives(HMdcTrackParam& par, Int_t iflag)
voidcalcDistanceSign(HMdcTrackParam& par)
Bool_tcalcErrorsAnalyt(HMdcTrackParam& par)
voidcalcFunctional(HMdcTrackParam& par, Int_t iflag)
Bool_tcalcInitialValue(HMdcTrackParam& par)
voidcalcLeftRight(HMdcTrackParam& par)
Bool_tcalcNGoodWiresAndChi2(HMdcTrackParam& par)
voidcalcSecondDeriv(HMdcTrackParam& par)
voidcalcTdcErrorsAndFunct(HMdcTrackParam& par, Int_t iflag = 0)
voidcalcTimeOffsetsErr(HMdcTrackParam& par)
voidcalcTrack(HGeomVector& P1, HGeomVector& V1, HGeomVector& P2, HGeomVector& V2, HGeomVector& P3, HGeomVector& V3, HGeomVector& P4, HGeomVector& V4, HMdcTrackParam& par)
Bool_tcalculateErrors(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
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
voidfillClusFitAndWireFit(HMdcClusFit* fClusFit)
voidfillClusFitSim(HMdcClusFit* fClusFit, HMdcTrackParam& par)
Bool_tfillListHits(HMdcEvntListCells* store)
Bool_tfillListHits(HMdcEvntListCells* store, HMdcClus* fCl1, HMdcClus* fCl2)
Bool_tfillListHits(HMdcClus* fCl1, HMdcClus* fCl2, HMdcClus* fCl3 = 0, HMdcClus* fCl4 = 0)
voidfillLookupTableForDer(HMdcTrackParam& par)
Bool_tfilterOfHits(HMdcTrackParam& par, Int_t iflag = 0)
voidfilterOfHitsConstSig(HMdcTrackParam& par, Double_t sig)
Bool_tfilterOfHitsV2(HMdcTrackParam& par, Int_t iflag = 0)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tfunctForDeriv(HMdcTrackParam& par, Int_t iflag = 0)
Double_tgetAGrad()
HMdcClus*getClust1()
HMdcClus*getClust2()
HMdcClus*getClust3()
HMdcClus*getClust4()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tgetFirstTimeInd() const
HMdcWireData*getFirstWire()
Double_t*getGrad()
TMatrixD&getGrad2Matr()
virtual const char*TObject::GetIconName() const
HMdcList24GroupCells&getInputListCells()
HMdcList24GroupCells&getInputListCells2()
Int_tgetLastTimeInd() const
HMdcWireData*getLastWire()
TMatrixD&getMatrH()
virtual const char*TObject::GetName() const
Int_tgetNCellsInInput(Int_t mod = -1, Int_t isec = -1)
Int_tgetNCellsInOutput(Int_t mod = -1, Int_t isec = -1)
Int_tgetNDriftTimes() const
Int_tgetNDrTmFirstSec() const
UChar_tgetNLayOrientInput()
UChar_tgetNLayOrientOutput()
Int_tgetNModulesInFit()
Int_tgetNumOfGoodWires()
Int_tgetNWiresInFit()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
HMdcList24GroupCells&getOutputListCells()
HMdcList24GroupCells&getOutputListCells2()
Int_tgetOutputNLayers() const
Int_tgetSector() const
Int_tgetSector2() const
Int_tgetSegment() const
Double_tgetSumOfWeights()
virtual const char*TObject::GetTitle() const
voidgetTrack(HMdcTrackParam& par, HMdcWireData* w1, HMdcWireData* w2, HMdcWireData* w3, HMdcWireData* w4, HMdcTrackParam& minPar, Double_t& minSumMod, Int_t& minNGoodWires)
virtual UInt_tTObject::GetUniqueID() const
HMdcWireData*getWireData(Int_t n)
HMdcWireData*getWiresArray()
Float_tgetXClst()
Float_tgetYClst()
Float_tgetZClst()
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_tisTwoSectorsData()
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)
HMdcWiresArr&operator=(const HMdcWiresArr&)
HMdcWireData&operator[](Int_t n)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidprintTimes(Int_t iflag, HMdcTrackParam& par)
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)
voidsetHitStatM1toP1()
voidsetInitWeghts(HMdcTrackParam& par)
voidsetNegTdcTimeTo0()
voidsetNumDriftTimes(Int_t nDrTm)
static voidTObject::SetObjectStat(Bool_t stat)
voidsetPrintFlag(Bool_t flag = kTRUE)
Bool_tsetRegionOfWires(Int_t mod, Int_t isec = -1)
voidsetSizeGrad2Matr(HMdcTrackParam& par)
voidsetTrackFitInOut(HMdcTrackFitInOut* pfio)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidsetUnitWeights()
voidsetWeightsTo1or0(HMdcTrackParam& par, Int_t iflag = 0)
voidsetXYZClust(Float_t x, Float_t y, Float_t z)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidsubtractWireOffset(HMdcTrackParam& par)
voidswitchOff(Int_t sec, Int_t mod, Int_t lay = -1, Int_t cell = -1)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Double_ttestFitResult()
Bool_ttestTukeyWeights(HMdcTrackParam& par)
Int_tunsetHits()
virtual voidTObject::UseCurrentStyle()
Double_tvalueOfFunctAndErr(HMdcTrackParam& par, Int_t iflag = 0)
Double_tvalueOfFunctional(HMdcTrackParam& par, Int_t iflag = 0)
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:
voidcalcDriftTime(HMdcTrackParam& par, Int_t iflag)
voidcalcDriftTimeAndErr(HMdcTrackParam& par, Int_t iflag)
voidcalcDTdPar(Int_t k, Double_t oneDv2StepD)
Bool_tcalcErrs(HMdcTrackParam& par)
HMdcWireData*findMinChi2()
Double_tfindNewSigm2(Int_t ntm)
voidgetGeantHitPoint(HMdcWireData* w, HGeantMdc* hit, Double_t& x, Double_t& y, Double_t& z)
voidinitDTdPar(Int_t k)
voidrecalcFunctional(HMdcTrackParam& par, Int_t iflag = 0)
voidsetListCells(HMdcEvntListCells* store)
voidsetListCells(HMdcClus* fCl1, HMdcClus* fCl2, HMdcClus* fCl3 = 0, HMdcClus* fCl4 = 0)
Bool_tsetTukeyWeights(Double_t sigma2)
Double_tsetTukeyWeightsAndCalcSigma2(Double_t sigma2)
voidsetWeightsTo1or0(Double_t maxChi2, Double_t minWeight)

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_tagrad
Int_tarraySizeSize of "wires" array
HMdcClus*fClst1
HMdcClus*fClst2is used for sector track(magnet off)
HMdcClus*fClst3
HMdcClus*fClst4
Int_tfirstTime
HMdcWireData*firstWire
HMdcWireData*firstWireInLay[48]first wire in layer
HMdcTrackFitInOut*fitInOut
Bool_tfprintdebuging print flag
Double_tgrad[4]Gradient of downhill direction
TMatrixDgrad2
HMdcList24GroupCellslInputCellssells list for fitting (input)
HMdcList24GroupCellslInputCells2sells list for fitting (input)
HMdcList24GroupCellslOutputCellscells list passed fit
HMdcList24GroupCellslOutputCells2cells list passed fit
Int_tlastTime
HMdcWireData*lastWire
HMdcWireData*lastWireInLay[48]last wire in layer
HLocationlocCal1location of HMdcCal1 object
TMatrixDmatrH
Int_tnDrTmFirstSecnumber of dr.time in first sector
Int_tnDriftTimesNumber of drift times in track
Int_tnMdcTimes[8]Num. of hits in MDC's ([4-7]-cosmic)
Int_tnModsInFitnumber of modules in this fit
Int_tnumOfGoodWiresnumber of wires passed fit
Int_tnumWiresClus[200]num.of wires in cluster for each tr.
Int_tnumWiresFit[200]num.of wires passed fit for each tr.
Int_tsectorsector
Int_tsector2sector
Int_tsegmentsegment (0,1 or 3)
Int_tsegment2segment (0,1 or 3)
Double_tsigma2last sigma^2 of chi2 distr. which
Int_ttrackNum[200]track numbers
HMdcWireData*wiresArray of HMdcWireData objects
Float_txClstcluster position on
Float_tyClstthe project plane
Float_tzClst

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMdcWiresArr(const HMdcWiresArr& )
~HMdcWiresArr(void)
void setNumDriftTimes(Int_t nDrTm)
Bool_t fillListHits(HMdcClus* fCl1, HMdcClus* fCl2, HMdcClus* fCl3 = 0, HMdcClus* fCl4 = 0)
 Filling list wire for fitting from cluster(s)
void setNegTdcTimeTo0(void)
Bool_t fillListHits(HMdcEvntListCells* store, HMdcClus* fCl1, HMdcClus* fCl2)
 Filling list wire for fitting from cluster(s),
 drift times from HMdcEvntListCells
void setListCells(HMdcClus* fCl1, HMdcClus* fCl2, HMdcClus* fCl3 = 0, HMdcClus* fCl4 = 0)
Bool_t fillListHits(HMdcEvntListCells* store)
 Filling list wire for fitting from cluster(s),
 drift times from HMdcEvntListCells
void setListCells(HMdcEvntListCells* store)
void fillLookupTableForDer(HMdcTrackParam& par)
Double_t testFitResult(void)
 Removing cells which has small weight or
 if min.distance outside of this cell for case when more than on wires
 in this layer passed fit and so on
 Can be tuned and checked ???).
void subtractWireOffset(HMdcTrackParam& par)
 Must be called after setCell !
void setHitStatM1toP1(void)
 if(hitStatus==-1) hitStatus=1
void switchOff(Int_t sec, Int_t mod, Int_t lay = -1, Int_t cell = -1)
Int_t unsetHits(void)
 removing cells passed fit
Int_t getNCellsInInput(Int_t mod = -1, Int_t isec = -1)
 Return number of cells in mdc module =mod in input list
 if mod<0 return number of cells in all mdc's of segment
 isec - sector index (0 or 1) for cosmic data only
 isec<0 && mod<0 return number of cells in all mdc's of two sectors
UChar_t getNLayOrientInput(void)
 Return list of layer: 6 bits, one bit per layer
UChar_t getNLayOrientOutput(void)
 Return list of layer: 6 bits, one bit per layer
Int_t getNCellsInOutput(Int_t mod = -1, Int_t isec = -1)
 Return valid value after calling testFitResult() only !
 Return number of cells in mdc module =mod passed fit
 if mod<0 return number of cells in all mdc's of segment
Bool_t calcNGoodWiresAndChi2(HMdcTrackParam& par)
void fillClusFitAndWireFit(HMdcClusFit* fClusFit)
void fillClusFitSim(HMdcClusFit* fClusFit, HMdcTrackParam& par)
void getGeantHitPoint(HMdcWireData* w, HGeantMdc* hit, Double_t& x, Double_t& y, Double_t& z)
 Transformation of geant mdc hit in coor.sys. of sector.
 x,y,z - [mm]
void calcTdcErrorsAndFunct(HMdcTrackParam& par, Int_t iflag = 0)
 alphaDrDist and timeOffsets must be calculated befor this function!
Double_t valueOfFunctional(HMdcTrackParam& par, Int_t iflag = 0)
 iflag:
   0 - setting minimal val. of time offset    and no print (default value)
   1 - setting minimal val. of time offset    and print if fprint=kTRUE
   2 - no setting minimal val. of time offset, calculation of inCell[time]
                                              and print if fprint=kTRUE
Double_t valueOfFunctAndErr(HMdcTrackParam& par, Int_t iflag = 0)
 iflag:
   0 - setting minimal val. of time offset    and no print (default value)
   1 - setting minimal val. of time offset    and print if fprint=kTRUE
   2 - no setting minimal val. of time offset, calculation of inCell[time]
                                              and print if fprint=kTRUE
Bool_t setRegionOfWires(Int_t mod, Int_t isec = -1)
void setWeightsTo1or0(Double_t maxChi2, Double_t minWeight)
Bool_t testTukeyWeights(HMdcTrackParam& par)
HMdcWireData* findMinChi2(void)
 finding wire with minimal chi2
void initDTdPar(Int_t k)
void calcDTdPar(Int_t k, Double_t oneDv2StepD)
void calcDriftTime(HMdcTrackParam& par, Int_t iflag)
void calcDriftTimeAndErr(HMdcTrackParam& par, Int_t iflag)
void calcFunctional(HMdcTrackParam& par, Int_t iflag)
void recalcFunctional(HMdcTrackParam& par, Int_t iflag = 0)
 Recalculation of finctional without calculation of ditances
 (for the same parameters as before)
 iflag:
   0 - setting minimal val. of time offset    and no print (default value)
   1 - setting minimal val. of time offset    and print if fprint=kTRUE
   2 - no setting minimal val. of time offset and print if fprint=kTRUE
Double_t functForDeriv(HMdcTrackParam& par, Int_t iflag = 0)
 Calculation of finctional for derivatives.
 functional for par must be calc. before this !!!
 iflag:
   !=2 - setting minimal val. of time offset
    =2 - no setting minimal val. of time offset
void calcDistanceSign(HMdcTrackParam& par)
Bool_t calcErrorsAnalyt(HMdcTrackParam& par)
 calculation of fit parameters errors analyticaly
Bool_t calculateErrors(HMdcTrackParam& par)
 calculation of fit parameters errors numer.
Bool_t calcErrs(HMdcTrackParam& par)
void calcTimeOffsetsErr(HMdcTrackParam& par)
 Calculation of time offset error
void printTimes(Int_t iflag, HMdcTrackParam& par)
Double_t getSumOfWeights(void)
Double_t findNewSigm2(Int_t ntm)
Double_t setTukeyWeightsAndCalcSigma2(Double_t sigma2)
Bool_t setTukeyWeights(Double_t sigma2)
 return kTRUE if sigma2 was increased due to small amount of wires
 after filtering (<5)
Bool_t filterOfHits(HMdcTrackParam& par, Int_t iflag = 0)
 Filtering of bad hits using Tukey weights
 return kTRUE new weights was calculated
 seychas eto ne tak!!!
Kak chasto nado fil'trovat'
Bool_t filterOfHitsV2(HMdcTrackParam& par, Int_t iflag = 0)
 Filtering of bad hits using Tukey weights
 return kTRUE new weights was calculated
 seychas eto ne tak!!!
Kak chasto nado fil'trovat'
void filterOfHitsConstSig(HMdcTrackParam& par, Double_t sig)
 Filtering of bad hits using Tukey weights
 return kTRUE new weights was calculated
void setWeightsTo1or0(HMdcTrackParam& par, Int_t iflag)
void setUnitWeights(void)
 Setting all weights to 1.
void setSizeGrad2Matr(HMdcTrackParam& par)
 Seting of sizes of gradient matrix.
void calcDerivatives(HMdcTrackParam& par, Int_t iflag)
 Numerical calculation of the fit parameters derivatives
 iflag<2 - calculate the diagonal elements of the grad2 matrix only
 else    - calculate the full grad2 matrix
void calcAnalyticDerivatives1(HMdcTrackParam& par)
 Analytical calculation of the fit parameters derivatives
 for the first min.method:
 calculate the first der. and the diagonal elements of the grad2 matrix
Double_t calcAGradAnalyt(HMdcTrackParam& par)
void calcAnalyticDerivatives2(HMdcTrackParam& par)
 Analytical calculation of the fit parameters derivatives
 for the second min.method.
 Calculate the first der. and all elements of the grad2 matrix
void calcSecondDeriv(HMdcTrackParam& par)
 For errors calculation
void setInitWeghts(HMdcTrackParam& par)
Int_t getOutputNLayers(void)
Bool_t calcInitialValue(HMdcTrackParam& par)
void getTrack(HMdcTrackParam& par, HMdcWireData* w1, HMdcWireData* w2, HMdcWireData* w3, HMdcWireData* w4, HMdcTrackParam& minPar, Double_t& minSumMod, Int_t& minNGoodWires)
void calcLeftRight(HMdcTrackParam& par)
void calcTrack(HGeomVector& P1, HGeomVector& V1, HGeomVector& P2, HGeomVector& V2, HGeomVector& P3, HGeomVector& V3, HGeomVector& P4, HGeomVector& V4, HMdcTrackParam& par)
Int_t getSector(void)
{return sector;}
HMdcWiresArr(const HMdcWiresArr& )
void setPrintFlag(Bool_t flag = kTRUE)
{fprint=flag;}
void setXYZClust(Float_t x, Float_t y, Float_t z)
{xClst=x; yClst=y;zClst=z;}
HMdcWireData* getWiresArray(void)
{return wires;}
HMdcWireData* getWireData(Int_t n)
HMdcWireData& operator[](Int_t n)
{return wires[n];}
Int_t getSegment(void)
{return segment;}
Int_t getNDriftTimes(void)
{return nDriftTimes;}
Int_t getNDrTmFirstSec(void)
{return nDrTmFirstSec;}
Int_t getFirstTimeInd(void)
{return firstTime;}
Int_t getLastTimeInd(void)
{return lastTime;}
Int_t getNumOfGoodWires(void)
{return numOfGoodWires;}
Int_t getNModulesInFit(void)
{return nModsInFit;}
Int_t getNWiresInFit(void)
{return lastTime-firstTime;}
HMdcWireData* getFirstWire(void)
{return firstWire;}
HMdcWireData* getLastWire(void)
{return lastWire;}
HMdcClus* getClust1(void)
{return fClst1;}
HMdcClus* getClust2(void)
{return fClst2;}
HMdcClus* getClust3(void)
{return fClst3;}
HMdcClus* getClust4(void)
{return fClst4;}
HMdcList24GroupCells& getOutputListCells(void)
{return lOutputCells;}
HMdcList24GroupCells& getOutputListCells2(void)
{return lOutputCells2;}
HMdcList24GroupCells& getInputListCells(void)
{return lInputCells;}
HMdcList24GroupCells& getInputListCells2(void)
{return lInputCells2;}
Bool_t isTwoSectorsData(void)
{return sector2>=0;}
Int_t getSector2(void)
{return sector2;}
void setTrackFitInOut(HMdcTrackFitInOut* pfio)
{fitInOut=pfio;}
TMatrixD& getGrad2Matr(void)
{return grad2;}
TMatrixD& getMatrH(void)
{return matrH;}
Double_t* getGrad(void)
{return grad;}
Double_t getAGrad(void)
{return agrad;}
Float_t getXClst(void)
{return xClst;}
Float_t getYClst(void)
{return yClst;}
Float_t getZClst(void)
{return zClst;}

Last change: Sat May 22 13:04:30 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.