class HRichAnalysisSim: public HRichAnalysis


 File: hrichanalysissim.cc

 $Id: hrichanalysissim.cc,v 1.27 2009-07-15 11:39:17 halo Exp $

*-- Author : Laura Fabbietti
*-- Modified : 08/05/2000 L.Fabbietti
*-- Modified : Oct. 2000 W. Koenig (reduced content of HRichPadSignal)
*-- Modified : Tue Feb 12 16:54:10 CET 2002 teberl@ph.tum.de
*--            introduced ctr flag to skip events

_HADES_CLASS_DESCRIPTION


  HRichAnalysisSim

  This class besides the Rich Analysis contains
  the necessary functions to retrieve the parent track
  number corresponding to each pad that belongs to
  a Ring structure.
  The Ring Finding algorithm is executed by the class
  HRichRingFindSim. This class contains 2 different
  algorithms to find a ring, once a ring is found
  the track numbers of the particles that have hit
  the pads belonging to the ring structure are memorized
  in an array. (Int_t *iRingTrack).
  Once all track numbers are collected,
  3 tracks number are saved ( HRichHitSim:track1....)
  for each Hit with the corresponding weights (cfr. updateHits).
  (The weight
  is the number of pads a photon or a Ip has fired.)
  A flag for each of the three track numbers is saved too,
  to be able to distinguish between a Chrenkov photon
  and a direct hit.

  use kSkip in the constructor to skip writing of
  event if no ring was found


Function Members (Methods)

public:
HRichAnalysisSim()
HRichAnalysisSim(const Text_t* name, const Text_t* title, Bool_t kSkip = kFALSE)
virtual~HRichAnalysisSim()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidHReconstructor::Browse(TBrowser* b)
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_tHRichAnalysis::finalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tHRichAnalysis::GetActiveSector()
HRichAnalysisPar*HRichAnalysis::getAnalysisPar()
HCategory*HRichAnalysis::getCalCat()
virtual HTask*HReconstructor::getComposite()
virtual voidHReconstructor::getConnections()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tgetFlag(Int_t index)
HRichGeometryPar*HRichAnalysis::getGeometryPar()
HCategory*HRichAnalysis::getHitCat()
HCategory*HRichAnalysis::getHitHdrCat()
virtual const char*TObject::GetIconName() const
HRichLabel*HRichAnalysis::GetLabel(Int_t labelnr)
Int_tHRichAnalysis::GetLabelNr()
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()
HRichPadSignal*HRichAnalysis::GetPad(Int_t padnr)
HRichPadSignal*HRichAnalysis::GetPad(Int_t padx, Int_t pady)
Int_tHRichAnalysis::GetPadNr()
Int_tgetPadsNTrack1(Int_t padx, Int_t pady, Int_t sec)
Int_tgetPadsNTrack2()
Int_tHRichAnalysis::GetPadsXNr()
Int_tHRichAnalysis::GetPadsYNr()
HRichHit*HRichAnalysis::GetRing(Int_t ringnr)
Int_tHRichAnalysis::GetRingNr()
TObjArrayHReconstructor::getTable()
virtual HTask*HReconstructor::getTask(const Char_t* name)
virtual const char*TNamed::GetTitle() const
Int_tgetTrack(Int_t index)
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()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tHReconstructor::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tHRichAnalysis::IsOut(Int_t x, Int_t y)
Bool_tHRichAnalysis::IsOut(Int_t nowPad, Int_t dx, Int_t dy)
Bool_tHRichAnalysis::IsOut(Int_t x, Int_t y, Int_t dx, Int_t dy)
virtual Bool_tTNamed::IsSortable() const
virtual voidHReconstructor::isTimed(Bool_t flag = kTRUE)
Bool_tTObject::IsZombie() const
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)
HRichAnalysis&HRichAnalysis::operator=(const HRichAnalysis& source)
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_treinit()
voidHRichAnalysis::Reset()
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
voidHRichAnalysis::SetActiveSector(Int_t sectornr)
voidHRichAnalysis::setAnalysisPar(HRichAnalysisPar* pPar)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidHRichAnalysis::setCalCat(HCategory* pCalCat)
virtual Bool_tHTask::setConnections()
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidHRichAnalysis::setGeometryPar(HRichGeometryPar* pPar)
voidHRichAnalysis::setHitCat(HCategory* pHitCat)
voidHRichAnalysis::setHitHdrCat(HCategory* pHitHdrCat)
voidHTask::setManual()
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
Int_tHRichAnalysis::SetNextSector()
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidHTask::setOwner(HTask* atask)
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:
voidHRichAnalysis::clear()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_tHRichAnalysis::getPadsIndex(Int_t nSec, Int_t nRow, Int_t nCol)
Int_t*HRichAnalysis::getPadsPointer(Int_t* pPads, Int_t nSec)
voidTObject::MakeZombie()
voidHRichAnalysis::updateHeaders(const Int_t nSec, Int_t nEvNr)
private:
Bool_tinitParameters()
voidsortTracks(HRichHitSim*)
voidupdateHits(Int_t nSec)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
Int_tHRichAnalysis::allPairNrTot2 rings in different sectors
HIterator*HRichAnalysis::fIter!
HIterator*HRichAnalysis::fIterHitHeader!
Int_tHRichAnalysis::fPadFired[6]
Int_tHRichAnalysis::iActiveSector
Int_tHRichAnalysis::iClusterCleanedNr
TArrayIHRichAnalysis::iClustersCleaned
Int_tHRichAnalysis::iFakeLocalMax4
Int_tHRichAnalysis::iFakeLocalMax8
Int_tHRichAnalysis::iFakePad
Int_tHRichAnalysis::iLabelNr
Int_tHRichAnalysis::iPadCleanedNr
Int_tHRichAnalysis::iPadFiredNr
Int_tHRichAnalysis::iRingNr
Int_tHRichAnalysis::iRingNrTot
Int_tHRichAnalysis::maxFiredTotalPads
HRichLabel*HRichAnalysis::pLabelArea
Short_t*HRichAnalysis::pLeftBorderleft border of active pad area
HRichPadSignal**HRichAnalysis::pPads!
Short_t*HRichAnalysis::pRightBorderdito right side (largest active col in row)
HRichHitSim*pRings
HRichHit*HRichAnalysis::pRings
Int_tHRichAnalysis::sectorPairNrTot
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
HRichAnalysisPar*HRichAnalysis::fpAnalysisPar
HRichGeometryPar*HRichAnalysis::fpGeomPar
HRichHitHeader*HRichAnalysis::hithdrLoop!
TArrayIHRichAnalysis::iPadActive
Bool_tHTask::isConnected
Bool_tHTask::isInitialised
Bool_tHRichAnalysis::kSkipEvtIfNoRing
HCategory*HRichAnalysis::m_pCalCatPointer to the cal data category
HCategory*HRichAnalysis::m_pHitCatPointer to the hit data category
HCategory*HRichAnalysis::m_pHitHdrCatPointer to the hit header data category
Bool_tHTask::manual
Int_tHRichAnalysis::maxCols
Int_tHRichAnalysis::maxPads
Int_tHRichAnalysis::maxRows
HTask*HTask::owner
HRichPadClean*HRichAnalysis::pPadClean
HRichPadLabel*HRichAnalysis::pPadLabel
HRichRingFind*HRichAnalysis::pRingFind
HRichPadSignal*HRichAnalysis::pSectorPadspoints to pads of active sector
Int_tHRichAnalysis::secWithCurrent
private:
Bool_tkSkipEvtIfNoRing
HCategory*m_pTrackCatPointer to the track container
HRichCalSim*pRichCalSimPointer to cal container
HRichRingFindSim*pRingFindSimPointer to ringfinder

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HRichAnalysisSim(void)
HRichAnalysisSim(const Text_t* name, const Text_t* title, Bool_t kSkip = kFALSE)
~HRichAnalysisSim(void)
init()
 allocate input/output categories
Bool_t reinit()
initParameters()
 allocate non event by event classes
getPadsNTrack1(Int_t padx, Int_t pady, Int_t sec)
 This function returns for each pad the corresponding
 NTrack1 value (cfr. HRichCalSim, HRichDigitizer::execute).
 All track numbers are stored during digitization  in the
 catRichTrack Linear Category.
 NTrack1 is the index in the Track array corresponding to the
 first track for each pad.

 This function is called from HRichRingFindSim::CalcRingParamters.
getPadsNTrack2()
 This functions returns NTrack2, which is the index in
 the Track Array corresponding to the last track for each pad.
 Pad must be identified by calling getPadsNTrack1(...) first.
getFlag(Int_t index)
 It is called from HRichRingFindSim::LookForTrack().
 This function returns the flag contained in the
 catRichTrack container at the position index.
 This flag is 0 for Chrenkov photons and 1 for IP.
getTrack(Int_t index)
  This function returns the track number contained in the
  catRichTrack container at the position index.
execute()
updateHits(Int_t nSec)
 Each Hit is stored, in addition to real data for simulated one
 the tracks number corresponding to each ring are stored too.
 Maximal 3 tracks are stored for each ring. The track numbers
 are sorted according to their weights.
sortTracks(HRichHitSim* )
 Sorting tracks according to their weights
 Track with the highest weight is the first one

Last change: Sat May 22 13:08:11 2010
Last generated: 2010-05-22 13:08

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.