ROOT logo
HYDRA - THE HADES ANALYSIS PACKAGE » (UNKNOWN) » HRichAnalysisSim

class HRichAnalysisSim: public HRichAnalysis


 $Id: $

*-- Author  : Laura Fabbietti <Laura.Fabbietti@ph.tum.de>
*-- Revised : Martin Jurkovic <martin.jurkovic@ph.tum.de> 2010

_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()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
HTask&HTask::operator=(const HTask&)
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(ostream& 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&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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)

Data Members

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