class HMdcTrackFitter: public TObject

_HADES_CLASS_DESCRIPTION


 HMdcTrackFitInOut

 Service class for for Dubna track piece fitters


 HMdcTrackFitter

 Base class for Dubna track piece fitters


Function Members (Methods)

public:
HMdcTrackFitter(HMdcTrackFitInOut* fIO)
HMdcTrackFitter(const HMdcTrackFitter&)
virtual~HMdcTrackFitter()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidcalcMinFunctional()
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
Bool_tfillClusFitCont()
Bool_tfillListHits(HMdcEvntListCells* store)
Bool_tfillListHits(HMdcClus* clus1, HMdcClus* clus2)
Bool_tfillListHits(HMdcEvntListCells* store, HMdcClus* clus1, HMdcClus* clus2)
Bool_tfillListHits(HMdcClus* clus1, HMdcClus* clus2, HMdcClus* clus3, HMdcClus* clus4)
voidfillOutput()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tfitCluster(Int_t fittingMod = -1)
Double_tgetChi2() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Char_tgetExitFlag() const
HMdcTrackParam*getFinalParam()
Bool_tgetFitStatus() const
virtual Double_tgetFunctional() const
Double_tgetFunMin() const
virtual const char*TObject::GetIconName() const
Int_tgetIndClusFit() const
HMdcTrackParam*getInitParam()
Int_tgetIterationNumber() const
virtual const char*TObject::GetName() const
Int_tgetNumOfParam() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tgetSegIndex() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
HMdcWireData&getWire(Int_t n)
HMdcWiresArr&getWiresArr()
HMdcWireData*getWiresList()
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 Int_tminimize(Int_t iter = 0)
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)
HMdcTrackFitter&operator=(const HMdcTrackFitter&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
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)
Bool_tsetClustAndFill(HMdcClus* fClst1, HMdcClus* fClst2 = 0)
Bool_tsetClustAndFill(HMdcClus* fClst1, HMdcClus* fClst2, HMdcClus* fClst3, HMdcClus* fClst4)
Bool_tsetClustAndFill(HMdcEvntListCells* store, Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetFitStatus(Bool_t st)
voidsetModuleTof()
static voidTObject::SetObjectStat(Bool_t stat)
voidsetPrintFlag(Bool_t prnt)
voidsetRegionOfWires(Int_t mod = -1)
voidsetSectorTof()
voidsetSegIndex(Int_t si)
voidsetSegmentTof()
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidswitchOffWires(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
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
voidinit()
voidTObject::MakeZombie()
voidsetPlanes()
Bool_ttestChi2Cut()

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:
Char_texitFlagflag of track fitter exit (=1,2,3,4,5)
HMdcCal2Par*fCal2Par
HMdcCal2ParSim*fCal2ParSim
HMdcTrackParamfinalParamfinal track parameters
HMdcTrackFitInOut*fitInOut
Bool_tfitStatus=kTRUE if cluster fit accepted
Bool_tfprintflag for control print-out
Int_tindClusFitHMdcClusFit object index
HMdcTrackParaminitParaminitial track parameters
Int_titerationcounter of iterations
Int_tmaxIterationmaximum number of interations for fit
Int_tsegIndexHMdcSeg index
Int_ttofFlagsee HMdcTrackFitInOut
HMdcWiresArrwiresarray of wires for fit

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMdcTrackFitter(HMdcTrackFitInOut* fIO)
void init(void)
void setPrintFlag(Bool_t prnt)
Bool_t fillListHits(HMdcClus* clus1, HMdcClus* clus2)
Bool_t fillListHits(HMdcClus* clus1, HMdcClus* clus2, HMdcClus* clus3, HMdcClus* clus4)
 Cosmic two sectors data
Bool_t fillListHits(HMdcEvntListCells* store, HMdcClus* clus1, HMdcClus* clus2)
Bool_t fillListHits(HMdcEvntListCells* store)
void setPlanes(void)
Bool_t fillClusFitCont(void)
Bool_t fitCluster(Int_t fittingMod = -1)
??? calcMinFunctional();  // Utochnenie nachal'nogo priblizheniya
Bool_t testChi2Cut(void)
void calcMinFunctional(void)
   Double_t xCl=fClst->getX();
   Double_t yCl=fClst->getY();
   Double_t errX=fClst->getErrX()*2.; // +/-dX
   Double_t errY=fClst->getErrY()*2.; // +/-dX
   Int_t nBinsX=TMath::Max(Int_t(errX*2./2.5),1);  //  / 2.5 mm
   Int_t nBinsY=TMath::Max(Int_t(errY*2./1.0),1);  //  / 1.0 mm
   if(nBinsX%2 == 0) nBinsX++;
   if(nBinsY%2 == 0) nBinsY++;
   Double_t stepX=errX/nBinsX;
   Double_t stepY=errY/nBinsY;
   Double_t xStart=xCl-nBinsX/2*stepX;
   Double_t yStart=yCl-nBinsY/2*stepY;
   Double_t minFunc=1.e+20;
 Double_t xMin=xCl;
 Double_t yMin=yCl;
 Printf("xCl=%f, yCl=%f x:%i %f  y:%i %f",xCl,yCl,nBinsX,stepX,nBinsY,stepY);
   for(Int_t ny=0; ny<nBinsY; ny++) {
     Double_t yNew=yStart+stepY*ny;
 printf("Y=%7.6g", yNew);
     for(Int_t nx=0; nx<nBinsX; nx++) {
       Double_t xNew=xStart+stepX*nx;
       zPlane = fClst->getZ();
       setXInitPlane(xNew);
       setYInitPlane(yNew);
       setZInitPlane(fClst->getZOnPlane(xNew,yNew));
       Double_t func=getFunctional();
 printf(" %7.6g",func);
       if(func<minFunc) {
         minFunc=func;
         xMin=xNew;
         yMin=yNew;
       }
     }
 printf("\n");
   }
 printf("..... xMin=%f, yMin=%f funMin=%f\n\n",xMin,yMin,minFunc);
 setXInitPlane(xMin);
 setYInitPlane(yMin);
 setZInitPlane(fClst->getZOnPlane(xMin,yMin));
 //   setXInitPlane(xPlane);
 //   setYInitPlane(yPlane);
 //   setZInitPlane(zPlane);
void setRegionOfWires(Int_t mod = -1)
Bool_t setClustAndFill(HMdcClus* fClst1, HMdcClus* fClst2 = 0)
Bool_t setClustAndFill(HMdcClus* fClst1, HMdcClus* fClst2, HMdcClus* fClst3, HMdcClus* fClst4)
 Cosmic two sectors data
Bool_t setClustAndFill(HMdcEvntListCells* store, Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2)
void fillOutput()
void setModuleTof(void)
{tofFlag=1; useRtdbTofFlag=kFALSE;}
void setSectorTof(void)
{tofFlag=3; useRtdbTofFlag=kFALSE;}
HMdcTrackFitter(HMdcTrackFitInOut* fIO)
virtual ~HMdcTrackFitter(void)
{}
Int_t minimize(Int_t iter = 0)
{return 0;}
void setSegmentTof(void)
{tofFlag=2;}
void setFitStatus(Bool_t st)
{fitStatus = st;}
Int_t getNumOfParam(void)
 Fit final parameters:
{return finalParam.getNumParam();}
Double_t getFunMin(void)
{return finalParam.functional();}
Double_t getChi2(void)
{return finalParam.getChi2();}
Int_t getIterationNumber(void)
{return iteration;}
Char_t getExitFlag(void)
{return exitFlag;}
Bool_t getFitStatus(void)
{return fitStatus;}
HMdcTrackParam* getFinalParam(void)
{return &finalParam;}
HMdcTrackParam* getInitParam(void)
{return &initParam;}
HMdcWireData* getWiresList(void)
{return wires.getWiresArray();}
HMdcWiresArr& getWiresArr(void)
{return wires;}
HMdcWireData& getWire(Int_t n)
{return wires[n];}
Int_t getSegIndex(void)
{return segIndex;}
void setSegIndex(Int_t si)
{segIndex = si;}
Int_t getIndClusFit(void)
{return indClusFit;}
Double_t getFunctional(void)
{return -1.;}
void switchOffWires(Int_t sec, Int_t mod, Int_t lay = -1, Int_t cell = -1)
{wires.switchOff( sec, mod, lay, cell);}

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