ROOT logo
#ifndef AliMFTDigit_H
#define AliMFTDigit_H

/* Copyright(c) 2004-2006, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice     */

//====================================================================================================================================================
//
//      Digit description for the ALICE Muon Forward Tracker
//
//      Contact author: antonio.uras@cern.ch
//
//====================================================================================================================================================

#include "AliDigit.h"
#include "AliMFTConstants.h"

//====================================================================================================================================================

class AliMFTDigit: public AliDigit {

public:

  AliMFTDigit();

  virtual ~AliMFTDigit() {}

  void AddOffset2TrackID(Int_t offset) { for(Int_t iTr=0; iTr<fNMCTracks; iTr++) if (fMCLabel[iTr]>0) fMCLabel[iTr]+=offset; }  // needed for merging (?)
    
  void SetPlane(Int_t plane) { fPlane = plane; }
  void SetDetElemID(Int_t detElemID) { fDetElemID = detElemID; }
  void SetPixID(Int_t pixelX, Int_t pixelY, Int_t pixelZ) { fPixelX = pixelX;  fPixelY = pixelY; fPixelZ = pixelZ; }
  void SetPixCenter(Double_t pixelCenterX, Double_t pixelCenterY, Double_t pixelCenterZ) { 
    fPixelCenterX = pixelCenterX;  
    fPixelCenterY = pixelCenterY; 
    fPixelCenterZ = pixelCenterZ; 
  }
  void SetPixWidth(Double_t pixelWidthX, Double_t pixelWidthY, Double_t pixelWidthZ) { 
    fPixelWidthX = pixelWidthX;  
    fPixelWidthY = pixelWidthY;
    fPixelWidthZ = pixelWidthZ; 
  }
  void SetEloss(Double_t sig) { fEloss = sig; fNElectrons = fEloss/fElossPerElectron; }

  void  AddMCLabel(Int_t label); 

  Int_t GetNMCTracks() const { return fNMCTracks; }
  Int_t GetMCLabel(Int_t track) const { if (track<fNMCTracks && track>=0 && fNMCTracks>0) return fMCLabel[track]; else return -1; }

  Double_t  GetEloss()         const { return fEloss; }
  Double_t  GetNElectrons()    const { return fNElectrons; }
  Int_t     GetPlane()         const { return fPlane; }
  Int_t     GetDetElemID()     const { return fDetElemID; }
  Int_t     GetPixelX()        const { return fPixelX; }
  Int_t     GetPixelY()        const { return fPixelY; }
  Int_t     GetPixelZ()        const { return fPixelZ; }
  Double_t  GetPixelCenterX()  const { return fPixelCenterX; }
  Double_t  GetPixelCenterY()  const { return fPixelCenterY; }
  Double_t  GetPixelCenterZ()  const { return fPixelCenterZ; }
  Double_t  GetPixelWidthX()   const { return fPixelWidthX; }
  Double_t  GetPixelWidthY()   const { return fPixelWidthY; }
  Double_t  GetPixelWidthZ()   const { return fPixelWidthZ; }

protected:
    
  static const Double_t fElossPerElectron;
  static const Int_t fNMaxMCTracksPerDigit = AliMFTConstants::fNMaxMCTracksPerDigit;
  
  Int_t fNMCTracks;

  Int_t fPixelX;
  Int_t fPixelY;  
  Int_t fPixelZ;
  Double_t fPixelCenterX;
  Double_t fPixelCenterY;
  Double_t fPixelCenterZ;
  Double_t fPixelWidthX;
  Double_t fPixelWidthY;
  Double_t fPixelWidthZ;
  Int_t fPlane;     
  Int_t fDetElemID;     
  Double_t fEloss;       // total signal as Eloss in the medium
  Double_t fNElectrons; 
  
  Int_t fMCLabel[fNMaxMCTracksPerDigit];

  ClassDef(AliMFTDigit,3)

};

//====================================================================================================================================================

#endif
 AliMFTDigit.h:1
 AliMFTDigit.h:2
 AliMFTDigit.h:3
 AliMFTDigit.h:4
 AliMFTDigit.h:5
 AliMFTDigit.h:6
 AliMFTDigit.h:7
 AliMFTDigit.h:8
 AliMFTDigit.h:9
 AliMFTDigit.h:10
 AliMFTDigit.h:11
 AliMFTDigit.h:12
 AliMFTDigit.h:13
 AliMFTDigit.h:14
 AliMFTDigit.h:15
 AliMFTDigit.h:16
 AliMFTDigit.h:17
 AliMFTDigit.h:18
 AliMFTDigit.h:19
 AliMFTDigit.h:20
 AliMFTDigit.h:21
 AliMFTDigit.h:22
 AliMFTDigit.h:23
 AliMFTDigit.h:24
 AliMFTDigit.h:25
 AliMFTDigit.h:26
 AliMFTDigit.h:27
 AliMFTDigit.h:28
 AliMFTDigit.h:29
 AliMFTDigit.h:30
 AliMFTDigit.h:31
 AliMFTDigit.h:32
 AliMFTDigit.h:33
 AliMFTDigit.h:34
 AliMFTDigit.h:35
 AliMFTDigit.h:36
 AliMFTDigit.h:37
 AliMFTDigit.h:38
 AliMFTDigit.h:39
 AliMFTDigit.h:40
 AliMFTDigit.h:41
 AliMFTDigit.h:42
 AliMFTDigit.h:43
 AliMFTDigit.h:44
 AliMFTDigit.h:45
 AliMFTDigit.h:46
 AliMFTDigit.h:47
 AliMFTDigit.h:48
 AliMFTDigit.h:49
 AliMFTDigit.h:50
 AliMFTDigit.h:51
 AliMFTDigit.h:52
 AliMFTDigit.h:53
 AliMFTDigit.h:54
 AliMFTDigit.h:55
 AliMFTDigit.h:56
 AliMFTDigit.h:57
 AliMFTDigit.h:58
 AliMFTDigit.h:59
 AliMFTDigit.h:60
 AliMFTDigit.h:61
 AliMFTDigit.h:62
 AliMFTDigit.h:63
 AliMFTDigit.h:64
 AliMFTDigit.h:65
 AliMFTDigit.h:66
 AliMFTDigit.h:67
 AliMFTDigit.h:68
 AliMFTDigit.h:69
 AliMFTDigit.h:70
 AliMFTDigit.h:71
 AliMFTDigit.h:72
 AliMFTDigit.h:73
 AliMFTDigit.h:74
 AliMFTDigit.h:75
 AliMFTDigit.h:76
 AliMFTDigit.h:77
 AliMFTDigit.h:78
 AliMFTDigit.h:79
 AliMFTDigit.h:80
 AliMFTDigit.h:81
 AliMFTDigit.h:82
 AliMFTDigit.h:83
 AliMFTDigit.h:84
 AliMFTDigit.h:85
 AliMFTDigit.h:86
 AliMFTDigit.h:87
 AliMFTDigit.h:88
 AliMFTDigit.h:89
 AliMFTDigit.h:90
 AliMFTDigit.h:91
 AliMFTDigit.h:92
 AliMFTDigit.h:93