*
* 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
+*/
//___________________________________________________________________
//
-// 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.
-//
#ifndef ALIHIT_H
# include <AliHit.h>
#endif
//___________________________________________________________________
+/** @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; }
protected:
UShort_t fDetector; // (Sub) Detector # (1,2, or 3)
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
//____________________________________________________________________