LCOV - code coverage report
Current view: top level - MUON/MUONsim - AliMUONHit.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 5 21 23.8 %
Date: 2016-06-14 17:26:59 Functions: 7 27 25.9 %

          Line data    Source code
       1             : #ifndef ALIMUONHIT_H
       2             : #define ALIMUONHIT_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$ */
       7             : // Revision of includes 07/05/2004
       8             : 
       9             : /// \ingroup sim
      10             : /// \class AliMUONHit
      11             : /// \brief MonteCarlo hit
      12             : ///
      13             : /// MUON class for MonteCarlo Hits, inherited from AliHit for the 
      14             : /// In addition to the ALiHit data member fX, fY, fZ and fTrack, AliMUONHit contains some info about the particle crossing the chamber:
      15             : /// Impulsion: fPtot, fPx, fPy and fPz
      16             : /// Reference position at the center of the chamber (wire plane) fXref, fYref and fZref
      17             : /// Cumulated path along the active volume fTlength for spliting of hits for very inclined tracks 
      18             : /// Energy loss of the particle inside the gas active volume.
      19             : /// Incident fTheta and fPhi angle with respect of the wire plane of the chamber.
      20             : 
      21             : 
      22             : #include "AliHit.h"
      23             : 
      24         460 : class AliMUONHit : public AliHit {
      25             : 
      26             :  public:
      27             :     
      28             :     AliMUONHit();
      29             :     AliMUONHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits);
      30             : 
      31             :     AliMUONHit(Int_t fIshunt, Int_t track, Int_t detElemId, Int_t idpart, 
      32             :                Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum, 
      33             :                Float_t theta, Float_t phi, Float_t length, Float_t destep);
      34             : 
      35             :     AliMUONHit(Int_t fIshunt, Int_t track, Int_t detElemId, Int_t idpart, 
      36             :                Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum, 
      37             :                Float_t theta, Float_t phi, Float_t length, Float_t destep,
      38             :                Float_t Xref, Float_t Yref, Float_t Zref);
      39             :     virtual ~AliMUONHit();
      40             : 
      41             :     virtual const char* GetName() const;
      42             :     
      43         230 :     Int_t   DetElemId()const {return fDetElemId;} ///< Return detection element ID
      44             :     Int_t   Chamber()  const;
      45             : 
      46             :     virtual void Print(Option_t* opt="") const;
      47             : 
      48           0 :     Float_t Particle() const {return fParticle;}  ///< Return particle id   
      49           0 :     Float_t Theta()    const {return fTheta;}     ///< Return incident theta angle in degrees
      50           0 :     Float_t Phi()      const {return fPhi;}       ///< Return incident phi angle in degrees
      51           0 :     Float_t Tlength()  const {return fTlength;}   ///< Return track length inside the chamber
      52         166 :     Float_t Eloss()    const {return fEloss;}     ///< Return Ionisation energy loss in gas
      53         294 :     Float_t Age()      const {return fAge;}       ///< Return Particle Age
      54           0 :     Int_t   PHfirst()  const {return fPHfirst;}   ///< Return First padhit
      55           0 :     Int_t   PHlast()   const {return fPHlast;}    ///< Return Last padhit
      56             : 
      57           0 :     Float_t Momentum() const {return fPTot;}      ///< Return local momentum P of the entering track
      58           0 :     Float_t Px()       const {return fPx;}        ///< Return Px
      59           0 :     Float_t Py()       const {return fPy;}        ///< Return Py
      60           0 :     Float_t Pz()       const {return fPz;}        ///< Return Pz
      61           0 :     Float_t Cx()       const {return fPx/fPTot;}  ///< Return Px/PTot 
      62           0 :     Float_t Cy()       const {return fPy/fPTot;}  ///< Return Py/PTot 
      63           0 :     Float_t Cz()       const {return fPz/fPTot;}  ///< Return Pz/PTot 
      64             : 
      65           0 :     Float_t Xref()     const {return fXref;}      ///< Return X position of hit in the center of the chamber (without angle effect)
      66           0 :     Float_t Yref()     const {return fYref;}      ///< Return Y position of hit in the center of the chamber (without angle effect)
      67           0 :     Float_t Zref()     const {return fZref;}      ///< Return Z position of hit in the center of the chamber (without angle effect)
      68             : 
      69             :  private:  
      70             :     Int_t     fDetElemId;     ///< Detection element ID
      71             :     Float_t   fParticle;      ///< Geant3 particle type
      72             :     Float_t   fTheta ;        ///< Incident theta angle in degrees      
      73             :     Float_t   fPhi   ;        ///< Incident phi angle in degrees
      74             :     Float_t   fTlength;       ///< Track length inside the chamber
      75             :     Float_t   fEloss;         ///< Ionisation energy loss in gas
      76             :     Float_t   fAge;           ///< Particle Age
      77             :     Int_t     fPHfirst;       ///< First padhit
      78             :     Int_t     fPHlast;        ///< Last padhit
      79             : 
      80             :     Float_t   fPTot;          ///< Local momentum P of the track when entering in the chamber
      81             :     Float_t   fPx;            ///< Px
      82             :     Float_t   fPy;            ///< Py
      83             :     Float_t   fPz;            ///< Pz
      84             :     
      85             :     Float_t   fXref;          ///< X position of hit in the center of the chamber (without angle effect)
      86             :     Float_t   fYref;          ///< Y position of hit in the center of the chamber (without angle effect)
      87             :     Float_t   fZref;          ///< Z position of hit in the center of the chamber (without angle effect)
      88             : 
      89             :     
      90          18 :     ClassDef(AliMUONHit,2)    //Hit object for MUON
      91             : };
      92             : #endif

Generated by: LCOV version 1.11