108 double getTau(
double,
double);
129 size_t setFilter(
size_t,
double=0.,
size_t=0);
139 void writeFilter(
const char*);
140 void readFilter(
const char*);
145 std::vector<delayFilter>().swap(
filter);
152 void delay(
double,
double);
183 for(
size_t i=0;
i<
vSS.size();
i++)
if(
int(
vSS[
i].wrate()-r)==0)
return i;
203 double getwave(
int,
netcluster&,
char,
size_t);
212 void setTau(
double,
double=0.,
double=180.,
double=0.,
double=360.);
225 void setFpFx(
double,
double=0.,
double=180.,
double=0.,
double=360.);
237 double getNoise(
size_t,
int=-1);
259 nRMS = TFmap.white(
dT, wtype,
offset, stride);
return;
264 int I = TFmap.maxLayer()+1;
265 double R = TFmap.wavearray<double>::rate();
266 if(TFmap.size()<2 || R<=0.) this->sHIFt =
s;
267 else this->sHIFt =
int(s*R/I+0.1)*I/R;
270 inline double shift() {
return this->sHIFt; }
282 void bandPass1G(
double f1=0.,
double f2=0.);
284 this->TFmap.bandpass(f1,f2,
a);
295 size_t setsim(
WSeries<double> &, std::vector<double>*,
double=5.,
double=8.,
bool saveWF=
false);
298 size_t setsnr(
wavearray<double> &, std::vector<double>*, std::vector<double>*,
double=5.,
double=8.);
309 inline double get_SS(){
double rms=waveForm.rms();
return rms*rms*waveForm.size();}
310 inline double get_XX(){
double rms=waveBand.rms();
return rms*rms*waveBand.size();}
311 inline double get_NN(){
double rms=waveNull.rms();
return rms*rms*waveNull.size();}
312 inline double get_XS(){
double rmx=waveBand.rms();
double rms=waveForm.rms();
return rmx*rms*waveBand.size();}
313 double getWFfreq(
char atype=
'S');
314 double getWFtime(
char atype=
'S');
317 void wfsave(
int wfSAVE) {this->wfSAVE = (wfSAVE>=0)&&(wfSAVE<=3) ? wfSAVE : 0;}
352 std::vector<SSeries<double> >
vSS;
379 std::vector<wavearray<double>*>
IWFP;
382 std::vector<wavearray<double>*>
RWFP;
393 int j =
vSS.size()-1;
394 vSS[
j].SetMap(&TFmap);
395 vSS[
j].SetHalo(mTau);
397 vSS[
j].UpdateSparseTable();
401 size_t n = F.
value.size();
405 for(
size_t i=0;
i<
n;
i++){
411 #endif // DETECTOR_HH
void white(double dT=0, int wtype=1, double offset=0., double stride=0.)
what it does: see algorithm description in wseries.hh
wavearray< double > a(hp.size())
WSeries< double > WSeriesD
cout<< endl;cout<< "ts size = "<< ts.size()<< " ts rate = "<< ts.rate()<< endl;tf.Forward(ts, wdm);int levels=tf.getLevel();cout<< "tf size = "<< tf.size()<< endl;double dF=tf.resolution();double dT=1./(2 *dF);cout<< "rate(hz) : "<< RATE<< "\ layers : "<< nLAYERS<< "\ dF(hz) : "<< dF<< "\ dT(ms) : "<< dT *1000.<< endl;int itime=TIME_PIXEL_INDEX;int ifreq=FREQ_PIXEL_INDEX;int index=(levels+1) *itime+ifreq;double time=itime *dT;double freq=(ifreq >0) ? ifreq *dF :dF/4;cout<< endl;cout<< "PIXEL TIME = "<< time<< " sec "<< endl;cout<< "PIXEL FREQ = "<< freq<< " Hz "<< endl;cout<< endl;wavearray< double > x
std::vector< delayFilter > filter
std::vector< wavearray< double > * > RWFP
std::vector< SSeries< double > > vSS[NIFO_MAX]
void setPolarization(POLARIZATION polarization=TENSOR)
WSeries< double > waveBand
std::vector< int > vector_int
size_t minDFindex(delayFilter &F)
istream & operator>>(istream &in, Time &time)
POLARIZATION getPolarization()
ostream & operator<<(ostream &out, Time &time)
wavearray< double > * getHoT()
param: no parameters
POLARIZATION polarization
std::vector< wavearray< double > * > IWFP
wavearray< double > lagShift
void bandPass(double f1, double f2, double a=0.)
virtual void Browse(TBrowser *b)
WSeries< double > waveForm
WSeries< double > * getTFmap()
param: no parameters
double fabs(const Complex &x)
std::vector< short > index
SSeries< double > * getSTFmap(size_t n)
std::vector< SSeries< double > > vSS
WSeries< double > waveNull
std::vector< float > value
void bandCut(double f1, double f2)
void addSTFmap(netcluster *pwc, double mTau=0.042)