FEDRA emulsion software from the OPERA Collaboration
EdbEmrIO.h
Go to the documentation of this file.
1#ifndef ROOT_EdbEmrIO
2#define ROOT_EdbEmrIO
3
5// //
6// EdbEmrIO //
7// //
8// interface between FEDRA and EmuRec objects //
9// //
11#include "TArrayI.h"
12#include "TObjArray.h"
13#include "EdbPattern.h"
14
15class EdbTrackP;
16class EdbVertex;
17class REMULZone;
18
19//______________________________________________________________________________
20class EdbEmrIO : public TObject {
21
22 private:
23
24 public:
26 virtual ~EdbEmrIO() {}
27
28 void TrackEdb2Emr(EdbTrackP &tedb); // (EdbTrackP &tedb, EmrTrack &temr)
29 void TrackEmr2Edb(EdbTrackP &tedb); // (EmrTrack &temr, EdbTrackP &tedb)
30 void VertexEdb2Emr(EdbVertex &vedb); // (EdbVeretx &vedb, EmrVeretx &vemr)
31 void VertexEmr2Edb(EdbVertex &vedb); // (EmrVeretx &vemr, EdbVeretx &vedb)
32
33 void Print();
34
35 ClassDef(EdbEmrIO,1) // interface between FEDRA and EmuRec objects
36};
37
38//______________________________________________________________________________
39class EdbEmrFileAccess : public TObject {
40
41 private:
42 TObjArray eSides; // each entry is EdbPattern with the views of one side
43
44 public:
46 virtual ~EdbEmrFileAccess() {}
47
48 int PlateID(int plateside) { return plateside/3; }
49 int SideID( int plateside) { return plateside%3; }
50 EdbSegP *AddEntry(int plate, int side, int zone, int view, int entry, float x, float y, float z);
51 int GetPlateEntries(int plate, int side, TArrayI &entries);
53 int LastPlate();
54 void PrintStat();
55
56 int SideID(int plate, int side) {
57 if(plate<0||plate>1000) return -1;
58 if(side<0||side>2) return -1;
59 return plate*3 + side;
60 }
61
62 ClassDef(EdbEmrFileAccess,1) // to manage better plane emurec file structure
63};
64
65#endif /* ROOT_EdbEmrIO */
TLegendEntry * entry
Definition: Canv_SYSTEMATICS_ALLCOMBINED__RMSEnergy__vs__Energy__ELECTRON.C:130
EdbVertex * vedb
Definition: RecDispMC.C:139
Definition: EdbEmrIO.h:39
int PlateID(int plateside)
Definition: EdbEmrIO.h:48
virtual ~EdbEmrFileAccess()
Definition: EdbEmrIO.h:46
EdbEmrFileAccess()
Definition: EdbEmrIO.h:45
void PrintStat()
Definition: EdbEmrIO.cxx:40
int SideID(int plate, int side)
Definition: EdbEmrIO.h:56
int GetPlateEntries(int plate, int side, TArrayI &entries)
Definition: EdbEmrIO.cxx:65
EdbSegP * AddEntry(int plate, int side, int zone, int view, int entry, float x, float y, float z)
Definition: EdbEmrIO.cxx:51
int SideID(int plateside)
Definition: EdbEmrIO.h:49
TObjArray eSides
Definition: EdbEmrIO.h:42
int LastPlate()
Definition: EdbEmrIO.cxx:28
Definition: EdbEmrIO.h:20
void VertexEdb2Emr(EdbVertex &vedb)
Definition: EdbEmrIO.cxx:103
void TrackEdb2Emr(EdbTrackP &tedb)
Definition: EdbEmrIO.cxx:87
virtual ~EdbEmrIO()
Definition: EdbEmrIO.h:26
void TrackEmr2Edb(EdbTrackP &tedb)
Definition: EdbEmrIO.cxx:95
EdbEmrIO()
Definition: EdbEmrIO.h:25
void Print()
Definition: EdbEmrIO.cxx:81
void VertexEmr2Edb(EdbVertex &vedb)
Definition: EdbEmrIO.cxx:111
Definition: EdbSegP.h:21
Definition: EdbPattern.h:113
Definition: EdbVertex.h:69
Int_t plate
Definition: merge_Energy_SytematicSources_Electron.C:1