...
 
Commits (5)
......@@ -22,6 +22,7 @@
#pragma link C++ class TNeProc+;
#pragma link C++ class TNeMParms+;
#pragma link C++ class TNeSel+;
#pragma link C++ class TDSSD16+;
#endif
......
# Go4 library for ACCULINNA2 experiments
## 24e01
### Naming conventions
- prefix L is for left shoulder R for right
- By default channel 1--16 for X-strips 16--32 for Y.
### TDSSD16
`TDSSD16` is container for double-side 1mm telescope.
Members:
- multx,multy --- multiplicity on each side
- sx,sy --- strip number
- depx,depy --- Edep in MeV
- posx,posy --- local position in mm
now only left 1mm detector added to `TNeEvent` (it named as `L1`).
......@@ -27,8 +27,17 @@ TNeAnalysis::TNeAnalysis()
:fMbsEvent(0)
,fEvents(0)
,fLastEvent(0)
,p_T1xa(0)
,p_T1ya(0)
,p_Lxa(0)
,p_Lya(0)
,p_Rxa(0)
,p_Rya(0)
,p_Rva(0)
,p_R20a(0)
,p_AnSa(0)
,p_AnRa(0)
,p_AnVa(0)
,p_Rcsa(0)
,p_Lcsa(0)
{
}
//***********************************************************
......@@ -39,8 +48,17 @@ TNeAnalysis::TNeAnalysis(int argc, char** argv)
,fMbsEvent(0)
,fEvents(0)
,fLastEvent(0)
,p_T1xa(0)
,p_T1ya(0)
,p_Lxa(0)
,p_Lya(0)
,p_Rxa(0)
,p_Rya(0)
,p_Rva(0)
,p_R20a(0)
,p_AnSa(0)
,p_AnRa(0)
,p_AnVa(0)
,p_Rcsa(0)
,p_Lcsa(0)
{
cout << "**** Create TNeAnalysis name: " << argv[0] << endl;
......@@ -84,10 +102,28 @@ TNeAnalysis::TNeAnalysis(int argc, char** argv)
// At this point, autosave file has not yet been read!
// Therefore parameter values set here will be overwritten
// if an autosave file is there.
p_T1xa = new TNeDet16("T1xa");
p_T1ya = new TNeDet16("T1ya");
AddParameter(p_T1xa);
AddParameter(p_T1ya);
p_Lxa = new TNeDet16("Lxa");
p_Lya = new TNeDet16("Lya");
p_Rxa = new TNeDet16("Rxa");
p_Rya = new TNeDet16("Rya");
p_Rva = new TNeDet16("Rva");
p_R20a = new TNeDet16("R20a");
p_AnSa = new TNeDet16("AnSa");
p_AnRa = new TNeDet16("AnRa");
p_AnVa = new TNeDet16("AnVa");
p_Rcsa = new TNeDet16("Rcsa");
p_Lcsa = new TNeDet16("Lcsa");
AddParameter(p_Lxa);
AddParameter(p_Lya);
AddParameter(p_Rxa);
AddParameter(p_Rya);
AddParameter(p_Rva);
AddParameter(p_R20a);
AddParameter(p_AnSa);
AddParameter(p_AnRa);
AddParameter(p_AnVa);
AddParameter(p_Rcsa);
AddParameter(p_Lcsa);
// pMTracks = new TNeMParms("MTRACKS");
// AddParameter(pMTracks);
......@@ -126,8 +162,17 @@ Int_t TNeAnalysis::UserPreLoop()
}
fEvents=0; // event counter
fLastEvent=0; // number of last event processed
p_T1xa->ReadData();
// p_T1ya->ReadData();>Z
p_Lxa->ReadData();
p_Lya->ReadData();
p_Rxa->ReadData();
p_Rya->ReadData();
p_Rva->ReadData();
p_R20a->ReadData();
p_AnSa->ReadData();
p_AnRa->ReadData();
p_AnVa->ReadData();
p_Rcsa->ReadData();
p_Lcsa->ReadData();
return 0;
......
......@@ -29,8 +29,17 @@ public:
virtual Int_t UserEventFunc();
virtual Int_t UserPostLoop();
TNeDet16* p_T1xa;
TNeDet16* p_T1ya;
TNeDet16* p_Lxa;
TNeDet16* p_Lya;
TNeDet16* p_Rxa;
TNeDet16* p_Rya;
TNeDet16* p_Rva;
TNeDet16* p_R20a;
TNeDet16* p_AnSa;
TNeDet16* p_AnRa;
TNeDet16* p_AnVa;
TNeDet16* p_Rcsa;
TNeDet16* p_Lcsa;
// TNeMParms* pMTracks;
ClassDef(TNeAnalysis,1)
......
/* -*- mode:c++ c-file-style:"linux" -*- */
//===================================================================
//== TNeEvent.cxx:
//== Version:
//== Version:
//===================================================================
using namespace std;
#include "TNeEvent.h"
#include "Riostream.h"
#include <algorithm>
TNeEvent::TNeEvent()
TNeEvent::TNeEvent()
:TGo4EventElement()
{
cout << "**** TNeEvent: Create instance" << endl;
} //-------------------------------------------------------------------
TNeEvent::TNeEvent(const char* name)
TNeEvent::TNeEvent(const char* name)
:TGo4EventElement(name)
{
cout << "**** TNeEvent: Create instance " << name << endl;
......@@ -26,29 +29,52 @@ TNeEvent::~TNeEvent()
void TNeEvent::Clear(Option_t *t)
{
//==================================================================
//== all members should be cleared.
//== memset(fRawData,0, sizeof(fRawData));
//==================================================================
// SQ
memset(T1xa, 0, sizeof(T1xa));
memset(T1xa, 0, sizeof(T1xa));
//==================================================================
//== all members should be cleared.
//== memset(fRawData,0, sizeof(fRawData));
//==================================================================
// Si
L1.Clear();
memset(Lxa, 0, sizeof(Lxa));
memset(Lxt, 0, sizeof(Lxt));
memset(Lya, 0, sizeof(Lya));
memset(Lyt, 0, sizeof(Lyt));
memset(Rxa, 0, sizeof(Rxa));
memset(Rxt, 0, sizeof(Rxt));
memset(Rya, 0, sizeof(Rya));
memset(Ryt, 0, sizeof(Ryt));
memset(Rva, 0, sizeof(Rva));
memset(Rvt, 0, sizeof(Rvt));
memset(R20a, 0, sizeof(R20a));
memset(R20t, 0, sizeof(R20t));
memset(AnSa, 0, sizeof(AnSa));
memset(AnSt, 0, sizeof(AnSt));
memset(AnRa, 0, sizeof(AnRa));
memset(AnRt, 0, sizeof(AnRt));
memset(AnVa, 0, sizeof(AnVa));
memset(AnVt, 0, sizeof(AnVt));
std::fill_n(Rcsa,16,0);
std::fill_n(Rcst,16,0);
std::fill_n(Lcsa,16,0);
std::fill_n(Lcst,16,0);
// ToF
memset(F3, 0, sizeof(F3));
memset(tF3, 0, sizeof(tF3));
memset(F5, 0, sizeof(F5));
memset(tF5, 0, sizeof(tF5));
memset(F3, 0, sizeof(F3));
memset(tF3, 0, sizeof(tF3));
memset(F5, 0, sizeof(F5));
memset(tF5, 0, sizeof(tF5));
// MWPC
memset(tMWPC, 0, sizeof(tMWPC));
memset(tMWPC, 0, sizeof(tMWPC));
nevent = 0;
trigger = 0;
subevents = 0;
evsize = 0;
evsize = 0;
mtime = 0;
} //-------------------------------------------------------------------
/* -*- mode:c++ c-file-style:"linux" -*- */
//===================================================================
//== TNeEvent.h:
//== Version:
......@@ -7,6 +8,7 @@
#define TNeEVENT_H
#include "TGo4EventElement.h"
#include "TDSSD16.h"
class TNeEvent : public TGo4EventElement
{
......@@ -18,11 +20,51 @@ public:
/** Method called by the framework to clear the event element. */
void Clear(Option_t *t="");
//-----SQ-----
unsigned short T1xa[16];
unsigned short T1xt[16];
unsigned short T1ya[16];
unsigned short T1yt[16];
//-----Si-----
TDSSD16 L1;
unsigned short Lxa[16];
unsigned short Lxt[16];
unsigned short Lxc[16];
unsigned short Lya[16];
unsigned short Lyt[16];
unsigned short Lyc[16];
unsigned short Rxa[16];
unsigned short Rxt[16];
unsigned short Rxc[16];
unsigned short Rya[16];
unsigned short Ryt[16];
unsigned short Ryc[16];
unsigned short Rva[16];
unsigned short Rvt[16];
unsigned short Rvc[16];
unsigned short R20a[16];
unsigned short R20t[16];
unsigned short R20c[16];
unsigned short AnSa[16];
unsigned short AnSt[16];
unsigned short AnSc[16];
unsigned short AnRa[16];
unsigned short AnRt[16];
unsigned short AnRc[16];
unsigned short AnVa[16];
unsigned short AnVt[16];
unsigned short AnVc[16];
unsigned short Rcsa[16];
unsigned short Rcst[16];
unsigned short Rcsc[16];
unsigned short Lcsa[16];
unsigned short Lcst[16];
unsigned short Lcsc[16];
unsigned short F3[4];
unsigned short tF3[4];
......
This diff is collapsed.
......@@ -8,17 +8,17 @@
//-----class TNeParam-----;
extern int otl;
class TNeProc : public TGo4EventProcessor
class TNeProc : public TGo4EventProcessor
{
public:
TNeProc() ;
TNeProc(const char* name);
virtual ~TNeProc() ;
Bool_t BuildEvent(TGo4EventElement* target); // event processing function
//! event processing function
Bool_t BuildEvent(TGo4EventElement* target);
double GetClasters(unsigned short n, unsigned short *x);
static long bit[32];
private:
TH1 *fTrigger;
TH1 *fSubEvents;
......@@ -26,14 +26,63 @@ private:
//
//-----SQ-----
//-----raw-----
TH2 * hT1a;
TH2 * hT1t;
TH1 *d1T1xa[16];
TH1 *d1T1xt[16];
TH1 *d1T1xc[16];
TH1 *d1T1ya[16];
TH1 *d1T1yt[16];
TH1 *d1T1yc[16];
TH1 *d1Lxa[16];
TH1 *d1Lxt[16];
TH1 *d1Lxc[16];
TH1 *d1Lya[16];
TH1 *d1Lyt[16];
TH1 *d1Lyc[16];
TH1 *d1Rxa[16];
TH1 *d1Rxt[16];
TH1 *d1Rxc[16];
TH1 *d1Rya[16];
TH1 *d1Ryt[16];
TH1 *d1Ryc[16];
TH1 *d1Rva[16];
TH1 *d1Rvt[16];
TH1 *d1Rvc[16];
TH1 *d1AnSa[16];
TH1 *d1AnSt[16];
TH1 *d1AnSc[16];
TH1 *d1AnRa[16];
TH1 *d1AnRt[16];
TH1 *d1AnRc[16];
TH1 *d1AnVa[16];
TH1 *d1AnVt[16];
TH1 *d1AnVc[16];
TH1 *d1R20a[16];
TH1 *d1R20t[16];
TH1 *d1R20c[16];
TH1 *d1Rcsa[16];
TH1 *d1Rcst[16];
TH1 *d1Rcsc[16];
TH1 *d1Lcsa[16];
TH1 *d1Lcst[16];
TH1 *d1Lcsc[16];
//______________ 2 dim
TH2 *d2ede;
TH2 *d2LyLcs1;
TH2 *d2LyLcs2;
TH2 *d2LyLcs3;
TH2 *d2LyLcs4;
TH2 *d2LyLcs5;
TH2 *d2LyLcs6;
TH2 *d2LyLcs7;
TH2 *d2LyLcs8;
TH2 *d2LyLcs9;
TH2 *d2LyLcs10;
TH2 *d2LyLcs11;
TH2 *d2LyLcs12;
TH2 *d2LyLcs13;
TH2 *d2LyLcs14;
TH2 *d2LyLcs15;
TH2 *d2LyLcs16;
//-----clb-----
TH1 *d1sq1_x_c[16];
//-----ToF+MWPC-----
......@@ -51,7 +100,7 @@ private:
TH2 *d2ToFaF5;
//-----CALIBRATED-----
//-----neutrons-----
//-----neutrons-----
//-----WIRES-----
TH1 *d1X1;
TH1 *d1Y1;
......@@ -67,6 +116,12 @@ private:
TH1 *d1CY1;
TH1 *d1CX2;
TH1 *d1CY2;
TH2 *d2XYbeamOnTar;
double mwz1, mwx1, mwy1;
double mwz2, mwx2, mwy2;
double zbt, xbt, ybt;
ClassDef(TNeProc,1)
};
......
2
16
-0.9921 0.006043 0
-1.295 0.006109 0
-1.034 0.006167 0
-1.226 0.005974 0
-1.087 0.006062 0
-1.293 0.006128 0
-1.117 0.006241 0
-1.569 0.006415 0
-0.9381 0.005942 0
-1.331 0.005939 0
-1.029 0.00602 0
-1.252 0.006154 0
-0.9552 0.006104 0
-1.25 0.005964 0
-0.9905 0.005939 0
-1.24 0.006108 0
2
16
-1.042 0.006175 0
-1.175 0.005682 0
-0.956 0.006046 0
-1.212 0.00593 0
-1.005 0.006027 0
-1.249 0.005907 0
-1.035 0.005957 0
-1.215 0.005924 0
-1.064 0.006153 0
-1.337 0.00598 0
-1.073 0.005888 0
-1.235 0.005878 0
-1.054 0.006009 0
-1.005 0.005548 0
-1.112 0.006079 0
-1.28 0.005843 0
2
16
-0.2076 0.005729 0
-0.1873 0.00575 0
-0.1988 0.005828 0
-0.197 0.005838 0
-0.2144 0.00588 0
-0.1965 0.005734 0
-0.215 0.005697 0
-0.1958 0.005678 0
-0.2061 0.005712 0
-0.2116 0.005771 0
-0.2041 0.005894 0
-0.2219 0.005869 0
-0.2133 0.005625 0
-0.2355 0.005817 0
-0.2177 0.005723 0
-0.2396 0.005987 0
2
16
-0.331 0.01068 0
-0.3837 0.01094 0
-0.3164 0.01119 0
-0.3824 0.01105 0
-0.3201 0.01086 0
-0.3969 0.01076 0
-0.3262 0.01092 0
-0.4261 0.01109 0
-0.4124 0.01064 0
-0.4005 0.01113 0
-0.4111 0.01112 0
-0.3407 0.01073 0
-0.4172 0.01071 0
-0.3712 0.01063 1
-0.4475 0.01099 0
-0.362 0.01077 0
2
16
-0.4061 0.01084 0
-0.3753 0.01097 0
-0.4124 0.01095 0
-0.374 0.01086 0
-0.4033 0.01121 0
-0.3717 0.01077 0
-0.4068 0.01111 0
-0.3854 0.01101 0
-0.346 0.01082 0
-0.4533 0.01102 0
-0.3497 0.01072 0
-0.451 0.01108 0
-0.3556 0.01093 0
-0.4478 0.01118 0
-0.364 0.01093 0
-0.4304 0.01064 0
2
16
-0.08733 0.004911 0
-0.08709 0.004893 0
-0.08096 0.004951 0
-0.07999 0.004812 0
-0.08556 0.004968 0
-0.08162 0.004784 0
-0.08238 0.004891 0
-0.0817 0.004798 0
-0.09605 0.005018 0
-0.06971 0.004917 0
-0.09164 0.004982 0
-0.07341 0.005013 0
-0.08384 0.005046 0
-0.07682 0.004999 0
-0.08593 0.005024 0
-0.07198 0.004797 0
2
16
-1.74 0.0113 0
-2.397 0.01151 0
-1.672 0.01104 0
-2.264 0.01115 0
-1.733 0.01108 0
-2.363 0.01142 0
-1.671 0.01109 0
-2.288 0.01127 0
-1.639 0.01128 0
-2.422 0.01203 0
-1.685 0.01139 0
-2.207 0.01111 0
-1.72 0.01121 0
-2.242 0.0114 0
-1.707 0.01082 0
-2.294 0.01155 0
2
16
-1.717 0.01114 0
-2.412 0.01145 0
-1.638 0.01085 0
-2.253 0.01104 0
-1.764 0.011 0
-2.403 0.01143 0
-1.654 0.01095 0
-2.305 0.01121 0
-1.63 0.01117 0
-2.329 0.01142 0
-1.659 0.01126 0
-2.202 0.01097 0
-1.698 0.01104 0
-2.253 0.0113 0
-1.699 0.01069 0
-2.305 0.01146 0
2
16
-0.4585 0.01085 0
-0.4486 0.01123 0
-0.4754 0.01117 0
-0.2406 0.01096 0
-0.481 0.01117 0
-0.495 0.01145 0
-0.492 0.01093 0
-0.5018 0.01105 0
-0.4927 0.01129 0
-0.4857 0.01117 0
-0.4859 0.01083 0
-0.4279 0.01095 0
-0.4331 0.01089 0
-0.4436 0.01121 0
-0.4329 0.0113 0
-0.4325 0.01129 0
2
16
-0.477 0.01132 0
-0.4198 0.01142 0
-0.4798 0.01101 0
-0.3945 0.01124 0
-0.4799 0.01149 0
-0.3777 0.01094 0
-0.4694 0.01119 0
-0.4171 0.01127 0
-0.4655 0.01118 0
-0.4153 0.01118 0
-0.46 0.01105 0
-0.4163 0.01102 0
-0.4773 0.0109 0
-0.427 0.01087 0
-0.4686 0.01112 0
-0.4137 0.01091 0
2
16
-0.08733 0.004911 0
-0.08709 0.004893 0
-0.08096 0.004951 0
-0.07999 0.004812 0
-0.08556 0.004968 0
-0.08162 0.004784 0
-0.08238 0.004891 0
-0.0817 0.004798 0
-0.09605 0.005018 0
-0.06971 0.004917 0
-0.09164 0.004982 0
-0.07341 0.005013 0
-0.08384 0.005046 0
-0.07682 0.004999 0
-0.08593 0.005024 0
-0.07198 0.004797 0