* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-Revision 1.1.2.1 2003/04/15 15:57:31 hristov
-Merging with v3-09-08
+/* $Id$ */
-Revision 1.1 2003/01/06 10:13:09 morsch
-First commit.
+// Realisation of AliFastResponse for the
+// fast simulation of the muon spectrometer acceptance.
+// The acceptance depends on the muon 3-vector which can be passed as (pt, theta, phi),
+// where pt is the transverse momentum, theta the polar angle and phi the azimuthal angle.
+// Author: Andreas Morsch
+// andreas.morsch@cern.ch
-*/
+#include <TMath.h>
#include "AliFastMuonTrackingAcc.h"
#include "AliMUONFastTracking.h"
AliFastMuonTrackingAcc::AliFastMuonTrackingAcc() :
- AliFastResponse("Acceptance", "Muon Tracking Acceptance")
+ AliFastResponse("Acceptance", "Muon Tracking Acceptance"),
+ fBackground(1.),
+ fCharge(1.),
+ fFastTracking(0)
{
- SetBackground();
+ // Default Constructor
+}
+
+AliFastMuonTrackingAcc::AliFastMuonTrackingAcc(const AliFastMuonTrackingAcc & acc)
+ :AliFastResponse(acc),
+ fBackground(1.),
+ fCharge(1.),
+ fFastTracking(0)
+{
+// Copy constructor
+ acc.Copy(*this);
}
void AliFastMuonTrackingAcc::Init()
-Float_t AliFastMuonTrackingAcc::Evaluate(Float_t pt, Float_t theta, Float_t phi)
+Float_t AliFastMuonTrackingAcc::Evaluate(Float_t /*charge*/, Float_t pt, Float_t theta, Float_t phi)
{
+// Evaluate the tracking acceptance for 3-vector pt, theta, phi
Float_t p = pt / TMath::Sin(theta*TMath::Pi()/180.);
Float_t eff = fFastTracking->Acceptance(p, theta, phi, Int_t(fCharge));
return eff;
}
+
+AliFastMuonTrackingAcc& AliFastMuonTrackingAcc::operator=(const AliFastMuonTrackingAcc& rhs)
+{
+// Assignment operator
+ rhs.Copy(*this);
+ return *this;
+}