ROOT logo
//*-- AUTHOR : Diego Gonzalez-Diaz 17/12/2007
//*-- Modified: 12/12/2009
//(Included flags 'isAtBox'). Only relevant for hgeantrpc hits
//created by interaction of secondary charged particles stemming
//from *neutral particles* impinging at the RPC virtual box.  
//*-- Modified: 15/12/2009
// Geant references and tracks extended to 10-dimensional arrays
//
//_HADES_CLASS_DESCRIPTION
////////////////////////////////////////////////////////////////////////////////////////
//                                                                                    //
// HRpcCalSim                                                                         //
// This is the cal data level for simulated data.                                     //
//                                                                                    //
// It stores 4 references to hgeantrpc objects and the corresponding tracks           //
// (mother and daughter, left and right). In order to facilitate track embedding      //
// and tracking debugging it has been extended to arrays of 10 elements               //
// The first track carries the resolution   					      //
// but the others carry also information about the total collected charge.            //
// Tracks 2-10 are stored in the array sorted according to the geant arrival time to  // 
// the most upstream gap. Note that, due to the smearing procedure, it can            //
// mathematically happen that the first track of the array has a larger geant time    //
// than the second. Still, the one that gave the signal is taken always as first.     //
// This technical nuissance is not likely to be any problem. The                      //
// number of tracks per cell is also stored for later purposes as 'ntracks'.          //
//                                                                                    //
//    Int_t RefL;                                                                     //
//  ->index of the hgeantrpc object created in EBOX by the track whose                //
//  daughter (or herself) made the left signal of this cell.                          //
//    Int_t RefR; (right)                                                             //
//    Int_t RefLDgtr;                                                                 //
//  ->index of the hgeantrpc object created in the gap EGij by the                    // 
//  track that made the left signal of this cell.                                     //
//    Int_t RefRDgtr; (right)                                                         //
//    Int_t TrackL[10];                                                               //
//  ->TrackL[1] is the track that created the hgeantrpc object at EBOX and whose      //
//  daughter (or herself) made the left signal of this cell. Elements 2-10 are sorted //
//  according to the geant times of daughter tracks at the most upstream fired gap.   //
//    Int_t TrackR[10]; (right)                                                       //
//    Int_t TrackLDgtr[10];                                                           //
//  ->TrackLDgtr[1] is the track that created the hgeantrpc object at gap EGij that   //
//  made the left signal.                                                             //
//    Int_t TrackRDgtr[10]; (right)                                                   //
//    Bool_t LisAtBox[10];                                                            //
//  ->Boolean to indicate if a mother was found at the box or not for TrackLDgtr[i]   //
//    Bool_t RisAtBox[10];  (right)                                                   //
//                                                                                    //
////////////////////////////////////////////////////////////////////////////////////////


#include "hrpccalsim.h"

ClassImp(HRpcCalSim)

HRpcCalSim::HRpcCalSim(void) {
  clear();
}
void HRpcCalSim::clear(void) {

  RefL       = RefR       = -1;
  RefLDgtr   = RefRDgtr   = -1;
  nTracksL   = nTracksR   =  0;

  for(Int_t i=0;i<10;i++)     {
    TrackL[i]   = TrackLDgtr[i] = TrackR[i] = TrackRDgtr[i] = -999;
    LisAtBox[i] = RisAtBox[i]   = kFALSE;
  }
}

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