* See cxx source for full Copyright notice */
/* $Id$ */
+// Revision of includes 07/05/2004
+
+// MUON classe for MonteCarlo Hits, inherited from AliHit for the
+// In addition to the ALiHit data member fX, fY, fZ and fTrack, AliMUONHit contains some info about the particle crossing the chamber:
+// Impulsion: fPtot, fPx, fPy and fPz
+// Reference position at the center of the chamber (wire plane) fXref, fYref and fZref
+// Cumulated path along the active volume fTlength for spliting of hits for very inclined tracks
+// Energy loss of the particle inside the gas active volume.
+// Incident fTheta and fPhi angle with respect of the wire plane of the chamber.
+//
+
#include "AliHit.h"
public:
- AliMUONHit() {}
- AliMUONHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits);
+ AliMUONHit();
+ AliMUONHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits);
+ // TBR
+ AliMUONHit(Int_t fIshunt, Int_t track, Int_t *vol, Float_t *hits,
+ Bool_t isNew);
+
+ AliMUONHit(Int_t fIshunt, Int_t track, Int_t iChamber, Int_t idpart,
+ Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum,
+ Float_t theta, Float_t phi, Float_t length, Float_t destep);
+ // TBR
+ AliMUONHit(Int_t fIshunt, Int_t track, Int_t detElemId, Int_t idpart,
+ Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum,
+ Float_t theta, Float_t phi, Float_t length, Float_t destep, Bool_t isNew);
+
+ AliMUONHit(Int_t fIshunt, Int_t track, Int_t iChamber, Int_t idpart,
+ Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum,
+ Float_t theta, Float_t phi, Float_t length, Float_t destep,
+ Float_t Xref, Float_t Yref, Float_t Zref);
+ // TBR
+ AliMUONHit(Int_t fIshunt, Int_t track, Int_t detElemId, Int_t idpart,
+ Float_t X, Float_t Y, Float_t Z, Float_t tof, Float_t momentum,
+ Float_t theta, Float_t phi, Float_t length, Float_t destep,
+ Float_t Xref, Float_t Yref, Float_t Zref, Bool_t isNew);
virtual ~AliMUONHit() {}
- Int_t Chamber() {return fChamber;}
- Float_t Particle() {return fParticle;}
- Float_t Theta() {return fTheta;}
- Float_t Phi() {return fPhi;}
- Float_t Tlength() {return fTlength;}
- Float_t Eloss() {return fEloss;}
- Float_t Age() {return fAge;}
- Int_t PHfirst() {return fPHfirst;}
- Int_t PHlast() {return fPHlast;}
- Float_t Momentum() {return fPTot;}
- Float_t Px() {return fPx;}
- Float_t Py() {return fPy;}
- Float_t Pz() {return fPz;}
- Float_t Cx() {return fPx/fPTot;}
- Float_t Cy() {return fPy/fPTot;}
- Float_t Cz() {return fPz/fPTot;}
-
- private:
- Int_t fChamber; // Chamber number
+
+ Int_t DetElemId()const;
+ Int_t Chamber() const;
+ Float_t Particle() const {return fParticle;}
+ Float_t Theta() const {return fTheta;}
+ Float_t Phi() const {return fPhi;}
+ Float_t Tlength() const {return fTlength;}
+ Float_t Eloss() const {return fEloss;}
+ Float_t Age() const {return fAge;}
+ Int_t PHfirst() const {return fPHfirst;}
+ Int_t PHlast() const {return fPHlast;}
+
+ Float_t Momentum() const {return fPTot;}
+ Float_t Px() const {return fPx;}
+ Float_t Py() const {return fPy;}
+ Float_t Pz() const {return fPz;}
+ Float_t Cx() const {return fPx/fPTot;}
+ Float_t Cy() const {return fPy/fPTot;}
+ Float_t Cz() const {return fPz/fPTot;}
+
+ Float_t Xref() const {return fXref;}
+ Float_t Yref() const {return fYref;}
+ Float_t Zref() const {return fZref;}
+
+ private:
+ Bool_t fIsDetElemId; // False if fDetElemId contains Chamber Id (old code)
+ Int_t fDetElemId; // Detection element ID
Float_t fParticle; // Geant3 particle type
Float_t fTheta ; // Incident theta angle in degrees
Float_t fPhi ; // Incident phi angle in degrees
Int_t fPHfirst; // first padhit
Int_t fPHlast; // last padhit
- Float_t fPTot; // hit local momentum P
+ Float_t fPTot; // Local momentum P of the track when entering in the chamber
Float_t fPx; // Px
Float_t fPy; // Py
Float_t fPz; // Pz
+ Float_t fXref; // X position of hit in the center of the chamber (without angle effect)
+ Float_t fYref; // Y position of hit in the center of the chamber (without angle effect)
+ Float_t fZref; // Z position of hit in the center of the chamber (without angle effect)
+
+
ClassDef(AliMUONHit,1) //Hit object for MUON
};
#endif