class HShowerHitFinder: public HReconstructor

_HADES_CLASS_DESCRIPTION

HShowerHitFinder

 HShowerHitFinder reconstructor searches local maxima in CAL level
 The Shower task is split into several tasks as shown
 in the flow diagram below.


HShowerUnpacker
|   (embedding mode)   | \
|                      |  \      ------------------
----------------------   |     |  HGeantShower    |
|      ------------------\
|                         \
|      ------------------  \------------->  ----------------------
|  HGeantWire      |   <------------ |  HShowerHitDigitizer
|      ------------------\                  ----------------------
|                         \
------------------  \------------->
-- | HShowerRaw  |   |  HShowerRawMatr  |   <------------ |  HShowerPadDigitizer  |
    -------------     ------------------\                 |( creates track objects
\                |  for real tracks in
----------------------          ------------------  \               |  embedding mode too)  |
|   HShowerCalibrater  |        |  HShowerTrack    |  \<------------  -----------------------
|   (embedding mode)   |         ------------------\   \

------------------  \   ----------> |   HShowerCopy
-------------------> |  HShowerCal      |  \<------------ |(add charge of real hit|
------------------\   \             | in embedding too )    |
\   \             -----------------------
----\--------->
HShowerHitHdr   |   <--\--------- |  HShowerHitFinder
\
------------------         \        |
  HShowerPID      |   <-----\-------
------------------           \      |
------------------            \     |
  HShowerHit      |   <--------\----
------------------ \            \

\------------->
HShowerHitTrack |   <------------ | HShowerHitTrackMatcher



  In the case of TRACK EMBEDDING of simulated tracks into
  experimental data the real data are written by the HShowerUnpacker into
  HShowerRaw category. The real hits are taken into
  account by the digitizer (adding of charges). The embedding mode is recognized
  automatically by analyzing the
  gHades->getEmbeddingMode() flag.
            Mode ==0 means no embedding
                 ==1 realistic embedding (first real or sim hit makes the game)
                 ==2 keep GEANT tracks   (as 1, but GEANT track numbers will always
                     win against real data. besides the tracknumber the output will
                     be the same as in 1)


Function Members (Methods)

public:
HShowerHitFinder()
HShowerHitFinder(const Text_t* name, const Text_t* title)
virtual~HShowerHitFinder()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidHReconstructor::Browse(TBrowser* b)
Float_tcalculateSum(HLocation& fLoc, Int_t nRange, Int_t* pncs = 0)
Float_tcalculateVar(HLocation& fLoc, Int_t nRange, Float_t avg)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Bool_tHReconstructor::connectTask(HTask* task, Int_t n = 0)
virtual voidTNamed::Copy(TObject& named) 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 Int_texecute()
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
virtual voidTNamed::FillBuffer(char*& buffer)
virtual Bool_tfinalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
HCategory*getCalCat()
virtual HTask*HReconstructor::getComposite()
virtual voidHReconstructor::getConnections()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
HParSet*getGeometry()
HCategory*getHitCat()
HParSet*getHitFPar()
HSpecGeomPar*getHSpecGeomPar()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual HTask*HTask::getOwner()
HCategory*getPIDCat()
TObjArrayHReconstructor::getTable()
virtual HTask*HReconstructor::getTask(const Char_t* name)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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 Bool_tinit()
Bool_tinitParameters()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsFillPID()
virtual Bool_tHReconstructor::IsFolder() const
Bool_tisLocalMax(HLocation& fLoc)
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tIsSortFlagSet()
virtual voidHReconstructor::isTimed(Bool_t flag = kTRUE)
Bool_tTObject::IsZombie() const
Bool_tlookForHit(HShowerCal* cal, HLocation& fLoc)
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual HTask*HReconstructor::next(Int_t& errCode)
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)
HShowerHitFinder&operator=(HShowerHitFinder& c)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidHReconstructor::printTimer()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Bool_tHTask::reinit()
voidTObject::ResetBit(UInt_t f)
virtual voidHReconstructor::resetTimer()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidHReconstructor::setActive(Bool_t state)MENU
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidsetCalCat(HCategory* pCalCat)
virtual Bool_tHTask::setConnections()
voidsetCriterium(HShowerCriterium* pCrit)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetFillPID(Bool_t bIsFillPID = kTRUE)
voidsetGeometry(HParSet* pGeometry)
voidsetHitCat(HCategory* pHitCat)
voidsetHitFPar(HParSet* pPar)
voidsetHSpecGeomPar(HSpecGeomPar* pSpecGeometry)
voidHTask::setManual()
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidHTask::setOwner(HTask* atask)
voidsetPIDCat(HCategory* pPIDCat)
voidsetSortFlag(Bool_t bSort = kTRUE)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
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
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
virtual voidcalcCoord(HShowerHit* hit, HLocation& fLoc)
virtual voidcalcCoordWithSigma(HShowerHit* hit, HLocation& fLoc, Int_t nRange)
voidfillPID(HShowerHit* hit, HShowerPID* pid)
voidfillSums(HShowerHit* hit, HLocation& fLoc)
HShowerHitHeader*getHitHeader(HLocation& fLoc)
voidupdateClusters(HLocation& fLoc)
voidupdateFiredCells(HLocation& fLoc)
voidupdateLocalMax(HLocation& fLoc)

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:
Bool_tHReconstructor::fActiveActive flag
TList*HReconstructor::fHistogramsList of histograms generated by this reconstructor.
Bool_tHTask::fIsTimedtimer flag
TStringTNamed::fNameobject identifier
TObjArrayHReconstructor::fOutputs
TStopwatchHReconstructor::fTimerTask timer
TStringTNamed::fTitleobject title
Bool_tHTask::isConnected
Bool_tHTask::isInitialised
Bool_tHTask::manual
HTask*HTask::owner
private:
HIterator*fIter!Iterator for calibrated fired pads
HLocationm_Loc
Bool_tm_bIsFillPIDflag for filling PID level - default TRUE
Bool_tm_bIsSortflag for sorting data by m_nAddress - default FALSE
HCategory*m_pCalCat!Pointer to the cal data category
HRaTree*m_pCellArrrandom access table for searching local maxima
HShowerCriterium*m_pCriterium!definition of shower criterium
HParSet*m_pGeometry!Pointer to geometry parameters container
HSpecGeomPar*m_pHSpecGeomPar
HCategory*m_pHitCat!Pointer to the hit data category
HParSet*m_pHitFParPointer to the analysis parameters container
HCategory*m_pHitHdrCat!Pointer to the hit header data category
HCategory*m_pPIDCat!Pointer to the hit data category

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HShowerHitFinder(const Text_t* name, const Text_t* title)
HShowerHitFinder()
~HShowerHitFinder(void)
Bool_t init()
Bool_t initParameters()
void setCriterium(HShowerCriterium* pCrit)
Bool_t finalize()
HShowerHitFinder& operator=(HShowerHitFinder& c)
Int_t execute()
Bool_t lookForHit(HShowerCal* cal, HLocation& fLoc)
void fillPID(HShowerHit* hit, HShowerPID* pid)
void fillSums(HShowerHit* hit, HLocation& fLoc)
void calcCoord(HShowerHit* hit, HLocation& fLoc)
void calcCoordWithSigma(HShowerHit* hit, HLocation& fLoc, Int_t nRange)
Bool_t isLocalMax(HLocation& fLoc)
Float_t calculateVar(HLocation& fLoc, Int_t nRange, Float_t avg)
Float_t calculateSum(HLocation& fLoc, Int_t nRange, Int_t* pncs = 0)
HShowerHitHeader* getHitHeader(HLocation& fLoc)
void updateClusters(HLocation& fLoc)
void updateLocalMax(HLocation& fLoc)
void updateFiredCells(HLocation& fLoc)
HCategory* getCalCat()
{return m_pCalCat;}
HCategory* getHitCat()
{return m_pHitCat;}
HCategory* getPIDCat()
{return m_pPIDCat;}
HParSet* getHitFPar()
{return m_pHitFPar;}
HParSet* getGeometry()
{return m_pGeometry;}
HSpecGeomPar* getHSpecGeomPar()
{return m_pHSpecGeomPar;}
void setCalCat(HCategory* pCalCat)
{m_pCalCat = pCalCat;}
void setHitCat(HCategory* pHitCat)
{m_pHitCat = pHitCat;}
void setPIDCat(HCategory* pPIDCat)
{m_pPIDCat = pPIDCat;}
void setHitFPar(HParSet* pPar)
{m_pHitFPar= pPar;}
void setGeometry(HParSet* pGeometry)
{m_pGeometry= pGeometry;}
void setHSpecGeomPar(HSpecGeomPar* pSpecGeometry)
{m_pHSpecGeomPar = pSpecGeometry;}
Bool_t IsSortFlagSet()
{return m_bIsSort;}
Bool_t IsFillPID()
{return m_bIsFillPID;}
void setSortFlag(Bool_t bSort = kTRUE)
{m_bIsSort = bSort;}
void setFillPID(Bool_t bIsFillPID = kTRUE)
{m_bIsFillPID = bIsFillPID;}

Last change: Sat May 22 13:13:42 2010
Last generated: 2010-05-22 13:13

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.