HYDRA_development_version
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
hrpccalsim.cc
Go to the documentation of this file.
1 //*-- AUTHOR : Diego Gonzalez-Diaz 17/12/2007
2 //*-- Modified: 12/12/2009
3 //(Included flags 'isAtBox'). Only relevant for hgeantrpc hits
4 //created by interaction of secondary charged particles stemming
5 //from *neutral particles* impinging at the RPC virtual box.
6 //*-- Modified: 15/12/2009
7 // Geant references and tracks extended to 10-dimensional arrays
8 //
9 //_HADES_CLASS_DESCRIPTION
10 ////////////////////////////////////////////////////////////////////////////////////////
11 // //
12 // HRpcCalSim //
13 // This is the cal data level for simulated data. //
14 // //
15 // It stores 4 references to hgeantrpc objects and the corresponding tracks //
16 // (mother and daughter, left and right). In order to facilitate track embedding //
17 // and tracking debugging it has been extended to arrays of 10 elements //
18 // The first track carries the resolution //
19 // but the others carry also information about the total collected charge. //
20 // Tracks 2-10 are stored in the array sorted according to the geant arrival time to //
21 // the most upstream gap. Note that, due to the smearing procedure, it can //
22 // mathematically happen that the first track of the array has a larger geant time //
23 // than the second. Still, the one that gave the signal is taken always as first. //
24 // This technical nuissance is not likely to be any problem. The //
25 // number of tracks per cell is also stored for later purposes as 'ntracks'. //
26 // //
27 // Int_t RefL; //
28 // ->index of the hgeantrpc object created in EBOX by the track whose //
29 // daughter (or herself) made the left signal of this cell. //
30 // Int_t RefR; (right) //
31 // Int_t RefLDgtr; //
32 // ->index of the hgeantrpc object created in the gap EGij by the //
33 // track that made the left signal of this cell. //
34 // Int_t RefRDgtr; (right) //
35 // Int_t TrackL[10]; //
36 // ->TrackL[1] is the track that created the hgeantrpc object at EBOX and whose //
37 // daughter (or herself) made the left signal of this cell. Elements 2-10 are sorted //
38 // according to the geant times of daughter tracks at the most upstream fired gap. //
39 // Int_t TrackR[10]; (right) //
40 // Int_t TrackLDgtr[10]; //
41 // ->TrackLDgtr[1] is the track that created the hgeantrpc object at gap EGij that //
42 // made the left signal. //
43 // Int_t TrackRDgtr[10]; (right) //
44 // Bool_t LisAtBox[10]; //
45 // ->Boolean to indicate if a mother was found at the box or not for TrackLDgtr[i] //
46 // Bool_t RisAtBox[10]; (right) //
47 // //
48 ////////////////////////////////////////////////////////////////////////////////////////
49 
50 
51 #include "hrpccalsim.h"
52 
54 
55 HRpcCalSim::HRpcCalSim(void) {
56  clear();
57 }
58 void HRpcCalSim::clear(void) {
59 
60  RefL = RefR = -1;
61  RefLDgtr = RefRDgtr = -1;
62  nTracksL = nTracksR = 0;
63 
64  for(Int_t i=0;i<10;i++) {
65  TrackL[i] = TrackLDgtr[i] = TrackR[i] = TrackRDgtr[i] = -999;
66  LisAtBox[i] = RisAtBox[i] = kFALSE;
67  }
68 }
69 
Int_t RefLDgtr
Definition: hrpccalsim.h:11
Bool_t RisAtBox[10]
Definition: hrpccalsim.h:23
Int_t TrackRDgtr[10]
Definition: hrpccalsim.h:17
Int_t nTracksR
Definition: hrpccalsim.h:20
Int_t RefL
Definition: hrpccalsim.h:9
ClassImp(HRpcCalSim) HRpcCalSim
Definition: hrpccalsim.cc:53
Int_t RefR
Definition: hrpccalsim.h:10
Int_t TrackLDgtr[10]
Definition: hrpccalsim.h:16
Bool_t LisAtBox[10]
Definition: hrpccalsim.h:22
Int_t RefRDgtr
Definition: hrpccalsim.h:12
Int_t nTracksL
Definition: hrpccalsim.h:19
Int_t TrackR[10]
Definition: hrpccalsim.h:15
void clear(void)
Definition: hrpccalsim.cc:58
Int_t TrackL[10]
Definition: hrpccalsim.h:14