+#include "AliHBTParticleCut.h"
//__________________________________________________________________________
////////////////////////////////////////////////////////////////////////////
// //
// resonsible: Piotr Skowronski@cern.ch //
// //
////////////////////////////////////////////////////////////////////////////
-#include "AliHBTParticleCut.h"
#include <Riostream.h>
+
ClassImp(AliHBTParticleCut)
const Int_t AliHBTParticleCut::fgkMaxCuts = 50;
/******************************************************************/
-AliHBTParticleCut::AliHBTParticleCut()
- {
- //default ctor
- fCuts = new AliHbtBaseCut* [fgkMaxCuts];//last property in the property
- //property enum => defines number of properties
- fNCuts = 0;
- fPID = 0;
- }
+AliHBTParticleCut::AliHBTParticleCut():
+ fCuts(new AliHbtBaseCut* [fgkMaxCuts]),//last property in the property enum => defines number of properties
+ fNCuts(0),
+ fPID(0)
+{
+ //default ctor
+}
/******************************************************************/
AliHBTParticleCut::AliHBTParticleCut(const AliHBTParticleCut& in):
}
}
/******************************************************************/
-const AliHBTParticleCut& AliHBTParticleCut::operator = (const AliHBTParticleCut& in)
+AliHBTParticleCut& AliHBTParticleCut::operator=(const AliHBTParticleCut& in)
{
//assigment operator
+ Info("operator=","operator=operator=operator=operator=\noperator=operator=operator=operator=");
for (Int_t i = 0;i<fNCuts;i++)
{
delete fCuts[i];
}
/******************************************************************/
-Bool_t AliHBTParticleCut::Pass(AliHBTParticle* p)
+Bool_t AliHBTParticleCut::Pass(AliHBTParticle* p) const
{
//method checks all the cuts that are set (in the list)
//If any of the baseCuts rejects particle False(rejection) is returned
+
if(!p)
{
Warning("Pass()","No Pasaran! We never accept NULL pointers");
}
/******************************************************************/
-Bool_t AliHBTLogicalOperCut::AliHBTDummyBaseCut::Pass(AliHBTParticle* /*part*/)
+Bool_t AliHBTLogicalOperCut::AliHBTDummyBaseCut::Pass(AliHBTParticle* /*part*/) const
{
//checks if particles passes properties defined by this cut
Warning("Pass","You are using dummy base cut! Probobly some logical cut is not set up properly");
/******************************************************************/
ClassImp(AliHBTOrCut)
-Bool_t AliHBTOrCut::Pass(AliHBTParticle * p)
+Bool_t AliHBTOrCut::Pass(AliHBTParticle * p) const
{
//returns true when rejected
//AND operation is a little bit misleading but is correct
ClassImp(AliHBTAndCut)
-Bool_t AliHBTAndCut::Pass(AliHBTParticle * p)
+Bool_t AliHBTAndCut::Pass(AliHBTParticle * p) const
{
//returns true when rejected
//OR operation is a little bit misleading but is correct
+#ifndef ALIHBTPARTICLECUT_H
+#define ALIHBTPARTICLECUT_H
//__________________________________________________________________________
////////////////////////////////////////////////////////////////////////////
// //
////////////////////////////////////////////////////////////////////////////
-#ifndef ALIHBTPARTICLECUT_H
-#define ALIHBTPARTICLECUT_H
-
#include <TObject.h>
#include "AliHBTParticle.h"
AliHBTParticleCut();
AliHBTParticleCut(const AliHBTParticleCut& in);
virtual ~AliHBTParticleCut();
- const AliHBTParticleCut& operator = (const AliHBTParticleCut& in);
+ AliHBTParticleCut& operator = (const AliHBTParticleCut& in);
- virtual Bool_t Pass(AliHBTParticle* p);
+ virtual Bool_t Pass(AliHBTParticle* p) const;
Bool_t IsEmpty() const {return kFALSE;}
void AddBasePartCut(AliHbtBaseCut* basecut);
AliHBTEmptyParticleCut(){};
virtual ~AliHBTEmptyParticleCut(){};
- Bool_t Pass(AliHBTParticle*){return kFALSE;} //accept everything <<CAN NOT BE const!!!!>>
+ Bool_t Pass(AliHBTParticle*) const {return kFALSE;} //accept everything <<CAN NOT BE const!!!!>>
Bool_t IsEmpty() const {return kTRUE;}
ClassDef(AliHBTEmptyParticleCut,1)
virtual ~AliHbtBaseCut(){}
- virtual Bool_t Pass(AliHBTParticle *p);
+ virtual Bool_t Pass(AliHBTParticle *p) const;
void SetRange(Double_t min, Double_t max){fMin = min; fMax = max;}
};
inline Bool_t
-AliHbtBaseCut::Pass(AliHBTParticle *p)
+AliHbtBaseCut::Pass(AliHBTParticle *p) const
{
//cjecks if particle property fits in range
if ( (GetValue(p) < fMin) || (GetValue(p) > fMax ) ) return kTRUE; //rejected
AliHBTEnergyCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBaseCut(min,max,kHbtE){}
virtual ~AliHBTEnergyCut(){}
protected:
- Double_t GetValue(AliHBTParticle * p)const{return p->Energy();}
+ Double_t GetValue(AliHBTParticle * p)const {return p->Energy();}
ClassDef(AliHBTEnergyCut,1)
};
class AliHBTDummyBaseCut: public AliHbtBaseCut
{
Double_t GetValue(AliHBTParticle * /*part*/) const {return 0.0;}
- Bool_t Pass(AliHBTParticle* /*part*/);
+ Bool_t Pass(AliHBTParticle* /*part*/) const;
};
ClassDef(AliHBTLogicalOperCut,1)
AliHBTOrCut(){}
AliHBTOrCut(AliHbtBaseCut* first, AliHbtBaseCut* second):AliHBTLogicalOperCut(first,second){}
virtual ~AliHBTOrCut(){}
- Bool_t Pass(AliHBTParticle *p);
+ Bool_t Pass(AliHBTParticle *p) const;
ClassDef(AliHBTOrCut,1)
};
AliHBTAndCut(){}
AliHBTAndCut(AliHbtBaseCut* first, AliHbtBaseCut* second):AliHBTLogicalOperCut(first,second){}
virtual ~AliHBTAndCut(){}
- Bool_t Pass(AliHBTParticle *p);
+ Bool_t Pass(AliHBTParticle *p) const;
ClassDef(AliHBTAndCut,1)
};