ROOT logo
/**************************************************************************
 * 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.                  *
 **************************************************************************/

///////////////////////////////////////////////////////////////////////////
//                       PID Values                                      //
//                                                                       //
//                                                                       //
/*

Class to store PID information for each particle species

*/
//                                                                       //
///////////////////////////////////////////////////////////////////////////


#include "AliPIDValues.h"

ClassImp(AliPIDValues)

AliPIDValues::AliPIDValues() :
  TObject(),
  fPIDStatus(AliPIDResponse::kDetPidOk)
{
  //
  // default constructor
  //
  Int_t nspecies=AliPID::kSPECIESCN;
  for (Int_t i=0; i<nspecies; ++i) fValues[i]=0.;
}

//_______________________________________________________________________
AliPIDValues::AliPIDValues(const AliPIDValues &val) :
  TObject(val),
  fPIDStatus(val.fPIDStatus)
{
  //
  // copy constructor
  //
  Int_t nspecies=AliPID::kSPECIESCN;
  for (Int_t i=0; i<nspecies; ++i) fValues[i]=val.fValues[i];
}

//_______________________________________________________________________
AliPIDValues::AliPIDValues(Double_t val[], Int_t nspecies, AliPIDResponse::EDetPidStatus status) :
  TObject(),
  fPIDStatus(AliPIDResponse::kDetPidOk)
{
  //
  // constructor with array of values
  //
  SetValues(val,nspecies,status);
}

//_______________________________________________________________________
AliPIDValues& AliPIDValues::operator= (const AliPIDValues &val)
{
  //
  // assignment operator
  //
  if (this!=&val){
    TObject::operator=(val);
    
    Int_t nspecies=AliPID::kSPECIESCN;
    for (Int_t i=0; i<nspecies; ++i) fValues[i]=val.fValues[i];
    fPIDStatus=val.fPIDStatus;
  }

  return *this;
}

//_______________________________________________________________________
void AliPIDValues::Copy(TObject &obj) const {
  // this overwrites the virtual TObject::Copy()
  // to allow run time copying without casting
  // in AliPIDValues
  
  if(this==&obj)return;
  AliPIDValues *robj = dynamic_cast<AliPIDValues*>(&obj);
  if(!robj)return; // not AliPIDValues
  *robj = *this;
}

//_______________________________________________________________________
void AliPIDValues::SetValues(const Double_t val[], Int_t nspecies, AliPIDResponse::EDetPidStatus status)
{
  //
  // set array of values
  //
  if (nspecies>AliPID::kSPECIESCN) nspecies=AliPID::kSPECIESCN;
  for (Int_t i=0; i<nspecies; ++i) fValues[i]=val[i];
  fPIDStatus=status;
}

//_______________________________________________________________________
AliPIDResponse::EDetPidStatus AliPIDValues::GetValues(Double_t val[], Int_t nspecies) const
{
  //
  // get array of values
  //
  if (nspecies>AliPID::kSPECIESCN) nspecies=AliPID::kSPECIESCN;
  for (Int_t i=0; i<nspecies; ++i) val[i]=fValues[i];
  return fPIDStatus;
}

//_______________________________________________________________________
Double_t AliPIDValues::GetValue(AliPID::EParticleType type) const
{
  //
  // get values for a specific particle type
  //
  return fValues[(Int_t)type];
}

 AliPIDValues.cxx:1
 AliPIDValues.cxx:2
 AliPIDValues.cxx:3
 AliPIDValues.cxx:4
 AliPIDValues.cxx:5
 AliPIDValues.cxx:6
 AliPIDValues.cxx:7
 AliPIDValues.cxx:8
 AliPIDValues.cxx:9
 AliPIDValues.cxx:10
 AliPIDValues.cxx:11
 AliPIDValues.cxx:12
 AliPIDValues.cxx:13
 AliPIDValues.cxx:14
 AliPIDValues.cxx:15
 AliPIDValues.cxx:16
 AliPIDValues.cxx:17
 AliPIDValues.cxx:18
 AliPIDValues.cxx:19
 AliPIDValues.cxx:20
 AliPIDValues.cxx:21
 AliPIDValues.cxx:22
 AliPIDValues.cxx:23
 AliPIDValues.cxx:24
 AliPIDValues.cxx:25
 AliPIDValues.cxx:26
 AliPIDValues.cxx:27
 AliPIDValues.cxx:28
 AliPIDValues.cxx:29
 AliPIDValues.cxx:30
 AliPIDValues.cxx:31
 AliPIDValues.cxx:32
 AliPIDValues.cxx:33
 AliPIDValues.cxx:34
 AliPIDValues.cxx:35
 AliPIDValues.cxx:36
 AliPIDValues.cxx:37
 AliPIDValues.cxx:38
 AliPIDValues.cxx:39
 AliPIDValues.cxx:40
 AliPIDValues.cxx:41
 AliPIDValues.cxx:42
 AliPIDValues.cxx:43
 AliPIDValues.cxx:44
 AliPIDValues.cxx:45
 AliPIDValues.cxx:46
 AliPIDValues.cxx:47
 AliPIDValues.cxx:48
 AliPIDValues.cxx:49
 AliPIDValues.cxx:50
 AliPIDValues.cxx:51
 AliPIDValues.cxx:52
 AliPIDValues.cxx:53
 AliPIDValues.cxx:54
 AliPIDValues.cxx:55
 AliPIDValues.cxx:56
 AliPIDValues.cxx:57
 AliPIDValues.cxx:58
 AliPIDValues.cxx:59
 AliPIDValues.cxx:60
 AliPIDValues.cxx:61
 AliPIDValues.cxx:62
 AliPIDValues.cxx:63
 AliPIDValues.cxx:64
 AliPIDValues.cxx:65
 AliPIDValues.cxx:66
 AliPIDValues.cxx:67
 AliPIDValues.cxx:68
 AliPIDValues.cxx:69
 AliPIDValues.cxx:70
 AliPIDValues.cxx:71
 AliPIDValues.cxx:72
 AliPIDValues.cxx:73
 AliPIDValues.cxx:74
 AliPIDValues.cxx:75
 AliPIDValues.cxx:76
 AliPIDValues.cxx:77
 AliPIDValues.cxx:78
 AliPIDValues.cxx:79
 AliPIDValues.cxx:80
 AliPIDValues.cxx:81
 AliPIDValues.cxx:82
 AliPIDValues.cxx:83
 AliPIDValues.cxx:84
 AliPIDValues.cxx:85
 AliPIDValues.cxx:86
 AliPIDValues.cxx:87
 AliPIDValues.cxx:88
 AliPIDValues.cxx:89
 AliPIDValues.cxx:90
 AliPIDValues.cxx:91
 AliPIDValues.cxx:92
 AliPIDValues.cxx:93
 AliPIDValues.cxx:94
 AliPIDValues.cxx:95
 AliPIDValues.cxx:96
 AliPIDValues.cxx:97
 AliPIDValues.cxx:98
 AliPIDValues.cxx:99
 AliPIDValues.cxx:100
 AliPIDValues.cxx:101
 AliPIDValues.cxx:102
 AliPIDValues.cxx:103
 AliPIDValues.cxx:104
 AliPIDValues.cxx:105
 AliPIDValues.cxx:106
 AliPIDValues.cxx:107
 AliPIDValues.cxx:108
 AliPIDValues.cxx:109
 AliPIDValues.cxx:110
 AliPIDValues.cxx:111
 AliPIDValues.cxx:112
 AliPIDValues.cxx:113
 AliPIDValues.cxx:114
 AliPIDValues.cxx:115
 AliPIDValues.cxx:116
 AliPIDValues.cxx:117
 AliPIDValues.cxx:118
 AliPIDValues.cxx:119
 AliPIDValues.cxx:120
 AliPIDValues.cxx:121
 AliPIDValues.cxx:122
 AliPIDValues.cxx:123
 AliPIDValues.cxx:124
 AliPIDValues.cxx:125
 AliPIDValues.cxx:126