#ifndef HALIGNMENTGNOMAG_H
#define HALIGNMENTGNOMAG_H
#include "TObject.h"
#include "hsymmat.h"
#include "fstream"
#include "iostream"
#include "TString.h"
#include "halignmentgparticle.h"
#include "hgeomtransform.h"
#include "halignmentgbase.h"
class TClonesArray;
class HAlignmentGGeom;
class HAlignmentGRotations;
class TH2F;
class TH1F;
class TMinuit;
class TFile;
class HAlignmentGNoMag:public HAlignmentGBase
{
public:
HAlignmentGNoMag();
virtual ~HAlignmentGNoMag();
void SetIname(TString _inName) {inName=_inName;}
TString GetIname() {return inName;}
void Init(TString, TString, Int_t, Bool_t);
virtual void CollectTracks();
virtual void ResetCounts();
virtual Bool_t AddToClones();
virtual HGeomTransform Align(const Int_t &, const Int_t &);
void CheckAlignment();
virtual void FillHistograms();
virtual void SetNtBranches() {;}
void AddData(Float_t , Float_t , Float_t, Float_t, Int_t);
Bool_t Selected(HAlignmentGParticle &);
TH1F* GetTargetHisto() { return histoVertex;}
HGeomTransform AlignMod();
void Raster(TH2F*, TH2F*);
void JustPlot(Int_t , Int_t );
Int_t GetFitVersion() {return fitVersion;}
void SetFitVersion(Int_t _fitVersion) {fitVersion = _fitVersion;}
void setDefault(Float_t& , Float_t& , Float_t& , Float_t& );
void setMdcSetup(Int_t a[6][4]);
Bool_t isMdc(Int_t , Int_t );
void ResetRaster();
private:
Bool_t isThirdChamber;
Bool_t isFouthChamber;
Float_t AcceptRadius;
Float_t AcceptRadiusFour;
Float_t AcceptRadiusTarg;
Float_t AcceptDir;
Float_t AcceptDirFour;
Int_t fitVersion;
Int_t numberOfTracks;
Bool_t isAligned;
ifstream in;
TString inName;
TString outName;
Int_t nEvent;
Int_t mod;
Int_t sector;
Float_t X,Y;
Float_t Xdir, Ydir;
Int_t FirstEvent;
Int_t FirstMod;
Float_t FirstX;
Float_t FirstXdir;
Float_t FirstY;
Float_t FirstYdir;
Int_t nCount[4];
HAlignmentGParticle *testP;
HAlignmentGParticle fAlignParticle;
Float_t XValue [4][50];
Float_t XdirValue[4][50];
Float_t YValue [4][50];
Float_t YdirValue[4][50];
TH1F *histoVertex;
TH1F *histoDiffYBeforeMod3;
TH1F *histoDiffYAfterMod3;
TH2F *histoDiffYBeforeVsPhiMod3;
TH2F *histoDiffYAfterVsPhiMod3;
TH2F *histoDiffYBeforeVsThetaMod3;
TH2F *histoDiffYAfterVsThetaMod3;
TH1F *histoDiffYBeforeMod4;
TH1F *histoDiffYAfterMod4;
TH2F *histoDiffYBeforeVsPhiMod4;
TH2F *histoDiffYAfterVsPhiMod4;
TH2F *histoDiffYBeforeVsThetaMod4;
TH2F *histoDiffYAfterVsThetaMod4;
TH1F *histoTheta;
TH2F *RasterPlotBefore3;
TH2F *RasterPlotAfter3;
TH2F *RasterPlotBefore4;
TH2F *RasterPlotAfter4;
HGeomTransform transBefore[4];
HGeomTransform transAfter[4];
HGeomTransform transStarting[4];
Int_t mdcSetup[6][4];
ClassDef(HAlignmentGNoMag,0)
};
#endif