ALIROOT-5634 Install all needed files
[u/mrichter/AliRoot.git] / ZDC / AliZDCTriggerParameters.cxx
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  **************************************************************************/
15
16
17 /////////////////////////////////////////////////////////////////
18 //                                                             //
19 //    Class containing the parameters that are configured      //
20 //    to trigger events with the ZDC (in A-A collisions)       //
21 //    Use: store the set of parameters needed to calculate     //
22 //    the trigger function sent to the CTP                     //
23 //                                                             //
24 //    Author: Chiara.Oppedisano@to.infn.it                     //
25 //                                                             //
26 /////////////////////////////////////////////////////////////////                                                             
27
28 #include "AliZDCTriggerParameters.h"
29
30 ClassImp(AliZDCTriggerParameters)
31
32 //________________________________________________________________
33 AliZDCTriggerParameters::AliZDCTriggerParameters() :
34 TObject(),
35 fADCZEMCentralityThr(0),
36 fADCMBThreshold(0),
37 fDiscZEMCentralityThr(0),
38 fDiscMBThreshold(0)
39 {
40   // Default constructor
41   for(Int_t j=0; j<4; j++){
42      fADCEMDWindow[j] = fDiscEMDWindow[j] = 0.;
43      if(j<2){
44        fADCCentralWindow[j] = fADCSemicentralWindow[j] = 0.;
45        fDiscCentralWindow[j] = fDiscSemicentralWindow[j] = 0.;
46      }
47   }
48 }  
49
50 //________________________________________________________________
51 AliZDCTriggerParameters::AliZDCTriggerParameters(Float_t *adcParam, 
52         Float_t *discParam) :
53 fADCZEMCentralityThr(adcParam[0]),
54 fADCMBThreshold(adcParam[1]),
55 fDiscZEMCentralityThr(discParam[0]),
56 fDiscMBThreshold(discParam[1])
57 {
58   // Standard constructor
59   fADCCentralWindow[0] = adcParam[2];
60   fADCCentralWindow[1] = adcParam[3];
61   fADCSemicentralWindow[0] = adcParam[4];
62   fADCSemicentralWindow[1] = adcParam[5];
63   fADCEMDWindow[0] = adcParam[6];
64   fADCEMDWindow[1] = adcParam[7];
65   fADCEMDWindow[2] = adcParam[8];
66   fADCEMDWindow[3] = adcParam[9];
67   //
68   fDiscCentralWindow[0] = discParam[2];
69   fDiscCentralWindow[1] = discParam[3];
70   fDiscSemicentralWindow[0] = discParam[4];
71   fDiscSemicentralWindow[1] = discParam[5];
72   fDiscEMDWindow[0] = discParam[6];
73   fDiscEMDWindow[1] = discParam[7];
74   fDiscEMDWindow[2] = discParam[8];
75   fDiscEMDWindow[3] = discParam[9];
76 }
77
78 //____________________________________________________________________________
79 AliZDCTriggerParameters::AliZDCTriggerParameters(const AliZDCTriggerParameters& oldTrigPar) :
80   TObject(),
81   fADCZEMCentralityThr(oldTrigPar.fADCZEMCentralityThr),
82   fADCMBThreshold(oldTrigPar.fADCMBThreshold),
83   fDiscZEMCentralityThr(oldTrigPar.fDiscZEMCentralityThr),
84   fDiscMBThreshold(oldTrigPar.fDiscMBThreshold)
85 {
86   // Copy constructor
87   fADCCentralWindow[0] = oldTrigPar.fADCCentralWindow[0];
88   fADCCentralWindow[1] = oldTrigPar.fADCCentralWindow[1];
89   fADCSemicentralWindow[0] = oldTrigPar.fADCSemicentralWindow[0];
90   fADCSemicentralWindow[1] = oldTrigPar.fADCSemicentralWindow[1];
91   fADCEMDWindow[0] = oldTrigPar.fADCEMDWindow[0];
92   fADCEMDWindow[1] = oldTrigPar.fADCEMDWindow[1];
93   fADCEMDWindow[2] = oldTrigPar.fADCEMDWindow[2];
94   fADCEMDWindow[3] = oldTrigPar.fADCEMDWindow[3];
95   //
96   fDiscCentralWindow[0] = oldTrigPar.fDiscCentralWindow[0];
97   fDiscCentralWindow[1] = oldTrigPar.fDiscCentralWindow[1];
98   fDiscSemicentralWindow[0] = oldTrigPar.fDiscSemicentralWindow[0];
99   fDiscSemicentralWindow[1] = oldTrigPar.fDiscSemicentralWindow[1];
100   fDiscEMDWindow[0] = oldTrigPar.fDiscEMDWindow[0];
101   fDiscEMDWindow[1] = oldTrigPar.fDiscEMDWindow[1];
102   fDiscEMDWindow[2] = oldTrigPar.fDiscEMDWindow[2];
103   fDiscEMDWindow[3] = oldTrigPar.fDiscEMDWindow[3];
104   
105 }
106
107 //____________________________________________________________________________
108 AliZDCTriggerParameters &AliZDCTriggerParameters::operator= (const AliZDCTriggerParameters& param) 
109 {
110   //assignement operator
111   
112   if(&param == this) return *this;
113
114   fADCZEMCentralityThr = param.fADCZEMCentralityThr;
115   fADCMBThreshold = param.fADCMBThreshold;
116   fDiscZEMCentralityThr = param.fDiscZEMCentralityThr;
117   fDiscMBThreshold = param.fDiscMBThreshold;
118   for(int i=0; i<2; i++) {
119         fADCCentralWindow[i] = param.fADCCentralWindow[i];
120         fADCSemicentralWindow[i] = param.fADCSemicentralWindow[i];
121         fDiscCentralWindow[i] = param.fDiscCentralWindow[i];
122         fDiscSemicentralWindow[i] = param.fDiscSemicentralWindow[i];
123  }
124  for(int j=0; j<4; j++){
125         fADCEMDWindow[j] = param.fADCEMDWindow[j];
126         fDiscEMDWindow[j] = param.fDiscEMDWindow[j];
127  }
128  
129  return *this;
130 }