18{
21 UINT Error;
26
28
29
30 char str[128];
31 TCut cut_t,cut_b;
32 TTree* tree = (TTree* ) gDirectory->Get("Views");
33 sprintf(str,"headers.eAreaID==%d && headers.eNframesTop!=0",fragID);
34 cut_t= str ;
35 tree->Draw(">>lst_t", cut_t);
36 TEventList *lst_t = (TEventList*)gDirectory->GetList()->FindObject("lst_t");
37 sprintf(str,"headers.eAreaID==%d && headers.eNframesBot!=0",fragID);
38 cut_b= str ;
39 tree->Draw(">>lst_b", cut_b);
40 TEventList *lst_b = (TEventList*)gDirectory->GetList()->FindObject("lst_b");
41
42 int nviews = lst_t->GetN();
43 cout << "\t nviews (top): " << nviews << " (bot): " << lst_b->GetN() << endl;
44
46
47
48
49
50
51
52
53
55
56
59
60
62 int xf(0),yf(0);
63 if(pCat)
64 {
66 xf( (
int)
FindConfig(pCat,
"Vertigo Scan",
"XFields") +
67 (
int)
FindConfig(pCat,
"Vertigo Scan 4",
"XFields") ),
68 yf( (
int)
FindConfig(pCat,
"Vertigo Scan",
"YFields") +
69 (
int)
FindConfig(pCat,
"Vertigo Scan 4",
"YFields") );
70 if (xf!=0 && xv!=0)
71 {
72 int row = (int) (fragID -1)*xf/xv ;
73 int col0 = (fragID-1) % (xv/xf) ;
74 int col = (1-row%2)*col0 + (row%2) *(xv/xf-col0-1) ;
76 }
77 }
78
81
82
83
85
86
88
89 for(
int j=0;j<
sizeof(Frag2.
Reserved);j++) Frag2.
Reserved[j] = (
unsigned char) 0;
91
95
99
100 int totsegments(0), totclusters(0);
101
102 for (int v = 0; v < nviews; v++)
103 {
106
110
115
116 for (
int s = 0;
s < 2;
s++)
117 {
122
131
135
136 for (
int f = 0;
f < nframes;
f++)
137 {
141 }
142
145 rwdView->
TCount[
s] = nsegments;
147
148 for (
int t = 0;
t < nsegments;
t++)
149 {
150 totsegments++ ;
162 rwdTrack->
Valid =
true;
163
166 int ncl = 0;
167 double zmin,zmax;
168 if(eClusterArray) ncl = eClusterArray->GetLast()+1;
169
172 for (
int p = 0;
p < ncl;
p++)
173 {
174 totclusters++;
177
178 rwdGrain->
Area = (
unsigned short) eCluster->
GetArea();
180 rwdGrain->
X = eCluster->
GetX();
181 rwdGrain->
Y = eCluster->
GetY();
182 rwdGrain->
Z = eCluster->
GetZ() ;
183
184 float z = eCluster->
GetZ();
185 if(
p==0) zmin=zmax= z;
186 else
187 {
188 if(z>zmax) zmax = z;
189 if(z<zmin) zmin = z;
190 }
191 rwdTrack->
LastZ = zmin ;
193 };
194
195
196
197
198
199
201 };
202
204
205
206
207
208
209
210
211
212 };
213 };
214
215
216 char rwdname[256], temp[256];
217 sprintf(temp, "%s", rwcname);
218 sprintf(temp+strlen(temp)-1, "d");
219 sprintf(rwdname, "%s.%08X", temp, fragID);
220
221 cout << rwdname << " segments: "<< totsegments << "\tclusters: "<< totclusters << endl;
222 if (iIO2->Write2(0, (BYTE *)&Frag2, &Error, (UCHAR *)rwdname) != S_OK)
223 cout << "\tError Writing"<< endl;
224
225 iIO2->Release();
226 iIO->Release();
227 return true;
228}
FILE * f
Definition: RecDispMC.C:150
interface ISySalDataIO ISySalDataIO
Definition: SySalDataIO.h:48
interface ISySalDataIO2 ISySalDataIO2
Definition: SySalDataIO.h:54
EXTERN_C const CLSID CLSID_SySalDataIO
Definition: SySalDataIO.h:887
EXTERN_C const IID IID_ISySalDataIO2
Definition: SySalDataIO.h:726
EXTERN_C const IID IID_ISySalDataIO
Definition: SySalDataIO.h:574
const int VSSCAN_NOTSCANNED
Definition: VSRawData.linux.h:78
Float_t B2() const
Definition: EdbAffine.h:48
Float_t A22() const
Definition: EdbAffine.h:46
Float_t A21() const
Definition: EdbAffine.h:45
Float_t A12() const
Definition: EdbAffine.h:44
Float_t B1() const
Definition: EdbAffine.h:47
Float_t A11() const
Definition: EdbAffine.h:43
Definition: EdbCluster.h:19
Float_t GetX() const
Definition: EdbCluster.h:51
Float_t GetY() const
Definition: EdbCluster.h:52
Float_t GetArea() const
Definition: EdbCluster.h:54
Float_t GetZ() const
Definition: EdbCluster.h:53
Definition: EdbFrame.h:20
float GetZ() const
Definition: EdbFrame.h:42
int GetNcl() const
Definition: EdbFrame.h:43
EdbView * GetView() const
Definition: EdbRun.h:110
EdbView * GetEntry(int entry, int ih=1, int icl=0, int iseg=1, int itr=0, int ifr=0)
Definition: EdbRun.cxx:462
virtual Float_t GetX0() const
Definition: EdbSegment.h:38
virtual Float_t GetTx() const
Definition: EdbSegment.h:41
virtual Float_t GetZ0() const
Definition: EdbSegment.h:40
virtual Float_t GetY0() const
Definition: EdbSegment.h:39
virtual Float_t GetTy() const
Definition: EdbSegment.h:42
segment of the track
Definition: EdbSegment.h:63
Int_t GetPuls() const
Definition: EdbSegment.h:90
float GetSigmaX() const
Definition: EdbSegment.h:86
TObjArray * GetElements() const
Definition: EdbSegment.h:117
Base scanning data object: entry into Run tree.
Definition: EdbView.h:134
EdbViewHeader * GetHeader() const
Definition: EdbView.h:163
EdbSegment * GetSegment(int i) const
Definition: EdbView.h:219
int AttachClustersToSegments()
Definition: EdbView.cxx:360
Int_t Nsegments() const
Definition: EdbView.h:216
Int_t GetNframes() const
Definition: EdbView.h:206
TClonesArray * GetFrames() const
Definition: EdbView.h:167
void Clear()
Definition: EdbView.cxx:79
double FindConfig(IO_VS_Catalog *pCat, char *ConfigName, char *ConfigItem)
Definition: libDataConversion.cpp:43
TTree * t
Definition: check_shower.C:4
s
Definition: check_shower.C:55
EdbSegment * eSeg
Definition: EdbViewRec.cxx:850
#define NULL
Definition: nidaqmx.h:84
float Y
Definition: Track2.h:13
unsigned short Area
Definition: Track2.h:11
float Z
Definition: Track2.h:14
float X
Definition: Track2.h:12
struct IO_VS_Catalog::@27 Area
Identifier ID
Definition: vscan_ds.h:67
int XViews
Definition: vscan_ds.h:76
int YViews
Definition: vscan_ds.h:76
struct IO_VS_Catalog::@26 Hdr
Definition: vscan_ds.h:106
Identifier ID
Definition: vscan_ds.h:113
unsigned char Reserved[256]
Definition: vscan_ds.h:116
struct IO_VS_Fragment2::@30 Hdr
IO_Header Type
Definition: vscan_ds.h:112
VS_Fragment2 Fragment
Definition: vscan_ds.h:115
int Part[4]
Definition: AcqPlateChanger.h:32
float Z
Definition: TVectors.h:11
float X
Definition: TVectors.h:9
float Y
Definition: TVectors.h:10
int Field
Definition: Track2.h:19
float Sigma
Definition: Track2.h:26
BYTE * pCorrection
Definition: Track2.h:23
TVector Slope
Definition: Track2.h:25
float LastZ
Definition: Track2.h:28
unsigned Grains
Definition: Track2.h:20
float FirstZ
Definition: Track2.h:27
unsigned AreaSum
Definition: Track2.h:21
boolean Valid
Definition: Track2.h:29
Grain * pGrains
Definition: Track2.h:22
TVector Intercept
Definition: Track2.h:24
int FitCorrectionDataSize
Definition: vscan_ds.h:54
int StartView
Definition: vscan_ds.h:52
VS_View2 * pViews
Definition: vscan_ds.h:56
int Index
Definition: vscan_ds.h:51
int CountOfViews
Definition: vscan_ds.h:53
int CodingMode
Definition: vscan_ds.h:55
Definition: VSRawData.h:48
int Clusters
Definition: VSRawData.h:49
float Z
Definition: VSRawData.h:50
int Count
Definition: VSRawData.h:54
struct t_LayerInfo * pLayerInfo
Definition: VSRawData.h:55
float TopInt
Definition: VSRawData.h:43
float TopExt
Definition: VSRawData.h:42
float BottomExt
Definition: VSRawData.h:45
float BottomInt
Definition: VSRawData.h:44
Definition: VSRawData.h:35
float Y[2]
Definition: VSRawData.h:37
float MapX[2]
Definition: VSRawData.h:38
Track2 * pTracks[2]
Definition: VSRawData.h:59
float X[2]
Definition: VSRawData.h:37
float MapY[2]
Definition: VSRawData.h:38
float ImageMat[2][2][2]
Definition: VSRawData.h:39
int TCount[2]
Definition: VSRawData.h:58
int TileY
Definition: VSRawData.h:36
struct VS_View2::t_Layers2 Layers[2]
unsigned char Status[2]
Definition: VSRawData.h:57
struct VS_View2::t_RelevantZs2 RelevantZs
int TileX
Definition: VSRawData.h:36
p
Definition: testBGReduction_AllMethods.C:8
#define VS_COMPRESSION_NULL
Definition: vscan_ds.h:28
#define VS_FRAGMENT_SECTION
Definition: vscan_ds.h:20
const int VS_HEADER_TYPE
Definition: vscan_ds.linux.h:28
const int VS_HEADER_BYTES
Definition: vscan_ds.linux.h:25