1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 // -----------------------
19 // Class AliMUONChamber
20 // -----------------------
21 // MUON tracking chamber class
22 // now only providing DisIntegration function
24 // --- ROOT includes ---
30 // --- MUON includes ---
32 #include "AliMUONChamber.h"
33 #include "AliMUONHit.h"
37 ClassImp(AliMUONChamber)
40 //_______________________________________________________
41 AliMUONChamber::AliMUONChamber()
44 fCurrentCorrel(1), // to avoid mistakes if ChargeCorrelInit is not called
48 /// Default constructor
50 AliDebug(1, Form("default (empty) ctor this = %p", this));
53 //_______________________________________________________
54 AliMUONChamber::AliMUONChamber(Int_t id)
57 fCurrentCorrel(1), // to avoid mistakes if ChargeCorrelInit is not called
61 /// Standard constructor
64 fMUON = (AliMUON*)gAlice->GetModule("MUON");
66 AliFatal("MUON detector not defined.");
70 AliDebug(1, Form("ctor this = %p", this) );
73 //_______________________________________________________
74 AliMUONChamber::~AliMUONChamber()
78 AliDebug(1, Form("dtor this = %p", this));
82 //_____________________________________________________
83 void AliMUONChamber::ChargeCorrelationInit()
85 /// Initialisation of charge correlation for current hit
86 /// the value is stored, and then used by Disintegration
88 // exponential is here to avoid eventual problems in 0
89 // factor 2 because chargecorrel is q1/q2 and not q1/qtrue
90 fCurrentCorrel = TMath::Exp(gRandom->Gaus(0,fResponse->ChargeCorrel()/2));
93 //_____________________________________________________________________________
95 AliMUONChamber::SetResponseModel(const AliMUONResponse& thisResponse)
98 fResponse = static_cast<AliMUONResponse*>(thisResponse.Clone());