X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCCalPadRegion.cxx;h=01e93153464216eba6054038cd6ce60b89bb9f93;hb=5188bc99ce740120a90a3f5847544bcafad13953;hp=7bc94c0b6fd38f770039eaefdb1c57ca9b87c301;hpb=176a07b9564c9cba26af6a735c749fdca7095fb9;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCCalPadRegion.cxx b/TPC/AliTPCCalPadRegion.cxx index 7bc94c0b6fd..01e93153464 100644 --- a/TPC/AliTPCCalPadRegion.cxx +++ b/TPC/AliTPCCalPadRegion.cxx @@ -55,6 +55,7 @@ AliTPCCalPadRegion::AliTPCCalPadRegion(const char *name, const char *title) : // fObjects = new TObjArray(fgkNSegments * fgkNPadTypes); + fObjects->SetOwner(kTRUE); } AliTPCCalPadRegion::AliTPCCalPadRegion(const AliTPCCalPadRegion& obj) : @@ -66,6 +67,7 @@ AliTPCCalPadRegion::AliTPCCalPadRegion(const AliTPCCalPadRegion& obj) : // fObjects = new TObjArray(*(obj.fObjects)); + fObjects->SetOwner(kTRUE); } AliTPCCalPadRegion& AliTPCCalPadRegion::operator=(const AliTPCCalPadRegion& rhs) { @@ -80,6 +82,37 @@ AliTPCCalPadRegion& AliTPCCalPadRegion::operator=(const AliTPCCalPadRegion& rhs) return *this; } + +void AliTPCCalPadRegion::SetObject(TObject* obj, UInt_t segment, UInt_t padType) +{ + // + // Set the object for given segment + // + if (!fObjects) { + fObjects = new TObjArray(fgkNSegments * fgkNPadTypes); + fObjects->SetOwner(kTRUE); + } + if (fObjects->GetEntriesFast()Expand(fgkNSegments * fgkNPadTypes); + } + if (BoundsOk("SetObject", segment, padType)){ + if (segment+fgkNSegments*padType>static_cast(fObjects->GetEntriesFast())) fObjects->Expand(fgkNSegments * fgkNPadTypes); + fObjects->AddAt(obj, segment+fgkNSegments*padType); + } +} + +TObject* AliTPCCalPadRegion::GetObject(UInt_t segment, UInt_t padType){ + // + // + // + if (fObjects->GetEntriesFast()Expand(fgkNSegments * fgkNPadTypes); + } + return fObjects->At(segment+fgkNSegments*padType); +} + + + void AliTPCCalPadRegion::GetPadRegionCenterLocal(UInt_t padType, Double_t* xy) { // // Return the center of the pad size region in local