]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONHit.cxx
syntax correction for Mylar
[u/mrichter/AliRoot.git] / MUON / AliMUONHit.cxx
index c11d67a01b4a82299d3d75b132faf8f61a268e70..b4182227457bd7592360d31ca545c944b4f8e02d 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-$Log$
-Revision 1.1.2.1  2000/06/09 22:02:14  morsch
-Was before in DataStructures.cxx
+/* $Id$ */
+
+// 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 <TMath.h>
 
-*/
 #include "AliMUONHit.h"
 
 ClassImp(AliMUONHit)
  
 //___________________________________________
-    AliMUONHit::AliMUONHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits):
+AliMUONHit::AliMUONHit()
+  : AliHit() 
+{
+// Default constructor
+}
+
+//___________________________________________
+AliMUONHit::AliMUONHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits):
        AliHit(shunt, track)
 {
 // Constructor
-    fChamber=vol[0];
-    fParticle=hits[0];
-    fX=hits[1];
-    fY=hits[2];
-    fZ=hits[3];
-    fTheta=hits[4];
-    fPhi=hits[5];
-    fTlength=hits[6];
-    fEloss=hits[7];
-    fPHfirst=(Int_t) hits[8];
-    fPHlast=(Int_t) hits[9];
-
-    // modifs perso
-    fPTot=hits[10];
-    fCxHit=hits[11];
-    fCyHit=hits[12];
-    fCzHit=hits[13];
-    fAge=hits[14];
-    
+    fChamber   = vol[0];
+    fParticle  = hits[0];
+    fX         = hits[1];
+    fY         = hits[2];
+    fZ         = hits[3];
+    fTheta     = hits[4];
+    fPhi       = hits[5];
+    fTlength   = hits[6];
+    fEloss     = hits[7];
+    fPHfirst   = (Int_t) hits[8];
+    fPHlast    = (Int_t) hits[9];
+    fPTot      = hits[10];
+    fPx        = hits[11];
+    fPy        = hits[12];
+    fPz        = hits[13];
+    fAge       = hits[14];
+    fXref      = 0.;
+    fYref      = 0.;
+    fZref      = 0.;
 }
-
-
-
-
-
-
+//___________________________________________
+AliMUONHit::AliMUONHit(Int_t shunt, 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):
+       AliHit(shunt, track)
+{
+// Constructor
+    fChamber   = iChamber;
+    fParticle  = idpart;
+    fX         = X;
+    fY         = Y;
+    fZ         = Z;
+    fTheta     = theta;
+    fPhi       = phi;
+    fTlength   = length;
+    fEloss     = destep;
+    fPHfirst   = 0;
+    fPHlast    = 0;
+    fPTot      = momentum;
+    fPx        = momentum * TMath::Sin(theta) * TMath::Cos(phi);
+    fPy        = momentum * TMath::Sin(theta) * TMath::Sin(phi);
+    fPx        = momentum * TMath::Cos(theta) ;
+    fAge       = tof;
+    fXref      = 0.;
+    fYref      = 0.;
+    fZref      = 0.;
+}
+//-----------------------------------------------------------------------------------------------
+AliMUONHit::AliMUONHit(Int_t shunt, 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):
+       AliHit(shunt, track)
+{
+// Constructor
+    fChamber   = iChamber;
+    fParticle  = idpart;
+    fX         = X;
+    fY         = Y;
+    fZ         = Z;
+    fTheta     = theta;
+    fPhi       = phi;
+    fTlength   = length;
+    fEloss     = destep;
+    fPHfirst   = 0;
+    fPHlast    = 0;
+    fPTot      = momentum;
+    fPx        = momentum * TMath::Sin(theta) * TMath::Cos(phi);
+    fPy        = momentum * TMath::Sin(theta) * TMath::Sin(phi);
+    fPx        = momentum * TMath::Cos(theta) ;
+    fAge       = tof;
+    fXref      = Xref;
+    fYref      = Yref;
+    fZref      = Zref;
+}
+//-----------------------------------------------------------------------------------------------