5#include "tpcclibConfig.h"
33 tac->
x=tac->
x1=tac->
x2=NULL;
52 if(tacc==NULL)
return;
110 if(tac==NULL)
return;
147 tac->
c=(
TACC*)malloc(tacNr*
sizeof(
TACC));
149 for(
int i=0; i<tacNr; i++)
taccInit(&tac->
c[i]);
153 int n; n=sampleNr*(4+tacNr);
154 tac->
_data=(
double*)calloc(n,
sizeof(
double));
156 for(
int i=0; i<n; i++) tac->
_data[i]=nan(
"");
160 double *d=tac->
_data;
161 tac->
x=d; d+=sampleNr;
162 tac->
x1=d; d+=sampleNr;
163 tac->
x2=d; d+=sampleNr;
164 tac->
w=d; d+=sampleNr;
165 for(
int i=0; i<tacNr; i++) {tac->
c[i].
y=d; d+=sampleNr;}
190 newNr=tac->
tacNr+tacNr;
197 taccPtr=realloc(tac->
c,
sizeof(
TACC)*newNr);
202 dPtr=realloc(tac->
_data,
sizeof(
double)*(4+newNr)*tac->
_sampleNr);
210 double *d=tac->
_data;
218 for(
int i=tac->
_tacNr-addNr; i<tac->_tacNr; i++)
219 for(
int j=0; j<tac->
_sampleNr; j++) tac->
c[i].
y[j]=nan(
"");
272 for(
int i=0; i<sampleNr; i++) d2->
y[i]=d1->
y[i];
339 if(d==NULL || d->
tacNr<1)
return(0);
340 for(
int ri=0; ri<d->
tacNr; ri++) {
341 if(isnan(d->
c[ri].
size))
continue;
342 if(d->
c[ri].
size<=0.0)
continue;
379 for(
int i=0, ret=0; i<tac1->
tacNr && ret==0; i++)
468 for(
int i=0, ret=0; i<temp.
tacNr && ret==0; i++)
int iftDuplicate(IFT *ift1, IFT *ift2)
char name[MAX_TACNAME_LEN+1]
IFT h
Optional (but often useful) header information.
int tacExtract(TAC *d1, TAC *d2, const int i)
Extract the specified TAC from existing TAC structure into a new TAC.
void tacFreeExceptHeader(TAC *tac)
void taccFree(TACC *tacc)
int tacDuplicate(TAC *tac1, TAC *tac2)
Make a duplicate of TAC structure.
int tacAllocate(TAC *tac, int sampleNr, int tacNr)
int tacCopyTaccdata(TACC *d1, TACC *d2, int sampleNr)
int tacAllocateMoreSamples(TAC *tac, int addNr)
Allocate memory for more samples in TAC data.
int tacAllocateMore(TAC *tac, int tacNr)
int tacCopyTacc(TACC *d1, TACC *d2, int sampleNr)
int tacCopyTacchdr(TACC *d1, TACC *d2)
int tacCopyHdr(TAC *tac1, TAC *tac2)
Copy TAC header data from tac1 to tac2.
void taccInit(TACC *tacc)
int tacWCopy(TAC *tac1, TAC *tac2, int i1, int i2)
int tacXCopy(TAC *tac1, TAC *tac2, int i1, int i2)
@ WEIGHTING_UNKNOWN
Not known; usually assumed that not weighted.
@ UNIT_UNKNOWN
Unknown unit.
@ TPCERROR_INVALID_VALUE
Invalid value.
@ TPCERROR_FAIL
General error.
@ TPCERROR_OUT_OF_MEMORY
Cannot allocate memory.
@ TPCERROR_NO_DATA
File contains no data.
@ TACTYPE_UNKNOWN
Content type not known.
Header file for library libtpcift.
Header file for library libtpcisotope.
Header file for library libtpctac.
@ TAC_FORMAT_UNKNOWN
Unknown format.