ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/applications/staticProps/StaticProps.cpp
(Generate patch)

Comparing trunk/OOPSE-4/src/applications/staticProps/StaticProps.cpp (file contents):
Revision 2010 by tim, Sun Feb 13 20:05:42 2005 UTC vs.
Revision 2053 by tim, Fri Feb 18 23:07:32 2005 UTC

# Line 111 | Line 111 | int main(int argc, char* argv[]){
111  
112      //parse md file and set up the system
113      SimCreator creator;
114 <    SimInfo* info = creator.createSim(mdFileName, false);
114 >    SimInfo* info = creator.createSim(mdFileName);
115  
116      double maxLen;
117      if (args_info.length_given) {
118          maxLen = args_info.length_arg;
119      } else {
120 <        double rcut;
121 <        double rsw;
122 <        info->getCutoff(rcut, rsw);
123 <        maxLen = rcut + rsw;        
124 <    }
125 <    
120 >        Mat3x3d hmat = info->getSnapshotManager()->getCurrentSnapshot()->getHmat();
121 >        maxLen = std::min(std::min(hmat(0, 0), hmat(1, 1)), hmat(2, 2)) /2.0;        
122 >    }    
123  
124      RadialDistrFunc* rdf;
125      if (args_info.gofr_given){
126 <        GofR* r = new GofR(info, dumpFileName, sele1, sele2);
130 <        
131 <        r->setNRBins(args_info.nrbins_arg);            
132 <        r->setLength(maxLen);
133 <        
134 <        rdf = r;
126 >        rdf= new GofR(info, dumpFileName, sele1, sele2, maxLen, args_info.nrbins_arg);        
127      } else if (args_info.r_theta_given) {
128 <        GofRTheta* rTheta = new GofRTheta(info, dumpFileName, sele1, sele2);
129 <          
130 <        rTheta->setNRBins(args_info.nrbins_arg);            
139 <        rTheta->setLength(maxLen);      
140 <        rTheta->setNAngleBins(args_info.nanglebins_arg);
141 <
142 <        
143 <        rdf = rTheta;
144 <    }
145 <    else if (args_info.r_omega_given) {
146 <        GofROmega* rOmega = new GofROmega(info, dumpFileName, sele1, sele2);
147 <
148 <      
149 <        rOmega->setNRBins(args_info.nrbins_arg);            
150 <        rOmega->setLength(maxLen);
151 <        rOmega->setNAngleBins(args_info.nanglebins_arg);
152 <
153 <        rdf = rOmega;    
128 >        rdf  = new GofRTheta(info, dumpFileName, sele1, sele2, maxLen, args_info.nrbins_arg, args_info.nanglebins_arg);
129 >    } else if (args_info.r_omega_given) {
130 >        rdf  = new GofROmega(info, dumpFileName, sele1, sele2, maxLen, args_info.nrbins_arg, args_info.nanglebins_arg);
131      } else if (args_info.theta_omega_given) {
132 <        GofAngle2* rAngle2 = new GofAngle2(info, dumpFileName, sele1, sele2);
133 <        rAngle2->setNAngleBins(args_info.nanglebins_arg);
134 <
135 <        rdf = rAngle2;  
136 <    } else if (args_info.xyz_given) {
137 <
138 <        GofXyz* xyz = new GofXyz(info, dumpFileName, sele1, sele2);
139 <          
140 <        xyz->setNRBins(args_info.nrbins_arg);            
141 <        xyz->setLength(maxLen);
142 <
166 <        
167 <        rdf = xyz;
132 >        rdf  = new GofAngle2(info, dumpFileName, sele1, sele2, args_info.nanglebins_arg);
133 >    } else if (args_info.gxyz_given) {
134 >        if (args_info.refsele_given) {
135 >            rdf= new GofXyz(info, dumpFileName, sele1, sele2,args_info.refsele_arg, maxLen, args_info.nrbins_arg);        
136 >        } else {
137 >            sprintf( painCave.errMsg,
138 >               "--refsele must set when --gxyz is used");
139 >            painCave.severity = OOPSE_ERROR;
140 >            painCave.isFatal = 1;
141 >            simError();  
142 >        }
143      }
144      
170
145      if (args_info.output_given) {
146          rdf->setOutputName(args_info.output_arg);
147      }
174
148      if (args_info.step_given) {
149          rdf->setStep(args_info.step_arg);
150      }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines