]>
Commit | Line | Data |
---|---|---|
23b18f4e | 1 | #ifndef ALITPCLASERTRACK |
2 | #define ALITPCLASERTRACK | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | #include <TString.h> | |
7 | ||
8 | #include "AliExternalTrackParam.h" | |
9 | ||
10 | class TObjArray; | |
11 | ||
12 | ||
13 | ||
14 | class AliTPCLaserTrack : public AliExternalTrackParam { | |
15 | public: | |
16 | AliTPCLaserTrack(); | |
17 | AliTPCLaserTrack(AliTPCLaserTrack <r); | |
18 | AliTPCLaserTrack(const Int_t id, const Int_t side, const Int_t rod, | |
19 | const Int_t bundle, const Int_t beam, | |
20 | Double_t x, Double_t alpha, | |
21 | const Double_t param[5], | |
22 | const Double_t covar[15]); | |
23 | ||
24 | ||
25 | static void LoadTracks(); | |
26 | static TObjArray* GetTracks() {return fgArrLaserTracks;} | |
27 | ||
28 | static Int_t IdentifyTrack(AliExternalTrackParam *track); | |
29 | ||
30 | Int_t GetId() const {return fId; } | |
31 | Int_t GetSide() const {return fSide; } | |
32 | Int_t GetRod() const {return fRod; } | |
33 | Int_t GetBundle() const {return fBundle; } | |
34 | Int_t GetBeam() const {return fBeam; } | |
35 | ||
f1fcccb7 | 36 | |
37 | ||
23b18f4e | 38 | static Int_t GetNLaserTracks() { return fgkNLaserTracks; } |
39 | static Int_t GetNLaserRodsPerSide() { return fgkNRodsPerSide; } | |
40 | static Int_t GetNMirrorBundlesPerRod() { return fgkNBundlePerRod; } | |
41 | static Int_t GetNLaserRaysPerMirrorBundle() { return fgkNBeamsPerBundle; } | |
42 | ||
43 | ||
44 | void SetId (Int_t id) {fId = id; } | |
45 | void SetSide (Int_t side) {fSide = side; } | |
46 | void SetRod (Int_t rod) {fRod = rod; } | |
47 | void SetBundle(Int_t bundle){fBundle = bundle;} | |
48 | void SetBeam (Int_t beam) {fBeam = beam; } | |
49 | ||
50 | ||
51 | private: | |
52 | Int_t fId; //Laser beam id (0-335) | |
53 | Int_t fSide; //TPC side; 0:Shaft Side (A) -- 1:Muon Side (C) | |
54 | Int_t fRod; //Laser Rod (0-5) | |
55 | Int_t fBundle; //Mirror bundle in the Rod (0-3) | |
56 | Int_t fBeam; //Laser Beam in the bundle (0-6) | |
57 | ||
58 | ||
59 | static TObjArray* fgArrLaserTracks; //! Array of all Laser Tracks, | |
60 | // keeps instances of this class; | |
61 | ||
62 | static const Int_t fgkNLaserTracks = 336; //Number of laser tracks | |
63 | static const Int_t fgkNRodsPerSide = 6; //Number of laser rods on each readout side | |
64 | static const Int_t fgkNBundlePerRod = 4; //Number of mirror bundles per rod | |
65 | static const Int_t fgkNBeamsPerBundle = 7; //Number of laser rays per bundle | |
66 | ||
67 | // static const char* fgkDataFileName = "$ALIC_ROOT/TPC/Calib/LaserTracks.root"; //Path to the Data File | |
68 | ||
69 | ClassDef(AliTPCLaserTrack,1) // Laser Track positions and track identification | |
70 | }; | |
71 | ||
72 | #endif | |
73 |