Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / MFT / AliMFTDigit.h
CommitLineData
820b4d9e 1#ifndef AliMFTDigit_H
2#define AliMFTDigit_H
3
4/* Copyright(c) 2004-2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//====================================================================================================================================================
8//
9// Digit description for the ALICE Muon Forward Tracker
10//
11// Contact author: antonio.uras@cern.ch
12//
13//====================================================================================================================================================
14
15#include "AliDigit.h"
d4643a10 16#include "AliMFTConstants.h"
820b4d9e 17
18//====================================================================================================================================================
19
20class AliMFTDigit: public AliDigit {
21
22public:
23
24 AliMFTDigit();
820b4d9e 25
26 virtual ~AliMFTDigit() {}
27
28 void AddOffset2TrackID(Int_t offset) { for(Int_t iTr=0; iTr<fNMCTracks; iTr++) if (fMCLabel[iTr]>0) fMCLabel[iTr]+=offset; } // needed for merging (?)
29
30 void SetPlane(Int_t plane) { fPlane = plane; }
31 void SetDetElemID(Int_t detElemID) { fDetElemID = detElemID; }
32 void SetPixID(Int_t pixelX, Int_t pixelY, Int_t pixelZ) { fPixelX = pixelX; fPixelY = pixelY; fPixelZ = pixelZ; }
33 void SetPixCenter(Double_t pixelCenterX, Double_t pixelCenterY, Double_t pixelCenterZ) {
34 fPixelCenterX = pixelCenterX;
35 fPixelCenterY = pixelCenterY;
36 fPixelCenterZ = pixelCenterZ;
37 }
38 void SetPixWidth(Double_t pixelWidthX, Double_t pixelWidthY, Double_t pixelWidthZ) {
39 fPixelWidthX = pixelWidthX;
40 fPixelWidthY = pixelWidthY;
41 fPixelWidthZ = pixelWidthZ;
42 }
43 void SetEloss(Double_t sig) { fEloss = sig; fNElectrons = fEloss/fElossPerElectron; }
44
d4643a10 45 void AddMCLabel(Int_t label);
46
820b4d9e 47 Int_t GetNMCTracks() const { return fNMCTracks; }
d4643a10 48 Int_t GetMCLabel(Int_t track) const { if (track<fNMCTracks && track>=0 && fNMCTracks>0) return fMCLabel[track]; else return -1; }
820b4d9e 49
50 Double_t GetEloss() const { return fEloss; }
51 Double_t GetNElectrons() const { return fNElectrons; }
52 Int_t GetPlane() const { return fPlane; }
53 Int_t GetDetElemID() const { return fDetElemID; }
54 Int_t GetPixelX() const { return fPixelX; }
55 Int_t GetPixelY() const { return fPixelY; }
56 Int_t GetPixelZ() const { return fPixelZ; }
57 Double_t GetPixelCenterX() const { return fPixelCenterX; }
58 Double_t GetPixelCenterY() const { return fPixelCenterY; }
59 Double_t GetPixelCenterZ() const { return fPixelCenterZ; }
60 Double_t GetPixelWidthX() const { return fPixelWidthX; }
61 Double_t GetPixelWidthY() const { return fPixelWidthY; }
62 Double_t GetPixelWidthZ() const { return fPixelWidthZ; }
bcaf50eb 63
820b4d9e 64protected:
65
d4643a10 66 static const Double_t fElossPerElectron;
67 static const Int_t fNMaxMCTracksPerDigit = AliMFTConstants::fNMaxMCTracksPerDigit;
68
820b4d9e 69 Int_t fNMCTracks;
70
71 Int_t fPixelX;
72 Int_t fPixelY;
73 Int_t fPixelZ;
74 Double_t fPixelCenterX;
75 Double_t fPixelCenterY;
76 Double_t fPixelCenterZ;
77 Double_t fPixelWidthX;
78 Double_t fPixelWidthY;
79 Double_t fPixelWidthZ;
80 Int_t fPlane;
81 Int_t fDetElemID;
82 Double_t fEloss; // total signal as Eloss in the medium
83 Double_t fNElectrons;
84
d4643a10 85 Int_t fMCLabel[fNMaxMCTracksPerDigit];
820b4d9e 86
87 ClassDef(AliMFTDigit,3)
88
89};
90
91//====================================================================================================================================================
92
93#endif