* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-
/* $Id$ */
-
+/** @file AliFMDHit.cxx
+ @author Christian Holm Christensen <cholm@nbi.dk>
+ @date Mon Mar 27 12:41:58 2006
+ @brief Hit in the FMD
+ @ingroup FMD_sim
+*/
//____________________________________________________________________
//
// Hits in the FMD
+// Contains information on:
+// Position of hit
+// Momentum of track
+// PID of track
+// Energy loss of track
+// Track #
+// Track path length
+// Track stopping status.
+// Latest changes by Christian Holm Christensen
//
-// Latest changes by Christian Holm Christensen
-//
-#include "AliFMDHit.h" // ALIFMDHIT_H
-#include "AliLog.h" // ALILOG_H
+
#include "Riostream.h" // ROOT_Riostream
#include <TDatabasePDG.h>
#include <TMath.h>
#include <TString.h>
+#include "AliFMDHit.h" // ALIFMDHIT_H
+// #include "AliFMDDebug.h" // ALIFMDDEBUG_H ALILOG_H
+
//____________________________________________________________________
ClassImp(AliFMDHit)
#if 0
fPz(0),
fPdg(0),
fEdep(0),
- fTime(0)
+ fTime(0),
+ fLength(0),
+ fStop(0)
{
+ // Default CTOR
fX = fY = fZ = 0;
}
Float_t pz,
Float_t edep,
Int_t pdg,
- Float_t t)
+ Float_t t,
+ Float_t l,
+ Bool_t stop)
: AliHit(shunt, track),
fDetector(detector),
fRing(ring),
fPz(pz),
fPdg(pdg),
fEdep(edep),
- fTime(t)
+ fTime(t),
+ fLength(l),
+ fStop(stop)
{
// Normal FMD hit ctor
//
fZ = z;
}
+//____________________________________________________________________
+const char*
+AliFMDHit::GetName() const
+{
+ // Get the name
+ static TString n;
+ n = Form("FMD%d%c[%2d,%3d]", fDetector,fRing,fSector,fStrip);
+ return n.Data();
+}
+
+//____________________________________________________________________
+const char*
+AliFMDHit::GetTitle() const
+{
+ // Get the title
+ static TString t;
+ TDatabasePDG* pdgDB = TDatabasePDG::Instance();
+ TParticlePDG* pdg = pdgDB->GetParticle(fPdg);
+ t = Form("%s (%d): %f MeV / %f cm", (pdg ? pdg->GetName() : "?"),
+ fTrack, fEdep, fLength);
+ return t.Data();
+}
+
//____________________________________________________________________
Float_t
AliFMDHit::P() const
cout << "\tPDG:\t" << fPdg << " " << (pdg ? pdg->GetName() : "?") << "\n"
<< "\tP:\t(" << fPx << "," << fPy << "," << fPz << ") "<<P() << "\n"
<< "\tX:\t" << fX << "," << fY << "," << fZ << "\n"
- << "\tTrack #:\t" << fTrack << std::endl;
+ << "\tTrack #:\t" << fTrack << "\tLength:\t"
+ << fLength << "cm\t" << (IsStop() ? "stopped" : "") << std::endl;
}
}