#include "hmdcwiredata.h"

HMdcWireData


class description - source file - inheritance tree (.pdf)

class HMdcWireData : public TObject

Inheritance Chart:
TObject
<-
HMdcWireData
    private:
void setInitVal() public:
HMdcWireData() HMdcWireData(const HMdcWireData&) ~HMdcWireData() void addToTOffsetErr(HMdcTrackParam& par) void calcAnalytDeriv(HMdcTrackParam& par, Int_t flag = 0) void calcDevAndFunct(HMdcTrackParam& par) void calcDriftTime(HMdcTrackParam& par) void calcDriftTimeAndErr(HMdcTrackParam& par) void calcDriftTimeAndErrAndInCell(HMdcTrackParam& par) void calcDriftTimeAndFunct(HMdcTrackParam& par) void calcDriftTimeAndInCell(HMdcTrackParam& par) void calcDriftTimeForDeriv(HMdcTrackParam& par) void calcDTdPar(Int_t par, Double_t oneDv2Step) void calcFunctional(HMdcTrackParam& par) void calcFunctionalForDer(HMdcTrackParam& par) void calcTdcErrors(HMdcTrackParam& par) static TClass* Class() void fillLookupTableForDer(HMdcTrackParam& par) void fillWireFitCont(HMdcWireFit* fWireFit) const void fillWireFitSimCont(HMdcWireFit* fWireFit, Int_t trackNum) const void getAddress(Int_t& s, Int_t& m, Int_t& l, Int_t& c, Int_t& it) Double_t getAlpha() const Int_t getCell() const Double_t getChi2() const Double_t getDev() const Double_t getDistance() const Double_t getDrTime() const Double_t getDrTimeDer() const Double_t getErrTdcTime() const Int_t getGeantTrackNum() const Char_t getHitStatus() const Bool_t getIsWireUsed() Int_t getLayer() const void getLocation(HLocation& loc) const Int_t getModule() const Double_t getOneDErrTdcTime2() const HMdcSizesCellsLayer* getSCLayer() const Int_t getSector() const Short_t getSequentialIndex() const Int_t getSequentialLayNum() const Double_t getSignalTimeOffset() const Double_t getTdcTime() const Double_t getTdcTimeCal1() const Int_t getTimeIndx() const Double_t getWeight() const Double_t getWtNorm() const void initDTdPar(Int_t par) virtual TClass* IsA() const Bool_t isAddressEq(Int_t s, Int_t m, Int_t l, Int_t c) Bool_t isInCell() const Bool_t isPassedFit() const HMdcWireData& operator=(const HMdcWireData&) void printIfDeleted() const void printTime(Int_t iflag, HMdcTrackParam& par, Bool_t isGeant = kFALSE) void recalcFunctional(HMdcTrackParam& par) Bool_t removeIfOneDistOutCell(HMdcWireData* wire2, HMdcList24GroupCells& list) Bool_t removeIfWeightLess(Double_t wtCut, HMdcList24GroupCells& list) Bool_t removeOneTimeIfItDoubleTime(HMdcWireData* time1, HMdcList24GroupCells& list) void removeThisWire(HMdcList24GroupCells& list) static void setCal2Par(HMdcCal2Par* c2par) void setCell(Int_t s, Int_t m, Int_t l, Int_t c, Int_t it, Float_t t) void setCell(HMdcCal1* cal1, Int_t it, Bool_t isGeant = kFALSE) static void setDriftTimePar(HMdcDriftTimePar* par) void setErrTdcTime(Double_t err) void setGradP(Double_t* gr, TMatrixD* gr2, TMatrixD* mH) void setHitStatM1toP1() void setHitStatus(Int_t st) void setNegTdcTimeTo0() void setSequentialIndex(Short_t i) void setSignalTimeOffset(Double_t offset) void setSizesCellsLayer(HMdcSizesCellsLayer* fscl) void setTukeyWeight(Double_t cwSig, Double_t c2Sig, Double_t c4Sig, Double_t& sumWt, Double_t& funct) void setTukeyWeight(Double_t cwSig, Double_t c2Sig, Double_t c4Sig) void setUnitWeight() void setWeightAndWtNorm(Double_t wt) void setWeightTo1or0(Double_t maxChi2, Double_t minWeight) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) void subtractWireOffset(HMdcTrackParam& par, Double_t sigSpeed) Bool_t testWeight1or0(Double_t maxChi2, Double_t minWeight) Int_t unsetFittedHit(HMdcList24GroupCells& list) const

Data Members


    protected:
Int_t sector MDC sector Int_t module MDC module Int_t layer MDC layer Int_t cell MDC cell Int_t timeIndx =1->time1, =2->time2 in HMdcCal1 Double_t tdcTimeCal1 drift time from HMdcCal1 HMdcCal1* fMdcCal1 pointer to the corresponding HMdcCal1 object Double_t signalTimeOffset signal time offset (signal_path/signal_speed) Double_t tdcTime = tdcTimeCal1 - signal_time_offset Double_t errTdcTime drift time error Double_t driftTime calculated drift time Double_t dev0 = driftTime - tdcTime Double_t dev deviation = driftTime + time_offset - tdcTime Double_t chi2 deviation^2 = (dev/errTdcTime)^2 Double_t distance distance from track to wire Double_t alpha impact angle of track (see HMdcCal2ParSim) Bool_t inCell =kTRUE - track cross this cell Double_t weight weight of this hit in fit Bool_t isWireUsed kTRUE if wires is used on final fit step Char_t hitStatus =1 hit is used in fit Short_t sequentialIndex this object index in array Double_t* grad pointer to grad in HMdcWireArr TMatrixD* grad2 pointer to grad2 in HMdcWireArr TMatrixD* matrH pointer to matrH in HMdcWireArr Double_t y track parameters in wires coor. system. Double_t z Double_t dirY Double_t dirZ Double_t dYdP[4] dY/dX1,dY/dY1,dY/dX2,dY/dY2 Double_t dZdP[4] dZ/dX1,dZ/dY1,dZ/dX2,dZ/dY2 Double_t dDirYdP[4] dDirY/dX1,dDirY/dY1,dDirY/dX2,dDirY/dY2 Double_t dDirZdP[4] dDirZ/dX1,dDirZ/dY1,dDirZ/dX2,dDirZ/dY2 Double_t cd2DsdP2[4] coeff. for d2Dist/dPar(x1,y1,x2,y2) Double_t cd2DsdPkdPl[6] coeff. for d2Dist/dPkdPl, dVk/dPkdPl and Double_t cdVkdPl[6] dUk/dPkdPl. [i] is element in sym.matrix (4,4) Double_t cdUkdPl[6] [0-5] => (1,0),(2,0),(2,1),(3,0),(3,1),(3,2) Double_t oneDErrTdcTime2 1./(errTdcTime^2) Double_t wtNorm = weight/errTdcTime^2 Double_t driftTimeDer calculated drift time Double_t devDer deviation Double_t dTdPar[4] [4] for 4 parameters of track HMdcSizesCellsLayer* pSCLayer HMdcSizesCells[sector][module][layer] HMdcDriftTimeParBin* pDrTimeParBin static HMdcDriftTimePar* pDrTimePar static HMdcCal2Par* pCal2Par Int_t geantTrackNum geant track number Float_t tof geant time offset

Class Description


  HMdcWireData

    Class keep one wire data for track fitter.

  HMdcWireArr

    Array of HMdcWireData objects.



HMdcWireData(void)

void setCell(Int_t s, Int_t m, Int_t l, Int_t c, Int_t it, Float_t t)

void setCell(HMdcCal1* cal1, Int_t it, Bool_t isGeant)

void setInitVal(void)

void setUnitWeight(void)

void setNegTdcTimeTo0(void)

void setSignalTimeOffset(Double_t offset)
 must be called after setCell !

void calcTdcErrors(HMdcTrackParam& par)

void setWeightTo1or0(Double_t maxChi2, Double_t minWeight)

Bool_t testWeight1or0(Double_t maxChi2, Double_t minWeight)

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 derivativatives

void fillLookupTableForDer(HMdcTrackParam& par)

void calcAnalytDeriv(HMdcTrackParam& par,Int_t flag)
 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

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, HMdcList24GroupCells& list)
 function return kTRUE if hit is removed

Int_t unsetFittedHit(HMdcList24GroupCells& list) const

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(HMdcList24GroupCells& list)
 Removing of wire from list of cells and setting hitStatus to -1

Bool_t removeOneTimeIfItDoubleTime(HMdcWireData* time1, HMdcList24GroupCells& list)
 Removing time1 or time2 from one wire for double hit
 "this" must be for time2 !

Bool_t removeIfOneDistOutCell(HMdcWireData* wire2, HMdcList24GroupCells& list)
 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) const

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)

void setTukeyWeight(Double_t cwSig,Double_t c2Sig,Double_t c4Sig, Double_t& sumWt, Double_t& funct)

void setTukeyWeight(Double_t cwSig,Double_t c2Sig,Double_t c4Sig)

Bool_t isAddressEq(Int_t s, Int_t m, Int_t l, Int_t c)



Inline Functions


                        void ~HMdcWireData()
                        void setGradP(Double_t* gr, TMatrixD* gr2, TMatrixD* mH)
                        void setWeightAndWtNorm(Double_t wt)
                        void setHitStatus(Int_t st)
                        void setErrTdcTime(Double_t err)
                        void setSequentialIndex(Short_t i)
                        void setSizesCellsLayer(HMdcSizesCellsLayer* fscl)
                        void setCal2Par(HMdcCal2Par* c2par)
                        void setDriftTimePar(HMdcDriftTimePar* par)
                       Int_t getSector() const
                       Int_t getModule() const
                       Int_t getLayer() const
                       Int_t getCell() const
                       Int_t getTimeIndx() const
                    Double_t getTdcTimeCal1() const
                    Double_t getSignalTimeOffset() const
                    Double_t getTdcTime() const
                    Double_t getErrTdcTime() const
                    Double_t getDrTime() const
                    Double_t getDev() const
                    Double_t getChi2() const
                    Double_t getDistance() const
                    Double_t getAlpha() const
                      Bool_t isInCell() const
                    Double_t getWeight() const
                      Char_t getHitStatus() const
                    Double_t getOneDErrTdcTime2() const
                    Double_t getWtNorm() const
                    Double_t getDrTimeDer() const
                     Short_t getSequentialIndex() const
                       Int_t getGeantTrackNum() const
                      Bool_t getIsWireUsed()
        HMdcSizesCellsLayer* getSCLayer() const
                       Int_t getSequentialLayNum() const
                      Bool_t isPassedFit() const
                        void initDTdPar(Int_t par)
                        void setHitStatM1toP1()
                     TClass* Class()
                     TClass* IsA() const
                        void ShowMembers(TMemberInspector& insp, char* parent)
                        void Streamer(TBuffer& b)
                        void StreamerNVirtual(TBuffer& b)
                HMdcWireData HMdcWireData(const HMdcWireData&)
               HMdcWireData& operator=(const HMdcWireData&)


Last update: Fri Jan 26 12:18:45 2007


ROOT page - Class index - Class Hierarchy - Top of the page

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.