]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/STEERBase/AliTPCdEdxInfo.cxx
Changes for #94112: Standard AOD size (Jens)
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliTPCdEdxInfo.cxx
1 #include "AliTPCdEdxInfo.h"
2
3 //##################################################################
4 //
5 // Simple class to store TPC dE/dx info for different pad regions.
6 //
7 // Origin: Marian Ivanov, Alexander Kalweit 
8 //
9 //##################################################################
10
11
12
13 ClassImp(AliTPCdEdxInfo)
14
15 AliTPCdEdxInfo::AliTPCdEdxInfo():
16   TObject(),
17   fTPCsignalRegion(),
18   fTPCsignalNRegion(),
19   fTPCsignalNRowRegion()
20 {
21   // Default constructor
22   for (Int_t i=0;i<3; i++){
23     fTPCsignalRegion[i]=0;
24     fTPCsignalNRegion[i]=0;
25     fTPCsignalNRowRegion[i]=0;
26   }
27   fTPCsignalRegion[3]=0;
28  
29 }
30
31 AliTPCdEdxInfo::AliTPCdEdxInfo(const AliTPCdEdxInfo& source):    
32     TObject(),   
33     fTPCsignalRegion(),          
34     fTPCsignalNRegion(),         
35     fTPCsignalNRowRegion()       
36 {        
37     //   
38     // copy constructor          
39     //   
40     Double32_t signal[4]; Char_t ncl[3]; Char_t nrows[3];        
41     source.GetTPCSignalRegionInfo(signal, ncl, nrows);   
42     for (Int_t i=0;i<3; i++){    
43         fTPCsignalRegion[i]=signal[i];   
44         fTPCsignalNRegion[i]=ncl[i];     
45         fTPCsignalNRowRegion[i]=nrows[i];        
46     }    
47     fTPCsignalRegion[3]=signal[3];       
48
49 }
50
51 AliTPCdEdxInfo& AliTPCdEdxInfo::operator=(const AliTPCdEdxInfo& source)  
52 {        
53     //   
54     // assignment operator       
55     //
56
57   if (&source == this) return *this;
58   TObject::operator=(source);
59
60   Double32_t signal[4]; Char_t ncl[3]; Char_t nrows[3];          
61   source.GetTPCSignalRegionInfo(signal, ncl, nrows);     
62   for (Int_t i=0;i<3; i++){      
63     fTPCsignalRegion[i]=signal[i];       
64     fTPCsignalNRegion[i]=ncl[i];         
65     fTPCsignalNRowRegion[i]=nrows[i];    
66   }      
67   fTPCsignalRegion[3]=signal[3];
68
69   return *this;
70
71 }
72
73 void  AliTPCdEdxInfo::GetTPCSignalRegionInfo(Double32_t signal[4], Char_t ncl[3], Char_t nrows[3]) const {
74   //
75   // Get the TPC dEdx variables per region
76   //
77   // Double32_t  fTPCsignalRegion[4]; // TPC dEdx signal in 4 different regions - 0 - IROC, 1- OROC medium, 2 - OROC long, 3- OROC all, (default truncation used)  
78   // Char_t      fTPCsignalNRegion[3]; // number of clusters above threshold used in the dEdx calculation
79   // Char_t      fTPCsignalNRowRegion[3]; // number of crosed rows used in the dEdx calculation - signal below threshold included
80   //
81   for (Int_t i=0; i<3; i++){
82     signal[i]=fTPCsignalRegion[i];
83     ncl[i]=fTPCsignalNRegion[i];
84     nrows[i]=fTPCsignalNRowRegion[i];
85   }
86   signal[3]=fTPCsignalRegion[3];
87   return; 
88 }
89
90
91 void  AliTPCdEdxInfo::SetTPCSignalRegionInfo(Double32_t signal[4], Char_t ncl[3], Char_t nrows[3]){
92   //
93   // Set the TPC dEdx variables per region
94   //
95   // Double32_t  fTPCsignalRegion[4]; // TPC dEdx signal in 4 different regions - 0 - IROC, 1- OROC medium, 2 - OROC long, 3- OROC all, (default truncation used)  
96   // Char_t      fTPCsignalNRegion[3]; // number of clusters above threshold used in the dEdx calculation
97   // Char_t      fTPCsignalNRowRegion[3]; // number of crosed rows used in the dEdx calculation - signal below threshold included
98   //
99   for (Int_t i=0;i<3; i++){
100     fTPCsignalRegion[i]=signal[i];
101     fTPCsignalNRegion[i]=ncl[i];
102     fTPCsignalNRowRegion[i]=nrows[i];
103   }
104   fTPCsignalRegion[3]=signal[3];
105   return;
106 }