AMSDST
myTrdTrack.cxx
Go to the documentation of this file.
1 // Authors: M.Duranti - INFN di Perugia
2 #include "myTrdTrack.h"
3 #include "debug.h"
4 #include "TClass.h"
5 
6 
7 
8 using namespace std;
9 
10 //--------------------------------------------------------------------
11 
13 #ifdef _WITHGBATCH_
14 ClassImp(myTrdTrackFiller);
15 #endif //#ifdef _WITHGBATCH_
16 
17 //--------------------------------------------------------------------
18 
20 #ifdef PDEBUG
21  printf("In myTrdTrack::myTrdTrack\n");
22 #endif
23  PRINTDEBUG;
24  init();
25  PRINTDEBUG;
26 }
27 
29 #ifdef PDEBUG
30  printf("In myTrdTrack::~myTrdTrack\n");
31 #endif
32  PRINTDEBUG;
33 }
34 
35 void myTrdTrack::Clear(Option_t* option){
36 #ifdef PDEBUG
37  printf("In myTrdTrack::Clear\n");
38 #endif
39  PRINTDEBUG;
40  NTrdTrackRawHits = -999999;
41  PRINTDEBUG;
42  fill_n(Coo, 3, -999999);
43  fill_n(ErCoo,3, -999999);
44  Phi=-999999;
45  Theta=-999999;
46  Chi2=999999;
47  Q=-999999;
48  PRINTDEBUG;
49  return;
50 }
51 
53 #ifdef PDEBUG
54  printf("In myTrdTrack::init\n");
55 #endif
56  PRINTDEBUG;
57  Clear();
58  PRINTDEBUG;
59  return;
60 }
61 
62 //-------------------------------------------------------------------------------------------
63 
64 #ifdef _WITHGBATCH_
65 
66 myTrdTrackFiller::myTrdTrackFiller(){
67 #ifdef PDEBUG
68  printf("In myTrdTrackFiller::myTrdTrackFiller\n");
69 #endif
70  PRINTDEBUG;
71  init();
72  PRINTDEBUG;
73 }
74 
75 myTrdTrackFiller::~myTrdTrackFiller(){
76 #ifdef PDEBUG
77  printf("In myTrdTrackFiller::~myTrdTrackFiller\n");
78 #endif
79  PRINTDEBUG;
80 }
81 
82 void myTrdTrackFiller::Clear(Option_t* option){
83 #ifdef PDEBUG
84  printf("In myTrdTrackFiller::Clear\n");
85 #endif
86  PRINTDEBUG;
87  trdtrack=0;
88  PRINTDEBUG;
89  return;
90 }
91 
92 void myTrdTrackFiller::init(){
93 #ifdef PDEBUG
94  printf("In myTrdTrackFiller::init\n");
95 #endif
96  PRINTDEBUG;
97  Clear();
98  PRINTDEBUG;
99  return;
100 }
101 
102 void myTrdTrackFiller::Fill(TrdTrackR* _trdtrack){
103 #ifdef PDEBUG
104  printf("In myTrdTrackFiller::Fill\n");
105 #endif
106  PRINTDEBUG;
107 
108  trdtrack=_trdtrack;
109 
110  if (trdtrack) {
111 
112  NTrdTrackRawHits=0;
113  for (int ss=0; ss<(trdtrack)->NTrdSegment(); ss++) {
114  static TrdSegmentR* seg;
115  seg=trdtrack->pTrdSegment(ss);
116  if (seg) {
117  for (int cc=0; cc<seg->NTrdCluster(); cc++) {
118  static TrdClusterR* clus;
119  clus=seg->pTrdCluster(cc);
120  if (clus) {
121  (NTrdTrackRawHits)++;
122  // printf("# trdtrackrawhits = %d\n", (NTrdTrackRawHits));//only for debug
123  }
124  }
125  }
126  }
127  // printf("# trdtrackrawhits = %d\n", (NTrdTrackRawHits));//only for debug
128  copy_n(trdtrack->Coo, 3, Coo);
129  copy_n(trdtrack->ErCoo, 3, ErCoo);
130  Phi=trdtrack->Phi;
131  Theta=trdtrack->Theta;
132  Chi2=trdtrack->Chi2;
133  Q=trdtrack->Q;
134 
135  }
136 
137  PRINTDEBUG;
138 
139  return;
140 }
141 
142 #endif //#ifdef _WITHGBATCH_