]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMDHit.h
Updated version of the geometry
[u/mrichter/AliRoot.git] / FMD / AliFMDHit.h
index e5bb73eed4a008e18249d3d00f779b0897c4d655..ff18605e8258b20ce5b804bb175dd32cd808f735 100644 (file)
@@ -1,4 +1,3 @@
-// -*- mode: c++ -*-
 #ifndef AliFMDhit_H
 #define AliFMDhit_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
@@ -6,82 +5,51 @@
  *
  * See cxx source for full Copyright notice                               
  */
-////////////////////////////////////////////////
+// Hits are the information that comes from a Monte Carlo at each
+// step as a particle mass through sensitive detector elements as
+// particles are transported through a detector. 
+/** @file    AliFMDHit.h
+    @author  Christian Holm Christensen <cholm@nbi.dk>
+    @date    Mon Mar 27 12:41:58 2006
+    @brief   Hit in the FMD
+    @ingroup FMD_sim
+*/
+//___________________________________________________________________
 //
-//  Manager and hits classes for set:FMD     
-//
-////////////////////////////////////////////////
 #ifndef ALIHIT_H
-# include "AliHit.h"
+# include <AliHit.h>
 #endif
-
-///////////////////////////////////////////////////////////////////////
-// AliFMDhit is the hit class for the FMD. Hits are the information
-// that comes from a Monte Carlo at each step as a particle mass through
-// sensitive detector elements as particles are transported through a
-// detector.
-//
-// Data members:
-//
-// Int_t fTrack
-//     See AliHit for a full description. The track number of the track
-// that made this hit.
-//
-// Float_t fX
-//     See AliHit for a full description. The global x position of the
-// hit (in the standard units of the Monte Carlo).
-//
-// Float_t fY
-//     See AliHit for a full description. The global y position of the
-// hit (in the standard units of the Monte Carlo).
-//
-// Float_t fZ
-//     See AliHit for a full description. The global z position of the
-// hit (in the standard units of the Monte Carlo).
-//
-// Int_t fStatus
-//     The track status flag. This flag indicates the track status
-// at the time of creating this hit. It is made up of the following 8
-// status bits from highest order to lowest order bits
-// 0           :  IsTrackAlive():    IsTrackStop():IsTrackDisappeared():
-// IsTrackOut():IsTrackExiting():IsTrackEntering():IsTrackInside()     .
-// See AliMC for a description of these functions. If the function is
-// true then the bit is set to one, otherwise it is zero.
-
-// Int_t fVolume
-//     The number of the FMD detector that contains this hit. 
-
-// Float_t fEdep
-//     The energy lost by the particle during the step ending in this
-// hit. The units are those determined by the Monte Carlo.
-//
-// Float_t fPx
-//     The x momentum, in global coordinates, of the particle that
-// "created" the hit at the time and position of the hit. The units
-// are those determined by the Monte Carlo.
-//
-// Float_t fPy
-//     The y momentum, in global coordinates, of the particle that
-// "created" the hit at the time and position of the hit. The units
-// are those determined by the Monte Carlo.
-//
-// Float_t fPz
-//     The z momentum, in global coordinates, of the particle that
-// "created" the hit at the time and position of the hit. The units
-// are those determined by the Monte Carlo.
-//
-///
-// Float_t fTime
-//     The time of flight associated with the particle ending in this
-// hit. The time is typically measured from the point of creation of the
-// original particle (if this particle is a daughter).  The units
-// are those determined by the Monte Carlo. 
 
+//___________________________________________________________________
+/** @brief AliFMDhit is the hit class for the FMD. 
+    Hits are the information that comes from a Monte Carlo at each
+    step as a particle mass through sensitive detector elements as
+    particles are transported through a detector. 
+    @ingroup FMD_sim
+*/
 class AliFMDHit : public AliHit 
 {
 public:
+  /** Default CTOR */
   AliFMDHit();
+  /** Normal FMD hit ctor
+      @param shunt     ???
+      @param track     Track #
+      @param detector  Detector # (1, 2, or 3)                      
+      @param ring      Ring ID ('I' or 'O')
+      @param sector    Sector # (For inner/outer rings: 0-19/0-39)
+      @param strip     Strip # (For inner/outer rings: 0-511/0-255)
+      @param x        Track's X-coordinate at hit
+      @param y        Track's Y-coordinate at hit
+      @param z        Track's Z-coordinate at hit
+      @param px               X-component of track's momentum 
+      @param py               Y-component of track's momentum
+      @param pz               Z-component of track's momentum
+      @param edep      Energy deposited by track
+      @param pdg       Track's particle Id #
+      @param t        Time when the track hit 
+      @param l         Track lenght through medium 
+      @param stop      Whether track is stopped in medium */
   AliFMDHit(Int_t    shunt, 
            Int_t    track, 
            UShort_t detector, 
@@ -96,23 +64,55 @@ public:
            Float_t  pz=0,
            Float_t  edep=0,
            Int_t    pdg=0,
-           Float_t  t=0);
+           Float_t  t=0, 
+           Float_t  l=0, 
+           Bool_t   stop=kFALSE);
+  /** DTOR  */
   virtual ~AliFMDHit() {}
-
+  
+  /** @return Detector # */
   UShort_t Detector()  const { return fDetector; }
+  /** @return Ring ID */
   Char_t   Ring()      const { return fRing;     }
+  /** @return Sector # */
   UShort_t Sector()    const { return fSector;   }
+  /** @return Strip # */
   UShort_t Strip()     const { return fStrip;    }
+  /** @return Energy deposited (MeV) */
   Float_t  Edep()       const { return fEdep;     }
+  /** @return Track @f$ p_x@f$ - momentum in @f$ x@f$ (GeV) */
   Float_t  Px()         const { return fPx;       }
+  /** @return Track @f$ p_y@f$ - momentum in @f$ y@f$ (GeV) */
   Float_t  Py()         const { return fPy;       }
+  /** @return Track @f$ p_z@f$ - momentum in @f$ z@f$ (GeV) */
   Float_t  Pz()         const { return fPz;       } 
+  /** @return Track @f$ |p|@f$ - momentum (GeV) */
+  Float_t  P()          const;
+  /** @return Track @f$ m@f$ - mass (GeV) */
+  Float_t  M()          const;
+  /** @return Track @f$ q@f$ - charge (1/3) */
+  Float_t  Q()          const;
+  /** @return Track PDG id number */
   Int_t    Pdg()        const { return fPdg;      }
+  /** @return Time of hit in seconds */
   Float_t  Time()       const { return fTime;     }
-  void     Print(Option_t* opt="") const;
+  /** @return Path length through silicon */
+  Float_t  Length()     const { return fLength;   }
+  /** @return Whether track was stopped in silicon */
+  Bool_t   IsStop()     const { return fStop;     }
+
+  /** Print info 
+      @param opt Not used */
+  void        Print(Option_t* opt="") const;
+  /** @return Get Name */
+  const char* GetName()               const;
+  /** @return Get title */
+  const char* GetTitle()              const;
 
+  /** Set enenrgy deposited
+      @param edep Energy deposited */
   void     SetEdep(Float_t edep) { fEdep = edep; }
-private:
+protected:
   UShort_t fDetector;  // (Sub) Detector # (1,2, or 3)
   Char_t   fRing;      // Ring ID ('I' or 'O')
   UShort_t fSector;    // Sector # (phi division)
@@ -123,11 +123,17 @@ private:
   Int_t    fPdg;       // Particles PDG code 
   Float_t  fEdep;      // Energy deposition
   Float_t  fTime;      // Particle's time of flight
-
-  ClassDef(AliFMDHit,1)  //Hits for detector FMD
+  Float_t  fLength;    // Track length through material. 
+  Bool_t   fStop;      // Whether track was stopped. 
+  
+  ClassDef(AliFMDHit,2)  //Hits for detector FMD
 };
 #endif
 //____________________________________________________________________
 //
+// Local Variables:
+//   mode: C++
+// End:
+//
 // EOF
 //