FEDRA emulsion software from the OPERA Collaboration
EdbPredictionsBox Class Reference

#include <EdbPrediction.h>

Inheritance diagram for EdbPredictionsBox:
Collaboration diagram for EdbPredictionsBox:

Public Member Functions

void AddPrediction (int id, int event, int flag, float ty, float tz, float y, float z)
 members access functions More...
 
EdbPointAt (int i) const
 
 EdbPredictionsBox ()
 
 EdbPredictionsBox (const EdbPredictionsBox &pb)
 
 EdbPredictionsBox (int n)
 
void Generate (int n)
 
Int_t GetN () const
 
EdbPredictionDCGetPrediction (int i) const
 
TClonesArray * GetPredictions () const
 
TNtuple * MakeNtuple (char *name="predictions") const
 
Int_t N () const
 mandatory virtual functions: More...
 
void Print (Option_t *opt="") const
 other finctions More...
 
int ReadDC (char *file)
 
int ReadDC0 (char *file)
 
void WriteDC (char *file="predictions.dc") const
 
void WriteDC1 (char *file="predictions.dc") const
 
virtual ~EdbPredictionsBox ()
 
- Public Member Functions inherited from EdbPointsBox2D
virtual EdbPointAt (int i) const =0
 
virtual Float_t DeltaX ()
 
virtual Float_t DeltaY ()
 
virtual void DrawPoints (int style=23, int col=4, float size=1.)
 
 EdbPointsBox2D ()
 
 EdbPointsBox2D (const EdbPointsBox2D &pb)
 
virtual const EdbAffine2DGetKeep () const
 
virtual void GetKeep (EdbAffine2D &aff)
 
virtual Int_t N () const =0
 
virtual void Print (Option_t *opt="") const
 
virtual void Retransform ()
 
virtual void Rotate (float angle)
 
virtual void ScaleX (float scaleFactor)
 
virtual void ScaleY (float scaleFactor)
 
virtual void SetKeep (float a11, float a12, float a21, float a22, float b1, float b2)
 
virtual void SetX (float x)
 
virtual void SetY (float y)
 
virtual void SetZ (float z)
 
virtual void ShiftX (float offset)
 
virtual void ShiftY (float offset)
 
virtual void SmearXY (float sigmax, float sigmay)
 
virtual void Substruct (EdbPointsBox2D *b)
 
virtual void Transform (const EdbAffine2D *a)
 
virtual Float_t X () const
 
virtual TH1F * Xhist ()
 
virtual Float_t Xmax () const
 
virtual Float_t Xmin () const
 
virtual TH2F * XYhist ()
 
virtual Float_t Y () const
 
virtual TH1F * Yhist ()
 
virtual Float_t Ymax () const
 
virtual Float_t Ymin () const
 
virtual Float_t Z () const
 
virtual ~EdbPointsBox2D ()
 
- Public Member Functions inherited from EdbPoint3D
virtual void Print (Option_t *opt="") const
 
virtual void SetZ (float z)=0
 
virtual void Substruct (EdbPoint *p)
 
virtual void Test () const
 
virtual void TestPoint3D () const
 
virtual void Transform (const EdbAffine3D *a)
 
virtual Float_t Z () const =0
 
virtual ~EdbPoint3D ()
 
- Public Member Functions inherited from EdbPoint2D
virtual void Print (Option_t *opt="") const
 
virtual void SetX (float x)=0
 
virtual void SetY (float y)=0
 
virtual void SetZ (float z)
 
virtual void Substruct (EdbPoint *p)
 
virtual void Test () const
 
virtual void TestPoint2D () const
 
virtual void Transform (const EdbAffine2D *a)
 
virtual Float_t X () const =0
 
virtual Float_t Y () const =0
 
virtual Float_t Z () const
 
virtual ~EdbPoint2D ()
 
- Public Member Functions inherited from EdbPoint
virtual void SetX (float x)=0
 
virtual void SetY (float y)=0
 
virtual void SetZ (float z)=0
 
virtual void Substruct (EdbPoint *p)=0
 
virtual void Test () const
 
virtual void Transform (const EdbAffine2D *a)
 
virtual void Transform (const EdbAffine3D *a)
 
virtual Float_t X () const =0
 
virtual Float_t Y () const =0
 
virtual Float_t Z () const =0
 
virtual ~EdbPoint ()
 

Private Attributes

TClonesArray * ePredictions
 collection of predictions More...
 

Constructor & Destructor Documentation

◆ EdbPredictionsBox() [1/3]

EdbPredictionsBox::EdbPredictionsBox ( )
69{
70 ePredictions = new TClonesArray("EdbPredictionDC",1000);
71}
TClonesArray * ePredictions
collection of predictions
Definition: EdbPrediction.h:75

◆ EdbPredictionsBox() [2/3]

EdbPredictionsBox::EdbPredictionsBox ( const EdbPredictionsBox pb)
74 : EdbPointsBox2D(pb)
75{
76 if(pb.GetPredictions()) ePredictions = new TClonesArray(*pb.GetPredictions());
77 else ePredictions = new TClonesArray("EdbPredictionDC",1000);
78}
EdbPointsBox2D()
Definition: EdbVirtual.cxx:125
TClonesArray * GetPredictions() const
Definition: EdbPrediction.h:89

◆ EdbPredictionsBox() [3/3]

EdbPredictionsBox::EdbPredictionsBox ( int  n)
82{
83 ePredictions = new TClonesArray("EdbPredictionDC",n);
84}

◆ ~EdbPredictionsBox()

EdbPredictionsBox::~EdbPredictionsBox ( )
virtual
88{
89 if(ePredictions) delete ePredictions;
90}

Member Function Documentation

◆ AddPrediction()

void EdbPredictionsBox::AddPrediction ( int  id,
int  event,
int  flag,
float  ty,
float  tz,
float  y,
float  z 
)

members access functions

186{
187 new((*ePredictions)[GetN()])
188 EdbPredictionDC( id, event, flag,
189 ty, tz, y, z );
190}
Definition: EdbPrediction.h:21
Int_t GetN() const
Definition: EdbPrediction.cxx:116
int event
Definition: shower_tr.C:25

◆ At()

EdbPoint * EdbPredictionsBox::At ( int  i) const
inlinevirtual

Implements EdbPointsBox2D.

93{ return (EdbPoint*)GetPrediction(i); }
protocol class for point (virtual point)
Definition: EdbVirtual.h:28
EdbPredictionDC * GetPrediction(int i) const
Definition: EdbPrediction.cxx:281

◆ Generate()

void EdbPredictionsBox::Generate ( int  n)
194{
195 for( int i=0; i<n; i++ ) {
196
197 AddPrediction( i, i, 0, 0, 0, 1000*i, 1000*i );
198
199 }
200}
void AddPrediction(int id, int event, int flag, float ty, float tz, float y, float z)
members access functions
Definition: EdbPrediction.cxx:184

◆ GetN()

Int_t EdbPredictionsBox::GetN ( ) const
117{
118 if(ePredictions) return ePredictions->GetLast()+1; else return 0;
119}

◆ GetPrediction()

EdbPredictionDC * EdbPredictionsBox::GetPrediction ( int  i) const
282{
283 if(ePredictions) return (EdbPredictionDC*) ePredictions->At(i);
284 else return 0;
285}

◆ GetPredictions()

TClonesArray * EdbPredictionsBox::GetPredictions ( ) const
inline
89{ return ePredictions; }

◆ MakeNtuple()

TNtuple * EdbPredictionsBox::MakeNtuple ( char *  name = "predictions") const
157{
158 TNtuple *nt = new TNtuple( name, "$c predictions", "id:event:flag:ty:tz:y:z" );
159 EdbPredictionDC *pdc=0;
160
161 if( N()>0 ) {
162 for(int i=0; i<N(); i++ ) {
163 pdc = GetPrediction(i);
164 nt->Fill( pdc->GetID(),
165 pdc->GetEvent(),
166 pdc->GetFlag(),
167 pdc->GetTy(),
168 pdc->GetTz(),
169 pdc->GetYp(),
170 pdc->GetZp() );
171 }
172 }
173 return nt;
174}
virtual Float_t GetTz() const
Definition: EdbPrediction.h:46
virtual Int_t GetID() const
Definition: EdbPrediction.h:42
virtual Int_t GetEvent() const
Definition: EdbPrediction.h:43
virtual Float_t GetTy() const
Definition: EdbPrediction.h:45
virtual Int_t GetFlag() const
Definition: EdbPrediction.h:44
virtual Float_t GetZp() const
Definition: EdbPrediction.h:48
virtual Float_t GetYp() const
Definition: EdbPrediction.h:47
Int_t N() const
mandatory virtual functions:
Definition: EdbPrediction.h:92
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24

◆ N()

Int_t EdbPredictionsBox::N ( ) const
inlinevirtual

mandatory virtual functions:

Implements EdbPointsBox2D.

92{ return GetN(); }

◆ Print()

void EdbPredictionsBox::Print ( Option_t *  opt = "") const
virtual

other finctions

Reimplemented from EdbPointsBox2D.

178{
179 printf("EdbPredictionsBox: %d elements\n", N() );
180 if( N()>0 ) for(int i=0; i<N(); i++ ) GetPrediction(i)->Print();
181}
virtual void Print(Option_t *opt=0) const
Definition: EdbPrediction.cxx:60

◆ ReadDC()

Int_t EdbPredictionsBox::ReadDC ( char *  file)
204{
205 FILE *fp = fopen( file,"r");
206 char buffer[256]="";
207
208 int ncols=0;
209
210 // read header
211 int module, stack, period, plate;
212 float a1, a2;
213 if (fgets (buffer, 256, fp) == NULL) return 0;
214 ncols = sscanf(buffer,"%d %d %d %d %f %f",
215 &module, &stack, &period, &plate, &a1, &a2);
216
217 // read tracks
218 int ntr = 0;
219 int id, ev, flag;
220 float ty, tz, y, z;
221 for( int i=0; i<100000; i++ ) {
222 if (fgets (buffer, 256, fp) == NULL) break;
223 ncols = sscanf(buffer,"%d %d %d %f %f %f %f",
224 &id, &ev, &flag, &ty, &tz, &y, &z);
225 if (ncols != 7 && ncols>0) {
226 printf("*** EmuDCTrack::Read Error: ncolomns =%d != 7", ncols );
227 ncols = -1;
228 break;
229 }
230 if(ncols<=0) break;
231 AddPrediction( id, ev, flag, ty, tz, y, z );
232 ntr++;
233 }
234 fclose(fp);
235
236 printf("%d tracks are readed from file %s\n", ntr, file );
237 return ntr;
238}
TFile * file
Definition: write_pvr.C:3
Int_t plate
Definition: merge_Energy_SytematicSources_Electron.C:1
fclose(pFile)
UInt_t id
Definition: tlg2couples.C:117
#define NULL
Definition: nidaqmx.h:84

◆ ReadDC0()

Int_t EdbPredictionsBox::ReadDC0 ( char *  file)

read dc file with no header

242{
244
245 FILE *fp = fopen( file,"r");
246 char buffer[256]="";
247
248 int ncols=0;
249
250 // read header
251// int module, stack, period, plate;
252// float a1, a2;
253// if (fgets (buffer, 256, fp) == NULL) return 0;
254// ncols = sscanf(buffer,"%d %d %d %d %f %f",
255// &module, &stack, &period, &plate, &a1, &a2);
256
257 // read tracks
258 int ntr = 0;
259 int id, ev, flag;
260 float ty, tz, y, z;
261 for( int i=0; i<100000; i++ ) {
262 if (fgets (buffer, 256, fp) == NULL) break;
263 ncols = sscanf(buffer,"%d %d %d %f %f %f %f",
264 &id, &ev, &flag, &ty, &tz, &y, &z);
265 if (ncols != 7 && ncols>0) {
266 printf("*** EmuDCTrack::Read Error: ncolomns =%d != 7", ncols );
267 ncols = -1;
268 break;
269 }
270 if(ncols<=0) break;
271 AddPrediction( id, ev, flag, ty, tz, y, z );
272 ntr++;
273 }
274 fclose(fp);
275
276 printf("%d tracks are readed from file %s\n", ntr, file );
277 return ntr;
278}

◆ WriteDC()

void EdbPredictionsBox::WriteDC ( char *  file = "predictions.dc") const
123{
124 FILE *fp = fopen( file,"w");
125 if( N()>0 ) for(int i=0; i<N(); i++ ) GetPrediction(i)->WriteDC(fp);
126 fclose(fp);
127}
void WriteDC(FILE *file) const
Definition: EdbPrediction.cxx:53

◆ WriteDC1()

void EdbPredictionsBox::WriteDC1 ( char *  file = "predictions.dc") const
131{
132 // temporary routine to renumber the tracks
133
134 EdbPredictionDC *p = 0;
135 FILE *fp = fopen( file,"w");
136
137 if( N()>0 ) for(int i=0; i<N(); i++ ) {
138
139 p = GetPrediction(i);
140
141 fprintf( fp,"%i %i %i %f %f %f %f \n",
142 i,
143 p->GetEvent(),
144 p->GetFlag(),
145 p->TX(),
146 p->TY(),
147 p->X(),
148 p->Y()
149 );
150
151 }
152 fclose(fp);
153}
p
Definition: testBGReduction_AllMethods.C:8

Member Data Documentation

◆ ePredictions

TClonesArray* EdbPredictionsBox::ePredictions
private

collection of predictions


The documentation for this class was generated from the following files: