#include "hrichringfindIPU.h"

HRichRingFindIPU


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

class HRichRingFindIPU : public TObject

Inheritance Chart:
TObject
<-
HRichRingFindIPU
<-
HRichRingFindIPUSim

    protected:
virtual void fillHit(Int_t row, Int_t column, Int_t quality, Int_t vetoQuality, Int_t nPads) Bool_t initParContainer(HSpectrometer*, HRuntimeDb*) public:
HRichRingFindIPU() HRichRingFindIPU(const HRichRingFindIPU& source) virtual ~HRichRingFindIPU() const char* checkParamContext() const static TClass* Class() Int_t Execute() void FiredPad(Int_t s, Int_t r, Int_t c) Int_t getLabelPattern(Int_t aaa, Int_t bbb) TObjArray* getRings() Bool_t init(HRichAnalysisIPU*) virtual TClass* IsA() const void makeLabelPattern() void MaxSearch() HRichRingFindIPU& operator=(const HRichRingFindIPU& source) void RingSearch() void setLabelPattern(Int_t aaa, Int_t bbb, Int_t ccc) void SetSector(Int_t s) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) void ZeroArray()

Data Members


    protected:
HRichIPUParPattern* fRichIPUParPat ! HRichIPUParThresholds* fRichIPUParThr ! HRichIPUParLocMax* fRichIPUParLmax ! HTriggerSetup* fRichSetup ! Task setup parameters Bool_t pads[6][96][96] ! Int_t Sector ! Int_t flag ! Int_t label_size ! Int_t iRingNr ! TObjArray* pRings ! Int_t lr Int_t lc ! Int_t label[96][96] ! Int_t centers[96][96] ! Int_t ringsum[96][96] ! Int_t vetosum[96][96] ! Int_t nPads[96][96] ! Int_t labelPattern[64][2] ! Int_t version !

Class Description


const char* 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 *spec, HRuntimeDb *rtdb)
 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(void)
 Default constructor

 Input parameters:
   none

 Output parameters:
   none

 Return code:
   none

Bool_t init(HRichAnalysisIPU* showMe)
 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

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)



Inline Functions


        HRichRingFindIPU& operator=(const HRichRingFindIPU& source)
                    Int_t getLabelPattern(Int_t aaa, Int_t bbb)
                     void setLabelPattern(Int_t aaa, Int_t bbb, Int_t ccc)
                     void FiredPad(Int_t s, Int_t r, Int_t c)
                     void SetSector(Int_t s)
               TObjArray* getRings()
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)


Last update: Fri Jan 26 12:29: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.