-// -*- mode: c++ -*-
#ifndef AliFMDhit_H
#define AliFMDhit_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
*
* 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,
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)
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
//