ROOT logo
#ifndef HRPCCLUSTERSIM_H
#define HRPCCLUSTERSIM_H

#include "hrpccluster.h"

class HRpcClusterSim : public HRpcCluster {

protected:

  Int_t TrackList[4];    //List of the four tracks contributing to the cluster, ordered as:
                         //UpLeft, UpRight, DownLeft, DownRight.
  Int_t RefList[4];      //List of the four references to the geantrpc objects contributing 
                         //to the cluster, ordered as: UpLeft, UpRight, DownLeft, DownRight.
                         //Note: In case of cluster type = 1, the order is simply:
                         //Left, Right, -, -

  Bool_t isAtBoxList[4]; //Boolean list to indicate if a mother was found at the box or not.

  Int_t Track;           //Track preferred by the cluster finder (typically the one contributing
			 //more to the 4 possible times).

  Int_t nTracksAtBox;    //Number of different tracks at the RPC box that contribute to this cluster

  Int_t nTracksAtCells;  //Number of different tracks at the RPC cells that contribute to this cluster	

  Bool_t isAtBox;        //Boolean to indicate if a mother was found at the box or not.

public:
  HRpcClusterSim(void);
  ~HRpcClusterSim(void) {}
  void clear(void);
  
  void   resetTrackList()                         {for(Int_t i=0;i<4;i++)TrackList[i]   = -999;    }
  void   resetRefList()                           {for(Int_t i=0;i<4;i++)RefList[i]     = -999;    }
  void   resetIsAtBoxList()                       {for(Int_t i=0;i<4;i++)isAtBoxList[i] = kFALSE;  }
  void   setTrackList (Int_t i, Int_t track)      {TrackList[i]=track;}
  void   setTrackList (Int_t* array)              {for(Int_t i=0;i<4;i++)TrackList[i]   = array[i];}
  void   setRefList (Int_t i, Int_t ref)          {RefList[i]=ref;}
  void   setRefList (Int_t* array)                {for(Int_t i=0;i<4;i++)RefList[i]     = array[i];}
  void   setIsAtBoxList (Int_t i, Bool_t is)      {isAtBoxList[i]=is;}
  void   setIsAtBoxList (Bool_t* array)           {for(Int_t i=0;i<4;i++)isAtBoxList[i] = array[i];}
  
  Int_t  howManyTracks()		   const  {return nTracksAtBox;}				
  Int_t  howManyTracksAtCells()		   const  {return nTracksAtCells;}

  void   setNTracksAtBox(Int_t aNTracksAtBox)     {nTracksAtBox   = aNTracksAtBox;}
  void   setNTracksAtCells(Int_t aNTracksAtCells) {nTracksAtCells = aNTracksAtCells;}	

  void   setTrack(Int_t atrack)                   {Track   = atrack;}
  void   setIsAtBox(Bool_t is)                    {isAtBox = is;    }

  Int_t  getTrack()                               {return Track;    }
  Bool_t getIsAtBox()                             {return isAtBox;  }

  void   getTrackList(Int_t* array)               {for(Int_t i=0;i<4;i++) array[i]=TrackList[i];}
  void   getRefList(Int_t* array)                 {for(Int_t i=0;i<4;i++) array[i]=RefList[i];}
  void   getIsAtBoxList(Bool_t* array)            {for(Int_t i=0;i<4;i++) array[i]=isAtBoxList[i];}

  Bool_t isTrack(Int_t track);                                   
  Bool_t isRef(Int_t ref);                                 

  ClassDef(HRpcClusterSim,2)
};

#endif  /* HRPCCLUSTERSIM_H */

 hrpcclustersim.h:1
 hrpcclustersim.h:2
 hrpcclustersim.h:3
 hrpcclustersim.h:4
 hrpcclustersim.h:5
 hrpcclustersim.h:6
 hrpcclustersim.h:7
 hrpcclustersim.h:8
 hrpcclustersim.h:9
 hrpcclustersim.h:10
 hrpcclustersim.h:11
 hrpcclustersim.h:12
 hrpcclustersim.h:13
 hrpcclustersim.h:14
 hrpcclustersim.h:15
 hrpcclustersim.h:16
 hrpcclustersim.h:17
 hrpcclustersim.h:18
 hrpcclustersim.h:19
 hrpcclustersim.h:20
 hrpcclustersim.h:21
 hrpcclustersim.h:22
 hrpcclustersim.h:23
 hrpcclustersim.h:24
 hrpcclustersim.h:25
 hrpcclustersim.h:26
 hrpcclustersim.h:27
 hrpcclustersim.h:28
 hrpcclustersim.h:29
 hrpcclustersim.h:30
 hrpcclustersim.h:31
 hrpcclustersim.h:32
 hrpcclustersim.h:33
 hrpcclustersim.h:34
 hrpcclustersim.h:35
 hrpcclustersim.h:36
 hrpcclustersim.h:37
 hrpcclustersim.h:38
 hrpcclustersim.h:39
 hrpcclustersim.h:40
 hrpcclustersim.h:41
 hrpcclustersim.h:42
 hrpcclustersim.h:43
 hrpcclustersim.h:44
 hrpcclustersim.h:45
 hrpcclustersim.h:46
 hrpcclustersim.h:47
 hrpcclustersim.h:48
 hrpcclustersim.h:49
 hrpcclustersim.h:50
 hrpcclustersim.h:51
 hrpcclustersim.h:52
 hrpcclustersim.h:53
 hrpcclustersim.h:54
 hrpcclustersim.h:55
 hrpcclustersim.h:56
 hrpcclustersim.h:57
 hrpcclustersim.h:58
 hrpcclustersim.h:59
 hrpcclustersim.h:60
 hrpcclustersim.h:61
 hrpcclustersim.h:62
 hrpcclustersim.h:63
 hrpcclustersim.h:64
 hrpcclustersim.h:65
 hrpcclustersim.h:66