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

class HMdcGeantEvent: public TObjArray

_HADES_CLASS_DESCRIPTION


 HMdcGeantSeg

   Class collect and keep GEANT and mdc digitized information about
   one inner or outer mdc segment


 HMdcGeantTrack

   Class collect and keep GEANT and mdc digitized information about
   one track. Keep also array of HMdcGeantSeg objects for this track.


 HMdcGeantEvent

   Class fill and keep array of HMdcGeantTrack objects for one event.


 HMdcTrackInfSim

   Class fill HMdcClusSim, HMdcSegSim and HMdcHitSim objects
   by information from HMdcGeantTrack and HMdcGeantSeg


 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Meaning of HMdcGeantTrack::trackStatus, HMdcGeantSeg::segmentStatus
 and HMdcClusSim::trackStatus[tr] bits.

 Bits in HMdcGeantTrack::trackStatus:

  Bit 8, GEANT_BUG          : =0 - GEANT bug was found in this track
  Bit 7, NO_META_HIT        : =0 - track don't reach META
  Bit 6, NOT_RECONSTRUCTABLE: =0 - not reconstructable track. It can be if
                                   track not present in mdc,
                                   track cross more then one sector,
                                   numder of segments <1 or >2,
                                   upstream direction of at list one segment,
                                   track doesn't cross inner or outer segment,
                                   num. of segments with digi.wires <1 or >2,
                                   num.digi.wires in track < 5*num.segments,
                                   at list one seg. has <3 layers or <5 wires
  Bits 1-5 are eq.1

 Bits in HMdcGeantSeg::segmentStatus trackStatus bits plus:

  Bit 5, SEG_NOT_RECONS_ABLE: =0 - segment has <3 layers or <5 digi.wires
  Bit 4, HIT_NOT_RECONS_ABLE: =0 - at list one mdc in segment has
                                   <3 fired layers or <5 wires

 Bits in HMdcClusSim::trackStatus[tr] are segmentStatus bits plus:

  Bit 3, CLFLEVEL_TOO_HIGH  : =0 - segment can't be found due to high level
                                   of cluster finder
  Bit 2, FAKE_CONTRIBUTION  : =0 - fake contribution in cluster
  Bit 1, SEGS_MATH_OK       : =0 - no inner-outer segments matching

Function Members (Methods)

public:
HMdcGeantEvent()
virtual~HMdcGeantEvent()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObjArray::Add(TObject* obj)
virtual voidTObjArray::AddAfter(const TObject* after, TObject* obj)
virtual voidTCollection::AddAll(const TCollection* col)
virtual voidTObjArray::AddAt(TObject* obj, Int_t idx)
virtual voidTObjArray::AddAtAndExpand(TObject* obj, Int_t idx)
virtual Int_tTObjArray::AddAtFree(TObject* obj)
virtual voidTObjArray::AddBefore(const TObject* before, TObject* obj)
virtual voidTObjArray::AddFirst(TObject* obj)
virtual voidTObjArray::AddLast(TObject* obj)
voidTCollection::AddVector(TObject* obj1)
virtual TObject*TObjArray::After(const TObject* obj) const
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tTCollection::AssertClass(TClass* cl) const
virtual TObject*TObjArray::At(Int_t i) const
virtual TObject*TObjArray::Before(const TObject* obj) const
TIterTCollection::begin() const
virtual Int_tTObjArray::BinarySearch(TObject* obj, Int_t upto = kMaxInt)
virtual voidTCollection::Browse(TBrowser* b)
Int_tTCollection::Capacity() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObjArray::Clear(Option_t* option = "")
voidclearOClus()
voidclearOSeg()
voidclearOSegClus()
virtual TObject*TCollection::Clone(const char* newname = "") const
Bool_tcollectTracks()
virtual Int_tTCollection::Compare(const TObject* obj) const
virtual voidTObjArray::Compress()
Bool_tTCollection::Contains(const char* name) const
Bool_tTCollection::Contains(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObjArray::Delete(Option_t* option = "")
static voiddeleteCont()
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTCollection::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTCollection::Dump() const
static voidTCollection::EmptyGarbageCollection()
TIterTCollection::end() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
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 voidTObjArray::Expand(Int_t newSize)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObjArray::FindObject(const char* name) const
virtual TObject*TObjArray::FindObject(const TObject* obj) const
virtual TObject*TObjArray::First() const
static voidTCollection::GarbageCollect(TObject* obj)
static TCollection*TCollection::GetCurrentCollection()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tTObjArray::GetEntries() const
Int_tTObjArray::GetEntriesFast() const
voidgetEventVertex(Float_t& ax, Float_t& ay, Float_t& az) const
static HMdcGeantEvent*getExObject()
HMdcGeantTrack*getGeantTrack(Int_t trackNum)
virtual const char*TObject::GetIconName() const
virtual Int_tTObjArray::GetLast() const
static HMdcTrackInfSim*getMdcTrackInfSim()
virtual const char*TCollection::GetName() const
Int_tgetNTracks() const
static HMdcGeantEvent*getObject(Bool_t& isCreated)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
TObject**TObjArray::GetObjectRef() const
virtual TObject**TObjArray::GetObjectRef(const TObject* obj) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Int_tTCollection::GetSize() const
Int_tgetTargetNum() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Float_tgetXvertex() const
Float_tgetYvertex() const
Float_tgetZvertex() const
virtual Int_tTCollection::GrowBy(Int_t delta) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTCollection::Hash() const
virtual Int_tTObjArray::IndexOf(const TObject* obj) 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 voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTCollection::IsArgNull(const char* where, const TObject* obj) const
virtual Bool_tTObjArray::IsEmpty() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTCollection::IsFolder() const
Bool_tisGeantBug() const
Bool_tisMdcActive(Int_t s, Int_t m) const
Bool_tTObject::IsOnHeap() const
Bool_tTCollection::IsOwner() const
virtual Bool_tTCollection::IsSortable() const
virtual Bool_tTSeqCollection::IsSorted() const
Bool_tTObject::IsZombie() const
virtual TObject*TObjArray::Last() const
Int_tTSeqCollection::LastIndex() const
Int_tTObjArray::LowerBound() const
virtual voidTCollection::ls(Option_t* option = "") const
virtual TIterator*TObjArray::MakeIterator(Bool_t dir = kIterForward) const
virtual TIterator*TCollection::MakeReverseIterator() const
voidTObject::MayNotUse(const char* method) const
Long64_tTSeqCollection::Merge(TCollection* list)
HMdcGeantTrack*next(Int_t& i)
virtual Bool_tTObject::Notify()
static Int_tTSeqCollection::ObjCompare(TObject* a, TObject* b)
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)
TObject*TCollection::operator()(const char* name) const
TObjArray&TObjArray::operator=(const TObjArray&)
virtual TObject*&TObjArray::operator[](Int_t i)
virtual TObject*TObjArray::operator[](Int_t i) const
virtual voidTCollection::Paint(Option_t* option = "")
virtual voidTObject::Pop()
voidprint()
virtual voidTCollection::Print(Option_t* option = "") const
virtual voidTCollection::Print(Option_t* option, Int_t recurse) const
virtual voidTCollection::Print(Option_t* option, const char* wildcard, Int_t recurse = 1) const
virtual voidTCollection::Print(Option_t* option, TPRegexp& regexp, Int_t recurse = 1) const
static voidTSeqCollection::QSort(TObject** a, Int_t first, Int_t last)
static voidTSeqCollection::QSort(TObject** a, TObject** b, Int_t first, Int_t last)
static voidTSeqCollection::QSort(TObject** a, Int_t nBs, TObject*** b, Int_t first, Int_t last)
virtual voidTObjArray::Randomize(Int_t ntimes = 1)
virtual Int_tTObject::Read(const char* name)
virtual voidTObjArray::RecursiveRemove(TObject* obj)
virtual TObject*TObjArray::Remove(TObject* obj)
virtual voidTSeqCollection::RemoveAfter(TObject* after)
voidTCollection::RemoveAll()
virtual voidTCollection::RemoveAll(TCollection* col)
virtual TObject*TObjArray::RemoveAt(Int_t idx)
virtual voidTSeqCollection::RemoveBefore(TObject* before)
virtual voidTSeqCollection::RemoveFirst()
virtual voidTSeqCollection::RemoveLast()
virtual voidTObjArray::RemoveRange(Int_t idx1, Int_t idx2)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTCollection::SetCurrentCollection()
voidsetDebugPrintFlag(Bool_t fg = kTRUE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
Bool_tsetGeantKineCat()
voidTObjArray::SetLast(Int_t last)
voidTCollection::SetName(const char* name)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTCollection::SetOwner(Bool_t enable = kTRUE)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidTObjArray::Sort(Int_t upto = kMaxInt)
static voidTCollection::StartGarbageCollection()
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
TObject*TObjArray::UncheckedAt(Int_t i) const
voidunsetMdc(Int_t s, Int_t m)
voidTSeqCollection::UnSort()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTCollection::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTCollection::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
Bool_tTObjArray::BoundsOk(const char* where, Int_t at) const
virtual voidTSeqCollection::Changed()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_tTObjArray::GetAbsLast() const
virtual const char*TCollection::GetCollectionEntryName(TObject* entry) const
voidTObjArray::Init(Int_t s, Int_t lowerBound)
voidTObject::MakeZombie()
Bool_tTObjArray::OutOfBoundsError(const char* where, Int_t i) const
virtual voidTCollection::PrintCollectionEntry(TObject* entry, Option_t* option, Int_t recurse) const
virtual voidTCollection::PrintCollectionHeader(Option_t* option) const

Data Members

protected:
Bool_tdebugPrintFlag
TObject**TObjArray::fCont!Array contents
Int_tTObjArray::fLastLast element in array containing an object
Int_tTObjArray::fLowerBoundLower bound of the array
TStringTCollection::fNamename of the collection
Int_tTCollection::fSizenumber of elements in collection
Bool_tTSeqCollection::fSortedtrue if collection has been sorted
Bool_tgeantBugFlag=kTRUE if geant bug was found
TObjArraygeantSegmentsarray of HMdcGeantSeg objects
Bool_tisMdcLCellsOwn=kTRUE if MdcListCells is own
HMdcTrackInfSimmdcTrackInfSim
Int_tnGSegmentsnum.of HMdcGeantSeg objects in event
Int_tnTracksnumber of tracks in array
HCategory*pGeantKineCatcategory GeantKine
HCategory*pGeantMdcCatcategory GeantMdc
static HMdcGeantEvent*pGlobalGEventpointer to the global object
HMdcEvntListCells*pMdcListCellsobject keep list of fired wires
Int_tsizesize of TObjArray
Int_tsizeGSegArrsize of geantSegments array
Int_ttargNumtarget numer (0,1,...) of vertex
Float_txVertexx of event vertex (in mm)
Float_tyVertexy (from first primary track)
Float_tzVertexz

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMdcGeantTrack* next(Int_t& i)
HMdcGeantTrack* getGeantTrack(Int_t trackNum)
HMdcGeantEvent* getObject(Bool_t& isCreated)
 In task call this function not earlier then in your init function.
 In macro first time call this function after
 HMdcGetContainers::setCatGeantKine(HCategory* cat);
 HMdcGetContainers::setCatGeantMdc(HCategory* cat);
void deleteCont(void)
HMdcGeantEvent(void)
~HMdcGeantEvent(void)
 destructor
Bool_t setGeantKineCat(void)
Bool_t collectTracks(void)
void print(void)
void clearOSegClus(void)
 This method is used for outer clusters when magnet on
 for each inner segment.
void clearOClus(void)
 This method is used for outer clusters when magnet on
 for each inner segment.
void clearOSeg(void)
 This method is used for outer clusters when magnet on
 for each inner segment.
void getEventVertex(Float_t& ax, Float_t& ay, Float_t& az) const
void unsetMdc(Int_t s, Int_t m)
Bool_t isMdcActive(Int_t s, Int_t m)
{return mdcSetup[s][m];}
void setDebugPrintFlag(Bool_t fg = kTRUE)
Bool_t isGeantBug(void)
{return geantBugFlag;}
HMdcGeantEvent* getExObject(void)
{return pGlobalGEvent;}
HMdcTrackInfSim* getMdcTrackInfSim(void)
Int_t getNTracks(void)
{return nTracks;}
Float_t getXvertex(void)
{return xVertex;}
Float_t getYvertex(void)
{return yVertex;}
Float_t getZvertex(void)
{return zVertex;}
Int_t getTargetNum(void)
{return targNum;}