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

class HKalDetCradle: public TObjArray

_HADES_CLASS_DESCRIPTION


 A detector cradle is a container that stores the detector's measurement layers.
 The constructor HKalDetCradle(Int_t nLayInMdc) will automatically add
 Mdc layers to the cradle.



Function Members (Methods)

public:
HKalDetCradle()
HKalDetCradle(Int_t nLayInMdc, const TObjArray* customMats = 0)
virtual~HKalDetCradle()
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)
virtual voidaddMdcLayersToCradle(const HMdcSizesCells* fSizesCells, Int_t sector, Int_t module, Int_t nLayers)
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 = "")
virtual TObject*TCollection::Clone(const char* newname = "") const
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 = "")
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
virtual const char*TObject::GetIconName() const
virtual Int_tTObjArray::GetLast() const
virtual Int_tgetLayersInMdc() const
virtual const HKalMdcMeasLayer*getMdcLayerAt(Int_t sector, Int_t module, Int_t layer = 0) const
virtual HKalMixture*getMdcMaterial(HKalDetCradle::mdcComponent comp, Int_t module) const
virtual voidgetMdcMaterialVolumeFracs(Float_t* volFracs, Int_t sector, Int_t module, Int_t layer) const
virtual const char*TCollection::GetName() const
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
static voidgetProperties(Float_t* mat, const Char_t* id)
virtual Int_tTCollection::GetSize() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() 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 voidinitMdcMaterials()
virtual voidTObject::Inspect() constMENU
virtual voidinstall(HKalMdcMeasLayer* layer)
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_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
virtual Bool_tlayOk(Int_t l) 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)
virtual Bool_tmodOk(Int_t m) const
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()
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 = "")
virtual Bool_tsecOk(Int_t s) const
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTCollection::SetCurrentCollection()
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
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
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

public:
enum mdcComponent { kCatWi
kFieldWi
kSenseWi
kWindow
kGas
};
enum TCollection::[unnamed] { kIsOwner
kInitCapacity
kInitHashTableCapacity
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
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
private:
static const Int_tkNumMdcMatsNumber of materials in an mdc layer.
static const Int_tkNumMdcsNumber of mdc modules.
static const Int_tkNumSecsNumber of mdc sectors in a module.
HKalMixture*matAirAir. Material between Mdc's.
HKalMixture**matsMdcProperties of material mixture for an mdc layer.
Int_tnLayersInMdcNumber of layers in each Mdc.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HKalDetCradle()
HKalDetCradle(Int_t nLayInMdc, const TObjArray* customMats = 0)
 Default contructor that adds Mdc layers to the cradle.
 The Mdc layers will be added to the cradle in the following order:
 1. Sort by sector number (0..5)
 2. Sort by module number (0..3) in a sector
 3. Sort by layer number of module in sector
 nLayInMdc: the number of mdc layers that should be added to each sector in a module.
 customMats: Materials for MDCs and materials between MDCs. If empty
             standard materials will be used
~HKalDetCradle()
void addMdcLayersToCradle(const HMdcSizesCells* fSizesCells, Int_t sector, Int_t module, Int_t nLayers)
 Create a mdc detector with nLayers measurement layers. Each time the constructor
 is called, a new set if KalMdcMeasLayer objects will be added to the TObjArray.
 Module and sector identify the drift chamber.

 Input:
 fSizesCells: object that can do coordinate transformation layer<->sector
 sector:      the sector where this detector is located (needed for coordinate transformation)
 module:      the module where this detector is located (needed for coordinate transformation)
 nLayers:     number of layers in detector
const HKalMdcMeasLayer* getMdcLayerAt(Int_t sector, Int_t module, Int_t layer = 0) const
 Returns the mdc layer in a sector
 Input:
 sector: the sector where this detector is located (needed for coordinate transformation)
 module: the module where this detector is located (needed for coordinate transformation)
 layer:  layer number in the sector of the mdc module.
HKalMixture* getMdcMaterial(HKalDetCradle::mdcComponent comp, Int_t module) const
 Returns the material of an Mdc layer component.
 Input:
 comp:   The Mdc component (Cathode/field/sense wires, gas, window, mylar foil)
 module: The module the Mdc layer is located in.
void getMdcMaterialVolumeFracs(Float_t* volFracs, Int_t sector, Int_t module, Int_t layer) const
 Calculate the volume fractions of the different mdc components.
 volFracs: the volume fractions of the components
 module:   the module number of the mdc layer
 sector:   the sector number of the mdc layer
 layer:    the layer number
void initMdcMaterials()
void getProperties(Float_t* mat, const Char_t* id)
 Returns the atomic mass, atomic number, density, excitation energy and
 radiation length in an array and converts the units from cm to mm and eV to MeV.
 The array index where a material property is stored is determined by the matIdx
 enum in hkaldef.h.
 Output:
 mat: array with material properties.
 Input:
 id:  material name as in HMaterial
void install(HKalMdcMeasLayer* layer)
 Adds a new mdc measurement to the array.
Int_t getLayersInMdc() const
{ return nLayersInMdc; }
Bool_t layOk(Int_t l) const
{ return (l>=0 && l<nLayersInMdc); }
Bool_t modOk(Int_t m) const
{ return m>=0 && m<kNumMdcs; }
Bool_t secOk(Int_t s) const
{ return s>=0 && s<kNumSecs; }