class HRichRingFindIPU: public TObject


 HRichRingFindIPU

 Rich ring finder part of the IPU emulation.


Function Members (Methods)

public:
HRichRingFindIPU()
HRichRingFindIPU(const HRichRingFindIPU& source)
virtual~HRichRingFindIPU()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
const Char_t*checkParamContext()
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
Int_tExecute()
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
voidFiredPad(Int_t s, Int_t r, Int_t c)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Int_tgetLabelPattern(Int_t aaa, Int_t bbb)
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TObjArray*getRings()
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() 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
Bool_tinit(HRichAnalysisIPU*)
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
voidmakeLabelPattern()
voidMaxSearch()
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)
HRichRingFindIPU&operator=(const HRichRingFindIPU& source)
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)
voidRingSearch()
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)
voidsetLabelPattern(Int_t aaa, Int_t bbb, Int_t ccc)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetSector(Int_t s)
virtual voidTObject::SetUniqueID(UInt_t uid)
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
voidZeroArray()
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidfillHit(Int_t row, Int_t column, Int_t quality, Int_t vetoQuality, Int_t nPads)
Bool_tinitParContainer(HSpectrometer*, HRuntimeDb*)
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:
Int_tSector!
Int_tcenters[96][96]!
HRichIPUParLocMax*fRichIPUParLmax!
HRichIPUParPattern*fRichIPUParPat!
HRichIPUParThresholds*fRichIPUParThr!
HTriggerSetup*fRichSetup! Task setup parameters
Int_tflag!
Int_tiRingNr!
Int_tlabel[96][96]!
Int_tlabelPattern[64][2]!
Int_tlabel_size!
Int_tlc!
Int_tlr
Int_tnPads[96][96]!
TObjArray*pRings!
Bool_tpads[6][96][96]!
Int_tringsum[96][96]!
Int_tversion!
Int_tvetosum[96][96]!

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

const Char_t* checkParamContext(void)
 Arbitrary choice to get the context from fRichIPUParThr!

 Input Parameters:
   none

 Output parameters:
   none

 Return code:
   Name of the parameter context.
Bool_t initParContainer(HSpectrometer* , HRuntimeDb* )
 Adds to the runtime database "rtdb" the containers needed by the RICH IPU
 spec is used to get information of the spectrometer setup.

 Input parameters:
   HSpectrometer *spec
     Pointer to the dectector setup
   HRuntimeDb *rtdb
     Pointer to the HADES runtime database.

 Output parameters:
   none

 Return code:
   Returns kTRUE if all parameter containers are found, kFALSE otherwise.
HRichRingFindIPU(const HRichRingFindIPU& source)
 Default constructor

 Input parameters:
   none

 Output parameters:
   none

 Return code:
   none
Bool_t init(HRichAnalysisIPU* )
 Initialize task.

 Input parameters:
   HRichAnalysisIPU *showMe


 Output parameters:
   none

 Return code:
   Returns kTRUE if all parameter container found, kFALSE otherwise..
~HRichRingFindIPU()
 Destructor

 Input parameters:
   none

 Output parameters:
   none

 Return code:
   none
HRichRingFindIPU(const HRichRingFindIPU& source)
 Copy constructor.
   Can not be used, call default constructor instead!

 Input parameters:
   HRichRingFindIPU &source
     Pointer to object from which to copy, neglected in this case.

 Output parameters:
   none

 Return code:
   none
HRichRingFindIPU& operator=(const HRichRingFindIPU& source)
 Operator =
  Assigns the values of anothe HRichRingFind object to this one.
  Can not be used, due to technical reasons, calls default constructor instead.

 Input parameters:
   const HRichRingFindIPU& source
     Pointer to object from which to assign values.

 Output parameters:
   none

 Return code:
   Pointer to newly created object, or this object.
void makeLabelPattern(void)
 Derivation of the label mask from the pattern search mask.
 The labelling mask corresponds to the ring region of the pattern
 search mask, where each pad is counted only once

 Input Parameters:
   none

 Output parameters:
   none

 Return code:
   none
Int_t Execute(void)
 Do the job!

 Input parameters:
   none

 Output parameters:
   none

 Return code:
   Returns the number of Rings.
void ZeroArray()
 Clear the pads array.

 Input parameters:
   none

 Output parameters:
   none

 Return code:
   none
void RingSearch(void)
Ring Recognition
 A pattern (patterCoord) with a ring region and a veto region is applied
 to each pad found in the labeling process (potential ring center).
 The ring and veto regions of the pattern consist of groups.
 In each group it is enough if 1 pad is fired ("logical OR") to consider
 the group fired.
 The groups in each region are summed up.
 A threshold (fRichIPUParThr->getThresholds(re,sec)) is set independently
 for each of the two regions.

 version 1: local maximum search on ringsum for ALL pads
             (used in hardware until beginning of 04)
 version 2: local maximum search on ringsum for pads over threshold
 version 3: combined thresholds

  WARNING: hardcoded version = 2

 Input parameters:
   none

 Output parameters:
   none

 Return code:
   none
void MaxSearch(void)
Local Max Search
 The ring search algo is likely to identify one or more neighbouring pads
 as the center of a potential ring candidate.
 Therefore, a local maximum search over 4/ 8 directly neighbouring
 pads is performed to determine the center.

 Input parameters:
   none

 Output parameters:
   none

 Return code:
   none
void fillHit(Int_t row, Int_t column, Int_t quality, Int_t vetoQuality, Int_t nPads)
Int_t getLabelPattern(Int_t aaa, Int_t bbb)
{return labelPattern[aaa][bbb];}
void setLabelPattern(Int_t aaa, Int_t bbb, Int_t ccc)
{labelPattern[aaa][bbb]=ccc;}
void FiredPad(Int_t s, Int_t r, Int_t c)
{ pads[s][r][c]=1; }
void SetSector(Int_t s)
{ Sector = s; }
TObjArray * getRings(void)
{return pRings;}

Last change: Sat May 22 13:09:58 2010
Last generated: 2010-05-22 13:09

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.