]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MFT/AliMFTDigit.h
Moving fourier decomposition analysis code
[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"
16
17//====================================================================================================================================================
18
19class AliMFTDigit: public AliDigit {
20
21public:
22
23 AliMFTDigit();
24// AliMFTDigit(const AliMFTDigit &d);
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
45 void AddMCLabel(Int_t label) { if (fNMCTracks>=fNMaxMCTracks) return; else fMCLabel[fNMCTracks++]=label; }
46 Int_t GetNMCTracks() const { return fNMCTracks; }
47 Int_t GetMCLabel(Int_t track) const { if (track<fNMCTracks && track>=0) return fMCLabel[track]; else return -1; }
48
49 Double_t GetEloss() const { return fEloss; }
50 Double_t GetNElectrons() const { return fNElectrons; }
51 Int_t GetPlane() const { return fPlane; }
52 Int_t GetDetElemID() const { return fDetElemID; }
53 Int_t GetPixelX() const { return fPixelX; }
54 Int_t GetPixelY() const { return fPixelY; }
55 Int_t GetPixelZ() const { return fPixelZ; }
56 Double_t GetPixelCenterX() const { return fPixelCenterX; }
57 Double_t GetPixelCenterY() const { return fPixelCenterY; }
58 Double_t GetPixelCenterZ() const { return fPixelCenterZ; }
59 Double_t GetPixelWidthX() const { return fPixelWidthX; }
60 Double_t GetPixelWidthY() const { return fPixelWidthY; }
61 Double_t GetPixelWidthZ() const { return fPixelWidthZ; }
62
63protected:
64
65 static const Double_t fElossPerElectron = 3.62e-09;
66 static const Int_t fNMaxMCTracks = 10;
67
68 Int_t fNMCTracks;
69
70 Int_t fPixelX;
71 Int_t fPixelY;
72 Int_t fPixelZ;
73 Double_t fPixelCenterX;
74 Double_t fPixelCenterY;
75 Double_t fPixelCenterZ;
76 Double_t fPixelWidthX;
77 Double_t fPixelWidthY;
78 Double_t fPixelWidthZ;
79 Int_t fPlane;
80 Int_t fDetElemID;
81 Double_t fEloss; // total signal as Eloss in the medium
82 Double_t fNElectrons;
83
84 Int_t fMCLabel[fNMaxMCTracks];
85
86 ClassDef(AliMFTDigit,3)
87
88};
89
90//====================================================================================================================================================
91
92#endif
93
94
95