LCOV - code coverage report
Current view: top level - ITSMFT/MFT/MFTsim - AliMFTHit.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 30 3.3 %
Date: 2016-06-14 17:26:59 Functions: 1 38 2.6 %

          Line data    Source code
       1             : #ifndef AliMFTHit_H
       2             : #define AliMFTHit_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             :  * See cxx source for full Copyright notice                               */
       6             : 
       7             : //====================================================================================================================================================
       8             : //
       9             : //      Hit description for the ALICE Muon Forward Tracker
      10             : //
      11             : //      Contact author: antonio.uras@cern.ch
      12             : //
      13             : //====================================================================================================================================================
      14             : 
      15             : #include "TLorentzVector.h"
      16             : #include "TParticle.h"
      17             : #include "AliHit.h"
      18             : #include "AliRun.h"
      19             : #include "AliMC.h"
      20             : 
      21             : //====================================================================================================================================================
      22             : 
      23             : class TParticle;
      24             : 
      25           0 : class AliMFTHit : public AliHit {
      26             : 
      27             : public:
      28             : 
      29             :   AliMFTHit();
      30             : //   AliMFTHit(const AliMFTHit &h);
      31             : //   AliMFTHit& operator=(const AliMFTHit &h);
      32             :   
      33           0 :   virtual ~AliMFTHit() {}
      34             :   
      35           0 :   virtual void SetPlane(Int_t plane) { fPlane = plane; }
      36           0 :   virtual void SetDetElemID(Int_t detElemID) { fDetElemID = detElemID; }
      37           0 :   virtual void SetPosition(TLorentzVector &x) { fX =x.X(); fY =x.Y(); fZ =x.Z(); }
      38           0 :   virtual void SetTOF(Double_t time) { fTOF = time; }
      39           0 :   virtual void SetStatus(Int_t status) { fStatus  = status; }
      40           0 :   virtual void SetEloss(Double_t energy) { fEloss = energy; }
      41           0 :   virtual void SetMomentum(TLorentzVector &p) { fPx=p.Px(); fPy=p.Py(); fPz=p.Pz(); }
      42             :   
      43           0 :   virtual Int_t GetTrackStatus() const { return fStatus;  }
      44           0 :   virtual Int_t GetPlane()       const { return fPlane; }
      45           0 :   virtual Int_t GetDetElemID()   const { return fDetElemID; }
      46           0 :   virtual Double_t GetEloss()    const { return fEloss; }
      47           0 :   virtual Double_t GetTOF()      const { return fTOF; }
      48             :   
      49           0 :   virtual void GetPosition(Double_t &x,Double_t &y,Double_t &z) const { x=fX; y=fY; z=fZ; }
      50           0 :   virtual Double_t GetX() const { return fX; }
      51           0 :   virtual Double_t GetY() const { return fY; }
      52           0 :   virtual Double_t GetZ() const { return fZ; }
      53             : 
      54           0 :   virtual void GetMomentum(Double_t &px,Double_t &py,Double_t &pz) const { px=fPx; py=fPy; pz=fPz; }
      55           0 :   virtual Double_t GetPx() const { return fPx; }
      56           0 :   virtual Double_t GetPy() const { return fPy; }
      57           0 :   virtual Double_t GetPz() const { return fPz; }
      58             : 
      59             :   TParticle* GetParticle() const;
      60             : 
      61           0 :   Bool_t IsInside()      const { return (fStatus & 0x1);    } 
      62           0 :   Bool_t IsEntering()    const { return (fStatus & 0x1<<1); }
      63           0 :   Bool_t IsExiting()     const { return (fStatus & 0x1<<2); }
      64           0 :   Bool_t IsOut()         const { return (fStatus & 0x1<<3); }
      65           0 :   Bool_t IsDisappeared() const { return (fStatus & 0x1<<4); }
      66           0 :   Bool_t IsStopped()     const { return (fStatus & 0x1<<5); }
      67           0 :   Bool_t IsAlive()       const { return (fStatus & 0x1<<6); }
      68             : 
      69             : protected:
      70             : 
      71             :   Int_t   fStatus;   /* The track status flag. This flag indicates the track status
      72             :                         at the time of creating this hit. 
      73             :                         It is made up of the following 8 status bits from highest order to lowest order bits 0 :  
      74             :                         IsTrackAlive(): IsTrackStop(): IsTrackDisappeared(): IsTrackOut(): IsTrackExiting(): IsTrackEntering(): IsTrackInside()     .
      75             :                         See AliMC for a description of these functions. 
      76             :                         If the function is true then the bit is set to one, otherwise it is zero. */
      77             :   
      78             :   Int_t    fPlane;      // Plane number
      79             :   Int_t    fDetElemID;  // Detection Element unique ID 
      80             :   Double_t fPx;         // PX of particle at the point of the hit
      81             :   Double_t fPy;         // PY of particle at the point of the hit
      82             :   Double_t fPz;         // PZ of particle at the point of the hit
      83             :   Double_t fEloss;      // Energy deposited in the current step
      84             :   Double_t fTOF;        // Time of flight at the point of the hit
      85             :   
      86          12 :   ClassDef(AliMFTHit,3)
      87             :     
      88             : };
      89             : 
      90             : //====================================================================================================================================================
      91             : 
      92             : #endif

Generated by: LCOV version 1.11