PHOS impact class
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 5 Jun 2001 16:46:54 +0000 (16:46 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 5 Jun 2001 16:46:54 +0000 (16:46 +0000)
PHOS/AliPHOSImpact.cxx [new file with mode: 0644]
PHOS/AliPHOSImpact.h [new file with mode: 0644]

diff --git a/PHOS/AliPHOSImpact.cxx b/PHOS/AliPHOSImpact.cxx
new file mode 100644 (file)
index 0000000..dd66ec7
--- /dev/null
@@ -0,0 +1,77 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/* $Id$ */
+
+//_________________________________________________________________________
+//  Hit impact class for PHOS     
+//  A hit impact in PHOS is a set of parameters of a track which
+//  enters the detector for the first time.
+//  Track parameters are:
+//  - track number
+//  - primary particle number
+//  - type of a particle
+//  - impact coordinate
+//  - impact 4-momentum
+//               
+//*-- Author: Yuri Kharlov (IHEP, Protvino/SUBATECH, Nantes)
+
+// --- ROOT system ---
+
+// --- Standard library ---
+
+// --- AliRoot header files ---
+#include "AliPHOSImpact.h"
+
+ClassImp(AliPHOSImpact)
+
+//____________________________________________________________________________
+AliPHOSImpact::AliPHOSImpact(const AliPHOSImpact & hit) 
+{
+   // copy ctor
+   
+  fTrack   = hit.fTrack ; 
+  fPrimary = hit.fPrimary ; 
+  fPid     = hit.fPid ;
+  fMomentum= hit.fMomentum ;
+  fX       = hit.fX ; 
+  fY       = hit.fY ; 
+  fZ       = hit.fZ ; 
+} 
+
+//____________________________________________________________________________
+AliPHOSImpact::AliPHOSImpact(Int_t shunt, Int_t primary, Int_t track, Int_t pid, TLorentzVector p, Float_t *xyz)
+  : AliHit(shunt, track)
+{
+  //
+  // Create a PHOS hit impact object
+  //
+
+  fPrimary   = primary ;
+  fPid       = pid ; 
+  fMomentum  = p;
+  fX         = xyz[0];  //position of particle first entering cristall/pad
+  fY         = xyz[1];
+  fZ         = xyz[2];  
+}
+
+//____________________________________________________________________________
+void AliPHOSImpact::Print()
+{
+  printf("Impact Pid=%4d, p=(%6.2f,%6.2f,%6.2f,%6.2f) GeV, x=(%6.1f,%6.1f,%6.1f) cm\n",
+        fPid,fMomentum.Px(),fMomentum.Py(),fMomentum.Pz(),fMomentum.E(),
+        fX,fY,fZ);
+}
diff --git a/PHOS/AliPHOSImpact.h b/PHOS/AliPHOSImpact.h
new file mode 100644 (file)
index 0000000..2c61b53
--- /dev/null
@@ -0,0 +1,64 @@
+#ifndef ALIPHOSIMPACT_H
+#define ALIPHOSIMPACT_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+/* $Id$ */
+
+//_________________________________________________________________________
+//  Hit impact class for PHOS     
+//  A hit impact in PHOS is a set of parameters of a track which
+//  enters the detector for the first time.
+//  Track parameters are:
+//  - track number
+//  - primary particle number
+//  - type of a particle
+//  - impact coordinate
+//  - impact 4-momentum
+//               
+//*-- Author: Yuri Kharlov (IHEP, Protvino/SUBATECH, Nantes)
+
+// --- ROOT system ---
+#include <TLorentzVector.h>
+
+// --- AliRoot header files ---
+#include "AliHit.h"
+
+// --- Standard library ---
+
+class AliPHOSImpact : public AliHit {
+
+public:
+  
+  AliPHOSImpact() { }              // default ctor 
+  AliPHOSImpact(const AliPHOSImpact & hit) ; 
+  AliPHOSImpact(Int_t shunt, Int_t primary, Int_t track, Int_t pid, TLorentzVector p, Float_t *xyz);
+  virtual ~AliPHOSImpact(void) { } // dtor 
+  
+  Int_t   GetPid(void)         const { 
+    // returns the particle PDG code which initiates this hit
+    return fPid ; 
+  }
+  Int_t   GetPrimary(void)     const { 
+    // returns the primary particle id at the origin of this hit 
+    return fPrimary ; 
+  }
+  TLorentzVector GetMomentum() const {
+    // returns momentum of the particle which initiated this hit
+    return  fMomentum;
+  }
+  void Print();
+
+private:
+
+  Int_t          fPid ;       // type of the particle that initiates that hit 
+  Int_t          fPrimary ;   // Primary particles at the origine of the hit
+  TLorentzVector fMomentum;   // 4-momentum of the particle
+
+  ClassDef(AliPHOSImpact,1)  // Hit impact for PHOS
+
+} ;
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif // ALIPHOSIMPACT_H