- Adding comment lines to class description needed for Root documentation
[u/mrichter/AliRoot.git] / MUON / AliMUONChamber.cxx
CommitLineData
a9e2aefa 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
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 **************************************************************************/
2682e810 15
88cb7938 16/* $Id$ */
a9e2aefa 17
d19b6003 18// -----------------------
19// Class AliMUONChamber
20// -----------------------
21// MUON tracking chamber class
22// now only providing DisIntegration function
23
30178c30 24// --- ROOT includes ---
25#include <TRandom.h>
26#include <TMath.h>
a713db22 27#include "AliRun.h"
28
30178c30 29
681d067b 30// --- MUON includes ---
a713db22 31#include "AliMUON.h"
a9e2aefa 32#include "AliMUONChamber.h"
a713db22 33#include "AliMUONHit.h"
8c343c7c 34#include "AliLog.h"
a9e2aefa 35
5398f946 36/// \cond CLASSIMP
a9e2aefa 37ClassImp(AliMUONChamber)
5398f946 38/// \endcond
a9e2aefa 39
5398f946 40//_______________________________________________________
30178c30 41AliMUONChamber::AliMUONChamber()
42 : TObject(),
43 fId(0),
30178c30 44 fCurrentCorrel(1), // to avoid mistakes if ChargeCorrelInit is not called
30178c30 45 fResponse(0),
a713db22 46 fMUON(0)
d81db581 47{
d19b6003 48/// Default constructor
cbf9f933 49
50 AliDebug(1, Form("default (empty) ctor this = %p", this));
d81db581 51}
52
a713db22 53//_______________________________________________________
30178c30 54AliMUONChamber::AliMUONChamber(Int_t id)
55 : TObject(),
56 fId(id),
30178c30 57 fCurrentCorrel(1), // to avoid mistakes if ChargeCorrelInit is not called
30178c30 58 fResponse(0),
a713db22 59 fMUON(0)
a9e2aefa 60{
d19b6003 61/// Standard constructor
a713db22 62
63 // muon
64 fMUON = (AliMUON*)gAlice->GetModule("MUON");
65 if (!fMUON) {
66 AliFatal("MUON detector not defined.");
67 return;
68 }
002920d1 69
cbf9f933 70 AliDebug(1, Form("ctor this = %p", this) );
30178c30 71}
72
a713db22 73//_______________________________________________________
a9e2aefa 74AliMUONChamber::~AliMUONChamber()
75{
d19b6003 76/// Destructor
002920d1 77
cbf9f933 78 AliDebug(1, Form("dtor this = %p", this));
df42123e 79 delete fResponse;
a9e2aefa 80}
81
a713db22 82//_____________________________________________________
d19b6003 83void AliMUONChamber::ChargeCorrelationInit()
84{
85/// Initialisation of charge correlation for current hit
86/// the value is stored, and then used by Disintegration
953daa5a 87
88 // exponential is here to avoid eventual problems in 0
89 // factor 2 because chargecorrel is q1/q2 and not q1/qtrue
16d57990 90 fCurrentCorrel = TMath::Exp(gRandom->Gaus(0,fResponse->ChargeCorrel()/2));
681d067b 91}
92
df42123e 93//_____________________________________________________________________________
94void
95AliMUONChamber::SetResponseModel(const AliMUONResponse& thisResponse)
a713db22 96{
df42123e 97 delete fResponse;
98 fResponse = static_cast<AliMUONResponse*>(thisResponse.Clone());
a713db22 99}
df42123e 100