]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Use AliSegmentation and AliHit abstract base classes.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 3 Oct 2000 21:44:09 +0000 (21:44 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 3 Oct 2000 21:44:09 +0000 (21:44 +0000)
26 files changed:
RICH/AliRICH.cxx
RICH/AliRICH.h
RICH/AliRICHChamber.cxx
RICH/AliRICHChamber.h
RICH/AliRICHClusterFinder.cxx
RICH/AliRICHClusterFinder.h
RICH/AliRICHDisplay.cxx
RICH/AliRICHHitMapA1.cxx
RICH/AliRICHHitMapA1.h
RICH/AliRICHPatRec.cxx
RICH/AliRICHPatRec.h
RICH/AliRICHPoints.cxx
RICH/AliRICHResponse.h
RICH/AliRICHResponseV0.cxx
RICH/AliRICHResponseV0.h
RICH/AliRICHSegmentationV0.cxx
RICH/AliRICHSegmentationV0.h
RICH/AliRICHSegmentationV1.cxx
RICH/AliRICHSegmentationV1.h
RICH/AliRICHTresholdMap.cxx
RICH/AliRICHTresholdMap.h
RICH/AliRICHv0.cxx
RICH/AliRICHv1.cxx
RICH/AliRICHv2.cxx
RICH/Makefile
RICH/RICHLinkDef.h

index f126e4e2d822d5cb8fc46b6105a51105e7ad9537..98c4a3962cee4ecb5e0537ddedc4eca42dd366a9 100644 (file)
@@ -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 <strings.h>
 
 #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; i<kNCH; i++) {
@@ -2168,9 +2171,9 @@ void AliRICH::Digitise(Int_t nev, Int_t flag, Option_t *option,Text_t *filename)
                  //
                  //printf("X:%d, Y:%d, Q:%d\n",ipx,ipy,iqpad);
                  
-                 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);
                  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);
index fd31f628bdfcd84638a064f7fb5d35dbd8325175..a6eef637d24771316df68a396ffb6885daa1a02f 100644 (file)
@@ -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
index 488d10a712fd687b18f35e15d4afcf98c9f81147..ef3c492a4f680c141ac980e601e80e7c91e464ec 100644 (file)
@@ -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 <TObjArray.h>
 #include <TRotMatrix.h>
 #include <AliRICHTresholdMap.h>
-#include <AliRICHSegmentation.h>
+#include <AliSegmentation.h>
 #include <AliRICHGeometry.h>
 #include <AliRICHResponse.h>
 
@@ -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()) 
        {
index 9e9b1039d7b872f4fde7c85013f4b4b725680993..2d0dfa5635595a509cc79a835d1fc72b4650d017 100644 (file)
@@ -10,7 +10,7 @@
 #include <TRotMatrix.h>
 
 #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
index 9c2ac5e84b2de551539bcc113323878dfa3f9af0..1a73e884abcccf60f259ed4a119cad4a8e38e7d7 100644 (file)
@@ -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 <TMinuit.h> 
 
 //----------------------------------------------------------
-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; i<mul; i++) {
                cnew.fIndexMap[cnew.fMultiplicity]=c->fIndexMap[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);
index 10f406285dc5448bddd40e64b86e3904e88baa23..18d280cc578a6f90d77e1ae812be4dd6eb32ba7d 100644 (file)
@@ -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
index 5f4483967c2d066779d20d00bc145fc27a4986d6..55fe1c511bde0c9acf1af37cca27b1b64b979037 100644 (file)
@@ -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],
index 2e54890f06744f905db8854cfdc9d7987182c330..50fe906f4307397505d57eb5bef5de70f7629d65 100644 (file)
@@ -19,7 +19,7 @@
 
 
 #include "AliRICHHitMapA1.h"
-#include "AliRICHSegmentation.h"
+#include "AliSegmentation.h"
 #include "AliRICHDigit.h"
 
 #include <TObjArray.h>
@@ -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
index e135271152e4358ffa7333db179f656109612d16..7f3fd067bd65cfa6dcd2ccf05cc83f5234fa7ebb 100644 (file)
@@ -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
index 24d9675b988d8e49dca95cd83fb7440ea89207e0..633595e7e6130df7f2ffbd415ec702167ef2beba 100644 (file)
@@ -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.
 
 #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 <TParticle.h>
 #include <TMath.h>
@@ -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];
index 45e385d1f048f20b46c2ea48f44aa210e8334dcf..d4924d99020c8a6343b735c8234b9c42880b4616 100644 (file)
@@ -14,7 +14,7 @@
 #include <TMath.h>
 
 #include "AliRICH.h"
-#include "AliRICHHitMap.h"
+#include "AliHitMap.h"
 
 
 class AliRICHPatRec;
index 8d209a971dd6e3e20417f68d75632304559cdeb9..f9ce39f490c850c6fa70238b4eb22f9aad5b0b81 100644 (file)
@@ -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],
index db552585e95f71f455d5768c2e7e20f06669c0c3..edde532cac056dad718c14b2e44002e414b2d210 100644 (file)
@@ -11,7 +11,7 @@
 // Chamber response virtual base class
 //
 #include <TObject.h>
-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
+
+
+
+
index 9dcc7d5e95ce55cd69ffa4aab241ae3356bb41d1..000231b06c78a42db5e7cca2f7d1ce442b6d7024 100644 (file)
 
 /*
   $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;
index 85961c0c2ee2ab23f125d4f2d4613e439ff4d602..bdbb94ca1ec2407f2588d7435f01c7a4145b348f 100644 (file)
@@ -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
index d405556a8c5a67553d8e24b6151f1c969b4fafe7..a4037d66bd6db059af8b9ae9a7de3b3bedf6fcc9 100644 (file)
@@ -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.
 
 
 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
index cc40ec9315c3cbeaad313ec2f3c61ad40ebe8597..bd26d9ec072d435e067903adeebd590397c8c544 100644 (file)
@@ -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:
     //
index 9d8d124297476b139d2202920d3bb457c9eb3106..59d1b964f848a0589d0a5c4dd1e56b59901fd6ce 100644 (file)
@@ -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;
 }
+
+
+
+
+
+
index 2837dea4ef4921d4b64f2778a1780ed851bcff1b..162db044b3f7d64f5313a3ba224f3402ee84b728 100644 (file)
@@ -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);
index 2e5589d5cde425f33a4f20e6a152979ba098d9bc..6c28438e79ff5353975df8b42823ecf8bc523645 100644 (file)
@@ -19,7 +19,7 @@
 
 
 #include "AliRICHTresholdMap.h"
-#include "AliRICHSegmentation.h"
+#include "AliSegmentation.h"
 #include "AliRICHDigit.h"
 
 #include <TObjArray.h>
@@ -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
index 68a89e53e6723cf89173975c30169a887a9aeba1..c82e964b637fdec63d6e4cef1a11e2693ed81a71 100644 (file)
@@ -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;                                        // !
index 8baa67bb528013865c03cd7bc32d0e25073adadb..cfc0647f5b411eed7d16d3b84063220a04950a86 100644 (file)
@@ -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 <TRandom.h> 
 
 #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; i<kNCH; i++) {
        //printf ("i:%d",i);
-       ( (AliRICHChamber*) (*fChambers)[i])->Init();  
+       ( (AliRICHChamber*) (*fChambers)[i])->Init(i);  
     }  
     
     //
index 6ed9b799311346359cc59f92880563a68dff0b30..59b59a420370ef01a99fd75903277e12d8c9b781 100644 (file)
@@ -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; i<kNCH; i++) {
        //printf ("i:%d",i);
-       ( (AliRICHChamber*) (*fChambers)[i])->Init();  
+       ( (AliRICHChamber*) (*fChambers)[i])->Init(i);  
     }  
     
     //
index a08a2eddd48d58f333366916a68751af4eaac8f3..5519941520e3a5b8705cfeaa95acaeb94c73e6d2 100644 (file)
@@ -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; i<kNCH; i++) {
        //printf ("i:%d",i);
-       ( (AliRICHChamber*) (*fChambers)[i])->Init();  
+       ( (AliRICHChamber*) (*fChambers)[i])->Init(i);  
     }  
     
     //
index fce5d33aa75dbb941b584ec3a5569f2711299412..f3f5c808d32dfc8e9a22ba53f1cbe66a5c4ace42 100644 (file)
@@ -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 \
index 04275da0b9a8635eb0a0ca5f94ebfef7deb7e461..a40c0dd3f1cfab16fc4c813eda84f91bc1ee3691 100644 (file)
@@ -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-;