ROOT logo
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// AliFemtoPicoEventRP - internal AliFemto representation of the event.         //
// Created for the sake of minimizing the used size. Multiple instances are   //
// stored in memory when several mixing bins are used.                        //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
/***************************************************************************
 *
 * $Id: AliFemtoPicoEventRP.cxx 21376 2007-10-12 14:57:18Z akisiel $
 *
 * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
 ***************************************************************************
 *
 * Description: part of STAR HBT Framework: AliFemtoMaker package
 *  PicoEvents are last-step ultra-compressed "events" just containing
 *  bare information about the particles of interest.  They have already
 *  gone through Event and Track cuts, so only Pair cuts are left.
 *  PicoEvents are *internal* to the code, and are stored in the
 *  Event-mixing buffers.
 *           
 *
 ***************************************************************************
 *
 * $Log$
 * Revision 1.1.2.1  2007/10/12 14:28:37  akisiel
 * New wave of cleanup and rule conformance
 *
 * Revision 1.1  2007/05/16 10:22:11  akisiel
 * Making the directory structure of AliFemto flat. All files go into one common directory
 *
 * Revision 1.2  2007/05/03 09:42:29  akisiel
 * Fixing Effective C++ warnings
 *
 * Revision 1.1.1.1  2007/04/25 15:38:41  panos
 * Importing the HBT code dir
 *
 * Revision 1.1.1.1  2007/03/07 10:14:49  mchojnacki
 * First version on CVS
 *
 * Revision 1.4  2000/07/16 21:38:23  laue
 * AliFemtoCoulomb.cxx AliFemtoSectoredAnalysis.cxx : updated for standalone version
 * AliFemtoV0.cc AliFemtoV0.h : some cast to prevent compiling warnings
 * AliFemtoParticle.cc AliFemtoParticle.h : pointers mTrack,mV0 initialized to 0
 * AliFemtoIOBinary.cc : some printouts in #ifdef STHBTDEBUG
 * AliFemtoEvent.cc : B-Field set to 0.25Tesla, we have to think about a better
 *                 solution
 *
 * Revision 1.3  2000/06/01 20:40:13  laue
 * AliFemtoIO.cc: updated for new V0s
 * AliFemtoPicoEventRP.cc: collections especially cleared
 * franks1DHistoD.h, include changed from  <stdio> to <cstdio>
 * franks1DHistoD.cc, cout statement deleted
 *
 * Revision 1.2  2000/03/17 17:23:05  laue
 * Roberts new three particle correlations implemented.
 *
 * Revision 1.1.1.1  1999/06/29 16:02:57  lisa
 * Installation of AliFemtoMaker
 *
 **************************************************************************/

#include "AliFemtoPicoEventRP.h"
#include "AliFemtoParticleCollection.h"
#include "AliEventplane.h"

//________________
AliFemtoPicoEventRP::AliFemtoPicoEventRP() : AliFemtoPicoEvent(),
  fFirstParticleCollection(0),
  fSecondParticleCollection(0),
  fThirdParticleCollection(0),
  fPicoEventplane(0)
{
  // Default constructor
  fFirstParticleCollection = new AliFemtoParticleCollection;
  fSecondParticleCollection = new AliFemtoParticleCollection;
  fThirdParticleCollection = new AliFemtoParticleCollection;
  fPicoEventplane = new AliEventplane;
}
//_________________
AliFemtoPicoEventRP::AliFemtoPicoEventRP(const AliFemtoPicoEventRP& aPicoEvent) : AliFemtoPicoEvent(),
  fFirstParticleCollection(0),
  fSecondParticleCollection(0),
  fThirdParticleCollection(0),
  fPicoEventplane(0)
{
  // Copy constructor
  AliFemtoParticleIterator iter;

  fFirstParticleCollection = new AliFemtoParticleCollection;
  if (aPicoEvent.fFirstParticleCollection) {
    for (iter=aPicoEvent.fFirstParticleCollection->begin();iter!=aPicoEvent.fFirstParticleCollection->end();iter++){
      fFirstParticleCollection->push_back(*iter);
    }
  }
  fSecondParticleCollection = new AliFemtoParticleCollection;
  if (aPicoEvent.fSecondParticleCollection) {
    for (iter=aPicoEvent.fSecondParticleCollection->begin();iter!=aPicoEvent.fSecondParticleCollection->end();iter++){
      fSecondParticleCollection->push_back(*iter);
    }
  }
  fThirdParticleCollection = new AliFemtoParticleCollection;
  if (aPicoEvent.fThirdParticleCollection) {
    for (iter=aPicoEvent.fThirdParticleCollection->begin();iter!=aPicoEvent.fThirdParticleCollection->end();iter++){
      fThirdParticleCollection->push_back(*iter);
    }
  }
  fPicoEventplane = aPicoEvent.fPicoEventplane;
}
//_________________
AliFemtoPicoEventRP::~AliFemtoPicoEventRP(){
  // Destructor
  AliFemtoParticleIterator iter;
  
  if (fFirstParticleCollection){
    for (iter=fFirstParticleCollection->begin();iter!=fFirstParticleCollection->end();iter++){
      delete *iter;
    }
    fFirstParticleCollection->clear();
    delete fFirstParticleCollection;
    fFirstParticleCollection = 0;
  }
  
  if (fSecondParticleCollection){
    for (iter=fSecondParticleCollection->begin();iter!=fSecondParticleCollection->end();iter++){
      delete *iter;
    }
    fSecondParticleCollection->clear();
    delete fSecondParticleCollection;
    fSecondParticleCollection = 0;
  }

  if (fThirdParticleCollection){
    if (fThirdParticleCollection->size() != 0 ) {
      for (iter=fThirdParticleCollection->begin();iter!=fThirdParticleCollection->end();iter++){
	delete *iter;
      }
    }
    fThirdParticleCollection->clear();
    delete fThirdParticleCollection;
    fThirdParticleCollection = 0;
  }
  if (fPicoEventplane) {
    fPicoEventplane->Reset();
    fPicoEventplane = 0;
  }
}
//_________________
AliFemtoPicoEventRP& AliFemtoPicoEventRP::operator=(const AliFemtoPicoEventRP& aPicoEvent) 
{
  // Assignment operator
  if (this == &aPicoEvent) 
    return *this;

  AliFemtoParticleIterator iter;
   
  if (fFirstParticleCollection){
      for (iter=fFirstParticleCollection->begin();iter!=fFirstParticleCollection->end();iter++){
	delete *iter;
      }
      fFirstParticleCollection->clear();
      delete fFirstParticleCollection;
      fFirstParticleCollection = 0;
  }

  if (fSecondParticleCollection){
    for (iter=fSecondParticleCollection->begin();iter!=fSecondParticleCollection->end();iter++){
      delete *iter;
    }
    fSecondParticleCollection->clear();
    delete fSecondParticleCollection;
    fSecondParticleCollection = 0;
  }

  if (fThirdParticleCollection){
    if (fThirdParticleCollection->size() != 0 ) {
      for (iter=fThirdParticleCollection->begin();iter!=fThirdParticleCollection->end();iter++){
	delete *iter;
      }
    }
    fThirdParticleCollection->clear();
    delete fThirdParticleCollection;
    fThirdParticleCollection = 0;
  }

  fFirstParticleCollection = new AliFemtoParticleCollection;
  if (aPicoEvent.fFirstParticleCollection) {
    for (iter=aPicoEvent.fFirstParticleCollection->begin();iter!=aPicoEvent.fFirstParticleCollection->end();iter++){
      fFirstParticleCollection->push_back(*iter);
    }
  }
  fSecondParticleCollection = new AliFemtoParticleCollection;
  if (aPicoEvent.fSecondParticleCollection) {
    for (iter=aPicoEvent.fSecondParticleCollection->begin();iter!=aPicoEvent.fSecondParticleCollection->end();iter++){
      fSecondParticleCollection->push_back(*iter);
    }
  }
  fThirdParticleCollection = new AliFemtoParticleCollection;
  if (aPicoEvent.fThirdParticleCollection) {
    for (iter=aPicoEvent.fThirdParticleCollection->begin();iter!=aPicoEvent.fThirdParticleCollection->end();iter++){
      fThirdParticleCollection->push_back(*iter);
    }
  }

  return *this;
}

 AliFemtoPicoEventRP.cxx:1
 AliFemtoPicoEventRP.cxx:2
 AliFemtoPicoEventRP.cxx:3
 AliFemtoPicoEventRP.cxx:4
 AliFemtoPicoEventRP.cxx:5
 AliFemtoPicoEventRP.cxx:6
 AliFemtoPicoEventRP.cxx:7
 AliFemtoPicoEventRP.cxx:8
 AliFemtoPicoEventRP.cxx:9
 AliFemtoPicoEventRP.cxx:10
 AliFemtoPicoEventRP.cxx:11
 AliFemtoPicoEventRP.cxx:12
 AliFemtoPicoEventRP.cxx:13
 AliFemtoPicoEventRP.cxx:14
 AliFemtoPicoEventRP.cxx:15
 AliFemtoPicoEventRP.cxx:16
 AliFemtoPicoEventRP.cxx:17
 AliFemtoPicoEventRP.cxx:18
 AliFemtoPicoEventRP.cxx:19
 AliFemtoPicoEventRP.cxx:20
 AliFemtoPicoEventRP.cxx:21
 AliFemtoPicoEventRP.cxx:22
 AliFemtoPicoEventRP.cxx:23
 AliFemtoPicoEventRP.cxx:24
 AliFemtoPicoEventRP.cxx:25
 AliFemtoPicoEventRP.cxx:26
 AliFemtoPicoEventRP.cxx:27
 AliFemtoPicoEventRP.cxx:28
 AliFemtoPicoEventRP.cxx:29
 AliFemtoPicoEventRP.cxx:30
 AliFemtoPicoEventRP.cxx:31
 AliFemtoPicoEventRP.cxx:32
 AliFemtoPicoEventRP.cxx:33
 AliFemtoPicoEventRP.cxx:34
 AliFemtoPicoEventRP.cxx:35
 AliFemtoPicoEventRP.cxx:36
 AliFemtoPicoEventRP.cxx:37
 AliFemtoPicoEventRP.cxx:38
 AliFemtoPicoEventRP.cxx:39
 AliFemtoPicoEventRP.cxx:40
 AliFemtoPicoEventRP.cxx:41
 AliFemtoPicoEventRP.cxx:42
 AliFemtoPicoEventRP.cxx:43
 AliFemtoPicoEventRP.cxx:44
 AliFemtoPicoEventRP.cxx:45
 AliFemtoPicoEventRP.cxx:46
 AliFemtoPicoEventRP.cxx:47
 AliFemtoPicoEventRP.cxx:48
 AliFemtoPicoEventRP.cxx:49
 AliFemtoPicoEventRP.cxx:50
 AliFemtoPicoEventRP.cxx:51
 AliFemtoPicoEventRP.cxx:52
 AliFemtoPicoEventRP.cxx:53
 AliFemtoPicoEventRP.cxx:54
 AliFemtoPicoEventRP.cxx:55
 AliFemtoPicoEventRP.cxx:56
 AliFemtoPicoEventRP.cxx:57
 AliFemtoPicoEventRP.cxx:58
 AliFemtoPicoEventRP.cxx:59
 AliFemtoPicoEventRP.cxx:60
 AliFemtoPicoEventRP.cxx:61
 AliFemtoPicoEventRP.cxx:62
 AliFemtoPicoEventRP.cxx:63
 AliFemtoPicoEventRP.cxx:64
 AliFemtoPicoEventRP.cxx:65
 AliFemtoPicoEventRP.cxx:66
 AliFemtoPicoEventRP.cxx:67
 AliFemtoPicoEventRP.cxx:68
 AliFemtoPicoEventRP.cxx:69
 AliFemtoPicoEventRP.cxx:70
 AliFemtoPicoEventRP.cxx:71
 AliFemtoPicoEventRP.cxx:72
 AliFemtoPicoEventRP.cxx:73
 AliFemtoPicoEventRP.cxx:74
 AliFemtoPicoEventRP.cxx:75
 AliFemtoPicoEventRP.cxx:76
 AliFemtoPicoEventRP.cxx:77
 AliFemtoPicoEventRP.cxx:78
 AliFemtoPicoEventRP.cxx:79
 AliFemtoPicoEventRP.cxx:80
 AliFemtoPicoEventRP.cxx:81
 AliFemtoPicoEventRP.cxx:82
 AliFemtoPicoEventRP.cxx:83
 AliFemtoPicoEventRP.cxx:84
 AliFemtoPicoEventRP.cxx:85
 AliFemtoPicoEventRP.cxx:86
 AliFemtoPicoEventRP.cxx:87
 AliFemtoPicoEventRP.cxx:88
 AliFemtoPicoEventRP.cxx:89
 AliFemtoPicoEventRP.cxx:90
 AliFemtoPicoEventRP.cxx:91
 AliFemtoPicoEventRP.cxx:92
 AliFemtoPicoEventRP.cxx:93
 AliFemtoPicoEventRP.cxx:94
 AliFemtoPicoEventRP.cxx:95
 AliFemtoPicoEventRP.cxx:96
 AliFemtoPicoEventRP.cxx:97
 AliFemtoPicoEventRP.cxx:98
 AliFemtoPicoEventRP.cxx:99
 AliFemtoPicoEventRP.cxx:100
 AliFemtoPicoEventRP.cxx:101
 AliFemtoPicoEventRP.cxx:102
 AliFemtoPicoEventRP.cxx:103
 AliFemtoPicoEventRP.cxx:104
 AliFemtoPicoEventRP.cxx:105
 AliFemtoPicoEventRP.cxx:106
 AliFemtoPicoEventRP.cxx:107
 AliFemtoPicoEventRP.cxx:108
 AliFemtoPicoEventRP.cxx:109
 AliFemtoPicoEventRP.cxx:110
 AliFemtoPicoEventRP.cxx:111
 AliFemtoPicoEventRP.cxx:112
 AliFemtoPicoEventRP.cxx:113
 AliFemtoPicoEventRP.cxx:114
 AliFemtoPicoEventRP.cxx:115
 AliFemtoPicoEventRP.cxx:116
 AliFemtoPicoEventRP.cxx:117
 AliFemtoPicoEventRP.cxx:118
 AliFemtoPicoEventRP.cxx:119
 AliFemtoPicoEventRP.cxx:120
 AliFemtoPicoEventRP.cxx:121
 AliFemtoPicoEventRP.cxx:122
 AliFemtoPicoEventRP.cxx:123
 AliFemtoPicoEventRP.cxx:124
 AliFemtoPicoEventRP.cxx:125
 AliFemtoPicoEventRP.cxx:126
 AliFemtoPicoEventRP.cxx:127
 AliFemtoPicoEventRP.cxx:128
 AliFemtoPicoEventRP.cxx:129
 AliFemtoPicoEventRP.cxx:130
 AliFemtoPicoEventRP.cxx:131
 AliFemtoPicoEventRP.cxx:132
 AliFemtoPicoEventRP.cxx:133
 AliFemtoPicoEventRP.cxx:134
 AliFemtoPicoEventRP.cxx:135
 AliFemtoPicoEventRP.cxx:136
 AliFemtoPicoEventRP.cxx:137
 AliFemtoPicoEventRP.cxx:138
 AliFemtoPicoEventRP.cxx:139
 AliFemtoPicoEventRP.cxx:140
 AliFemtoPicoEventRP.cxx:141
 AliFemtoPicoEventRP.cxx:142
 AliFemtoPicoEventRP.cxx:143
 AliFemtoPicoEventRP.cxx:144
 AliFemtoPicoEventRP.cxx:145
 AliFemtoPicoEventRP.cxx:146
 AliFemtoPicoEventRP.cxx:147
 AliFemtoPicoEventRP.cxx:148
 AliFemtoPicoEventRP.cxx:149
 AliFemtoPicoEventRP.cxx:150
 AliFemtoPicoEventRP.cxx:151
 AliFemtoPicoEventRP.cxx:152
 AliFemtoPicoEventRP.cxx:153
 AliFemtoPicoEventRP.cxx:154
 AliFemtoPicoEventRP.cxx:155
 AliFemtoPicoEventRP.cxx:156
 AliFemtoPicoEventRP.cxx:157
 AliFemtoPicoEventRP.cxx:158
 AliFemtoPicoEventRP.cxx:159
 AliFemtoPicoEventRP.cxx:160
 AliFemtoPicoEventRP.cxx:161
 AliFemtoPicoEventRP.cxx:162
 AliFemtoPicoEventRP.cxx:163
 AliFemtoPicoEventRP.cxx:164
 AliFemtoPicoEventRP.cxx:165
 AliFemtoPicoEventRP.cxx:166
 AliFemtoPicoEventRP.cxx:167
 AliFemtoPicoEventRP.cxx:168
 AliFemtoPicoEventRP.cxx:169
 AliFemtoPicoEventRP.cxx:170
 AliFemtoPicoEventRP.cxx:171
 AliFemtoPicoEventRP.cxx:172
 AliFemtoPicoEventRP.cxx:173
 AliFemtoPicoEventRP.cxx:174
 AliFemtoPicoEventRP.cxx:175
 AliFemtoPicoEventRP.cxx:176
 AliFemtoPicoEventRP.cxx:177
 AliFemtoPicoEventRP.cxx:178
 AliFemtoPicoEventRP.cxx:179
 AliFemtoPicoEventRP.cxx:180
 AliFemtoPicoEventRP.cxx:181
 AliFemtoPicoEventRP.cxx:182
 AliFemtoPicoEventRP.cxx:183
 AliFemtoPicoEventRP.cxx:184
 AliFemtoPicoEventRP.cxx:185
 AliFemtoPicoEventRP.cxx:186
 AliFemtoPicoEventRP.cxx:187
 AliFemtoPicoEventRP.cxx:188
 AliFemtoPicoEventRP.cxx:189
 AliFemtoPicoEventRP.cxx:190
 AliFemtoPicoEventRP.cxx:191
 AliFemtoPicoEventRP.cxx:192
 AliFemtoPicoEventRP.cxx:193
 AliFemtoPicoEventRP.cxx:194
 AliFemtoPicoEventRP.cxx:195
 AliFemtoPicoEventRP.cxx:196
 AliFemtoPicoEventRP.cxx:197
 AliFemtoPicoEventRP.cxx:198
 AliFemtoPicoEventRP.cxx:199
 AliFemtoPicoEventRP.cxx:200
 AliFemtoPicoEventRP.cxx:201
 AliFemtoPicoEventRP.cxx:202
 AliFemtoPicoEventRP.cxx:203
 AliFemtoPicoEventRP.cxx:204
 AliFemtoPicoEventRP.cxx:205
 AliFemtoPicoEventRP.cxx:206
 AliFemtoPicoEventRP.cxx:207