From: morsch Date: Tue, 3 Oct 2000 21:44:09 +0000 (+0000) Subject: Use AliSegmentation and AliHit abstract base classes. X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=a2f7eaf6bde6402bc44b160fe11e5544b1ff35c3 Use AliSegmentation and AliHit abstract base classes. --- diff --git a/RICH/AliRICH.cxx b/RICH/AliRICH.cxx index f126e4e2d82..98c4a3962ce 100644 --- a/RICH/AliRICH.cxx +++ b/RICH/AliRICH.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.25 2000/10/02 21:28:12 fca + Removal of useless dependecies via forward declarations + Revision 1.24 2000/10/02 15:43:17 jbarbosa Fixed forward declarations. Fixed honeycomb density. @@ -69,7 +72,7 @@ #include #include "AliRICH.h" -#include "AliRICHSegmentation.h" +#include "AliSegmentation.h" #include "AliRICHHit.h" #include "AliRICHCerenkov.h" #include "AliRICHPadHit.h" @@ -362,7 +365,7 @@ void AliRICH::CreateGeometry() //End_Html AliRICH *pRICH = (AliRICH *) gAlice->GetDetector("RICH"); - AliRICHSegmentation* segmentation; + AliSegmentation* segmentation; AliRICHGeometry* geometry; AliRICHChamber* iChamber; @@ -1313,14 +1316,14 @@ void AliRICH::SetGeometryModel(Int_t id, AliRICHGeometry *geometry) } //___________________________________________ -void AliRICH::SetSegmentationModel(Int_t id, AliRICHSegmentation *segmentation) +void AliRICH::SetSegmentationModel(Int_t id, AliSegmentation *segmentation) { // // Setter for the RICH segmentation model // - ((AliRICHChamber*) (*fChambers)[id])->SegmentationModel(segmentation); + ((AliRICHChamber*) (*fChambers)[id])->SetSegmentationModel(segmentation); } //___________________________________________ @@ -1341,7 +1344,7 @@ void AliRICH::SetReconstructionModel(Int_t id, AliRICHClusterFinder *reconst) // Setter for the RICH reconstruction model (clusters) // - ((AliRICHChamber*) (*fChambers)[id])->ReconstructionModel(reconst); + ((AliRICHChamber*) (*fChambers)[id])->SetReconstructionModel(reconst); } void AliRICH::SetNsec(Int_t id, Int_t nsec) @@ -1842,7 +1845,7 @@ void AliRICH::FindClusters(Int_t nev,Int_t lastEntry) // Get ready the current chamber stuff // AliRICHResponse* response = iChamber->GetResponseModel(); - AliRICHSegmentation* seg = iChamber->GetSegmentationModel(); + AliSegmentation* seg = iChamber->GetSegmentationModel(); AliRICHClusterFinder* rec = iChamber->GetReconstructionModel(); if (seg) { rec->SetSegmentation(seg); @@ -1883,7 +1886,7 @@ void AliRICH::Streamer(TBuffer &R__b) { // Stream an object of class AliRICH. AliRICHChamber *iChamber; - AliRICHSegmentation *segmentation; + AliSegmentation *segmentation; AliRICHResponse *response; TClonesArray *digitsaddress; TClonesArray *rawcladdress; @@ -2033,7 +2036,7 @@ void AliRICH::Digitise(Int_t nev, Int_t flag, Option_t *option,Text_t *filename) points=fopen("points.dat","w"); AliRICHChamber* iChamber; - AliRICHSegmentation* segmentation; + AliSegmentation* segmentation; Int_t digitse=0; Int_t trk[50]; @@ -2044,7 +2047,7 @@ void AliRICH::Digitise(Int_t nev, Int_t flag, Option_t *option,Text_t *filename) Int_t digits[5]; AliRICH *pRICH = (AliRICH *) gAlice->GetDetector("RICH"); - AliRICHHitMap* pHitMap[10]; + AliHitMap* pHitMap[10]; Int_t i; for (i=0; i<10; i++) {pHitMap[i]=0;} if (addBackground ) { @@ -2084,7 +2087,7 @@ void AliRICH::Digitise(Int_t nev, Int_t flag, Option_t *option,Text_t *filename) } } - AliRICHHitMap* hm; + AliHitMap* hm; Int_t countadr=0; Int_t counter=0; for (i =0; iGetSegmentationModel(cathode); - segmentation->GetPadCxy(ipx,ipy,thex,they); + segmentation->GetPadC(ipx,ipy,thex,they,thez); new((*pAddress)[countadr++]) TVector(2); TVector &trinfo=*((TVector*) (*pAddress)[countadr-1]); trinfo(0)=(Float_t)track; @@ -2264,9 +2267,9 @@ void AliRICH::Digitise(Int_t nev, Int_t flag, Option_t *option,Text_t *filename) Int_t ipy = mPad->fPadY; // pad number on Y Int_t iqpad = mPad->fQpad; // charge per pad - Float_t thex, they; + Float_t thex, they, thez; segmentation=iChamber->GetSegmentationModel(cathode); - segmentation->GetPadCxy(ipx,ipy,thex,they); + segmentation->GetPadC(ipx,ipy,thex,they,thez); Float_t rpad=TMath::Sqrt(thex*thex+they*they); if (rpad < rmin || iqpad ==0 || rpad > rmax) continue; new((*pAddress)[countadr++]) TVector(2); diff --git a/RICH/AliRICH.h b/RICH/AliRICH.h index fd31f628bdf..a6eef637d24 100644 --- a/RICH/AliRICH.h +++ b/RICH/AliRICH.h @@ -24,7 +24,7 @@ class AliRICHClusterFinder; class AliRICHDetect; class AliRICHChamber; class AliRICHCerenkov; -class AliRICHSegmentation; +class AliSegmentation; class AliRICHResponse; class AliRICHEllipse; class AliRICHGeometry; @@ -69,7 +69,7 @@ class AliRICH : public AliDetector { // id refers to the station and isec to the cathode plane // Set Segmentation and Response Model virtual void SetGeometryModel(Int_t id, AliRICHGeometry *geometry); - virtual void SetSegmentationModel(Int_t id, AliRICHSegmentation *segmentation); + virtual void SetSegmentationModel(Int_t id, AliSegmentation *segmentation); virtual void SetResponseModel(Int_t id, AliRICHResponse *response); virtual void SetNsec(Int_t id, Int_t nsec); // Set Reconstruction Model diff --git a/RICH/AliRICHChamber.cxx b/RICH/AliRICHChamber.cxx index 488d10a712f..ef3c492a4f6 100644 --- a/RICH/AliRICHChamber.cxx +++ b/RICH/AliRICHChamber.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.6 2000/10/02 15:44:37 jbarbosa + Fixed forward declarations. + Revision 1.5 2000/07/13 16:19:45 fca Mainly coding conventions + some small bug fixes @@ -41,7 +44,7 @@ #include #include #include -#include +#include #include #include @@ -82,10 +85,10 @@ void AliRICHChamber::ResponseModel(AliRICHResponse* thisResponse) fResponse=thisResponse; } -void AliRICHChamber::Init() +void AliRICHChamber::Init(Int_t id) { // Initialise chambers - fSegmentation->Init(this); + fSegmentation->Init(id); } void AliRICHChamber::LocaltoGlobal(Float_t pos[3],Float_t Globalpos[3]) @@ -183,7 +186,7 @@ void AliRICHChamber::DisIntegration(Float_t eloss, Float_t xhit, Float_t yhit, nnew=0; for (Int_t i=1; i<=fnsec; i++) { qcheck=0; - for (fSegmentation->FirstPad(xhit, yhit, dx, dy); + for (fSegmentation->FirstPad(xhit, yhit, 0, dx, dy); fSegmentation->MorePads(); fSegmentation->NextPad()) { diff --git a/RICH/AliRICHChamber.h b/RICH/AliRICHChamber.h index 9e9b1039d7b..2d0dfa56355 100644 --- a/RICH/AliRICHChamber.h +++ b/RICH/AliRICHChamber.h @@ -10,7 +10,7 @@ #include #include "AliRICHTresholdMap.h" -#include "AliRICHSegmentation.h" +#include "AliSegmentation.h" #include "AliRICHGeometry.h" #include "AliRICHResponse.h" @@ -35,7 +35,7 @@ class AliRICHChamber : public TObject void SetGid(Int_t id) {fGid=id;} // // Initialisation and z-Position - void Init(); + void Init(Int_t id); // Set inner radius of sensitive volume void SetRInner(Float_t rmin) {frMin=rmin;} // Set outer radius of sensitive volum @@ -83,10 +83,10 @@ class AliRICHChamber : public TObject // // Configure segmentation model - void SegmentationModel(AliRICHSegmentation* thisSegmentation) { + void SetSegmentationModel(AliSegmentation* thisSegmentation) { fSegmentation = thisSegmentation; } - void ReconstructionModel(AliRICHClusterFinder *thisReconstruction) { + void SetReconstructionModel(AliRICHClusterFinder *thisReconstruction) { fReconstruction = thisReconstruction; } @@ -95,7 +95,7 @@ class AliRICHChamber : public TObject AliRICHResponse* GetResponseModel(); // // Get reference to segmentation model - AliRICHSegmentation* GetSegmentationModel() { + AliSegmentation* GetSegmentationModel() { return fSegmentation; } @@ -105,7 +105,7 @@ class AliRICHChamber : public TObject } - AliRICHSegmentation* GetSegmentationModel(Int_t i) { + AliSegmentation* GetSegmentationModel(Int_t i) { return fSegmentation; } @@ -249,7 +249,7 @@ class AliRICHChamber : public TObject TRotMatrix *fChamberMatrix; //Rotation matrices for each chamber Float_t fChamberTrans[3]; //Translaction vectors for each chamber - AliRICHSegmentation *fSegmentation; //Segmentation model for each chamber + AliSegmentation *fSegmentation; //Segmentation model for each chamber AliRICHResponse *fResponse; //Response model for each chamber AliRICHGeometry *fGeometry; //Geometry model for each chamber AliRICHClusterFinder *fReconstruction; //Reconstruction model for each chamber diff --git a/RICH/AliRICHClusterFinder.cxx b/RICH/AliRICHClusterFinder.cxx index 9c2ac5e84b2..1a73e884abc 100644 --- a/RICH/AliRICHClusterFinder.cxx +++ b/RICH/AliRICHClusterFinder.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.6 2000/10/02 21:28:12 fca + Removal of useless dependecies via forward declarations + Revision 1.5 2000/10/02 15:45:58 jbarbosa Fixed forward declarations. @@ -56,7 +59,7 @@ #include //---------------------------------------------------------- -static AliRICHSegmentation* gSegmentation; +static AliSegmentation* gSegmentation; static AliRICHResponse* gResponse; static Int_t gix[500]; static Int_t giy[500]; @@ -70,7 +73,7 @@ static Int_t gChargeTot; ClassImp(AliRICHClusterFinder) AliRICHClusterFinder::AliRICHClusterFinder -(AliRICHSegmentation *segmentation, AliRICHResponse *response, +(AliSegmentation *segmentation, AliRICHResponse *response, TClonesArray *digits, Int_t chamber) { @@ -286,7 +289,7 @@ void AliRICHClusterFinder::SplitByLocalMaxima(AliRICHRawCluster *c) AliRICHDigit* dig[100], *digt; Int_t ix[100], iy[100], q[100]; - Float_t x[100], y[100]; + Float_t x[100], y[100], zdum; Int_t i; // loops over digits Int_t j; // loops over local maxima // Float_t xPeak[2]; @@ -302,7 +305,7 @@ void AliRICHClusterFinder::SplitByLocalMaxima(AliRICHRawCluster *c) ix[i]= dig[i]->fPadX; iy[i]= dig[i]->fPadY; q[i] = dig[i]->fSignal; - fSegmentation->GetPadCxy(ix[i], iy[i], x[i], y[i]); + fSegmentation->GetPadC(ix[i], iy[i], x[i], y[i], zdum); } // // Find local maxima @@ -469,7 +472,7 @@ void AliRICHClusterFinder::SplitByLocalMaxima(AliRICHRawCluster *c) } else { cnew.fQ=Int_t(gChargeTot*(1-qfrac)); } - gSegmentation->SetHit(xrec[j],yrec[j]); + gSegmentation->SetHit(xrec[j],yrec[j],0); for (i=0; ifIndexMap[i]; gSegmentation->SetPad(gix[i], giy[i]); @@ -583,7 +586,7 @@ void AliRICHClusterFinder::FillCluster(AliRICHRawCluster* c, Int_t flag) // Completes cluster information starting from list of digits // AliRICHDigit* dig; - Float_t x, y; + Float_t x, y, z; Int_t ix, iy; Float_t frac=0; @@ -640,7 +643,7 @@ void AliRICHClusterFinder::FillCluster(AliRICHRawCluster* c, Int_t flag) } // if (flag) { - fSegmentation->GetPadCxy(ix, iy, x, y); + fSegmentation->GetPadC(ix, iy, x, y, z); c->fX += q*x; c->fY += q*y; c->fQ += q; @@ -658,8 +661,8 @@ void AliRICHClusterFinder::FillCluster(AliRICHRawCluster* c, Int_t flag) // x=c->fX; y=c->fY; - fSegmentation->GetPadIxy(x, y, ix, iy); - fSegmentation->GetPadCxy(ix, iy, x, y); + fSegmentation->GetPadI(x, y, 0, ix, iy); + fSegmentation->GetPadC(ix, iy, x, y, z); Int_t isec=fSegmentation->Sector(ix,iy); TF1* cogCorr = fSegmentation->CorrFunc(isec-1); @@ -728,8 +731,8 @@ void AliRICHClusterFinder::FindCluster(Int_t i, Int_t j, AliRICHRawCluster &c){ } // Prepare center of gravity calculation - Float_t x, y; - fSegmentation->GetPadCxy(i, j, x, y); + Float_t x, y, z; + fSegmentation->GetPadC(i, j, x, y, z); c.fX += q*x; c.fY += q*y; c.fQ += q; @@ -801,8 +804,10 @@ void AliRICHClusterFinder::FindRawClusters() Int_t ix,iy; Float_t x=c.fX; Float_t y=c.fY; - fSegmentation->GetPadIxy(x, y, ix, iy); - fSegmentation->GetPadCxy(ix, iy, x, y); + Float_t z; + + fSegmentation->GetPadI(x, y, 0, ix, iy); + fSegmentation->GetPadC(ix, iy, x, y, z); Int_t isec=fSegmentation->Sector(ix,iy); TF1* cogCorr=fSegmentation->CorrFunc(isec-1); if (cogCorr) { @@ -860,6 +865,8 @@ SinoidalFit(Float_t x, Float_t y, TF1 &func) static Int_t count=0; char canvasname[3]; + Float_t z; + count++; sprintf(canvasname,"c%d",count); @@ -867,11 +874,11 @@ SinoidalFit(Float_t x, Float_t y, TF1 &func) Float_t xg[kNs], yg[kNs], xrg[kNs], yrg[kNs]; Float_t xsig[kNs], ysig[kNs]; - AliRICHSegmentation *segmentation=fSegmentation; + AliSegmentation *segmentation=fSegmentation; Int_t ix,iy; - segmentation->GetPadIxy(x,y,ix,iy); - segmentation->GetPadCxy(ix,iy,x,y); + segmentation->GetPadI(x,y,0,ix,iy); + segmentation->GetPadC(ix,iy,x,y,z); Int_t isec=segmentation->Sector(ix,iy); // Pad Limits Float_t xmin = x-segmentation->Dpx(isec)/2; @@ -899,7 +906,7 @@ SinoidalFit(Float_t x, Float_t y, TF1 &func) Float_t qcheck=0; segmentation->SigGenInit(x, yscan, 0); - for (segmentation->FirstPad(x, yscan, dxI, dyI); + for (segmentation->FirstPad(x, yscan,0, dxI, dyI); segmentation->MorePads(); segmentation->NextPad()) { @@ -911,8 +918,8 @@ SinoidalFit(Float_t x, Float_t y, TF1 &func) qcheck+=qp; Int_t ixs=segmentation->Ix(); Int_t iys=segmentation->Iy(); - Float_t xs,ys; - segmentation->GetPadCxy(ixs,iys,xs,ys); + Float_t xs,ys,zs; + segmentation->GetPadC(ixs,iys,xs,ys,zs); sum+=qp*ys; } } // Pad loop @@ -935,7 +942,7 @@ SinoidalFit(Float_t x, Float_t y, TF1 &func) Float_t qcheck=0; segmentation->SigGenInit(xscan, y, 0); - for (segmentation->FirstPad(xscan, y, dxI, dyI); + for (segmentation->FirstPad(xscan, y, 0, dxI, dyI); segmentation->MorePads(); segmentation->NextPad()) { @@ -947,8 +954,8 @@ SinoidalFit(Float_t x, Float_t y, TF1 &func) qcheck+=qp; Int_t ixs=segmentation->Ix(); Int_t iys=segmentation->Iy(); - Float_t xs,ys; - segmentation->GetPadCxy(ixs,iys,xs,ys); + Float_t xs,ys,zs; + segmentation->GetPadC(ixs,iys,xs,ys,zs); sum+=qp*xs; } } // Pad loop @@ -1079,11 +1086,11 @@ Float_t DiscrCharge(Int_t i,Double_t *par) } gSegmentation->SetPad(gix[i], giy[i]); // First Cluster - gSegmentation->SetHit(par[0],par[1]); + gSegmentation->SetHit(par[0],par[1],0); Float_t q1=gResponse->IntXY(gSegmentation); // Second Cluster - gSegmentation->SetHit(par[2],par[3]); + gSegmentation->SetHit(par[2],par[3],0); Float_t q2=gResponse->IntXY(gSegmentation); Float_t value = qtot*(par[4]*q1+(1.-par[4])*q2); diff --git a/RICH/AliRICHClusterFinder.h b/RICH/AliRICHClusterFinder.h index 10f406285dc..18d280cc578 100644 --- a/RICH/AliRICHClusterFinder.h +++ b/RICH/AliRICHClusterFinder.h @@ -15,7 +15,7 @@ class AliRICHHitMapA1; #include "TF1.h" #include "TObject.h" class TClonesArray; -class AliRICHSegmentation; +class AliSegmentation; class AliRICHRawCluster; class AliRICHResponse; class TClonesArray; @@ -25,13 +25,13 @@ class AliRICHClusterFinder : public TObject { public: AliRICHClusterFinder - (AliRICHSegmentation *segmentation, + (AliSegmentation *segmentation, AliRICHResponse *response, TClonesArray *digits, Int_t chamber); AliRICHClusterFinder(); AliRICHClusterFinder(const AliRICHClusterFinder & ClusterFinder); virtual ~AliRICHClusterFinder(); virtual void SetSegmentation( - AliRICHSegmentation *segmentation){ + AliSegmentation *segmentation){ fSegmentation=segmentation; } virtual void SetResponse(AliRICHResponse *response) { @@ -74,7 +74,7 @@ class AliRICHClusterFinder : public TObject ClassDef(AliRICHClusterFinder,1) //Class for clustering and reconstruction of space points protected: - AliRICHSegmentation* fSegmentation; //Segmentation model + AliSegmentation* fSegmentation; //Segmentation model AliRICHResponse* fResponse; //Response model TClonesArray* fRawClusters; //Raw clusters list AliRICHHitMapA1* fHitMap; //Hit Map with digit positions diff --git a/RICH/AliRICHDisplay.cxx b/RICH/AliRICHDisplay.cxx index 5f4483967c2..55fe1c511bd 100644 --- a/RICH/AliRICHDisplay.cxx +++ b/RICH/AliRICHDisplay.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.7 2000/10/02 21:28:12 fca + Removal of useless dependecies via forward declarations + Revision 1.6 2000/10/02 15:46:38 jbarbosa Fixed forward declarations. @@ -871,7 +874,7 @@ void AliRICHDisplay::LoadDigits() ResetPoints(); AliRICH *pRICH = (AliRICH*)gAlice->GetDetector("RICH"); AliRICHChamber* iChamber; - AliRICHSegmentation* segmentation; + AliSegmentation* segmentation; Int_t nAllDigits=0; Int_t ich; @@ -918,8 +921,8 @@ void AliRICHDisplay::LoadDigits() points->SetMarkerColor(color); points->SetMarkerStyle(21); points->SetMarkerSize(0.5); - Float_t xpad, ypad; - segmentation->GetPadCxy(mdig->fPadX, mdig->fPadY,xpad, ypad); + Float_t xpad, ypad, zpad; + segmentation->GetPadC(mdig->fPadX, mdig->fPadY,xpad, ypad, zpad); Float_t vectorLoc[3]={xpad,6.276,ypad}; Float_t vectorGlob[3]; iChamber->LocaltoGlobal(vectorLoc,vectorGlob); @@ -929,7 +932,7 @@ void AliRICHDisplay::LoadDigits() points->SetDigitIndex(digit); points->SetPoint(0,vectorGlob[0],vectorGlob[1],vectorGlob[2]); - segmentation->GetPadCxy(mdig->fPadX, mdig->fPadY, xpad, ypad); + segmentation->GetPadC(mdig->fPadX, mdig->fPadY, xpad, ypad, zpad); Float_t theta = iChamber->GetRotMatrix()->GetTheta(); Float_t phi = iChamber->GetRotMatrix()->GetPhi(); marker=new TMarker3DBox(vectorGlob[0],vectorGlob[1],vectorGlob[2], diff --git a/RICH/AliRICHHitMapA1.cxx b/RICH/AliRICHHitMapA1.cxx index 2e54890f067..50fe906f430 100644 --- a/RICH/AliRICHHitMapA1.cxx +++ b/RICH/AliRICHHitMapA1.cxx @@ -19,7 +19,7 @@ #include "AliRICHHitMapA1.h" -#include "AliRICHSegmentation.h" +#include "AliSegmentation.h" #include "AliRICHDigit.h" #include @@ -28,7 +28,7 @@ ClassImp(AliRICHHitMapA1) -AliRICHHitMapA1::AliRICHHitMapA1(AliRICHSegmentation *seg, TObjArray *dig) +AliRICHHitMapA1::AliRICHHitMapA1(AliSegmentation *seg, TObjArray *dig) { // Constructor for AliRICHMapA1 @@ -52,7 +52,7 @@ AliRICHHitMapA1::~AliRICHHitMapA1() if (fHitMap) delete[] fHitMap; } -void AliRICHHitMapA1::Clear() +void AliRICHHitMapA1::Clear(const char *opt = "") { // Clear contents of hit map @@ -60,7 +60,7 @@ void AliRICHHitMapA1::Clear() memset(fHitMap,0,sizeof(int)*fMaxIndex); } -Int_t AliRICHHitMapA1::CheckedIndex(Int_t ix, Int_t iy) +Int_t AliRICHHitMapA1::CheckedIndex(Int_t ix, Int_t iy) const { // Check if index is valid @@ -117,7 +117,7 @@ void AliRICHHitMapA1::FlagHit(Int_t ix, Int_t iy) -TMath::Abs(fHitMap[CheckedIndex(ix, iy)]); } -Int_t AliRICHHitMapA1::GetHitIndex(Int_t ix, Int_t iy) +Int_t AliRICHHitMapA1::GetHitIndex(Int_t ix, Int_t iy) const { // Return hit coordinates from index @@ -128,7 +128,7 @@ Int_t AliRICHHitMapA1::GetHitIndex(Int_t ix, Int_t iy) } -TObject* AliRICHHitMapA1::GetHit(Int_t ix, Int_t iy) +TObject* AliRICHHitMapA1::GetHit(Int_t ix, Int_t iy) const { // Return index from coordinates diff --git a/RICH/AliRICHHitMapA1.h b/RICH/AliRICHHitMapA1.h index e135271152e..7f3fd067bd6 100644 --- a/RICH/AliRICHHitMapA1.h +++ b/RICH/AliRICHHitMapA1.h @@ -6,32 +6,32 @@ * See cxx source for full Copyright notice */ /* $Id$ */ -#include "AliRICHHitMap.h" +#include "AliHitMap.h" class TObjArray; -class AliRICHSegmentation; +class AliSegmentation; class AliRICHHitMapA1 : -public AliRICHHitMap +public AliHitMap { public: - AliRICHHitMapA1(AliRICHSegmentation *seg, TObjArray *dig); + AliRICHHitMapA1(AliSegmentation *seg, TObjArray *dig); virtual ~AliRICHHitMapA1(); virtual void FillHits(); - virtual void Clear(); + virtual void Clear(const char *opt = ""); virtual void SetHit(Int_t ix, Int_t iy, Int_t idigit); virtual void DeleteHit(Int_t ix, Int_t iy); - virtual Int_t GetHitIndex(Int_t ix, Int_t iy); - virtual TObject* GetHit(Int_t ix, Int_t iy); + virtual Int_t GetHitIndex(Int_t ix, Int_t iy) const; + virtual TObject* GetHit(Int_t ix, Int_t iy) const; virtual void FlagHit(Int_t ix, Int_t iy); virtual FlagType TestHit(Int_t ix, Int_t iy); private: - Int_t CheckedIndex(Int_t ix, Int_t iy); + Int_t CheckedIndex(Int_t ix, Int_t iy) const; private: - AliRICHSegmentation *fSegmentation; //Segmentation model + AliSegmentation *fSegmentation; //Segmentation model Int_t fNpx; //Pads in x Int_t fNpy; //Pads in y TObjArray *fDigits; //List of digits diff --git a/RICH/AliRICHPatRec.cxx b/RICH/AliRICHPatRec.cxx index 24d9675b988..633595e7e61 100644 --- a/RICH/AliRICHPatRec.cxx +++ b/RICH/AliRICHPatRec.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.6 2000/10/02 21:28:12 fca + Removal of useless dependecies via forward declarations + Revision 1.5 2000/10/02 15:50:25 jbarbosa Fixed forward declarations. @@ -42,13 +45,13 @@ #include "AliDetector.h" #include "AliRICH.h" #include "AliRICHPoints.h" -#include "AliRICHSegmentation.h" +#include "AliSegmentation.h" #include "AliRICHPatRec.h" #include "AliRICH.h" #include "AliRICHConst.h" #include "AliRICHPoints.h" #include "AliConst.h" -#include "AliRICHHitMap.h" +#include "AliHitMap.h" #include #include @@ -79,13 +82,13 @@ void AliRICHPatRec::PatRec() // Pattern recognition algorithm AliRICHChamber* iChamber; - AliRICHSegmentation* segmentation; + AliSegmentation* segmentation; Int_t ntracks, ndigits[kNCH]; Int_t itr, ich, i; Int_t goodPhotons; Int_t x,y,q; - Float_t rx,ry; + Float_t rx,ry,rz; Int_t nent,status; Int_t padsUsedX[100]; Int_t padsUsedY[100]; @@ -123,7 +126,7 @@ void AliRICHPatRec::PatRec() x=padI->fPadX; y=padI->fPadY; q=padI->fSignal; - segmentation->GetPadCxy(x,y,rx,ry); + segmentation->GetPadC(x,y,rx,ry,rz); //printf("Pad coordinates x:%d, Real coordinates x:%f\n",x,rx); //printf("Pad coordinates y:%d, Real coordinates y:%f\n",y,ry); @@ -140,7 +143,7 @@ void AliRICHPatRec::PatRec() Int_t xpad; Int_t ypad; - segmentation->GetPadIxy(fXpad,fYpad,xpad,ypad); + segmentation->GetPadI(fXpad,fYpad,0,xpad,ypad); padsUsedX[goodPhotons]=xpad; padsUsedY[goodPhotons]=ypad; @@ -186,7 +189,7 @@ Int_t AliRICHPatRec::TrackParam(Int_t itr, Int_t &ich) // Get Local coordinates of track impact AliRICHChamber* iChamber; - AliRICHSegmentation* segmentation; + AliSegmentation* segmentation; Float_t trackglob[3]; Float_t trackloc[3]; diff --git a/RICH/AliRICHPatRec.h b/RICH/AliRICHPatRec.h index 45e385d1f04..d4924d99020 100644 --- a/RICH/AliRICHPatRec.h +++ b/RICH/AliRICHPatRec.h @@ -14,7 +14,7 @@ #include #include "AliRICH.h" -#include "AliRICHHitMap.h" +#include "AliHitMap.h" class AliRICHPatRec; diff --git a/RICH/AliRICHPoints.cxx b/RICH/AliRICHPoints.cxx index 8d209a971dd..f9ce39f490c 100644 --- a/RICH/AliRICHPoints.cxx +++ b/RICH/AliRICHPoints.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.5 2000/10/02 21:28:12 fca + Removal of useless dependecies via forward declarations + Revision 1.4 2000/10/02 15:50:43 jbarbosa Fixed forward declarations. @@ -204,7 +207,7 @@ void AliRICHPoints::ShowRing(Int_t highlight) { AliRICH *pRICH = (AliRICH*)gAlice->GetDetector("RICH"); AliRICHChamber* iChamber; - AliRICHSegmentation* segmentation; + AliSegmentation* segmentation; AliRICHPoints *points = 0; @@ -243,8 +246,8 @@ void AliRICHPoints::ShowRing(Int_t highlight) { points->SetMarkerColor(color); points->SetMarkerStyle(21); points->SetMarkerSize(.5); - Float_t xpad, ypad; - segmentation->GetPadCxy(mdig->fPadX, mdig->fPadY,xpad, ypad); + Float_t xpad, ypad, zpad; + segmentation->GetPadC(mdig->fPadX, mdig->fPadY,xpad, ypad, zpad); Float_t vectorLoc[3]={xpad,6.276,ypad}; Float_t vectorGlob[3]; points->SetParticle(-1); @@ -254,7 +257,7 @@ void AliRICHPoints::ShowRing(Int_t highlight) { iChamber->LocaltoGlobal(vectorLoc,vectorGlob); points->SetPoint(0,vectorGlob[0],vectorGlob[1],vectorGlob[2]); - segmentation->GetPadCxy(mdig->fPadX, mdig->fPadY, xpad, ypad); + segmentation->GetPadC(mdig->fPadX, mdig->fPadY, xpad, ypad, zpad); Float_t theta = iChamber->GetRotMatrix()->GetTheta(); Float_t phi = iChamber->GetRotMatrix()->GetPhi(); marker=new TMarker3DBox(vectorGlob[0],vectorGlob[1],vectorGlob[2], diff --git a/RICH/AliRICHResponse.h b/RICH/AliRICHResponse.h index db552585e95..edde532cac0 100644 --- a/RICH/AliRICHResponse.h +++ b/RICH/AliRICHResponse.h @@ -11,7 +11,7 @@ // Chamber response virtual base class // #include -class AliRICHSegmentation; +class AliSegmentation; class AliRICHResponse : @@ -47,7 +47,7 @@ public TObject { virtual Float_t IntPH(Float_t eloss) =0; virtual Float_t IntPH() =0; // Charge disintegration - virtual Float_t IntXY(AliRICHSegmentation *) =0; + virtual Float_t IntXY(AliSegmentation *) =0; virtual Int_t FeedBackPhotons(Float_t *source, Float_t qtot) =0; // // Mathieson parameters @@ -61,3 +61,7 @@ public TObject { }; #endif + + + + diff --git a/RICH/AliRICHResponseV0.cxx b/RICH/AliRICHResponseV0.cxx index 9dcc7d5e95c..000231b06c7 100644 --- a/RICH/AliRICHResponseV0.cxx +++ b/RICH/AliRICHResponseV0.cxx @@ -15,13 +15,16 @@ /* $Log$ + Revision 1.2 2000/10/02 21:28:12 fca + Removal of useless dependecies via forward declarations + Revision 1.1 2000/06/12 15:29:37 jbarbosa Cleaned up version. */ #include "AliRICHResponseV0.h" -#include "AliRICHSegmentation.h" +#include "AliSegmentation.h" #include "AliRun.h" #include "AliMC.h" @@ -58,7 +61,7 @@ Float_t AliRICHResponseV0::IntPH() // ------------------------------------------- -Float_t AliRICHResponseV0::IntXY(AliRICHSegmentation * segmentation) +Float_t AliRICHResponseV0::IntXY(AliSegmentation * segmentation) { const Float_t kInversePitch = 1/fPitch; diff --git a/RICH/AliRICHResponseV0.h b/RICH/AliRICHResponseV0.h index 85961c0c2ee..bdbb94ca1ec 100644 --- a/RICH/AliRICHResponseV0.h +++ b/RICH/AliRICHResponseV0.h @@ -9,6 +9,8 @@ #include "AliRICHResponse.h" +class AliSegmentation; + class AliRICHResponseV0 : //Mathieson response public AliRICHResponse { @@ -54,7 +56,7 @@ public AliRICHResponse { virtual Float_t IntPH(Float_t eloss); virtual Float_t IntPH(); // Charge disintegration - virtual Float_t IntXY(AliRICHSegmentation * segmentation); + virtual Float_t IntXY(AliSegmentation * segmentation); virtual Int_t FeedBackPhotons(Float_t *source, Float_t qtot); protected: Float_t fChargeSlope; // Slope of the charge distribution diff --git a/RICH/AliRICHSegmentationV0.cxx b/RICH/AliRICHSegmentationV0.cxx index d405556a8c5..a4037d66bd6 100644 --- a/RICH/AliRICHSegmentationV0.cxx +++ b/RICH/AliRICHSegmentationV0.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.2 2000/10/02 15:48:19 jbarbosa + Fixed coding conventions. + Revision 1.1 2000/06/12 15:31:54 jbarbosa Cleaned up version. @@ -24,13 +27,11 @@ ClassImp(AliRICHSegmentationV0) -void AliRICHSegmentationV0::Init(AliRICHChamber* Chamber) +void AliRICHSegmentationV0::Init(Int_t id) { // Initialisation of chambers - //fNpx=(Int_t) (Chamber->ROuter()/fDpx+1); - //fNpy=(Int_t) (Chamber->ROuter()/fDpy+1); fNpx=160; fNpy=144; //fNpx=80; @@ -39,7 +40,7 @@ void AliRICHSegmentationV0::Init(AliRICHChamber* Chamber) } -Float_t AliRICHSegmentationV0::GetAnod(Float_t xhit) +Float_t AliRICHSegmentationV0::GetAnod(Float_t xhit) const { // Get anod wire closer to hit @@ -56,7 +57,7 @@ void AliRICHSegmentationV0::SetPadSize(Float_t p1, Float_t p2) fDpx=p1; fDpy=p2; } -void AliRICHSegmentationV0::GetPadIxy(Float_t x, Float_t y, Int_t &ix, Int_t &iy) +void AliRICHSegmentationV0::GetPadI(Float_t x, Float_t y, Int_t &ix, Int_t &iy) { // returns pad coordinates (ix,iy) for given real coordinates (x,y) // @@ -71,7 +72,7 @@ void AliRICHSegmentationV0::GetPadIxy(Float_t x, Float_t y, Int_t &ix, Int_t &iy if (ix < -fNpx) ix=-fNpx; } void AliRICHSegmentationV0:: -GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y) +GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y) { // returns real coordinates (x,y) for given pad coordinates (ix,iy) // @@ -96,7 +97,7 @@ SetPad(Int_t ix, Int_t iy) // Move to pad ix, iy - GetPadCxy(ix,iy,fX,fY); + GetPadC(ix,iy,fX,fY); } @@ -118,13 +119,13 @@ FirstPad(Float_t xhit, Float_t yhit, Float_t dx, Float_t dy) Float_t y02=yhit + dy; // // find the pads over which the charge distributes - GetPadIxy(x01,y01,fIxmin,fIymin); - GetPadIxy(x02,y02,fIxmax,fIymax); + GetPadI(x01,y01,fIxmin,fIymin); + GetPadI(x02,y02,fIxmax,fIymax); // // Set current pad to lower left corner fIx=fIxmin; fIy=fIymin; - GetPadCxy(fIx,fIy,fX,fY); + GetPadC(fIx,fIy,fX,fY); //if (fSector==2) //printf("fIx: %d, fIy: %d fX: %f, fY: %f\n",fIx,fIy,fX,fY); @@ -146,7 +147,7 @@ void AliRICHSegmentationV0::NextPad() } else { printf("\n Error: Stepping outside integration region\n "); } - GetPadCxy(fIx,fIy,fX,fY); + GetPadC(fIx,fIy,fX,fY); } Int_t AliRICHSegmentationV0::MorePads() @@ -173,7 +174,7 @@ void AliRICHSegmentationV0::SigGenInit(Float_t x,Float_t y,Float_t) // Initialises pad and wire position during stepping fXt =x; fYt =y; - GetPadIxy(x,y,fIxt,fIyt); + GetPadI(x,y,fIxt,fIyt); fIwt= (x>0) ? Int_t(x/fWireD)+1 : Int_t(x/fWireD)-1 ; } @@ -183,7 +184,7 @@ Int_t AliRICHSegmentationV0::SigGenCond(Float_t x,Float_t y,Float_t) // Signal will be generated if particle crosses pad boundary or // boundary between two wires. Int_t ixt, iyt; - GetPadIxy(x,y,ixt,iyt); + GetPadI(x,y,ixt,iyt); Int_t iwt=(x>0) ? Int_t(x/fWireD)+1 : Int_t(x/fWireD)-1; if ((ixt != fIxt) || (iyt !=fIyt) || (iwt != fIwt)) { @@ -249,12 +250,12 @@ Float_t AliRICHSegmentationV0::Distance2AndOffset(Int_t iX, Int_t iY, Float_t X, // labelled by its Channel numbers and a coordinate Float_t x,y; - GetPadCxy(iX,iY,x,y); + GetPadC(iX,iY,x,y); return (x-X)*(x-X) + (y-Y)*(y-Y); } -void AliRICHSegmentationV0::GiveTestPoints(Int_t &n, Float_t *x, Float_t *y) +void AliRICHSegmentationV0::GiveTestPoints(Int_t &n, Float_t *x, Float_t *y) const { // Test @@ -264,7 +265,7 @@ void AliRICHSegmentationV0::GiveTestPoints(Int_t &n, Float_t *x, Float_t *y) y[0]=x[0]; } -void AliRICHSegmentationV0::Draw() +void AliRICHSegmentationV0::Draw(const char* opt) const { // Dummy draw routine diff --git a/RICH/AliRICHSegmentationV0.h b/RICH/AliRICHSegmentationV0.h index cc40ec9315c..bd26d9ec072 100644 --- a/RICH/AliRICHSegmentationV0.h +++ b/RICH/AliRICHSegmentationV0.h @@ -7,10 +7,10 @@ /* $Id$ */ -#include "AliRICHSegmentation.h" +#include "AliSegmentation.h" class AliRICHSegmentationV0 : -public AliRICHSegmentation { +public AliSegmentation { public: AliRICHSegmentationV0(){} virtual ~AliRICHSegmentationV0(){} @@ -26,40 +26,48 @@ public AliRICHSegmentation { // Transform from pad (wire) to real coordinates and vice versa // // Anod wire coordinate closest to xhit - virtual Float_t GetAnod(Float_t xhit); + virtual Float_t GetAnod(Float_t xhit) const; // Transform from pad to real coordinates - virtual void GetPadIxy(Float_t x ,Float_t y ,Int_t &ix,Int_t &iy); + virtual void GetPadI(Float_t x, Float_t y , Int_t &ix, Int_t &iy); + virtual void GetPadI(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy) + {GetPadI(x, y, ix, iy);} // Transform from real to pad coordinates - virtual void GetPadCxy(Int_t ix,Int_t iy,Float_t &x ,Float_t &y ); + virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y); + virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z) + {z=0; GetPadC(ix, iy, x , y);} // // Initialisation - virtual void Init(AliRICHChamber* chamber); + virtual void Init(Int_t id); // // Get member data // // Pad size in x - virtual Float_t Dpx(){return fDpx;} + virtual Float_t Dpx() const {return fDpx;} // // Pad size in y - virtual Float_t Dpy(){return fDpy;} + virtual Float_t Dpy() const {return fDpy;} // Pad size in x by Sector - virtual Float_t Dpx(Int_t) {return fDpx;} + virtual Float_t Dpx(Int_t) const {return fDpx;} // Pad size in y by Sector - virtual Float_t Dpy(Int_t) {return fDpy;} + virtual Float_t Dpy(Int_t) const {return fDpy;} // Max number of Pads in x - virtual Int_t Npx(){return fNpx;} + virtual Int_t Npx() const {return fNpx;} // Max number of Pads in y - virtual Int_t Npy(){return fNpy;} + virtual Int_t Npy() const {return fNpy;} // set pad position virtual void SetPad(Int_t ix, Int_t iy); // set hit position virtual void SetHit(Float_t xhit , Float_t yhit); + virtual void SetHit(Float_t xhit, Float_t yhit, Float_t zhit) + {SetHit(xhit, yhit);} // // Iterate over pads // Initialiser virtual void FirstPad(Float_t xhit, Float_t yhit, Float_t dx, Float_t dy); + virtual void FirstPad(Float_t xhit, Float_t yhit, Float_t zhit, Float_t dx, Float_t dy) + {FirstPad(xhit, yhit, dx, dy);} // Stepper virtual void NextPad(); // Condition @@ -78,13 +86,13 @@ public AliRICHSegmentation { // // Current Pad during Integration // x-coordinate - virtual Int_t Ix(){return fIx;} + virtual Int_t Ix() {return fIx;} // y-coordinate - virtual Int_t Iy(){return fIy;} + virtual Int_t Iy() {return fIy;} // current sector - virtual Int_t ISector(){return 1;} + virtual Int_t ISector() {return 1;} // calculate sector from x-y coordinates - virtual Int_t Sector(Float_t x, Float_t y){return 1;} + virtual Int_t Sector(Int_t ix, Int_t iy) {return 1;} // // Signal Generation Condition during Stepping virtual Int_t SigGenCond(Float_t x, Float_t y, Float_t z); @@ -94,13 +102,13 @@ public AliRICHSegmentation { virtual void IntegrationLimits (Float_t& x1, Float_t& x2, Float_t& y1, Float_t& y2); // Test points for auto calibration - virtual void GiveTestPoints(Int_t &n, Float_t *x, Float_t *y); + virtual void GiveTestPoints(Int_t &n, Float_t *x, Float_t *y) const; // Debugging utilities - virtual void Draw(); + virtual void Draw(const char* = "") const; // Function for systematic corrections virtual void SetCorrFunc(Int_t dum, TF1* func) {fCorr=func;} - virtual TF1* CorrFunc(Int_t) {return fCorr;} + virtual TF1* CorrFunc(Int_t) const {return fCorr;} ClassDef(AliRICHSegmentationV0,1) protected: // diff --git a/RICH/AliRICHSegmentationV1.cxx b/RICH/AliRICHSegmentationV1.cxx index 9d8d1242974..59d1b964f84 100644 --- a/RICH/AliRICHSegmentationV1.cxx +++ b/RICH/AliRICHSegmentationV1.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.2 2000/10/02 15:48:55 jbarbosa + Fixed coding conventions. + Revision 1.1 2000/06/12 15:34:28 jbarbosa Cleaned up version. @@ -100,7 +103,7 @@ Int_t AliRICHSegmentationV1::Sector(Float_t x, Float_t y) } -void AliRICHSegmentationV1::GetPadIxy(Float_t x, Float_t y, Int_t &ix, Int_t &iy) +void AliRICHSegmentationV1::GetPadI(Float_t x, Float_t y, Int_t &ix, Int_t &iy) { // returns pad coordinates (ix,iy) for given real coordinates (x,y) // @@ -163,7 +166,7 @@ void AliRICHSegmentationV1::GetPadIxy(Float_t x, Float_t y, Int_t &ix, Int_t &iy } void AliRICHSegmentationV1:: -GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y) +GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y) { // returns real coordinates (x,y) for given pad coordinates (ix,iy) // @@ -269,3 +272,9 @@ IntegrationLimits(Float_t& x1,Float_t& x2,Float_t& y1, Float_t& y2) y1=fYhit-fY-fDpy/2.; y2=y1+fDpy; } + + + + + + diff --git a/RICH/AliRICHSegmentationV1.h b/RICH/AliRICHSegmentationV1.h index 2837dea4ef4..162db044b3f 100644 --- a/RICH/AliRICHSegmentationV1.h +++ b/RICH/AliRICHSegmentationV1.h @@ -14,14 +14,18 @@ class AliRICHSegmentationV1 : public AliRICHSegmentationV0 { AliRICHSegmentationV1(); virtual ~AliRICHSegmentationV1(); // current sector - virtual Int_t ISector(){return fSector;} + virtual Int_t ISector() {return fSector;} // calculate sector from x-y coordinates virtual Int_t Sector(Float_t x, Float_t y); // Transform from pad to real coordinates - virtual void GetPadIxy(Float_t x ,Float_t y ,Int_t &ix,Int_t &iy); + virtual void GetPadI(Float_t x ,Float_t y ,Int_t &ix,Int_t &iy); + virtual void GetPadI(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy) + {GetPadI(x, y, ix, iy);} // Transform from real to pad coordinates - virtual void GetPadCxy(Int_t ix,Int_t iy,Float_t &x ,Float_t &y ); + virtual void GetPadC(Int_t ix,Int_t iy,Float_t &x ,Float_t &y ); + virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z) + {z=0; GetPadC(ix, iy, x , y);} // Current integration limits virtual void IntegrationLimits (Float_t& x1, Float_t& x2, Float_t& y1, Float_t& y2); diff --git a/RICH/AliRICHTresholdMap.cxx b/RICH/AliRICHTresholdMap.cxx index 2e5589d5cde..6c28438e79f 100644 --- a/RICH/AliRICHTresholdMap.cxx +++ b/RICH/AliRICHTresholdMap.cxx @@ -19,7 +19,7 @@ #include "AliRICHTresholdMap.h" -#include "AliRICHSegmentation.h" +#include "AliSegmentation.h" #include "AliRICHDigit.h" #include @@ -28,7 +28,7 @@ ClassImp(AliRICHTresholdMap) -AliRICHTresholdMap::AliRICHTresholdMap(AliRICHSegmentation *seg) +AliRICHTresholdMap::AliRICHTresholdMap(AliSegmentation *seg) { // Constructor for AliRICHTresholdMap @@ -50,7 +50,7 @@ AliRICHTresholdMap::~AliRICHTresholdMap() if (fHitMap) delete[] fHitMap; } -void AliRICHTresholdMap::Clear() +void AliRICHTresholdMap::Clear(const char *opt = "") { // Clear contents of hit map @@ -58,7 +58,7 @@ void AliRICHTresholdMap::Clear() memset(fHitMap,0,sizeof(int)*fMaxIndex); } -Int_t AliRICHTresholdMap::CheckedIndex(Int_t ix, Int_t iy) +Int_t AliRICHTresholdMap::CheckedIndex(Int_t ix, Int_t iy) const { // Check if index is valid @@ -106,7 +106,7 @@ void AliRICHTresholdMap::FlagHit(Int_t ix, Int_t iy) -TMath::Abs(fHitMap[CheckedIndex(ix, iy)]); } -Int_t AliRICHTresholdMap::GetHitIndex(Int_t ix, Int_t iy) +Int_t AliRICHTresholdMap::GetHitIndex(Int_t ix, Int_t iy) const { // Return hit coordinates from index @@ -117,7 +117,7 @@ Int_t AliRICHTresholdMap::GetHitIndex(Int_t ix, Int_t iy) } -TObject* AliRICHTresholdMap::GetHit(Int_t ix, Int_t iy) +TObject* AliRICHTresholdMap::GetHit(Int_t ix, Int_t iy) const { // Return index from coordinates diff --git a/RICH/AliRICHTresholdMap.h b/RICH/AliRICHTresholdMap.h index 68a89e53e67..c82e964b637 100644 --- a/RICH/AliRICHTresholdMap.h +++ b/RICH/AliRICHTresholdMap.h @@ -9,33 +9,33 @@ $Id$ */ -#include "AliRICHHitMap.h" +#include "AliHitMap.h" class TObjArray; -class AliRICHSegmentation; +class AliSegmentation; -class AliRICHTresholdMap : public AliRICHHitMap +class AliRICHTresholdMap : public AliHitMap { public: - AliRICHTresholdMap(AliRICHSegmentation *seg); + AliRICHTresholdMap(AliSegmentation *seg); //AliRICHTresholdMap() {} virtual ~AliRICHTresholdMap(); virtual void FillHits(); - virtual void Clear(); + virtual void Clear(const char *opt = ""); virtual void SetHit(Int_t ix, Int_t iy, Int_t idigit); virtual void DeleteHit(Int_t ix, Int_t iy); - virtual Int_t GetHitIndex(Int_t ix, Int_t iy); - virtual TObject* GetHit(Int_t ix, Int_t iy); + virtual Int_t GetHitIndex(Int_t ix, Int_t iy) const; + virtual TObject* GetHit(Int_t ix, Int_t iy) const; virtual void FlagHit(Int_t ix, Int_t iy); virtual FlagType TestHit(Int_t ix, Int_t iy); private: - Int_t CheckedIndex(Int_t ix, Int_t iy); + Int_t CheckedIndex(Int_t ix, Int_t iy) const; private: - AliRICHSegmentation *fSegmentation; //Segmentation model + AliSegmentation *fSegmentation; //Segmentation model Int_t fNpx; //Pads in x Int_t fNpy; //Pads in y Int_t *fHitMap; // ! diff --git a/RICH/AliRICHv0.cxx b/RICH/AliRICHv0.cxx index 8baa67bb528..cfc0647f5b4 100644 --- a/RICH/AliRICHv0.cxx +++ b/RICH/AliRICHv0.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.15 2000/10/02 15:54:55 jbarbosa + New default version (15 mm freon). + Revision 1.14 2000/07/10 15:28:39 fca Correction of the inheritance scheme @@ -62,7 +65,7 @@ #include #include "AliRICHv0.h" -#include "AliRICHSegmentation.h" +#include "AliSegmentation.h" #include "AliRICHResponse.h" #include "AliRICHSegmentationV0.h" #include "AliRICHResponseV0.h" @@ -164,7 +167,7 @@ void AliRICHv0::Init() printf("* *\n"); - AliRICHSegmentation* segmentation; + AliSegmentation* segmentation; AliRICHGeometry* geometry; AliRICHResponse* response; @@ -174,7 +177,7 @@ void AliRICHv0::Init() // for (Int_t i=1; iInit(); + ( (AliRICHChamber*) (*fChambers)[i])->Init(i); } // diff --git a/RICH/AliRICHv1.cxx b/RICH/AliRICHv1.cxx index 6ed9b799311..59b59a42037 100644 --- a/RICH/AliRICHv1.cxx +++ b/RICH/AliRICHv1.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.6 2000/07/10 15:28:39 fca + Correction of the inheritance scheme + Revision 1.5 2000/06/30 16:38:51 dibari Removed setters. @@ -64,7 +67,7 @@ #include "AliRICHv1.h" #include "AliRICHHit.h" -#include "AliRICHSegmentation.h" +#include "AliSegmentation.h" #include "AliRICHResponse.h" #include "AliRICHSegmentationV0.h" #include "AliRICHResponseV0.h" @@ -166,7 +169,7 @@ void AliRICHv1::Init() printf("* *\n"); - AliRICHSegmentation* segmentation; + AliSegmentation* segmentation; AliRICHGeometry* geometry; AliRICHResponse* response; @@ -176,7 +179,7 @@ void AliRICHv1::Init() // for (Int_t i=1; iInit(); + ( (AliRICHChamber*) (*fChambers)[i])->Init(i); } // diff --git a/RICH/AliRICHv2.cxx b/RICH/AliRICHv2.cxx index a08a2eddd48..5519941520e 100644 --- a/RICH/AliRICHv2.cxx +++ b/RICH/AliRICHv2.cxx @@ -15,6 +15,9 @@ /* $Log$ + Revision 1.2 2000/07/10 15:28:39 fca + Correction of the inheritance scheme + Revision 1.1 2000/06/30 16:40:03 dibari New configurale version. @@ -110,7 +113,7 @@ void AliRICHv2::Init() printf("* *\n"); - AliRICHSegmentation* segmentation; + AliSegmentation* segmentation; AliRICHGeometry* geometry; AliRICHResponse* response; @@ -120,7 +123,7 @@ void AliRICHv2::Init() // for (Int_t i=1; iInit(); + ( (AliRICHChamber*) (*fChambers)[i])->Init(i); } // diff --git a/RICH/Makefile b/RICH/Makefile index fce5d33aa75..f3f5c808d32 100644 --- a/RICH/Makefile +++ b/RICH/Makefile @@ -11,7 +11,7 @@ PACKAGE = RICH SRCS = AliRICH.cxx AliRICHv0.cxx AliRICHv1.cxx AliRICHv2.cxx\ AliRICHDisplay.cxx AliRICHPoints.cxx AliRICHGeometry.cxx\ - AliRICHHitMap.cxx AliRICHHitMapA1.cxx AliRICHSegmentation.cxx \ + AliRICHHitMapA1.cxx \ AliRICHSegmentationV0.cxx AliRICHTresholdMap.cxx\ AliRICHSegmentationV1.cxx AliRICHResponse.cxx AliRICHResponseV0.cxx \ AliRICHClusterFinder.cxx \ diff --git a/RICH/RICHLinkDef.h b/RICH/RICHLinkDef.h index 04275da0b9a..a40c0dd3f1c 100644 --- a/RICH/RICHLinkDef.h +++ b/RICH/RICHLinkDef.h @@ -15,7 +15,6 @@ #pragma link C++ class AliRICHRawCluster; #pragma link C++ class AliRICHRecHit; #pragma link C++ class AliRICHCerenkov; -#pragma link C++ class AliRICHSegmentation; #pragma link C++ class AliRICHSegmentationV0; #pragma link C++ class AliRICHSegmentationV1; #pragma link C++ class AliRICHResponse; @@ -26,7 +25,6 @@ #pragma link C++ class AliRICHDisplay; #pragma link C++ class AliRICHEllipse; #pragma link C++ class AliRICHDetect; -#pragma link C++ class AliRICHHitMap; #pragma link C++ class AliRICHHitMapA1; #pragma link C++ class AliRICHTresholdMap; #pragma link C++ class AliRICHClusterFinder-;