-/*************************************************************************/
-AliITSclusterSSD& AliITSclusterSSD::operator=(const AliITSclusterSSD & OneSCluster)
-{
- // assignment operator
- if (this == &OneSCluster) return *this;
- fNDigits = OneSCluster.fNDigits;
- fSide=OneSCluster.fSide;
- fDigits=OneSCluster.fDigits;
- fDigitsIndex = new TArrayI(fNDigits);
- fLeftNeighbour = OneSCluster.fLeftNeighbour;
- fRightNeighbour = OneSCluster.fRightNeighbour;
- fTotalSignal =-1;
- fNTrack = -1;
- fNCrosses = OneSCluster.fNCrosses;
- fConsumed = OneSCluster.fConsumed;
- Int_t i;
- for (i = 0; i< fNCrosses ; i++)
- {
- fCrossedClusterIndexes[i] = OneSCluster.fCrossedClusterIndexes[i];
- }
- for (i = 0; i< fNDigits ; i++)
- {
- fDigitsIndex[i]=OneSCluster.fDigitsIndex[i];
- }
- return *this;
-}
+ if (this == &OneSCluster) return *this;
+ fNDigits = OneSCluster.fNDigits;
+ fSide=OneSCluster.fSide;
+ fDigits=OneSCluster.fDigits;
+ fDigitsIndex = new TArrayI(fNDigits);
+ fLeftNeighbour = OneSCluster.fLeftNeighbour;
+ fRightNeighbour = OneSCluster.fRightNeighbour;
+ fTotalSignal =-1;
+ fNTracks = -1;
+ fNCrosses = OneSCluster.fNCrosses;
+ fConsumed = OneSCluster.fConsumed;
+ Int_t i;
+ for (i = 0; i< fNCrosses ; i++){
+ fCrossedClusterIndexes[i] = OneSCluster.fCrossedClusterIndexes[i];
+ }
+ for (i = 0; i< fNDigits ; i++){
+ fDigitsIndex[i]=OneSCluster.fDigitsIndex[i];
+ }
+ return *this;
+}
+//______________________________________________________________________
+Int_t AliITSclusterSSD::SplitCluster(Int_t where, Int_t *outdigits){
+ //This methods generate data necessery to make new object of this class
+ //I choosen this way, because methods TClonesArray::Add* dont work
+ //so I have to use constraction: new (a[i]) Creator(params...);
+ //where 'a' is a TClonesArray
+ //This method generate params - see AliITSmoduleSSD::SplitCluster;
+ Int_t tmp = fNDigits;
+ Int_t ind = 0;