]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDmcm.h
Fix of TOF problem, Calculation of dEdx and PID during propagation to TOF, Writing...
[u/mrichter/AliRoot.git] / TRD / AliTRDmcm.h
index cea636186fdaa91885b08b2cb5f4c50db4d0bd58..871df8494e72673ac363eec882fc78236473fc7c 100644 (file)
@@ -5,94 +5,96 @@
 
 /* $Id$ */
 
-///////////////////////////////////////////////////////
-//                                                   //
-//  Multi Chip Module object                         //
-//                                                   //
-///////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+//                                                                        //
+//  Multi Chip Module object                                              //
+//                                                                        //
+////////////////////////////////////////////////////////////////////////////
 
 #include <TObject.h>
 
-class AliTRDtrigParam;
-
 class AliTRDmcm : public TObject {
 
  public:
 
-  enum { kMaxTrackletsPerMCM = 4, kMcmCol = 21, kMcmTBmax = 60, kSelClus = 6, kMaxClus = 4 };
+  enum { kMaxTrackletsPerMCM = 4
+       , kMcmCol             = 21
+       , kMcmTBmax           = 60
+       , kSelClus            = 6
+       , kMaxClus            = 4 };
 
   AliTRDmcm();
-  AliTRDmcm(AliTRDtrigParam *trigp, const Int_t id);
-  virtual ~AliTRDmcm();
-  AliTRDmcm &operator=(const AliTRDmcm &m);
-  virtual void Copy(TObject &m) const;
-
-  Int_t   Ntrk()                                    const { return fNtrk; };
-  Int_t  *GetTrkIndex()                                   { return &fTrkIndex[0]; };
-  Int_t   GetRobId()                                const { return fRobId; };
-  Int_t   GetChaId()                                const { return fChaId; };
-  void    SetRobId(const Int_t id)                        { fRobId = id; };
-  void    SetChaId(const Int_t id)                        { fChaId = id; };
-  void    SetRow(const Int_t row)                         { fRow = row; };
-  Int_t   GetRow()                                  const { return fRow; };
-  void    SetColRange(const Int_t colf, const Int_t coll) { fColFirst = colf; fColLast = coll; };
-  void    GetColRange(Int_t &colf, Int_t &coll)     const { colf = fColFirst; coll = fColLast; };
-  void    AddTrk(const Int_t id);
-  void    SetADC(const Int_t icol, const Int_t itb, const Float_t adc) 
-    { fADC[icol][itb] = adc; };
-  Float_t GetADC(const Int_t icol, const Int_t itb) const { return fADC[icol][itb]; };
-  void    Reset();
-  Bool_t  Run();
-  void    SetCluster(const Int_t icol, const Int_t itb)      { fIsClus[icol][itb] = kTRUE; };
-  void    UnSetCluster(const Int_t icol, const Int_t itb)    { fIsClus[icol][itb] = kFALSE; };
-  Bool_t  IsCluster(Float_t amp[3]) const;
-  void    AddTimeBin(const Int_t itime);
-  Int_t   CreateSeeds();
-  void    Sort(const Int_t nel, Int_t *x1, Int_t *x2, Int_t dir);
-  Int_t   GetNtrkSeeds()                     const { return fNtrkSeeds; };
-  Int_t  *GetSeedCol()                             { return &fSeedCol[0]; };
-  Int_t  *GetPadHits()                             { return &fPadHits[0]; };
-  Bool_t  IsCluster(const Int_t icol, const Int_t itim) const { return fIsClus[icol][itim]; };
-
-  void Filter(Int_t nexp, Int_t ftype = 0);
-  void DeConvExpA(Double_t *source, Double_t *target, Int_t n, Int_t nexp);
-  void DeConvExpD(Double_t *source, Int_t    *target, Int_t n, Int_t nexp);
-  void DeConvExpMI(Double_t *source, Double_t *target, Int_t n);
-  void TailMakerSpline(Double_t *ampin, Double_t *ampout, Double_t lambda, Int_t n);
-  void TailCancelationMI(Double_t *ampin, Double_t *ampout, Double_t norm, Double_t lambda, Int_t n);
-
-  Int_t   Id() const { return fId; };
+  AliTRDmcm(const AliTRDmcm &m);
+  AliTRDmcm(Int_t id);
+  virtual         ~AliTRDmcm();
+  AliTRDmcm       &operator=(const AliTRDmcm &m);
+
+  virtual void     Copy(TObject &m) const;
+
+          void     SetRobId(Int_t id)                          { fRobId = id; };
+          void     SetChaId(Int_t id)                          { fChaId = id; };
+          void     SetRow(Int_t row)                           { fRow = row;  };
+          void     SetColRange(Int_t colf, Int_t coll)         { fColFirst = colf; fColLast = coll; };
+          void     SetADC(Int_t icol, Int_t itb, Float_t adc)  { fADC[icol][itb] = adc;       };
+          void     SetCluster(Int_t icol, Int_t itb)           { fIsClus[icol][itb] = kTRUE;  };
+          void     UnSetCluster(Int_t icol, Int_t itb)         { fIsClus[icol][itb] = kFALSE; };
+
+          Int_t   *GetTrkIndex()                               { return &fTrkIndex[0];        };
+          Int_t    GetRobId() const { return fRobId; };
+          Int_t    GetChaId() const { return fChaId; };
+          Int_t    GetRow() const { return fRow; };
+          void     GetColRange(Int_t &colf, Int_t &coll) const { colf = fColFirst; coll = fColLast; };
+          Float_t  GetADC(Int_t icol, Int_t itb) const         { return fADC[icol][itb];     };
+          Int_t    GetNtrkSeeds() const                        { return fNtrkSeeds;          };
+          Int_t   *GetSeedCol()                                { return &fSeedCol[0];        };
+          Int_t   *GetPadHits()                                { return &fPadHits[0];        };
+          Bool_t   IsCluster(Int_t icol, Int_t itim) const     { return fIsClus[icol][itim]; };
+          Int_t    Ntrk() const { return fNtrk; };
+          Int_t    Id() const { return fId; };
+
+          void     AddTrk(Int_t id);
+          void     Reset();
+          Bool_t   Run();
+          Bool_t   IsCluster(Float_t amp[3]) const;
+          void     AddTimeBin(Int_t itime);
+          Int_t    CreateSeeds();
+          void     Sort(Int_t nel, Int_t *x1, Int_t *x2, Int_t dir) const;
+
+          void     Filter(Int_t nexp, Int_t ftype = 0);
+          void     DeConvExpA(Double_t *source, Double_t *target, Int_t n, Int_t nexp);
+          void     DeConvExpD(Double_t *source, Int_t    *target, Int_t n, Int_t nexp);
+          void     DeConvExpMI(Double_t *source, Double_t *target, Int_t n);
+          void     TailMakerSpline(Double_t *ampin, Double_t *ampout, Double_t lambda, Int_t n);
+          void     TailCancelationMI(Double_t *ampin, Double_t *ampout, Double_t norm, Double_t lambda, Int_t n);
 
  protected:
 
-  AliTRDtrigParam *fTrigParam;                //! pointer to the trigger parameters class
-
-  Int_t   fNtrk;                              //  number of found tracklets
-  Int_t   fTrkIndex[kMaxTrackletsPerMCM];     //  index of found tracklets
-  Int_t   fRobId;                             //  ROB id
-  Int_t   fChaId;                             //  Chamber id
-  Int_t   fRow;                               //  pad row number (0-11 or 0-15)
-  Int_t   fColFirst;                          //  first pad column
-  Int_t   fColLast;                           //  last pad column (<)
-  Float_t fADC[kMcmCol][kMcmTBmax];           //! array with MCM ADC values
-  Bool_t  fIsClus[kMcmCol][kMcmTBmax];        //! flag of a cluster maximum
-  Int_t   fTime1;                             //  first time bin for tracking (incl.)
-  Int_t   fTime2;                             //  last  time bin for tracking (incl.)
-  Float_t fClusThr;                           //  cluster threshold
-  Float_t fPadThr;                            //  pad threshold
-  Int_t   fPadHits[kMcmCol];                  //  hit counter in pads
-  Int_t   fNtrkSeeds;                         //  number of found seeds
-  Int_t   fSeedCol[kMaxTrackletsPerMCM];      //  column number of found tracklet seeds
-                                              //  filter parameters (1 = long, 2 = short component)
-  Float_t fR1;                                //  time constant [microseconds]
-  Float_t fR2;                                //  time constant [microseconds]
-  Float_t fC1;                                //  weight
-  Float_t fC2;                                //  weight
-  Float_t fPedestal;                          //  ADC baseline (pedestal)
-
-  Int_t fId;                                  //  dummy id
-
-  ClassDef(AliTRDmcm,2)                       // TRD MCM class
+          Int_t    fNtrk;                              //  Number of found tracklets
+          Int_t    fTrkIndex[kMaxTrackletsPerMCM];     //  Index of found tracklets
+          Int_t    fRobId;                             //  ROB id
+          Int_t    fChaId;                             //  Chamber id
+          Int_t    fRow;                               //  Pad row number (0-11 or 0-15)
+          Int_t    fColFirst;                          //  First pad column
+          Int_t    fColLast;                           //  Last pad column (<)
+          Float_t  fADC[kMcmCol][kMcmTBmax];           //! Array with MCM ADC values
+          Bool_t   fIsClus[kMcmCol][kMcmTBmax];        //! Flag of a cluster maximum
+          Int_t    fTime1;                             //  First time bin for tracking (incl.)
+          Int_t    fTime2;                             //  Last  time bin for tracking (incl.)
+          Float_t  fClusThr;                           //  Cluster threshold
+          Float_t  fPadThr;                            //  Pad threshold
+          Int_t    fPadHits[kMcmCol];                  //  Hit counter in pads
+          Int_t    fNtrkSeeds;                         //  Number of found seeds
+          Int_t    fSeedCol[kMaxTrackletsPerMCM];      //  Column number of found tracklet seeds
+                                                       //  Filter parameters (1 = long, 2 = short component)
+          Float_t  fR1;                                //  Time constant [microseconds] 
+          Float_t  fR2;                                //  Time constant [microseconds]
+          Float_t  fC1;                                //  Weight
+          Float_t  fC2;                                //  Weight
+          Float_t  fPedestal;                          //  ADC baseline (pedestal)
+
+          Int_t    fId;                                //  Dummy id
+  ClassDef(AliTRDmcm,3)                                //  TRD MCM class
 
 };