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

/* $Id$ */
/////////////////////////////////////////////////////////////////////////
//  Class AliT0RecPoint for T0 time and ADC signals
//  fTimeA  - A side TOF signal
//  fTimeC  - C side TOF signal
//  fTimeBestA - TOF first particle on the A side
//  TimeBestC - TOF first particle on the C side
//  fTimeAverage = (fTimeBestA + TimeBestLeft ) /2. T0 signal
//  fVertex - vertex position 
//
///////////////////////////////////////////////////////////////////////



 
#include "AliT0RecPoint.h"
#include "AliLog.h"


ClassImp(AliT0RecPoint)

//------------------------------------
  AliT0RecPoint::AliT0RecPoint() : TObject(),
				   fTimeAverage(99999),
				   fTimeOnlineMean(99999),
				   fVertexPosition(999999),
				   fTimeBestA(99999),
				   fTimeBestC(99999),
                                   fMultC(0),fMultA(0),
                                   fT0clock(9999999),
				   fT0trig(0),
				   fPileup(kFALSE),
				   fSattelite(kFALSE),
				   fTime1stA(99999),
				   fTime1stC(99999)
    

{
  //ctor
  for (Int_t i=0; i<24; i++) { fTime[i]=0; fADC[i]=0; fADCLED[i]=0;
    for(Int_t iHit=0; iHit<5; iHit++) {
      fTimeFull[i][iHit] = 0;   
      fOrA[iHit] = 0; 
      fOrC[iHit] = 0;  
      fTVDC[iHit] = 0; 
    }
 }
}
//_____________________________________________________________________________

AliT0RecPoint::AliT0RecPoint(const AliT0RecPoint &r):TObject(),
 						     fTimeAverage(r.fTimeAverage),
						     fTimeOnlineMean(r.fTimeOnlineMean),
						     fVertexPosition(r.fVertexPosition),
						     fTimeBestA(r.fTimeBestA),
						     fTimeBestC(r.fTimeBestC),
						     fMultC(r.fMultC),
						     fMultA(r.fMultA),
                                                     fT0clock(r.fT0clock),
						     fT0trig(r.fT0trig),
						     fPileup(r.fPileup),
						     fSattelite(r.fSattelite),
						     fTime1stA(r.fTime1stA),
						     fTime1stC(r.fTime1stC)

{
  //
  // AliT0RecPoint copy constructor
  //
  for (Int_t i=0; i<24; i++) {
    fTime[i] = r. fTime[i];
    fADC[i] = r.fADC[i]; 
    fADCLED[i] = r. fADCLED[i];
    for(Int_t iHit=0; iHit<5; iHit++) {
      fTimeFull[i][iHit] = r.fTimeFull[i][iHit];   
      fOrA[iHit] = r.fOrA[iHit]; 
      fOrC[iHit] = r.fOrC[iHit];  
      fTVDC[iHit] = r.fTVDC[iHit]; 
    }
  }
  //  ((AliT0RecPoint &) r).Copy(*this);

}
//_____________________________________________________________________________

/*
//_____________________________________________________________________________

AliT0RecPoint& AliT0RecPoint:: operator=(const AliT0RecPoint &r)
{
  //
  // assign. operator
  //

  if (this == &r)
    return *this;
  
  fTimeAverage = r.fTimeAverage;
  fTimeOnlineMean = r.fTimeOnlineMean;
  fVertexPosition = r.fVertexPosition;
  fTimeBestA =  r.fTimeBestA;
  fTimeBestC = r.fTimeBestC;
  fMultC = r.fMultC;
  fMultA = r.fMultA;
  fT0clock = r.fT0clock;
  fT0trig = r.fT0trig;
  fPileup = r.fPileup;
  fSattelite = r.fSattelite;
  fTime1stA = r.fTime1stA;
  fTime1stC = r.fTime1stC;
  for (Int_t i=0; i<24; i++) {
    fTime[i] = r. fTime[i];
    fADC[i] = r.fADC[i]; 
    fADCLED[i] = r. fADCLED[i];
    for(Int_t iHit=0; iHit<5; iHit++) {
      fTimeFull[i][iHit] = r.fTimeFull[i][iHit];   
      fOrA[iHit] = r.fOrA[iHit]; 
      fOrC[iHit] = r.fOrC[iHit];  
      fTVDC[iHit] = r.fTVDC[iHit]; 
    }
  }
  
  return *this;
}
*/
//_____________________________________________________________________________
void AliT0RecPoint::SetT0Trig(Bool_t *tr)
{
  fT0trig=0;
  for (Int_t i=0; i<5; i++) fT0trig = fT0trig | (tr[i]?(1<<i):0);
}
//_____________________________________________________________________________

void AliT0RecPoint::PrintTriggerSignals(Int_t trig)
{
  Bool_t tr[5];
  for (Int_t i=0; i<5; i++) tr[i] = (trig&(1<<i))!=0;

  AliInfo(Form("T0 triggers tvdc %d orA %d orC %d centr %d semicentral %d",tr[0],tr[1],tr[2],tr[3],tr[4]));
}
 AliT0RecPoint.cxx:1
 AliT0RecPoint.cxx:2
 AliT0RecPoint.cxx:3
 AliT0RecPoint.cxx:4
 AliT0RecPoint.cxx:5
 AliT0RecPoint.cxx:6
 AliT0RecPoint.cxx:7
 AliT0RecPoint.cxx:8
 AliT0RecPoint.cxx:9
 AliT0RecPoint.cxx:10
 AliT0RecPoint.cxx:11
 AliT0RecPoint.cxx:12
 AliT0RecPoint.cxx:13
 AliT0RecPoint.cxx:14
 AliT0RecPoint.cxx:15
 AliT0RecPoint.cxx:16
 AliT0RecPoint.cxx:17
 AliT0RecPoint.cxx:18
 AliT0RecPoint.cxx:19
 AliT0RecPoint.cxx:20
 AliT0RecPoint.cxx:21
 AliT0RecPoint.cxx:22
 AliT0RecPoint.cxx:23
 AliT0RecPoint.cxx:24
 AliT0RecPoint.cxx:25
 AliT0RecPoint.cxx:26
 AliT0RecPoint.cxx:27
 AliT0RecPoint.cxx:28
 AliT0RecPoint.cxx:29
 AliT0RecPoint.cxx:30
 AliT0RecPoint.cxx:31
 AliT0RecPoint.cxx:32
 AliT0RecPoint.cxx:33
 AliT0RecPoint.cxx:34
 AliT0RecPoint.cxx:35
 AliT0RecPoint.cxx:36
 AliT0RecPoint.cxx:37
 AliT0RecPoint.cxx:38
 AliT0RecPoint.cxx:39
 AliT0RecPoint.cxx:40
 AliT0RecPoint.cxx:41
 AliT0RecPoint.cxx:42
 AliT0RecPoint.cxx:43
 AliT0RecPoint.cxx:44
 AliT0RecPoint.cxx:45
 AliT0RecPoint.cxx:46
 AliT0RecPoint.cxx:47
 AliT0RecPoint.cxx:48
 AliT0RecPoint.cxx:49
 AliT0RecPoint.cxx:50
 AliT0RecPoint.cxx:51
 AliT0RecPoint.cxx:52
 AliT0RecPoint.cxx:53
 AliT0RecPoint.cxx:54
 AliT0RecPoint.cxx:55
 AliT0RecPoint.cxx:56
 AliT0RecPoint.cxx:57
 AliT0RecPoint.cxx:58
 AliT0RecPoint.cxx:59
 AliT0RecPoint.cxx:60
 AliT0RecPoint.cxx:61
 AliT0RecPoint.cxx:62
 AliT0RecPoint.cxx:63
 AliT0RecPoint.cxx:64
 AliT0RecPoint.cxx:65
 AliT0RecPoint.cxx:66
 AliT0RecPoint.cxx:67
 AliT0RecPoint.cxx:68
 AliT0RecPoint.cxx:69
 AliT0RecPoint.cxx:70
 AliT0RecPoint.cxx:71
 AliT0RecPoint.cxx:72
 AliT0RecPoint.cxx:73
 AliT0RecPoint.cxx:74
 AliT0RecPoint.cxx:75
 AliT0RecPoint.cxx:76
 AliT0RecPoint.cxx:77
 AliT0RecPoint.cxx:78
 AliT0RecPoint.cxx:79
 AliT0RecPoint.cxx:80
 AliT0RecPoint.cxx:81
 AliT0RecPoint.cxx:82
 AliT0RecPoint.cxx:83
 AliT0RecPoint.cxx:84
 AliT0RecPoint.cxx:85
 AliT0RecPoint.cxx:86
 AliT0RecPoint.cxx:87
 AliT0RecPoint.cxx:88
 AliT0RecPoint.cxx:89
 AliT0RecPoint.cxx:90
 AliT0RecPoint.cxx:91
 AliT0RecPoint.cxx:92
 AliT0RecPoint.cxx:93
 AliT0RecPoint.cxx:94
 AliT0RecPoint.cxx:95
 AliT0RecPoint.cxx:96
 AliT0RecPoint.cxx:97
 AliT0RecPoint.cxx:98
 AliT0RecPoint.cxx:99
 AliT0RecPoint.cxx:100
 AliT0RecPoint.cxx:101
 AliT0RecPoint.cxx:102
 AliT0RecPoint.cxx:103
 AliT0RecPoint.cxx:104
 AliT0RecPoint.cxx:105
 AliT0RecPoint.cxx:106
 AliT0RecPoint.cxx:107
 AliT0RecPoint.cxx:108
 AliT0RecPoint.cxx:109
 AliT0RecPoint.cxx:110
 AliT0RecPoint.cxx:111
 AliT0RecPoint.cxx:112
 AliT0RecPoint.cxx:113
 AliT0RecPoint.cxx:114
 AliT0RecPoint.cxx:115
 AliT0RecPoint.cxx:116
 AliT0RecPoint.cxx:117
 AliT0RecPoint.cxx:118
 AliT0RecPoint.cxx:119
 AliT0RecPoint.cxx:120
 AliT0RecPoint.cxx:121
 AliT0RecPoint.cxx:122
 AliT0RecPoint.cxx:123
 AliT0RecPoint.cxx:124
 AliT0RecPoint.cxx:125
 AliT0RecPoint.cxx:126
 AliT0RecPoint.cxx:127
 AliT0RecPoint.cxx:128
 AliT0RecPoint.cxx:129
 AliT0RecPoint.cxx:130
 AliT0RecPoint.cxx:131
 AliT0RecPoint.cxx:132
 AliT0RecPoint.cxx:133
 AliT0RecPoint.cxx:134
 AliT0RecPoint.cxx:135
 AliT0RecPoint.cxx:136
 AliT0RecPoint.cxx:137
 AliT0RecPoint.cxx:138
 AliT0RecPoint.cxx:139
 AliT0RecPoint.cxx:140
 AliT0RecPoint.cxx:141
 AliT0RecPoint.cxx:142
 AliT0RecPoint.cxx:143
 AliT0RecPoint.cxx:144
 AliT0RecPoint.cxx:145
 AliT0RecPoint.cxx:146
 AliT0RecPoint.cxx:147
 AliT0RecPoint.cxx:148
 AliT0RecPoint.cxx:149
 AliT0RecPoint.cxx:150
 AliT0RecPoint.cxx:151
 AliT0RecPoint.cxx:152
 AliT0RecPoint.cxx:153
 AliT0RecPoint.cxx:154
 AliT0RecPoint.cxx:155