FEDRA emulsion software from the OPERA Collaboration
EdbGA.h
Go to the documentation of this file.
1 #ifndef ROOT_EdbGA
2 #define ROOT_EdbGA
3 
5 // //
6 // EdbGA //
7 // //
8 // grains analysys stuff //
9 // //
11 
12 #include "EdbRun.h"
13 class TIndexCell;
14 #include "TCut.h"
15 
16 //______________________________________________________________________________
17 class EdbGA : public TObject {
18 
19  private:
20 
21  EdbRun *eRun; //
22 
23  Float_t eBinX; //
24  Float_t eBinY; //
25  Float_t eBinZ; //
26 
27  Int_t eVid; // view under prcessing
28 
29  TFile *eGrainsFile;
30  TTree *eGrains;
31  TClonesArray *eClusters;
32 
33  public:
34  EdbGA(){eRun=0;}
35  EdbGA(char *fname, float bx, float by, float bz);
36  virtual ~EdbGA();
37 
38  void SetRun( char *fname )
39  { if(eRun) delete eRun;
40  eRun=new EdbRun(fname); }
41  void SetBin( float bx, float by, float bz )
42  { eBinX=bx; eBinY=by; eBinZ=bz; }
43 
44  void GetClustPFile( const char *file );
45  void InitTree(const char *file="grain_chains.root");
46  void CheckViewGrains(const char* options = "");
47  void CheckViewGrains(int vid,const char* options = "");
48  void VerticalChains( TClonesArray *clusters, TIndexCell &chains);
49  void VerticalChainsA( TClonesArray *clusters );
50  int MakeGrainsTree(TClonesArray *clust, TIndexCell &chains,const char* options = "");
51  void GrainStat( TClonesArray *clusters, float &x0, float &y0, float &z0 );
52  int GrainStat2( TClonesArray *clusters, float &x0, float &y0, float &z0,
53  float &vol, float &amin, float &amax, float &zmin, float &zmax, int &fmin, int &fmax);
54  void SelectGrains(TCut c1, const char* outfile="grains_chains_selection.root");
55  void SelectGrains(const char* selection, const char* outfile="grains_chains_selection.root");
56 
57  TTree* GetTree(void) {return eGrains;}
58 
59  ClassDef(EdbGA,1) // grains analysys
60 
61 };
62 
63 #endif /* ROOT_EdbGA */
brick z0
Definition: RecDispMC.C:106
EdbPatternsVolume * vol
Definition: RecDispNU.C:116
Definition: EdbGA.h:17
Float_t eBinZ
Definition: EdbGA.h:25
EdbRun * eRun
Definition: EdbGA.h:21
Int_t eVid
Definition: EdbGA.h:27
EdbGA(char *fname, float bx, float by, float bz)
void CheckViewGrains(const char *options="")
Definition: EdbGA.cxx:93
void SetRun(char *fname)
Definition: EdbGA.h:38
Float_t eBinX
Definition: EdbGA.h:23
virtual ~EdbGA()
Definition: EdbGA.cxx:38
TTree * eGrains
Definition: EdbGA.h:30
TTree * GetTree(void)
Definition: EdbGA.h:57
void VerticalChainsA(TClonesArray *clusters)
Definition: EdbGA.cxx:115
void SelectGrains(TCut c1, const char *outfile="grains_chains_selection.root")
Definition: EdbGA.cxx:355
EdbGA()
Definition: EdbGA.h:34
void SetBin(float bx, float by, float bz)
Definition: EdbGA.h:41
TFile * eGrainsFile
Definition: EdbGA.h:29
void GetClustPFile(const char *file)
Definition: EdbGA.cxx:49
int GrainStat2(TClonesArray *clusters, float &x0, float &y0, float &z0, float &vol, float &amin, float &amax, float &zmin, float &zmax, int &fmin, int &fmax)
Definition: EdbGA.cxx:306
void VerticalChains(TClonesArray *clusters, TIndexCell &chains)
Definition: EdbGA.cxx:151
Float_t eBinY
Definition: EdbGA.h:24
void InitTree(const char *file="grain_chains.root")
Definition: EdbGA.cxx:176
TClonesArray * eClusters
Definition: EdbGA.h:31
void GrainStat(TClonesArray *clusters, float &x0, float &y0, float &z0)
Definition: EdbGA.cxx:290
int MakeGrainsTree(TClonesArray *clust, TIndexCell &chains, const char *options="")
Definition: EdbGA.cxx:201
Definition: EdbRun.h:74
Definition: TIndexCell.h:19
TCanvas * c1
Definition: energy.C:13
const char * fname
Definition: mc2raw.cxx:41
TFile * file
Definition: write_pvr.C:3