1 #ifndef ALIMUONSEGMENT_H
2 #define ALIMUONSEGMENT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
10 class AliMUONHitForRec;
11 class AliMUONTrackParam;
13 class AliMUONSegment : public TObject {
18 virtual ~AliMUONSegment(){
21 AliMUONSegment (const AliMUONSegment& AliMUONSegment); // copy constructor
22 AliMUONSegment& operator=(const AliMUONSegment& AliMUONSegment); // assignment operator
23 AliMUONSegment(AliMUONHitForRec* Hit1, AliMUONHitForRec* Hit2); // Constructor from two HitForRec's
25 // Inline functions for Get and Set
26 AliMUONHitForRec* GetHitForRec1(void) {
28 return fHitForRecPtr1;}
29 AliMUONHitForRec* GetHitForRec2(void) {
31 return fHitForRecPtr2;}
32 Double_t GetBendingCoorReso2(void) {
33 // Get fBendingCoorReso2
34 return fBendingCoorReso2;}
35 void SetBendingCoorReso2(Double_t BendingCoorReso2) {
36 // Set fBendingCoorReso2
37 fBendingCoorReso2 = BendingCoorReso2;}
38 Double_t GetNonBendingCoorReso2(void) {
39 // Get fNonBendingCoorReso2
40 return fNonBendingCoorReso2;}
41 void SetNonBendingCoorReso2(Double_t NonBendingCoorReso2) {
42 // Set fNonBendingCoorReso2
43 fNonBendingCoorReso2 = NonBendingCoorReso2;}
44 Double_t GetBendingImpact(void) {
46 return fBendingImpact;}
47 Bool_t GetInTrack(void) {
50 void SetInTrack(Bool_t InTrack) {
54 AliMUONSegment* CreateSegmentFromLinearExtrapToStation (Int_t Station, Double_t MCSfactor);
55 Double_t NormalizedChi2WithSegment(AliMUONSegment* Segment, Double_t Sigma2Cut);
56 AliMUONHitForRec* CreateHitForRecFromLinearExtrapToChamber (Int_t Chamber, Double_t MCSfactor);
57 void UpdateFromStationTrackParam(AliMUONTrackParam *TrackParam, Double_t MCSfactor, Double_t Dz1, Double_t Dz2, Double_t Dz3, Int_t Station, Double_t InverseMomentum);
59 // What is necessary for sorting TClonesArray's; sufficient too ????
60 Bool_t IsSortable() const { return kTRUE; }
61 Int_t Compare(TObject* Segment); // "Compare" function for sorting
64 AliMUONHitForRec* fHitForRecPtr1; // pointer to HitForRec in first chamber
65 AliMUONHitForRec* fHitForRecPtr2; // pointer to HitForRec in second chamber
67 Double_t fBendingCoor; // Coordinate in bending plane
68 Double_t fBendingSlope; // Slope in bending plane
69 // Covariance in bending plane:
70 Double_t fBendingCoorReso2; // Covariance(coordinate C1 in first chamber)
71 Double_t fBendingSlopeReso2; // Covariance(slope)
72 Double_t fBendingCoorSlopeReso2; // Covariance(C1,slope)
73 Double_t fBendingImpact; // Impact parameter in bending plane
75 Double_t fNonBendingCoor; // Coordinate in non bending plane
76 Double_t fNonBendingSlope; // Slope in non bending plane
77 // Covariance in non bending plane:
78 Double_t fNonBendingCoorReso2; // Covariance(coordinate C1 in first chamber)
79 Double_t fNonBendingSlopeReso2; // Covariance(slope)
80 Double_t fNonBendingCoorSlopeReso2; // Covariance(C1,slope)
81 Double_t fNonBendingImpact; // Impact parameter in non bending plane
82 Bool_t fInTrack; // TRUE if segment belongs to one track
84 ClassDef(AliMUONSegment, 1) // Class definition in ROOT context